Minoru Massaki at IBM Mainframe Discussion List <[email protected]>
wrote on 02/27/2012 10:46:57 AM:
> I have to do following by DFSORT
>
> There is a data set which contains records with dsname, time, and
> status as following
> (dsname, time, status fields are fixed length)
> The records are sorted by dsname and time.
>
> dsn-aaa 08:00 open
> dsn-aaa 08:10 close
> dsn-aaa 08:15 delete
> dsn-bbb 07:55 delete
> dsn-ccc 08:05 open
> dsn-ccc 08:07 close
>
> I want to get a record by each dsname from multiple records as following.
> (each dsname has max 8 records(status))
>
> dsn-aaa 08:00 open 08:10 close 08:15 delete
> dsn-bbb 07:55 delete
> dsn-ccc 08:05 open 08:07 close
You can use a DFSORT/ICETOOL job like the following. I assumed your
records
were already in order by the dsname as implied by your example. If not,
remove the
OPTION COPY statement:
//S1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD *
dsn-aaa 08:00 open
dsn-aaa 08:10 close
dsn-aaa 08:15 delete
dsn-bbb 07:55 delete
dsn-ccc 08:05 open
dsn-ccc 08:07 close
dsn-ddd 08:01 open
dsn-ddd 08:02 close
dsn-ddd 08:03 open
dsn-ddd 08:04 close
dsn-ddd 08:05 open
dsn-ddd 08:06 close
dsn-ddd 08:07 open
dsn-ddd 08:08 close
//OUT DD SYSOUT=*
//TOOLIN DD *
SPLICE FROM(IN) TO(OUT) ON(1,11,CH) KEEPNODUPS WITHEACH -
WITH(26,14) WITH(40,14) WITH(54,14) WITH(68,14) -
WITH(82,14) WITH(96,14) WITH(110,14) USING(CTL1)
//CTL1CNTL DD *
OPTION COPY
INREC IFTHEN=(WHEN=GROUP,KEYBEGIN=(1,11),PUSH=(125:SEQ=1)),
IFTHEN=(WHEN=(125,1,ZD,EQ,2),BUILD=(1,11,26:12,14)),
IFTHEN=(WHEN=(125,1,ZD,EQ,3),BUILD=(1,11,40:12,14)),
IFTHEN=(WHEN=(125,1,ZD,EQ,4),BUILD=(1,11,54:12,14)),
IFTHEN=(WHEN=(125,1,ZD,EQ,5),BUILD=(1,11,68:12,14)),
IFTHEN=(WHEN=(125,1,ZD,EQ,6),BUILD=(1,11,82:12,14)),
IFTHEN=(WHEN=(125,1,ZD,EQ,7),BUILD=(1,11,96:12,14)),
IFTHEN=(WHEN=(125,1,ZD,EQ,8),BUILD=(1,11,110:12,14))
OUTFIL BUILD=(1,123)
/*
Frank Yaeger - DFSORT Development Team (IBM) - [email protected]
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN