REXX メンバー選択
PDS または PDSE データ・セットの場合、メンバー・レコード内で「真」となっている条件に応じて、メンバーを印刷するかしないかを判別することができます。この条件テストは、以下の RETURN ストリングの少なくとも 1 つが含まれる REXX プロシージャーを介して Z Data Tools に提供されます。
- RETURN PROCESS MEMBER
- メンバーが印刷に組み込まれることを指示します。このメンバーでは、これ以上のレコードは REXX プロシージャーに渡されません。メンバーはそのまま印刷され、ユーザー REXX プロシージャーが呼び出される前に実行される、指定済みのテンプレート処理があれば、それに従います。
- RETURN DROP MEMBER
- メンバーが印刷から除外されることを指示します。このメンバーでは、それ以上のレコードは処理されません。処理は、次のメンバーから続行されます。
REXX メンバー選択が有効であると、レコードは入力メンバーから読み取られ、メンバーを印刷するかどうかが決定されるまで、メモリー内にキャッシュされます。決定が行われると、指定された戻りストリングに従い、メンバー全体が印刷またはドロップされます。
メンバー全体を処理しても DROP MEMBER または PROCESS MEMBER 戻りストリングが検出されなかった場合、メンバーは指定されたデフォルト・アクションに従って処理されます。REXX メンバー選択が指定されていないときに REXX 処理によってこれらのストリングのいずれかが戻る場合、警告メッセージが出されるものの、これは引数ストリングなしの RETURN であるものとして扱われます。後続のレコードは、継続して REXX プロシージャーに渡されます。同様に、REXX メンバー選択が指定されているときに REXX 処理によって DROP、STOP または STOP IMMEDIATE ストリングが戻る場合、警告メッセージが出されるものの、これは引数ストリングなしの RETURN であるものとして扱われます。後続のレコードは、メンバーを DROP または PROCESS するかどうかの決定が行われるまで、継続して REXX プロシージャーに渡されます。
レコードのドロップまたは更新を制御する他の REXX ステートメントは、REXX メンバー選択が使用されるときには実行されません。特殊な Z Data Tools が定義した REXX 変数である、OUTREC への変更はすべて無視されます。ただし、レコードの更新またはドロップに関係しない REXX ステートメントは処理されます。これは予期しない結果につながることがあります。一般に、メンバーの内容に基づいて PDS のメンバーを条件付きで印刷する必要があり、メンバーの内容も操作したい場合には、別の REXX プロシージャーを使用して、2 ステップのプロセスとして、このタスクを実行してみてください。
条件付きメンバー処理を指定するには、以下のようにします。
- 「Print Utility (印刷ユーティリティー)」パネルで、データ・セット名と他の印刷オプションを指定します。
- 「REXX member selection (REXX メンバー選択)」オプションを選択して、横のフィールドにデフォルトのアクション (P または D) を指定します。このフィールドがブランクのままである場合には P が選択されます。P はメンバーを処理する (つまり、印刷する) ことを示し、D は、メンバーをドロップする (つまり、印刷しない) ことを指定をします。
- 「Use proc (プロシージャーを使用)」オプションを選択して、既存の REXX プロシージャーを指定するか、* をフィールドに入力して新規 REXX プロシージャーを作成します。このプロシージャーには条件付きテストと、関連する RETURN ストリングのうち少なくとも 1 つが含まれている必要があります。
- 必要に応じて印刷プロセスを完了します。