Portal | IBM Manuals | Downloads | Products | Refer | Info | Programs | JCLs | Forum Rules*| Site Map | Mainframe CD 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index
 
Register
 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index FAQ Search Memberlist Usergroups Profile Log in to check your private messages Log in
 
Syncsort - Remove Duplicates until encountering a '('
Goto page Previous  1, 2
 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL
Author Message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 654

PostPosted: Wed Sep 17, 2008 7:40 am    Post subject:
Reply with quote

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
View user's profile Send private message
References
vjai6977

New User


Joined: 08 Aug 2008
Posts: 16
Location: Chennai

PostPosted: Fri Oct 10, 2008 5:18 pm    Post subject:
Reply with quote

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
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 3511
Location: Brussels once more ...

PostPosted: Fri Oct 10, 2008 5:34 pm    Post subject:
Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL All times are GMT + 6 HoursGoto page Previous  1, 2
Page 2 of 2