Re: IEBCOPY ignoring SYSIN override?
Thanks all. Resolved. Stupid programmer trick. Alan hit it the closest. Short version: SYS1 was empty. Longer version: lots of complex layers of code obscured the fact that the combination of calls I was doing led to SYS1 being opened for *input* and then "written" into, resulting in an empty file. Small IEBCOPY complaint: it would be nice if IEBCOPY said "ddname EMPTY, IGNORING" or something like that. Judging from the replies, a bunch of folks have been burned by an empty generated SYSIN DD *. More clues might help. Thanks again everyone who pitched in. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Starr, Alan Sent: Friday, May 07, 2010 4:44 PM To: IBM-MAIN@bama.ua.edu Subject: Re: IEBCOPY ignoring SYSIN override? Charles, I've played with this a bit more and I strongly believe that IEBCOPY is picking up DD=SYS1 for SYSIN but that DD=SYS1 is either NOT allocated or it's allocated to DUMMY. Those are the only two conditions that I could find in which "COPY INDD=SYSUT1,OUTDD=SYSUT2 GENERATED STATEMENT" appears. As I mentioned, try issuing an OPEN against DD=SYS1 before the ATTACH. If that works, then issue a READ to validate that it's not NULL. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: IEBCOPY ignoring SYSIN override?
Dumb question Did you CLOSE your SYS1 file before issuing ATTACH? Brian On Fri, 7 May 2010 16:01:32 -0700, Charles Mills wrote: >I have been wrestling for the past couple of hours with a problem in which >IEBCOPY ignores a SYSIN override. (snip) >You can see the length of 48 and you can see the two DD overrides at >displacements 34 (SYS1) and 42 (TCCCPYPR). Now here's the weird thing: >it's accepting my SYSPRINT override -- the listing is sure enough going to >TCCCPYPR. SYS1 is LRECL=80 and has four records in it. The routine that >writes the records is logging them. The records are > > COPYINDD=MYLIB,OUTDD=SYS2 > SELECT MEMBER=(GINCLUD3) > COPYINDD=SYSLIB,OUTDD=SYS3 > SELECT MEMBER=(GINCLUD1,GINCLUD2,GINCLUD4) > >But IEBCOPY is not seeing it. IEBCOPY is not generating any error messages. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: IEBCOPY ignoring SYSIN override?
Charles, I've played with this a bit more and I strongly believe that IEBCOPY is picking up DD=SYS1 for SYSIN but that DD=SYS1 is either NOT allocated or it's allocated to DUMMY. Those are the only two conditions that I could find in which "COPY INDD=SYSUT1,OUTDD=SYSUT2 GENERATED STATEMENT" appears. As I mentioned, try issuing an OPEN against DD=SYS1 before the ATTACH. If that works, then issue a READ to validate that it's not NULL. Have a nice weekend! Alan -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Charles Mills Sent: Friday, May 07, 2010 16:02 To: IBM-MAIN@bama.ua.edu Subject: IEBCOPY ignoring SYSIN override? I have been wrestling for the past couple of hours with a problem in which IEBCOPY ignores a SYSIN override. I thought I would toss this out here and see if anyone has ever encountered any gotchas on IEBCOPY. I've done this before although the one thing I am doing differently in this program is using ATTACH rather than LINK, and it is new code. The ATTACH subroutine works successfully with other sub-task modules. I'm sure the override is there. I forced a dump just before ATTACHing IEBCOPY and my call list looks like 000127F8 800128FA. The storage at 128FA looks like 0128FA 0030 01291A E2E8 E2F0F0F0 F0F1E3C3 C3C3D7E8 D7D94040 40404040 40404040 40404040 You can see the length of 48 and you can see the two DD overrides at displacements 34 (SYS1) and 42 (TCCCPYPR). Now here's the weird thing: it's accepting my SYSPRINT override -- the listing is sure enough going to TCCCPYPR. SYS1 is LRECL=80 and has four records in it. The routine that writes the records is logging them. The records are COPYINDD=MYLIB,OUTDD=SYS2 SELECT MEMBER=(GINCLUD3) COPYINDD=SYSLIB,OUTDD=SYS3 SELECT MEMBER=(GINCLUD1,GINCLUD2,GINCLUD4) But IEBCOPY is not seeing it. IEBCOPY is not generating any error messages. Here's the output: IEBCOPY MESSAGES AND CONTROL S IEB1135I IEBCOPY FMID HDZ1A10 SERVICE LEVEL UA53209 DATED 20100315 D IEB1035I TCC001CR RUN 17:23:14 FRI 07 MAY 2010 PARM='' RUN COPY INDD=SYSUT1,OUTDD=SYSUT2 GENERATED STATEMENT IEB120I SYSUT1 VALIDATION ERROR IEB157I SYSUT1 DD STATEMENT NOT FOUND IEB166I NO MEMBERS COPIED TO DATA SET REFERENCED BY SYSUT2 IEB151I JOB HAS TERMINATED WITH ERROR(S) IEB147I END OF JOB - 8 WAS HIGHEST SEVERITY CODE Has anyone encountered anything like this before? Any gotchas that you remember? Charles Mills -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: IEBCOPY ignoring SYSIN override?
Hello Charles, You certainly documented this well and I must say that I can't see the problem either. Everything looks right, especially since you say that the output is going to DD=TCCCPYPR (as specified in the DD-list). You are specifying two field-names in the parameter list (i.e. one for options and one for the DD-list), right? Something like PARAM=(options,ddlist),VL=1 on the ATTACH? To things occur to me: 1) Try increasing the parameter length halfword from 48 to 88 (the maximum possible) and filling the subsequent DD-name slots with X'00'. According to the doc, that shouldn't have any effect. But who knows? 2) Replace ATTACH with LINK, just to see if that works. If so, it's probably not an issue with the DD-list. 3) Are you SURE that DD=SYS1 is ALLOCated and has content? Try doing an OPEN of it just before you invoke ATTACH. Sorry I couldn't help more. Alan -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Charles Mills Sent: Friday, May 07, 2010 16:02 To: IBM-MAIN@bama.ua.edu Subject: IEBCOPY ignoring SYSIN override? I have been wrestling for the past couple of hours with a problem in which IEBCOPY ignores a SYSIN override. I thought I would toss this out here and see if anyone has ever encountered any gotchas on IEBCOPY. I've done this before although the one thing I am doing differently in this program is using ATTACH rather than LINK, and it is new code. The ATTACH subroutine works successfully with other sub-task modules. I'm sure the override is there. I forced a dump just before ATTACHing IEBCOPY and my call list looks like 000127F8 800128FA. The storage at 128FA looks like 0128FA 0030 01291A E2E8 E2F0F0F0 F0F1E3C3 C3C3D7E8 D7D94040 40404040 40404040 40404040 You can see the length of 48 and you can see the two DD overrides at displacements 34 (SYS1) and 42 (TCCCPYPR). Now here's the weird thing: it's accepting my SYSPRINT override -- the listing is sure enough going to TCCCPYPR. SYS1 is LRECL=80 and has four records in it. The routine that writes the records is logging them. The records are COPYINDD=MYLIB,OUTDD=SYS2 SELECT MEMBER=(GINCLUD3) COPYINDD=SYSLIB,OUTDD=SYS3 SELECT MEMBER=(GINCLUD1,GINCLUD2,GINCLUD4) But IEBCOPY is not seeing it. IEBCOPY is not generating any error messages. Here's the output: IEBCOPY MESSAGES AND CONTROL S IEB1135I IEBCOPY FMID HDZ1A10 SERVICE LEVEL UA53209 DATED 20100315 D IEB1035I TCC001CR RUN 17:23:14 FRI 07 MAY 2010 PARM='' RUN COPY INDD=SYSUT1,OUTDD=SYSUT2 GENERATED STATEMENT IEB120I SYSUT1 VALIDATION ERROR IEB157I SYSUT1 DD STATEMENT NOT FOUND IEB166I NO MEMBERS COPIED TO DATA SET REFERENCED BY SYSUT2 IEB151I JOB HAS TERMINATED WITH ERROR(S) IEB147I END OF JOB - 8 WAS HIGHEST SEVERITY CODE Has anyone encountered anything like this before? Any gotchas that you remember? Charles Mills -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: IEBCOPY ignoring SYSIN override?
What does your JCL look like? It looks like you may not have the DDs for the copy commands in your JCL. Lizette > > I have been wrestling for the past couple of hours with a problem in > which > IEBCOPY ignores a SYSIN override. I thought I would toss this out here > and > see if anyone has ever encountered any gotchas on IEBCOPY. I've done > this > before although the one thing I am doing differently in this program is > using ATTACH rather than LINK, and it is new code. The ATTACH > subroutine > works successfully with other sub-task modules. > > I'm sure the override is there. I forced a dump just before ATTACHing > IEBCOPY and my call list looks like 000127F8 800128FA. The storage at > 128FA > looks like > > 0128FA 0030 > > 01291A E2E8 E2F0F0F0 F0F1E3C3 C3C3D7E8 D7D94040 40404040 40404040 > 40404040 > > You can see the length of 48 and you can see the two DD overrides at > displacements 34 (SYS1) and 42 (TCCCPYPR). Now here's the weird > thing: > it's accepting my SYSPRINT override -- the listing is sure enough going > to > TCCCPYPR. SYS1 is LRECL=80 and has four records in it. The routine > that > writes the records is logging them. The records are > > COPYINDD=MYLIB,OUTDD=SYS2 > SELECT MEMBER=(GINCLUD3) > COPYINDD=SYSLIB,OUTDD=SYS3 > SELECT MEMBER=(GINCLUD1,GINCLUD2,GINCLUD4) > > But IEBCOPY is not seeing it. IEBCOPY is not generating any error > messages. > Here's the output: > > IEBCOPY MESSAGES AND CONTROL S > IEB1135I IEBCOPY FMID HDZ1A10 SERVICE LEVEL UA53209 DATED 20100315 D > IEB1035I TCC001CR RUN 17:23:14 FRI 07 MAY 2010 PARM='' > RUN COPY INDD=SYSUT1,OUTDD=SYSUT2 GENERATED STATEMENT > IEB120I SYSUT1 VALIDATION ERROR > IEB157I SYSUT1 DD STATEMENT NOT FOUND > IEB166I NO MEMBERS COPIED TO DATA SET REFERENCED BY SYSUT2 > IEB151I JOB HAS TERMINATED WITH ERROR(S) > IEB147I END OF JOB - 8 WAS HIGHEST SEVERITY CODE > > Has anyone encountered anything like this before? Any gotchas that you > remember? > -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html