■  パックからキャラクターへ変換する方法


OUTREC指定でEDITパターンを設定すればできます。
(EDITマスクパターンの詳細はDFSORTのマニュアル(P.261)を
参照してください)。

//SORT1EXECSORT 
//SORTINDDDSN=INFILE,DISP=SHR 
//SORTOUTDDDSN=OUTFILE,DISP=(,KEEP),… 
//SYSINDD* 
 OPTION COPY
 OUTFIL FNAMES=SORTOUT,CONVERT,
 OUTREC=(1,2,←1〜2バイトをそのまま出力
     3,3,PD,EDIT=(TTTTT),LENGTH=5,←3〜5バイト目のパックをキャラクターに変換して出力
     6,5,PD,EDIT=(TTTTTTTTT),LENGTH=9)←6〜10バイト目のパックをキャラクターに変換して出力
/*    
  ※先行ゼロをブランクにするなら、EDITのマスクにを指定します。
 (上記の例)
  OUTREC=(1,2,
         3,3,PD,EDIT=(IIIIT),LENGTH=5,
         6,5,PD,EDIT=(IIIIIIIIT),LENGTH=9)


※編集文字を指定したり、リテラルを挿入したりもできます。
 (上記の例)
  OUTREC=(1,2,
         C'*',     ←リテラル
         3,3,PD,EDIT=(TTTTT),LENGTH=5,
         C'#',    ←リテラル
         6,5,PD,EDIT=(T-TTTTTTTT),LENGTH=10)  ←ハイフン編集


※出力するデータのトータルレングスがSORTOUTのDCBで指定したレングスと違う 場合はABENDします(U0222)。

xxx BYTE FIXED RECORD LENGTH IS NOT EQUAL TO zzz BYTE LRECL FOR SORTOUT


上記の方法を応用するとホストファイルからCSVファイルを簡単に作成することができます。
サンプルはこちらです。


BEFORE PAGE

TOP PAGE