Quote: |
All you need to do is to create & catalog the datasets before the sort step. use IEFBR14 to create an empty file (& catalog it). Then use the datasets in the SYNCTOOL/ICETOOL with DISP as SHR. |
Code: |
//T1 DD DSN=USERID.TEMP.DSN1,DISP=(,CATLG),SPACE=(CYL,(X,Y),RLSE) //T2 DD DSN=USERID.TEMP.DSN2,DISP=(,CATLG),SPACE=(CYL,(X,Y),RLSE) //CON DD DSN=*.T1,VOL=REF=*.T1,DISP=OLD // DD DSN=*.T2,VOL=REF=*.T2,DISP=OLD |
Code: |
//TOOLIN DD * COUNT FROM(IPFILE) COPY FROM(IPFILE) USING(CTL1) COPY FROM(CON) USING(CTL2) SPLICE FROM(TEMP1) TO(TEMP2) - ON(87,8,CH) - WITH(1,80) - WITHALL USING(CTL3) COPY FROM(TEMP2) USING(CTL4) //CTL1CNTL DD * INREC FIELDS=(1,80,SEQNUM,8,ZD) OUTFIL FNAMES=HEADER,INCLUDE=(1,1,CH,EQ,C'*'), OUTREC=(1,80,8C'0',SEQNUM,8,ZD,C'H',39,6) OUTFIL FNAMES=DETAIL,SAVE, OUTREC=(1,88,SEQNUM,8,ZD,C'Z',6X) //CTL2CNTL DD * INREC FIELDS=(1,96,(81,8,ZD,SUB,89,8,ZD),M11,LENGTH=8,97,7) OUTFIL FNAMES=TEMP1,OUTREC=(1,80,106,6,97,8,89,8) //CTL3CNTL DD * OUTFIL FNAMES=TEMP2,OUTREC=(1,86,SEQNUM,7,ZD) //CTL4CNTL DD * OUTFIL FNAMES=TEMP3,INCLUDE COND=(1,1,CH,EQ,C' ',OR, 77,2,CH,EQ,C'TA',OR, 77,2,CH,EQ,C'TB',OR, 77,2,CH,EQ,C'TC',OR),OUTREC=(1,93,2,4,6X) $ PUT INTO TEMP3 THIS INCLUDE COND= DOES NOT WORK. OUTFIL FNAMES=TEMP4,INCLUDE=(77,2,CH,EQ,C'TT'),OUTREC=(1,93,10X,11,4) $ PUT INTO TEMP4 OUTFIL FNAMES=TEMP5,SAVE,OUTREC=(1,93,1,10) $ PUT EVERYTHING ELSE INTO TEMP5 /* |
Code: |
//CTL4CNTL DD * OUTFIL FNAMES=TEMP3, INCLUDE=(1,1,CH,EQ,C' ',OR, 77,2,CH,EQ,C'TA',OR, 77,2,CH,EQ,C'TB',OR, 77,2,CH,EQ,C'TC'), OUTREC=(1,93,2,4,6X) OUTFIL FNAMES=TEMP4,INCLUDE=(77,2,CH,EQ,C'TT'), OUTREC=(1,93,10X,11,4) OUTFIL FNAMES=TEMP5,SAVE, OUTREC=(1,93,1,10) /* |
Code: |
You have an extra OR in the include cond after 'TC' for Temp3. |
Code: |
Also you should just have INCLUDE on OUTFIL , instead of INCLUDE COND. Change your CTL4CNTL to the following. |
Code: |
STMT NO. MESSAGE 297 IEF645I INVALID REFERBACK IN THE DSNAME FIELD 298 IEF645I INVALID REFERBACK IN THE DSNAME FIELD 299 IEF645I INVALID REFERBACK IN THE DSNAME FIELD 300 IEF645I INVALID REFERBACK IN THE DSNAME FIELD 301 IEF645I INVALID REFERBACK IN THE DSNAME FIELD 302 IEF645I INVALID REFERBACK IN THE DSNAME FIELD |
Code: |
283 //IPFILE DD DSN=NSDC656.TEMP1,DISP=SHR 284 //OPFILE DD DSN=NSDC656.OLDLIST,DISP=(OLD,KEEP) 285 //HEADER DD DSN=NSDC656.HEADER, // DISP=(NEW,CATLG),SPACE=(CYL,(20,10),RLSE) 286 //DETAIL DD DSN=NSDC656.DETAIL, // DISP=(NEW,CATLG),SPACE=(CYL,(20,10),RLSE) 287 //CON DD DSN=*.HEADER,VOL=REF=*.HEADER,DISP=OLD 288 // DD DSN=*.DETAIL,VOL=REF=*.DETAIL,DISP=OLD 289 //TEMP1 DD DSN=NSDC656.A1,DISP=(NEW,CATLG),SPACE=(CYL,(20,10),RLSE) 290 //TEMP2 DD DSN=NSDC656.A2,DISP=(NEW,CATLG),SPACE=(CYL,(20,10),RLSE) 291 //TEMP3 DD DSN=NSDC656.A3,DISP=(NEW,CATLG),SPACE=(CYL,(20,10),RLSE) 292 //TEMP4 DD DSN=NSDC656.A4,DISP=(NEW,CATLG),SPACE=(CYL,(20,10),RLSE) 293 //TEMP5 DD DSN=NSDC656.A5,DISP=(NEW,CATLG),SPACE=(CYL,(20,10),RLSE) 294 //TEMP6 DD DSN=NSDC656.A6,DISP=(NEW,CATLG),SPACE=(CYL,(20,10),RLSE) 295 //TEMP7 DD DSN=NSDC656.A7,DISP=(NEW,CATLG),SPACE=(CYL,(20,10),RLSE) 296 //TEMP8 DD DSN=NSDC656.A8,DISP=(NEW,CATLG),SPACE=(CYL,(20,10),RLSE) 297 //TEMP9 DD DSN=*.A3,VOL=REF=*.A3,DISP=OLD 298 // DD DSN=*.A4,VOL=REF=*.A4,DISP=OLD 299 // DD DSN=*.A5,VOL=REF=*.A5,DISP=OLD 300 // DD DSN=*.A6,VOL=REF=*.A6,DISP=OLD 301 // DD DSN=*.A7,VOL=REF=*.A7,DISP=OLD 302 // DD DSN=*.A8,VOL=REF=*.A8,DISP=OLD 303 //TOOLIN DD * |
Code: |
//TEMP9 DD DSN=*.A3,VOL=REF=*.A3,DISP=OLD // DD DSN=*.A4,VOL=REF=*.A4,DISP=OLD // DD DSN=*.A5,VOL=REF=*.A5,DISP=OLD // DD DSN=*.A6,VOL=REF=*.A6,DISP=OLD // DD DSN=*.A7,VOL=REF=*.A7,DISP=OLD // DD DSN=*.A8,VOL=REF=*.A8,DISP=OLD |
Code: |
//TEMP9 DD DSN=*.TEMP3,VOL=REF=*.TEMP3,DISP=OLD // DD DSN=*.TEMP4,VOL=REF=*.TEMP4,DISP=OLD // DD DSN=*.TEMP5,VOL=REF=*.TEMP5,DISP=OLD // DD DSN=*.TEMP6,VOL=REF=*.TEMP6,DISP=OLD // DD DSN=*.TEMP7,VOL=REF=*.TEMP7,DISP=OLD // DD DSN=*.TEMP8,VOL=REF=*.TEMP8,DISP=OLD |
Code: |
//HEADER DD DSN=&&&&HEADER,DISP=(NEW,PASS) //DETAIL DD DSN=&&&&DETAIL,DISP=(NEW,PASS) //COMBIN DD DSN=*.HEADER,VOL=REF=*.HEADER,DISP=OLD // DD DSN=*.DETAIL,VOL=REF=*.DETAIL,DISP=OLD |
Code: |
317 IEF648I INVALID DISP FIELD- PASS SUBSTITUTED 318 IEF648I INVALID DISP FIELD- PASS SUBSTITUTED |
Code: |
//HEADER DD DSN=&&&&HEADER,DISP=(NEW,PASS) //DETAIL DD DSN=&&&&DETAIL,DISP=(NEW,PASS) //COMBIN DD DSN=HEADER // DD DSN=DETAIL |
Code: |
//HEADER DD DSN=&&HEADER,DISP=(NEW,PASS),SPACE=(CYL,(X,Y),RLSE) //DETAIL DD DSN=&&DETAIL,DISP=(NEW,PASS),SPACE=(CYL,(X,Y),RLSE) //COMBIN DD DSN=*.HEADER,VOL=REF=*.HEADER,DISP=OLD // DD DSN=*.DETAIL,VOL=REF=*.DETAIL,DISP=OLD |
Code: |
//HEADER DD DSN=&HEADER,DISP=(NEW,PASS),SPACE=(CYL,(X,Y),RLSE) //DETAIL DD DSN=&DETAIL,DISP=(NEW,PASS),SPACE=(CYL,(X,Y),RLSE) //COMBIN DD DSN=*.HEADER,VOL=REF=*.HEADER,DISP=OLD // DD DSN=*.DETAIL,VOL=REF=*.DETAIL,DISP=OLD |
Code: |
//DETAIL DD DSN=&&&&DETAIL,DISP=(NEW,PASS) //COMBIN DD DSN=&&&&HDR1,VOL=REF=*.HEADER,DISP=(NEW,PASS) // DD DSN=&&&&DET1,VOL=REF=*.DETAIL,DISP=(NEW,PASS) |
Code: |
//CON&DSN1 IF ( (&DSN1 EQ 1 OR (&DSN1 EQ 2)) AND // (&DSN2 EQ 'OLDLIST' OR (&DSN2 EQ 'NEWLIST' ) ) ) THEN |
Quote: |
I have another question, I have problem to find the correct syntax for the following statements? could you please show me how this is done the right way. Thanks you! //CON&DSN1 IF ( (&DSN1 EQ 1 OR (&DSN1 EQ 2)) AND // (&DSN2 EQ 'OLDLIST' OR (&DSN2 EQ 'NEWLIST' ) ) ) THEN |
output generated using printer-friendly topic mod. All times are GMT - 5 Hours