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

Reply via email to