Author: Abid Hasan
Posted: Thu Aug 25, 2016 6:05 pm (GMT 5.5)
Hello,
Couple of issues here, starting with:
a. The error is a SYNCSort error and not DFSORT; notice the WER* messages.
b. The SYSIN data is starting in column 1, *SORT require a space in column 1 before a control card data can be legally passed.
c. In DFSORT, there is a limitation to the number of characters that can be passed for a constant value, I am assuming similar limitation exist for SYNCSort as well; from DFSORT messages guide, for ICE111A:
A solution can be breaking down your complete string in smaller chunks, separated as "C'<your data here>',C'<your data here>',... and so on ".
Working solution, tested on DFSORT:
Edit: Ohh, after the text was coded, the space in column 1 became evident, so that error can be knocked off from the list.
_________________
Thanks.
Posted: Thu Aug 25, 2016 6:05 pm (GMT 5.5)
Hello,
Couple of issues here, starting with:
a. The error is a SYNCSort error and not DFSORT; notice the WER* messages.
b. The SYSIN data is starting in column 1, *SORT require a space in column 1 before a control card data can be legally passed.
c. In DFSORT, there is a limitation to the number of characters that can be passed for a constant value, I am assuming similar limitation exist for SYNCSort as well; from DFSORT messages guide, for ICE111A:
Quote: |
ICE111A REFORMATTING FIELD ERROR A repetition factor was greater than 4095 for a separator, or a character or hex constant was longer than 256 bytes. |
A solution can be breaking down your complete string in smaller chunks, separated as "C'<your data here>',C'<your data here>',... and so on ".
Working solution, tested on DFSORT:
Code: |
//S010 EXEC PGM=SORT //SORTIN DD * SOME RANDOM CHUNK OF DATA /* //SORTOUT DD SYSOUT=* //SYSOUT DD SYSOUT=* //SYSIN DD * ----+----1----+-- SORT FIELDS=COPY OUTREC FIELDS=(1,3,C'NST_NBR,RECORD,MNTN_DATE,MNTN_TIME,TIEBRK,AIX *', C'*_TIEBRK,AIX2_INST,AIX2_APPL_CODE,AIX2_ACCT_NBR,AIX2_MNT*', C'*_DATE,AIX2_MNTN_TIME,AIX2_TIEBRK,REC_FLDS,REGION,TYPE,U*', C'*ER_CODE_4,SVC_CODE,ORIG_CODE,FUNCTION,BATCH_FORM,INFC_C*', C'*ST_SHRT,EXPIRE_DATE,BATCH_FIELD,AMT_REC_CODE,AMT_APPL_C*', C'*DE,FIELD_NBR,PANEL_ID,FIELD_NAME,OLD_EDIT,NEW_EDIT,RPT_*', C'*FFECT_DATE,RPT_MNTN_DATE,RPT_HIST_DATE,,RPT_MNTN_TIME,D*', C'*RECT_CODE,DATE_IND,PRICE_LIST_NBR,TAX_REGION,') /* |
Edit: Ohh, after the text was coded, the space in column 1 became evident, so that error can be knocked off from the list.
_________________
Thanks.