Simply remove the quote and double quotes from your input file and add address tso prof nopref
The list Sai sees two set of quotes instead of one at a maximum. You can try Dan=translate(dsn,' ','"') before the list Sai command *| **Itschak Mugzach | Director | SecuriTeam Software **|** IronSphere Platform* *|* *Information Security Continuous Monitoring for Z/OS, zLinux and IBM I **| * *|* *Email**: i_mugz...@securiteam.co.il **|* *Mob**: +972 522 986404 **|* *Skype**: ItschakMugzach **|* *Web**: www.Securiteam.co.il **|* בתאריך יום ה׳, 4 בינו׳ 2024 ב-21:55 מאת Steve Estle <sest...@gmail.com>: > 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 lists...@listserv.ua.edu with the message: INFO IBM-MAIN > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN