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 ステップのプロセスとして、このタスクを実行してみてください。

条件付きメンバー処理を指定するには、以下のようにします。

  1. 「Print Utility (印刷ユーティリティー)」パネルで、データ・セット名と他の印刷オプションを指定します。
  2. 「REXX member selection (REXX メンバー選択)」オプションを選択して、横のフィールドにデフォルトのアクション (P または D) を指定します。このフィールドがブランクのままである場合には P が選択されます。P はメンバーを処理する (つまり、印刷する) ことを示し、D は、メンバーをドロップする (つまり、印刷しない) ことを指定をします。
  3. 「Use proc (プロシージャーを使用)」オプションを選択して、既存の REXX プロシージャーを指定するか、* をフィールドに入力して新規 REXX プロシージャーを作成します。このプロシージャーには条件付きテストと、関連する RETURN ストリングのうち少なくとも 1 つが含まれている必要があります。
  4. 必要に応じて印刷プロセスを完了します。