Which instruction fails?

Do TRACE on the whole routine.

On Thu, 4 Jan 2024 13:55:22 -0600 Steve Estle <[email protected]> wrote:

:>All,
:>
:>I'm sure I'm doing something boneheaded but can't quite figure out what.  I 
have a list of fully qualified datasets in a file that I want to read the 
dataset names once per record and then once I've read the record with dataset 
name then use that name in a LISTDSI command.  When I hard code name in REXX 
exec it works fine - when I read dsname from file it fails.  I've hardcoded the 
enclosing double quote/quote inside my file as follows:
:>
:>"'SYS1.PARMLIB'"
:>
:>When it fails (2nd version) I get this error message:
:>
:>IKJ56712I INVALID KEYWORD, "'SYS1.PARMLIB'"
:>
:>Two scenarios:
:>
:>Works Fine:
:>
:>/* REXX */                                                                    
                                                             
:>
:>/*------------------------------------------------------------------*/
:>
:>/*    S E L E C T   D S N S   &  L I S T   I N F O        */
:>
:>/*------------------------------------------------------------------*/
:>
:>   DSName = "'SYS1.PARMLIB'"                                         
:>
:>   Say DSName                                                        
:>
:>   x = LISTDSI(DSName)                                               
:>
:>   SAY 'Function code from LISTDSI is:                 ' x           
:>
:>   SAY 'The data set name is:                          ' sysdsname   
:>
:>   SAY 'The device unit on which the volume resides is:' sysunit     
:>
:>   SAY 'The record format is:                          ' sysrecfm    
:>
:>   SAY 'The logical record length is:                  ' syslrecl    
:>
:>   SAY 'The block size is:                             ' sysblksize  
:>
:>   SAY 'The allocation in space units is:              ' sysalloc    
:>
:>                                                 
:>EXIT   
:>
:>Failing Version:
:>
:>/* REXX */                                                           
:>
:>                                                                      
:>
:>INDSN = "'P69792.LISTDSI.INPUT'"                                     
:>
:>OUTDSN = "'P69792.LISTDSI.OUTPUT.CSV'"                               
:>
:>DDNI  = "DD"||RANDOM(1,99999)                                        
:>
:>DDNO  = "DD"||RANDOM(1,99999)                                        
:>
:>                                                                      
:>
:>/*------------------------------------------------------------------*/
:>
:>/*                      R E A D   D S N   L I S T                   */
:>
:>/*------------------------------------------------------------------*/
:>
:>ADDRESS TSO "ALLOC DA(" INDSN ") DDNAME( " DDNI ") SHR REUSE "       
:>
:>ADDRESS TSO "ALLOC DA(" OUTDSN ") DDNAME( " DDNO ") OLD REUSE "      
:>
:>ADDRESS TSO "EXECIO * DISKR " DDNI "(STEM Dsni. FINIS"               
:>
:>ADDRESS TSO "FREE DDNAME(" DDNI ") "                                 
:>
:>                                                                      
:>
:>/*------------------------------------------------------------------*/
:>
:>/*    S E L E C T   D S N S   &  L I S T   I N F O                  */
:>
:>/*------------------------------------------------------------------*/
:>
:>
:>   Trace i                                                        
:>
:>DO I = 1 TO Dsni.0                                                
:>
:>   dsn = Word(Dsni.I,1)                                           
:>
:>   Say dsn                                                        
:>
:>   x = LISTDSI(dsn)                                               
:>
:>   SAY 'Function code from LISTDSI is:                 ' x        
:>
:>   SAY 'The data set name is:                          ' sysdsname
:>
:>   SAY 'The device unit on which the volume resides is:' sysunit  
:>
:>   SAY 'The record format is:                          ' sysrecfm 
:>
:>   SAY 'The logical record length is:                  ' syslrecl 
:>
:>   SAY 'The block size is:                             ' sysblksize
:>
:>   SAY 'The allocation in space units is:              ' sysalloc 
:>
:>END I                                                             
:>                                                              
:>
:>----------------------------------------------------------------------
:>For IBM-MAIN subscribe / signoff / archive access instructions,
:>send email to [email protected] with the message: INFO IBM-MAIN

--
Binyamin Dissen <[email protected]>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to