Re: IEBCOPY ignoring SYSIN override?

2010-05-08 Thread Charles Mills
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?

2010-05-07 Thread Brian Peterson
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?

2010-05-07 Thread Starr, Alan
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?

2010-05-07 Thread Starr, Alan
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?

2010-05-07 Thread Lizette Koehler
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