拡張したい正しい機能の選択
拡張された処理を使用すると、特定のタスクに対してどの機能またはパネルを呼び出すべきか、またテンプレート、DFSORT と REXX (または FASTREXX) 処理のどのような組み合わせを使用するのが最良かがあいまいになることがあります。
一般的には、タスクを実行するのに最小の拡張しか必要としない機能またはパネルを使用することによって、また必要な結果を出すことができる最も効果のある拡張手法を使用することによって、最高のパフォーマンスが得られます。
パフォーマンスの考慮事項について詳しくは、プロシージャー用の FASTREXX、REXX、および DFSORT からの選択を参照してください。
- DSC 機能または「Copy Utility (コピー・ユーティリティー)」(オプション 3.3)
- 最初に、プロシージャー内の FASTREXX または DFSORT ステートメントで機能またはパネルを拡張することによってコピー・タスクを実行できるかどうかを検討します。FASTREXX または DFSORT のみを使用して実行されるタスクは、REXX または REXX を必要とするテンプレート処理を使用して実行される同等のタスクよりはるかに少ないシステム・リソースを使用します。
コピー・タスクで FASTREXX も DFSORT も不適切である場合、REXX を使用することにする前に、REXX を必要としないテンプレート処理でそのタスクを実行できるかどうかを検討してください。テンプレート処理もまた、レコードの選択、再形式設定、および初期化のために使用でき、プロシージャー内で REXX を使用して実行される同等のタスクよりも少ないシステム・リソースを使用します。レコードの選択にテンプレートを使用する場合、File Manager の内部式プロセッサーの能力を活用する選択式をコーディングしてみてください。式を処理するために REXX を呼び出す必要がなくなります (式の処理についてを参照)。
- DSP 機能または「Print Utility (印刷ユーティリティー)」(オプション 3.2)
- コピーの場合と同様に、FASTREXX または DFSORT プロシージャーまたはテンプレートを使用すると、外部 REXX 処理のオーバーヘッドなしに、複雑な印刷タスクの実行に役立てることができます。FASTREXX、DFSORT、またはテンプレートを使用して、一定のレコードのみを選択する複合基準を指定し、これらのレコードのどのフィールドを印刷するかを指定することができます。
場合によっては、DSC または「Copy Utility (コピー・ユーティリティー)」(オプション 3.3) を使用して、データ・セットのフィールドを再形式設定し、再形式設定されたフィールドを新規データ・セットにコピーしてから、DSP または「Print Utility (印刷ユーティリティー)」(オプション 3.2) を使用して新規データ・セットを印刷したい場合があります。
- DSEB 機能 (パネルでは使用できない)
- DSEB は、それぞれのレコードを独立的に、順次に処理するのではなく、データ・セットの中でレコード間を前後に移動できる唯一の機能です。異なったレコードの中の値を比較する必要がある場合、またはデータ・セットの中で前後にスクロールまたは検索する柔軟性を必要とする場合に、DSEB を使用します。DSEB では
インプレース編集
しか可能でない点に注意してください。レコードの挿入または削除、あるいはレコード長の変更は不可能です。DSEB には、印刷またはコピーのようなそれ自体のデフォルトのアクションはありません。必要とするアクションを実行するためには、REXX ステートメントが含まれているプロシージャーを用意する必要があります。
DSEB を使用することにする前に、DSU を使用できるかどうかを検討してください。DSU は、特に FASTREXX を使用する場合は DSEB より高速です。
注: FASTREXX 処理は、DSEB 機能ではサポートされていません。 - DSU 機能 (パネルでは使用できない)
- DSU は、データ・セットの中の各レコードに対して、独立的に、順次に作用する汎用の機能です。DSU は、報告書を作成しない点を除けば、FCH 機能および「Find/Change Utility (検索/変更ユーティリティー)」(オプション 3.6) と同じです。レコード間を逆方向に移動したり、別々のレコードの値を比較したりする必要がなく、各レコードを調べて、場合によっては更新したいときに DSU を使用します。ただし、DSU の使用を決める前に、FCH 機能および「Find/Change Utility (検索/変更ユーティリティー)」で使用可能な基本コマンドの組み合わせを使用できるかどうかを検討してください。
DSU では、
インプレース編集
しか実行できません。つまり、レコードの挿入または削除、あるいはレコード長の変更は不可能です。DSU には、印刷またはコピーのようなそれ自体のデフォルトのアクションはありません。必要とするアクションを実行するためには、REXX ステートメントが含まれているプロシージャーを用意する必要があります。
- FCH 機能または「Find/Change Utility (検索/変更ユーティリティー)」(オプション 3.6)
- この機能またはパネルを使用する場合、REXX ステートメントが含まれているプロシージャーを用意するか (この章で説明されています)、または基本コマンド (FIND および CHANGE など。詳しくは複数の PDS メンバーでのデータの検索と変更およびFCH (検索/変更)を参照してください) のシーケンスを使用することができます。可能であれば、よりよいパフォーマンスを得るために、REXX プロシージャーの代わりに基本コマンドを使用してください。