manihcl85 Warnings : 1 New User
Joined: 11 Jan 2007 Posts: 52 Location: chennai
|
|
|
|
Hi Manish,
I dont knew it can be done with DFSort, if u can do the same with rexx means use the code below.just change the DSNAME alone and run it , it will produce the result as u needed,
/*************REXX****************/
'FREE ALL'
/**DATASET = MAS.A815953.CMDMDB.OLD*/
DATASET = DSN NAME
DATASET= STRIP(DATASET,,"'")
DATASET= "'"DATASET"'"
DSN = SYSDSN(DATASET)
IF DSN ='OK' THEN
DO
DSN = DATASET
X = OUTTRAP('VAR.')
DATASET = STRIP(DATASET,,"'")
"LISTDS" DSN "MEMBERS"
X = OUTTRAP('OFF')
DO I = 7 TO VAR.0
CONC = "'"DATASET"("STRIP(VAR.I)")'"
"ALLOC DA("CONC") FI(INDD) SHR REUSE"
"EXECIO * DISKR INDD (STEM X. FINIS)"
STR='EXEC'
X=0
SAY VAR.I
DO LIN = 1 TO X.0
PARSE UPPER VAR X.LIN STR1
IF INDEX(STR1,STR) > 0 THEN
DO
STR2=SUBWORD(STR1,3,1)
SAY STR2
END
END
DROP X.
"FREE F(INDD)"
END
END
ELSE
SAY 'NOT SEARCH'
Regards,
Manikandan. |
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
I've created this as a possible solution using DFSORT:
Code: |
//STEP0001 EXEC PGM=IKJEFT01
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
PRINTDS DATASET(JCL) TITLE TODATASET(JCL.SEQ)
/*
//*
//STEP0002 EXEC PGM=ICETOOL
//IN DD DISP=SHR,DSN=&SYSUID..JCL.SEQ
//T1 DD DSN=&&T1,DISP=(,PASS),UNIT=SYSDA,
// SPACE=(CYL,(100,100),RLSE)
//T2 DD DSN=&&T2,DISP=(,PASS),UNIT=SYSDA,
// SPACE=(CYL,(100,100),RLSE)
//T3 DD DSN=&&T3,DISP=(,PASS),UNIT=SYSDA,
// SPACE=(CYL,(100,100),RLSE)
//T4 DD DSN=&&T4,DISP=(,PASS),UNIT=SYSDA,
// SPACE=(CYL,(100,100),RLSE)
//CONCAT DD DSN=*.T3,VOL=REF=*.T3,DISP=(OLD,PASS)
// DD DSN=*.T4,VOL=REF=*.T4,DISP=(OLD,PASS)
//T5 DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//TOOLMSG DD SYSOUT=*
//TOOLIN DD *
COPY FROM(IN) USING(CTL1)
SELECT FROM(T1) TO(T3) ON(1,8,CH) FIRST
COPY FROM(T2) USING(CTL2)
SORT FROM(CONCAT) USING(CTL3)
/*
//CTL1CNTL DD *
INREC FIELDS=(1,80,X,SEQNUM,8,ZD)
OUTFIL FNAMES=T1,INCLUDE=(58,8,CH,EQ,C'MEMBER:'),
BUILD=(1:66,8,82:82,8)
OUTFIL FNAMES=T2,INCLUDE=(1,2,CH,EQ,C'//',AND,
3,1,CH,NE,C'*',AND,
4,68,SS,EQ,C' EXEC ',AND,4,68,SS,NE,C'PGM=')
/*
//CTL2CNTL DD *
OUTFIL FNAMES=T4,
IFOUTLEN=89,
IFTHEN=(WHEN=INIT,
PARSE=(%01=(ENDAT=C'//',FIXLEN=2),
%02=(ENDBEFR=C' EXEC ',FIXLEN=6),
%03=(ENDBEFR=C',',FIXLEN=8)),
BUILD=(%03,SQZ=(SHIFT=LEFT),82:82,8))
/*
//CTL3CNTL DD *
SORT FIELDS=(82,8,BI,A)
OUTFIL FNAMES=T5,BUILD=(1,80)
/*
//*
|
|
|