I am sure there's room to improve, and several assumptions on my part, but I
did:
//SORTS EXEC PGM=SORT,REGION=0M,TIME=NOLIMIT,PARM='VLTESTI=1'
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=&&FDRTSEL,DISP=(OLD,PASS)
//SORTOUT DD SYSOUT=*
//SORTOF01 DD DISP=(NEW,PASS),DSN=&&SOF01A
//SORTOF02 DD DISP=(NEW,PASS),DSN=&&SOF02A
//SORTOF03 DD DISP=(NEW,PASS),DSN=&&SOF03A
//SORTOF04 DD DISP=(NEW,PASS),DSN=&&SOF04A
//SYSIN DD *
INCLUDE COND=(2,7,CH,EQ,C'FDR692')
INREC FIELDS=(40,24,82,6)
SORT FIELDS=COPY
OUTFIL FILES=(01,02,03,04),SPLIT
OUTREC FIELDS=(SEQNUM,1,ZD,RESTART=(9,1),C' ',1,30)
//SORTJ EXEC PGM=SORT,REGION=0M,TIME=NOLIMIT,PARM='VLTESTI=1'
//SYSOUT DD SYSOUT=*
//SORTOUT DD SYSOUT=*
//SORTJNF1 DD DISP=(OLD,PASS),DSN=&&SOF01A
// DD DISP=(OLD,PASS),DSN=&&SOF02A
//SORTJNF2 DD DISP=(OLD,PASS),DSN=&&SOF03A
// DD DISP=(OLD,PASS),DSN=&&SOF04A
//SORTOF2 DD SYSOUT=*
//SORTOF3 DD SYSOUT=*
//SYSIN DD *
JOIN UNPAIRED
JOINKEYS FILE=F1,FIELDS=(1,1,CH,A)
JOINKEYS FILE=F2,FIELDS=(1,1,CH,A)
REFORMAT FIELDS=(F1:3,30,26,1,F2:3,30)
SORT FIELDS=COPY
> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:[email protected]]
> On Behalf Of Sri h Kolusu
> Sent: Tuesday, May 15, 2018 4:37 PM
> To: [email protected]
> Subject: Re: Should be easy with SORT :) I thought (:
>
> Dave,
>
> Not sure what solution you came up, but here is a job that will manage any
> number of records and put the odd numbered records as a pair and even
> numbered records as a pair
>
> We use joinkeys trick of matching the file to itself. we treat a group of 4
> records as one group and then merge them as single record.
>
> //**********************************************************
> ******
> //* CREATE AN INPUT FILE WITH 100 RECORDS WITH A RECORD NUMBER **
> //**********************************************************
> ******
> //STEP0100 EXEC PGM=SORT
> //SYSOUT DD SYSOUT=*
> //SORTIN DD *
> DUMMY RECORD
> //SORTOUT DD DSN=&&IN,DISP=(,PASS),SPACE=(CYL,(1,1),RLSE)
> //SYSIN DD *
> OPTION COPY
> OUTFIL REPEAT=100,
> BUILD=(SEQNUM,8,ZD,80:X)
> /*
> //**********************************************************
> ******
> //* MERGE THE ODD NUMBERED RECORDS AS A SINGLE RECORD AND EVEN
> **
> //* NUMBERED RECORDS AS A SINGLE RECORD. EX: 1-3,2-4,5-7,6-8... **
> //**********************************************************
> ******
> //STEP0200 EXEC PGM=SORT
> //SYSOUT DD SYSOUT=*
> //INA DD DSN=&&IN,DISP=(OLD,PASS),VOL=REF=*.STEP0100.SORTOUT
> //INB DD DSN=&&IN,DISP=(OLD,PASS),VOL=REF=*.STEP0100.SORTOUT
> //SORTOUT DD SYSOUT=*
> //SYSIN DD *
> OPTION COPY
> JOINKEYS F1=INA,FIELDS=(81,9,A),SORTED,NOSEQCK
> JOINKEYS F2=INB,FIELDS=(81,9,A),SORTED,NOSEQCK
> REFORMAT FIELDS=(F1:1,80,F2:1,80)
> /*
> //JNF1CNTL DD *
> INREC IFTHEN=(WHEN=GROUP,RECORDS=4,PUSH=(81:ID=8,SEQ=1))
> /*
> //JNF2CNTL DD *
> INREC IFTHEN=(WHEN=GROUP,RECORDS=4,PUSH=(81:ID=8,SEQ=1)),
> IFTHEN=(WHEN=(89,1,ZD,LE,2),
> OVERLAY=(89:C'0')),
> IFTHEN=(WHEN=(89,1,ZD,GT,2),
> OVERLAY=(89:89,1,ZD,SUB,+2,EDIT=(T)))
> /*
>
>
> The output from this job is
>
> 00000001
> 00000003
> 00000002
> 00000004
> 00000005
> 00000007
> 00000006
> 00000008
> 00000009
> 00000011
> 00000010
> 00000012
> 00000013
> 00000015
>
>
> Further if you have any questions please let me know
>
> Thanks,
> Kolusu
> DFSORT Development
> IBM Corporation
>
> IBM Mainframe Discussion List <[email protected]> wrote on
> 05/15/2018 03:47:14 PM:
>
> > From: "Gibney, Dave" <[email protected]>
> > To: [email protected]
> > Date: 05/15/2018 03:48 PM
> > Subject: Re: Should be easy with SORT :) I thought (:
> > Sent by: IBM Mainframe Discussion List <[email protected]>
> >
> > And of course, the standard make a fool of myself in public and
> > immediately find a solution involving adding a sequence number field
> > is working for me.
> >
> > > -----Original Message-----
> > > From: IBM Mainframe Discussion List [mailto:IBM-
> [email protected]]
> > > On Behalf Of Gibney, Dave
> > > Sent: Tuesday, May 15, 2018 2:52 PM
> > > To: [email protected]
> > > Subject: Should be easy with SORT :) I thought (:
> > >
> > > I have a file with say 4 records:
> > > FDRABR.VZ21RS2.C1000n00 D05809
> > > FDRABR.VZ21RSC.C1000n00 D05547
> > > FDRABR.VFNTCA2.C1000n00 D06255
> > > FDRABR.VFNTCAT.C1000n00 D06244
> > >
> > > I want a file that is
> > > Record1||Record3
> > > Record2||Record4
> > > That is:
> > > FDRABR.VZ21RS2.C1000n00 D05809 FDRABR.VFNTCA2.C1000n00
> D06255
> > > FDRABR.VZ21RSC.C1000n00 D05547 FDRABR.VFNTCAT.C1000n00
> D06244
> > >
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN