レコード編集
レコード編集には、以下の任意の組み合わせが含まれます。
- 特定レコードのフィールドの再配置
- 特定レコードへの定数またはテキストの追加
- 特定レコードからのフィールドの除去
- レコードの内容に基づいた出力からのレコード全体のドロップ
例:
タイプ A
(先頭のバイトで指定) のレコードをタイプ Z
のレコードに再配置します。20 バイトの先頭フィールド (最初の名前) と 30 バイトの次のフィールド (最後の名前) を反転させます。次に、次の 4 バイト (52 から 55) をドロップして、残りのレコードを組み込みます。また、タイプ B
のすべてのレコードをドロップします。
FASTREXX:
If FLD(1,1) = "B" Then RETURN DROP
If FLD(1,1) = "A" Then Do
SET_OLEN( 0 )
OVLY_OUT( "Z", 1, 1 )
FLD_OUT( 22, 30 )
FLD_OUT( 2, 20 )
FLD_OUT( 56 )
End
REXX:
InitChar = SUBSTR( INREC, 1, 1 )
If InitChar = "B" Then RETURN DROP
If InitChar = "A" Then Do
OUTREC = OVERLAY("Z" || FLD( 22, 30 ) || FLD( 2, 20 ), OUTREC, 1 )
End
DFSORT:
注:
- DFSORT PTF の UQ95214 および UQ95213 が必要です。
- これは、順次入力ファイルでのみ機能します。
*FASTPROC
OMIT COND=(1,1,CH,EQ,'B')
OUTFIL IFTHEN=(WHEN=(1,1,CH,EQ,'A'),
OVERLAY=(1:'Z',22,30,2,20,52)),
IFTHEN=(WHEN=NONE,
BUILD=(1)))