|
|
| Author |
Message |
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 654
|
|
|
|
Hi,
you can try something like this
| Code: |
INCLUDE COND=(3,5,CH,EQ,C'TSTIN')
SORT FIELDS=(81,44,BI,A)
SUM FIELDS=NONE
INREC IFTHEN=(WHEN=(11,1,CH,EQ,C'('),OVERLAY=(81:10,01)),
IFTHEN=(WHEN=(12,1,CH,EQ,C'('),OVERLAY=(81:10,02)),
IFTHEN=(WHEN=(13,1,CH,EQ,C'('),OVERLAY=(81:10,03)),
IFTHEN=(WHEN=(14,1,CH,EQ,C'('),OVERLAY=(81:10,04)),
IFTHEN=(WHEN=(15,1,CH,EQ,C'('),OVERLAY=(81:10,05)),
IFTHEN=(WHEN=(16,1,CH,EQ,C'('),OVERLAY=(81:10,06)),
IFTHEN=(WHEN=(17,1,CH,EQ,C'('),OVERLAY=(81:10,07)),
IFTHEN=(WHEN=(18,1,CH,EQ,C'('),OVERLAY=(81:10,08)),
IFTHEN=(WHEN=(19,1,CH,EQ,C'('),OVERLAY=(81:10,09)),
IFTHEN=(WHEN=(20,1,CH,EQ,C'('),OVERLAY=(81:10,10)),
IFTHEN=(WHEN=(21,1,CH,EQ,C'('),OVERLAY=(81:10,11)),
IFTHEN=(WHEN=(22,1,CH,EQ,C'('),OVERLAY=(81:10,12)),
IFTHEN=(WHEN=(23,1,CH,EQ,C'('),OVERLAY=(81:10,13)),
IFTHEN=(WHEN=(24,1,CH,EQ,C'('),OVERLAY=(81:10,14)),
IFTHEN=(WHEN=(25,1,CH,EQ,C'('),OVERLAY=(81:10,15)),
IFTHEN=(WHEN=(26,1,CH,EQ,C'('),OVERLAY=(81:10,16)),
IFTHEN=(WHEN=(27,1,CH,EQ,C'('),OVERLAY=(81:10,17)),
IFTHEN=(WHEN=(28,1,CH,EQ,C'('),OVERLAY=(81:10,18)),
IFTHEN=(WHEN=(29,1,CH,EQ,C'('),OVERLAY=(81:10,19)),
IFTHEN=(WHEN=(30,1,CH,EQ,C'('),OVERLAY=(81:10,20)),
IFTHEN=(WHEN=(31,1,CH,EQ,C'('),OVERLAY=(81:10,21)),
IFTHEN=(WHEN=(32,1,CH,EQ,C'('),OVERLAY=(81:10,22)),
IFTHEN=(WHEN=(33,1,CH,EQ,C'('),OVERLAY=(81:10,23)),
IFTHEN=(WHEN=(34,1,CH,EQ,C'('),OVERLAY=(81:10,24)),
IFTHEN=(WHEN=(35,1,CH,EQ,C'('),OVERLAY=(81:10,25)),
IFTHEN=(WHEN=(36,1,CH,EQ,C'('),OVERLAY=(81:10,26)),
IFTHEN=(WHEN=(37,1,CH,EQ,C'('),OVERLAY=(81:10,27)),
IFTHEN=(WHEN=(38,1,CH,EQ,C'('),OVERLAY=(81:10,28)),
IFTHEN=(WHEN=(39,1,CH,EQ,C'('),OVERLAY=(81:10,29)),
IFTHEN=(WHEN=(40,1,CH,EQ,C'('),OVERLAY=(81:10,30)),
IFTHEN=(WHEN=(41,1,CH,EQ,C'('),OVERLAY=(81:10,31)),
IFTHEN=(WHEN=(42,1,CH,EQ,C'('),OVERLAY=(81:10,32)),
IFTHEN=(WHEN=(43,1,CH,EQ,C'('),OVERLAY=(81:10,33)),
IFTHEN=(WHEN=(44,1,CH,EQ,C'('),OVERLAY=(81:10,34)),
IFTHEN=(WHEN=(45,1,CH,EQ,C'('),OVERLAY=(81:10,35)),
IFTHEN=(WHEN=(46,1,CH,EQ,C'('),OVERLAY=(81:10,36)),
IFTHEN=(WHEN=(47,1,CH,EQ,C'('),OVERLAY=(81:10,37)),
IFTHEN=(WHEN=(48,1,CH,EQ,C'('),OVERLAY=(81:10,38)),
IFTHEN=(WHEN=(49,1,CH,EQ,C'('),OVERLAY=(81:10,39)),
IFTHEN=(WHEN=(50,1,CH,EQ,C'('),OVERLAY=(81:10,40)),
IFTHEN=(WHEN=(51,1,CH,EQ,C'('),OVERLAY=(81:10,41)),
IFTHEN=(WHEN=(52,1,CH,EQ,C'('),OVERLAY=(81:10,42)),
IFTHEN=(WHEN=(53,1,CH,EQ,C'('),OVERLAY=(81:10,43)),
IFTHEN=(WHEN=(54,1,CH,EQ,C'('),OVERLAY=(81:10,44))
OUTREC BUILD=(1,80)
/*
|
Gerry |
|
| Back to top |
|
 |
References
|
|
 |
vjai6977
New User
Joined: 08 Aug 2008 Posts: 16 Location: Chennai
|
|
|
|
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.
Input file:
123456789012345678901234567890123456789012345678901234567890
__3___7__0_________0_________0____5______________________133
**TSTIN**TEST01.FEED.F1
**TSTIN**TEST01.FEED.F2
**TSTIN**TEST01.FEED.F3
**TSTIN**TEST01.FEED.F4
**TSTIN**TEST01.FEED.FILE(-1)
**TSTIN**TEST01.FEED.P1
**TSTIN**TEST01.FEED.P2
**TSTIN**TEST01.FEED.P3
**TSTIN**TEST01.FEED.FILE(-8)
**TSTIN**TEST01.FEED.FILE(0)
**TSTIN**TEST01.FEED.FILE(-4)
**TSTIN**TEST01.OUT1.FILE001(-1)
**TSTIN**TEST01.FEED.K1
**TSTIN**TEST01.FEED.K2
**TSTIN**TEST01.FEED.K3
**TSTIN**TEST01.OUT1.FILE001(-1)
**TSTIN**TEST01.OUT2.FILE(-1)
**TSTIN**TEST01.FEED.M1
**TSTIN**TEST01.FEED.M2
**TSTIN**TEST01.FEED.M3
Required Output:
123456789012345678901234567890123456789012345678901234567890
__3___7__0_________0_________0____5______________________133
**TSTIN**TEST01.FEED.F1
**TSTIN**TEST01.FEED.F2
**TSTIN**TEST01.FEED.F3
**TSTIN**TEST01.FEED.F4
**TSTIN**TEST01.FEED.FILE(-4)
**TSTIN**TEST01.FEED.P1
**TSTIN**TEST01.FEED.P2
**TSTIN**TEST01.FEED.P3
**TSTIN**TEST01.OUT1.FILE001(-1)
**TSTIN**TEST01.FEED.K1
**TSTIN**TEST01.FEED.K2
**TSTIN**TEST01.FEED.K3
**TSTIN**TEST01.OUT2.FILE(-1)
**TSTIN**TEST01.FEED.M1
**TSTIN**TEST01.FEED.M2
**TSTIN**TEST01.FEED.M3 |
|
| Back to top |
|
 |
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 3511 Location: Brussels once more ...
|
|
|
|
How about a REXX solution that calls SORT from within.
Tried & tested - but this shop uses DFSORT but should not make a difference on so simple a sort request.
JCL
| Code: |
//STEP0020 EXEC PGM=IKJEFT01,PARM='ZZZZTEMP'
//SYSEXEC DD DSN=whatever..REXX,DISP=SHR
//DDNAME DD DSN=input dataset,DISP=SHR
//SORTIN DD DSN=&&TEMP01,DISP=(,PASS),RECFM=FB,LRECL=80
//SORTOUT DD DSN=output dataset,and attributes
//SYSOUT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD DUMMY
//SYSIN DD *
SORT FIELDS=(1,44,CH,A)
SUM FIELDS=NONE
/*
//
|
REXX
| Code: |
/* REXX *** FIND AND REMOVE (NN) FROM INPUT FILE */
"EXECIO * DISKR DDNAME ( STEM INP. FINIS"
DO AA = 1 TO INP.0
POSIT = POS('(',INP.AA)
IF POSIT > 0 THEN
INP.AA = OVERLAY(' ',INP.AA,POSIT)
END
"EXECIO * DISKW SORTIN ( STEM INP. FINIS"
"CALL *(SORT)"
EXIT
|
|
|
| Back to top |
|
 |
|
|
|