プログラム制御文

MFJSORT によってサポートされるプログラム制御文を次に示します。文のコード化のルールは、メインフレーム ユーティリティと同じです。

注: MFJSORT は、IBM の DFSORT 製品のほとんどのメジャーな機能をエミュレートします。詳細については、「DFSORT および ICETOOL エミュレーション」を参照してください。

プログラム制御文

ALTSEQ
AQ 制御フィールドの代替照合順序を指定します。
END
プログラム制御文の終了を示します。省略した場合、MFJSORT はファイルの終わりまで読み取りを行います。
INCLUDE
入力レコード内の 1 つ以上のフィールドの比較テストに基づいて、入力データ セットのレコードを含めます。サブ文字列比較およびビット論理 (ビット演算子とビット比較) テストをサポートしています。条件式を 16 個まで指定できます。
INREC
ソートまたはマージの前に入力レコードを再編成します。INREC は、SORT、MERGE、OUTFIL、OUTREC、および SUM 文によって使用される制御フィールドの位置を変更する可能性があるので注意してください。
MERGE
マージ操作を定義します。MERGE 文には、COPY 要求を含めることができます。マージする入力データ セットの部分を選択できます。制御フィールドは 32 個まで定義できますが、制御フィールドの合計長は 1,024 バイト以下でなければなりません。次の制御フィールド タイプについては昇順または降順を要求することができます。
AQ
代替照合順序。
BI
バイナリ。
CH
文字。
CLO
先行オーバーパンチ記号を使用した符号付き数値。
CTO
後続オーバーパンチ記号を使用した符号付き数値。
CSF
オプションの先行浮動符号を使用した符号付き数値。
CSL
先行分離記号を使用した符号付き数値。
CST
後続分離記号を使用した符号付き数値。
FI
固定小数点整数。
FL
浮動小数点。4 バイトと 8 バイトの形式のみサポートされます(COMP-1 および COMP-2)。
FS
オプションの先行浮動符号を使用した符号付き数値。
LS
先行分離記号を使用した符号付き数値。
OL
先行オーバーパンチ記号を使用した符号付き数値。
OT
後続オーバーパンチ記号を使用した符号付き数値。
PD
パック 10 進数。
PD0
符号と最初の桁が無視されるパック 10 進数。
TS
後続分離記号を使用した符号付き数値。
Y2B
2 桁、1 バイトの 2 進の年データ。
Y2C
2 桁、2 バイトの文字またはゾーン 10 進の年データ。
Y2D
2 桁、1 バイトの 10 進の年データ。
Y2P
2 桁、2 バイトのパック 10 進数年データ。
Y2S
2 桁、2 バイトの文字またはゾーン 10 進の年データ (特殊なインジケーター付き)。
Y2Z
2 桁、2 バイトの文字またはゾーン 10 進の年データ。
ZD
ゾーン 10 進数。
MODS
E15 および E35 出口プログラムの名前を指定します。他の出口はサポートされません。
OMIT、
入力レコード内の 1 つ以上のフィールドの比較テストに基づいて、入力データ セットからレコードを除外します。サブ文字列比較およびビット論理 (ビット演算子とビット比較) テストをサポートしています。条件式を 16 個まで指定できます。
OUTFIL
複数の出力ファイルを書き込みます。OUTFIL では拡張子が考慮されます。
  • 各出力データ セットに含めるレコードを選択するには、INCLUDEOMIT、および SAVE 作用対象を使用します。INCLUDE および OMIT 作用対象は、INCLUDE および OMIT 文の機能をすべて提供します。SAVE を使用すると、他のサブセット用に選択されていないレコードを選択できます。
  • OUTREC 作用対象では、長さ、先行ゼロ、抑制ゼロ、記号などに関して数値フィールドの表示方法を編集および制御できます。事前定義された 26 個の編集マスク (M0 から M25) が用意されており、EDITSIGNS、および LENGTH オプションなどを使用してユーザー定義のマスクを作成することもできます。入力としての文字、16 進数文字列、またはビット文字列に基づいて、出力の文字または 16 進文字列をルックアップ テーブルから選択するには、CHANGE オプションを使用します。
  • 各出力データ セットに含めるレコードの範囲を選択するには、STARTREC および ENDREC 作用対象を使用します。
  • 出力データ セットの中で均一にレコードを分布させるには、SPLIT 作用対象を使用します。
  • 数値入力フィールドの合計値、最大値、最小値、および平均値などを含んだ複雑なレポートを作成するには、OUTREC とともに、LINESHEADER1TRAILER1HEADER2TRAILER2SECTIONS、および NODETAIL 作用対象を使用します。
OUTREC
ソートまたはマージの後に出力レコードを再編成します。リテラル変数を出力レコードに挿入することもできます。フォーマットされたレポートの作成だけでなく、レコードの再フォーマットもサポートしています。また、必要に応じてさらに再フォーマットすることができる入力フィールド上の算術演算をサポートしています。

算術演算は、演算子 ADD (加算)、SUB (減算)、MUL (乗算)、DIV (除算) を使用して 2 つの数値フィールド間で実行できます。次に例を示します。

OUTREC FIELDS=(1,8,ZD,ADD,1,7,ZD,1X,2,5,PD,SUB,5,2,PD)

制約事項については、「ソート/マージ操作 (MFJSORT)」の注を参照してください。

RECORD
レコード長の情報を指定します。この文の最初の値 (最大レコード長を指定する値) だけが使用され、他の値はすべて無視されます。RECORD 文で指定された値は、入力データ セットの論理レコード長によってオーバーライドされます。
SORT
ソート操作を定義します。SORT 文には、COPY 要求を含めることができます。制御フィールドは 32 個まで定義できますが、制御フィールドの合計長は 1,024 バイト以下でなければなりません。MERGE 文用に説明したものと同じ制御フィールド タイプについては、昇順または降順を要求することができます。
SUM
重複するソート フィールドを持ったレコードに対して 1 つの出力レコードだけを生成します。オプションとして、重複レコード内の数値フィールドを出力レコードで合計することができます。合計処理は、次の制御フィールド タイプの場合に実行できます。
AQ
代替照合順序。
BI
バイナリ。
FI
固定小数点整数。
FL
浮動小数点。4 バイトと 8 バイトの形式のみサポートされます(COMP-1 および COMP-2)。
FS
オプションの先行浮動符号を使用した符号付き数値。
PD
パック 10 進数。
ZD
ゾーン 10 進数。

OVFLO パラメーター

OVFLO パラメーターでは、サマリーのオーバーフロー時に設定できるアクション (継続または終了)、メッセージのタイプ (情報またはエラー)、および戻りコード (0 または 16) を制御できます。次に例を示します。
OPTION OVFLO=-----RC0-----
                      -----RC16-----
  • RC0 - サマリー フィールドがオーバーフローした場合、オーバーフロー メッセージを発行し、戻りコードを 0 に設定し、処理を続行します。RC0 は OVFLO パラメーターのデフォルト値です。
  • RC16 - サマリー フィールドがオーバーフローした場合、オーバーフロー メッセージを発行し、処理を終了し、戻りコードを 16 を指定します。