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.
I am still getting the below error when I tried to split the text
SYSIN :
SORT FIELDS=COPY
OUTREC FIELDS=(1,550,C'INST_NBR,RECORD,MNTN_DATE,MNTN_TIME,TIEBRK,AIX*',
C'*FLT_INST,AIX1_OPID,AIX 1_MNTN_DATE,AIX1_MNTN_TIME,AI')
*
WER813I INSTALLATION OPTIONS IN MFX LOAD LIBRARY WILL BE USED
WER268A OUTREC STATEMENT : SYNTAX ERROR
WER211B SYNCSMF CALLED BY SYNCSORT; RC=0000
WER449I SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
I suspect either your comma and / or your closing parenthesis are in column 72. Rearrange your code to ensure nothing extends past column 71 and try again.
Abid, '*' at the end in TS post was meant for continuation but you added that as a part of string in the solution posted by you.
ballaswaroop, please use continuation as you were using before which is missing in you last post and make sure '1,550' as right.
Joined: 10 May 2007 Posts: 2455 Location: Hampshire, UK
ballaswaroop
Why, after 11 years on the forum, do you insist on not using the code tags and therefore lose any format that your cotrol cards might have. If you want help then help the helpers by using the cade tags.
Agreed, post the addition of code tags it became evident; from the original post it appeared to be a part of the text hence the shared card.
Aside, TS WILL have to break the entire text into atleast two parts - if SYNCSort has the same character set limitation of DFSORT.
If (1,550) was the one causing the error, *SORT should pop-up something on the lines of: 'FIELD BEYOND MAXIMUM RECORD LENGTH' or likewise.
Since it is showing 'SYNTAX ERROR' something in the SYSIN OUTREC statement is acting up, it can be because of lack of column number or the way continuation is provided or the usage of character set. I do not have SYNCSort hence it is difficult to provide a clean solution; though it'd be great if someone who does have it can test run the working DFSORT solution and see if it helps. Another test run using the below card also ran clean; only a split of text from the original post has been done here:
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
Make your life easier. Don't use continuation characters. Specify each element separately and end all but the last with a comma. So much easier to change, read, understand. Only thing which should use continuations is a program, and then only if it makes the program easier.