Skolusu
Senior Member
Joined: 07 Dec 2007 Posts: 2205 Location: San Jose
|
|
|
|
Satish K Kumar,
The following DFSORT JCL will give you the desired results
Code: |
//STEP0100 EXEC PGM=ICEMAN
//SYSOUT DD SYSOUT=*
//SORTIN DD *
01 UXXX
03 GENXXXX, /* NOT RESET AT EACH MESSAGE */
05 ORIXXXXXX CHAR(32),
05 ENVXXXX, CHAR(32),
10 GLOXXX CHAR(32),
05 STRATXXXX,
07 CSS_XXXXX CHAR(1),
//SORTOUT DD SYSOUT=*
//SYSIN DD *
INCLUDE COND=(14,2,ZD,EQ,1,OR,
17,2,ZD,EQ,3,OR,
20,2,ZD,EQ,5,OR,
23,2,ZD,EQ,7,OR,
23,2,ZD,EQ,10)
INREC IFTHEN=(WHEN=(14,2,ZD,EQ,1),BUILD=(16,64)),
IFTHEN=(WHEN=(17,2,ZD,EQ,3),BUILD=(19,61)),
IFTHEN=(WHEN=(20,2,ZD,EQ,5),BUILD=(22,58)),
IFTHEN=(WHEN=(23,2,ZD,GE,7),BUILD=(25,55))
SORT FIELDS=COPY
/*
|
The output from this job is
Code: |
UXXX
GENXXXX, /* NOT RESET AT EACH MESSAGE */
ORIXXXXXX CHAR(32),
ENVXXXX, CHAR(32),
GLOXXX CHAR(32),
STRATXXXX,
CSS_XXXXX CHAR(1),
|
If you just need the variable names then add the OUTREC statement with parse as shown below.
Code: |
//STEP0100 EXEC PGM=ICEMAN
//SYSOUT DD SYSOUT=*
//SORTIN DD *
01 UXXX
03 GENXXXX, /* NOT RESET AT EACH MESSAGE */
05 ORIXXXXXX CHAR(32),
05 ENVXXXX, CHAR(32),
10 GLOXXX CHAR(32),
05 STRATXXXX,
07 CSS_XXXXX CHAR(1),
//SORTOUT DD SYSOUT=*
//SYSIN DD *
INCLUDE COND=(14,2,ZD,EQ,1,OR,
17,2,ZD,EQ,3,OR,
20,2,ZD,EQ,5,OR,
23,2,ZD,EQ,7,OR,
23,2,ZD,EQ,10)
INREC IFTHEN=(WHEN=(14,2,ZD,EQ,1),BUILD=(16,64)),
IFTHEN=(WHEN=(17,2,ZD,EQ,3),BUILD=(19,61)),
IFTHEN=(WHEN=(20,2,ZD,EQ,5),BUILD=(22,58)),
IFTHEN=(WHEN=(23,2,ZD,GE,7),BUILD=(25,55))
SORT FIELDS=COPY
OUTREC PARSE(%00=(ABSPOS=2,ENDBEFR=C' ',ENDBEFR=C',',FIXLEN=80)),
BUILD=(%00)
/*
|
This will produce
Code: |
UXXX
GENXXXX
ORIXXXXXX
ENVXXXX
GLOXXX
STRATXXXX
CSS_XXXXX
|
|
|