■ いろいろなレングスのVBファイルのソート
いろいろなレングスを含むVBをする場合で、SORTポジションがレコードによっては レングスを超える位置になる場合があります。
その場合は、VLSHRTをオプション指定するとそのレコードを 無視してSORTします。
//SORT1 EXEC SORT //SORTIN DD DSN=INFILE1,DISP=SHR ←例えばレングス10バイト // DD DSN=INFILE2,DISP=SHR ←例えばレングス20バイト // DD DSN=INFILE3,DISP=SHR ←例えばレングス30バイト //SORTOUT DD DSN=OUTFILE,DISP=(,KEEP),… //SYSIN DD * 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