As according to the sysin parameters supplied on the above JCL the syncsort considers the version limit like (-1), (-8) etc., after every dataset and the present output file looks like below.
But the first 4 records has a redundant datasets, irrespective of the different values in ‘()’. My requirement is sort the input file for all rows between columns 10+25, for each column position, the sort should consider the text before '(' only.
This way i can exclude redundant datasets. I welcome any suggestions.
The following sort card will give u solution. And i assumed that maximum length of file name including '**TSTIN**' is 50. U can change as ur requirement.
Joined: 17 Oct 2006 Posts: 2481 Location: @my desk
karthikr44,
Did you have a look at the output records posted in the original requirement. I believe you need to modify he card to something like this.
I cant test this now as I dont have the recent version of SYNCSORT
Code:
//SYSIN DD *
INCLUDE COND=(3,5,CH,EQ,C'TSTIN')
INREC PARSE=(%01=(ENDBEFR=C'(',FIXLEN=50)),
BUILD=(1,133,%01)
SORT FIELDS=(134,50,CH,A)
SUM FIELDS=NONE
OUTREC BUILD=(1,133)
I tried to execute the solutions proposed by Karthik and sambhaji, either of resulted me on the following error message.
When Used for SORT:
SYSIN :
INCLUDE COND=(3,5,CH,EQ,C'TESTIN')
INREC PARSE=(%01=(ENDBEFR=C'(',FIXLEN=80)),
*
BUILD=(%01)
SORT FIELDS=(1,80,CH,A)
SUM FIELDS=NONE
WER901I **WARNING** SYNCSORT 1.2.3.1 WILL EXPIRE IN 77 DAYS
WER268A INREC STATEMENT : SYNTAX ERROR
WER211B SYNCSMF CALLED BY SYNCSORT; RC=0000
WER449I SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE
When Used for ICETOOL:
CTL1CNTL :
SORT FIELDS=COPY
INREC PARSE=(%00=(ABSPOS=10,FIXLEN=25,ENDBEFR=C'('),
*
%01=(FIXLEN=2,ENDBEFR=C')')),
BUILD=(1,9,%00,35:C'(',%01,JFY=(SHIFT=RIGHT),C')')
WER428I CALLER-PROVIDED IDENTIFIER IS "0001"
WER901I **WARNING** SYNCSORT 1.2.3.1 WILL EXPIRE IN 77 DAYS
WER268A INREC STATEMENT : SYNTAX ERROR
WER211B SYNCSMF CALLED BY SYNCSORT; RC=0000
WER449I SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE
Not too sure about this stuffs, I am using ICETOOL SPLICE for another operation and it works fine for me even now.
Any other suggestions for making the duplicate removal successful.
I appreciate and recommend for that, but now I would like to get a solution on the current version issues. Any ideas that i can solve it for now. And latter can use the above mentioned solution if we our shop is installed with release 1.3 of syncsort
For the above SYSIN parameters i am able to get the result. Thanks for the suggestions.
--> One issue I am facing is I am not getting the results as given in the below example post sort results.
--> The result i am obtaining is not maintaining the input order and the rows gets jumbled, this is because we use the sort card
SORT FIELDS=(81,44,BI,A) I tried altering the sort parameter and was not able to achieve the required result. This result i need for cross mapping purpose, and if the post sort is jumbled (not as mentioned in the below required output) the next match step fails for me.
Kindly suggest any changes on the above SYSIN parameters to obtain the below required outputs.
ON THE BELOW EXAMPLES THE EACH ASTRIC ‘*’ IS A BLANK SPACE. JUST FOR READABILITY I HAD PUT IT DOWN.