Jcl-basic-sort-tricks
JCL-基本的なソートのコツ
ユーティリティプログラムを使用して達成できる企業の世界での日々のアプリケーション要件を以下に示します。
1. ファイルには100レコードがあります。 最初の10レコードを出力ファイルに書き込む必要があります。
オプションSTOPAFTは、10番目のレコードの後に入力ファイルの読み取りを停止し、プログラムを終了します。 したがって、10個のレコードが出力に書き込まれます。
2. 入力ファイルには、同じ従業員番号の1つ以上のレコードがあります。 一意のレコードを出力に書き込みます。
SUM FIELDS = NONEは、SORT FIELDSで指定されたフィールドの重複を削除します。 上記の例では、従業員番号はフィールド位置1,15にあります。 出力ファイルには、昇順でソートされた一意の従業員番号が含まれます。
3. 入力レコードの内容を上書きします。
入力ファイルでは、位置1,6のコンテンツは位置47,6に上書きされ、出力ファイルにコピーされます。 INREC OVERLAY操作は、出力にコピーする前に入力ファイルのデータを書き換えるために使用されます。
- 4. 出力ファイルにシーケンス番号を追加します。 *
出力は次のようになります。
4桁のシーケンス番号が出力の位置10に追加され、1000から始まり、レコードごとに2ずつ増えます。
- 5. ヘッダー/トレーラーを出力ファイルに追加します。 *
出力は次のようになります。
TOTは、入力ファイルのレコード数を計算します。 HDRおよびTRLは、ユーザー定義のヘッダー/トレーラーに識別子として追加され、ユーザーのニーズに応じてカスタマイズできます。
- 6. 条件付き処理 *
出力は次のようになります。
ファイルの6番目の位置に基づいて、出力ファイルのビルドは異なります。 6番目の位置がSPACESの場合、テキスト「EMPTY」が入力レコードに追加されます。 そうでない場合、入力レコードはそのまま出力に書き込まれます。
7. ファイルのバックアップ
IEBGENERは、SYSUT1のファイルをSYSUT2のファイルにコピーします。 SYSUT2のファイルは、上記の例のSYSUT1と同じDCBを取ることに注意してください。
- 8. ファイル比較 *
- JOINKEYSは、2つのファイルが比較されるフィールドを指定します。
- フィールドの再フォーマット=? 出力BUILDの最初の位置に「B」(一致したレコード)、「1」(file1に存在するがfile2には存在しない)、または「2」(file2に存在するがfile1に存在しない)を配置します。
- JOIN UNPAIREDは、2つのファイルに対して完全な外部結合を行います。
出力は次のようになります。
ICETOOLを使用しても同じ機能を実現できます。