OK, to answer a few questions:
It makes NO difference if I run it under ISPF (which is where it will be
once completed) or IKJEFT01 batch. SCP = z/OS 1.12
Here are the pieces you might want to see:
CALL RPTFILE
ADDRESS TSO
msg_val = MSG("ON")
TRACE "I"
"EXECIO * DISKW DLBUT1 (OPEN)"
And now for RPTFILE:
RPTFILE: NOP
ADDRESS "TSO"
msg_val = MSG("ON")
TRACE "I"
"ALLOC DSNAME('"||dsname||"') DDNAME(BLDUT1) OLD "
x = rc /* capture the ALLOC RC */
IF x > 0 THEN DO
alloc_str = "NEW CATALOG SPACE(1,3) CYLINDERS BLKSIZE(0) " ,
|| " LRECL(255) RECFM(V,B) DSORG(PS) RELEASE UNIT(3390) "
IF diag THEN SAY "ALLOCATE will use: " alloc_str
"ALLOC DSNAME('"||dsname||"') DDNAME(BLDUT1) " || alloc_str
x = RC
TRACE "N"
END
ADDRESS "SYSCALL"
RETURN x
---------------------------------
The ADDRESS "SYSCALL" in *this* case was not needed, because as you can
see the following code does an ADDRESS "TSO" right after coming back.
Here is the result of the working ALLOC:
>O> "ALLOC DSNAME('DLBUILD.some qualifiers') DDNAME(BLDUT1) OLD "
367 *-* x = rc /**/
>V> "0"
And for the EXECIO:
274 *-* "EXECIO * DISKW DLBUT1 (OPEN)"
>L> "EXECIO * DISKW DLBUT1 (OPEN)"
IRX0555E The input or output file DLBUT1 is not allocated. It cannot be
opened for I/O.
IRX0670E EXECIO error while trying to GET or PUT a record.
+++ RC(20) +++
So I'm baffled. I am not using PROCEDURE in this subroutine, the code that
does use PROCEDURE is after all other non-procedure users in this source.
Anyone have any idea why the main line can't find the DCB (or DDNAME)?
Regards,
Steve Thompson
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN