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