IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Continuation Character


IBM Mainframe Forums -> SYNCSORT
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
ballaswaroop

New User


Joined: 20 Sep 2005
Posts: 25

PostPosted: Thu Aug 25, 2016 4:46 pm
Reply with quote

Code:
//S010     EXEC  PGM=SORT                                               
//SORTIN   DD  DSN=BILLN1.TESTP.AHS.HEADER.ONE,DISP=SHR                 
//SORTOUT  DD  DSN=BILLN1.TESTP.AHS.HEADER.ONE,DISP=SHR                 
//*            DISP=(NEW,CATLG,CATLG),                                 
//*            SPACE=(CYL,(50,50),RLSE),                               
//*            DCB=*.SORTIN                                             
//SYSOUT   DD  SYSOUT=*                                                 
//SYSIN    DD *                                                         
----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
  SORT FIELDS=COPY                                                     
  OUTREC FIELDS=(1,550,C'NST_NBR,RECORD,MNTN_DATE,MNTN_TIME,TIEBRK,AIX *
               *_TIEBRK,AIX2_INST,AIX2_APPL_CODE,AIX2_ACCT_NBR,AIX2_MNT*
               *_DATE,AIX2_MNTN_TIME,AIX2_TIEBRK,REC_FLDS,REGION,TYPE,U*
               *ER_CODE_4,SVC_CODE,ORIG_CODE,FUNCTION,BATCH_FORM,INFC_C*
               *ST_SHRT,EXPIRE_DATE,BATCH_FIELD,AMT_REC_CODE,AMT_APPL_C*
               *DE,FIELD_NBR,PANEL_ID,FIELD_NAME,OLD_EDIT,NEW_EDIT,RPT_*
               *FFECT_DATE,RPT_MNTN_DATE,RPT_HIST_DATE,,RPT_MNTN_TIME,D*
               *RECT_CODE,DATE_IND,PRICE_LIST_NBR,TAX_REGION,')         
/*                                                                     
//*                                                                     

Getting the following error
SYSIN :
Code:
  SORT FIELDS=COPY                                                       
  OUTREC FIELDS=(1,550,C'NST_NBR,RECORD,MNTN_DATE,MNTN_TIME,TIEBRK,AIX *
                        *                                               
               *_TIEBRK,AIX2_INST,AIX2_APPL_CODE,AIX2_ACCT_NBR,AIX2_MNT*
               *_DATE,AIX2_MNTN_TIME,AIX2_TIEBRK,REC_FLDS,REGION,TYPE,U*
               *ER_CODE_4,SVC_CODE,ORIG_CODE,FUNCTION,BATCH_FORM,INFC_C*
               *ST_SHRT,EXPIRE_DATE,BATCH_FIELD,AMT_REC_CODE,AMT_APPL_C*
               *DE,FIELD_NBR,PANEL_ID,FIELD_NAME,OLD_EDIT,NEW_EDIT,RPT_*
               *FFECT_DATE,RPT_MNTN_DATE,RPT_HIST_DATE,,RPT_MNTN_TIME,D*
               *RECT_CODE,DATE_IND,PRICE_LIST_NBR,TAX_REGION,')         
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

coded
Back to top
View user's profile Send private message
Abid Hasan

New User


Joined: 25 Mar 2013
Posts: 88
Location: India

PostPosted: Thu Aug 25, 2016 6:05 pm
Reply with quote

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.
Back to top
View user's profile Send private message
Pandora-Box

Global Moderator


Joined: 07 Sep 2006
Posts: 1592
Location: Andromeda Galaxy

PostPosted: Thu Aug 25, 2016 6:05 pm
Reply with quote

Please use code tags while posting and moved to SYNCSORT
Back to top
View user's profile Send private message
ballaswaroop

New User


Joined: 20 Sep 2005
Posts: 25

PostPosted: Thu Aug 25, 2016 7:03 pm
Reply with quote

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
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Thu Aug 25, 2016 9:03 pm
Reply with quote

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.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3051
Location: NYC,USA

PostPosted: Thu Aug 25, 2016 9:39 pm
Reply with quote

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.
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Fri Aug 26, 2016 1:26 am
Reply with quote

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.
Back to top
View user's profile Send private message
Abid Hasan

New User


Joined: 25 Mar 2013
Posts: 88
Location: India

PostPosted: Fri Aug 26, 2016 11:07 am
Reply with quote

Hello Rohit,

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:

Code:

000012 //SORTOUT DD SYSOUT=*                                                   
=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
000013 //SYSIN DD *                                                           
000014 ----+----1----+--                                                       
000015  SORT FIELDS=COPY                                                       
000016   OUTREC FIELDS=(1,5,C'NST_NBR,RECORD,MNTN_DATE,MNTN_TIME,TIEBRK,AIX   *
000017                *_TIEBRK,AIX2_INST,AIX2_APPL_CODE,AIX2_ACCT_NBR,AIX2_MNT*
000018                *_DATE,AIX2_MNTN_TIME,AIX2_TIEBRK,REC_FLDS,REGION,TYPE,U*
000019            *ER_CODE_4,SVC_CODE,ORIG_CODE,FUNCTION,BATCH_FORM,INFC_C',  *
000020              C'*ST_SHRT,EXPIRE_DATE,BATCH_FIELD,AMT_REC_CODE,AMT_APPL_C*
000021                *DE,FIELD_NBR,PANEL_ID,FIELD_NAME,OLD_EDIT,NEW_EDIT,RPT_*
000022                *FFECT_DATE,RPT_MNTN_DATE,RPT_HIST_DATE,,RPT_MNTN_TIME,D*
000023                *RECT_CODE,DATE_IND,PRICE_LIST_NBR,TAX_REGION,')         
000024 /*                                                                     
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri Aug 26, 2016 12:07 pm
Reply with quote

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.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> SYNCSORT

 


Similar Topics
Topic Forum Replies
No new posts Panvalet - 9 Character name - Issue c... CA Products 6
No new posts String has hex character need to conv... COBOL Programming 3
No new posts Output LREC based on specific character DFSORT/ICETOOL 22
No new posts Replacing character string in file th... JCL & VSAM 9
No new posts Problem while sending special charact... JCL & VSAM 4
Search our Forums:

Back to Top