■  いろいろなレングスのVBファイルのソート


いろいろなレングスを含むVBをする場合で、SORTポジションがレコードによっては レングスを超える位置になる場合があります。
その場合は、VLSHRTをオプション指定するとそのレコードを 無視してSORTします。
//SORT1EXECSORT 
//SORTINDDDSN=INFILE1,DISP=SHR ←例えばレングス10バイト
//DDDSN=INFILE2,DISP=SHR ←例えばレングス20バイト
//DDDSN=INFILE3,DISP=SHR ←例えばレングス30バイト
//SORTOUTDDDSN=OUTFILE,DISP=(,KEEP),… 
//SYSINDD* 
 SORT FIELDS=(20,1,BI,A) ←20バイト目でSORT
 OPTION VLSHRT
/*  
  この場合、INFILE1のポジションは無視します

VLSHRTを指定しないと、SORTがユーザーABENDします(U−218)

 nn BYTE VARIABLE RECORD IS SHORTER THAN mm BYTE MINIMUM FOR FIELDS
 ABEND=S000 U0218 REASON=00000000



BEFORE PAGE

TOP PAGE