Understood

-----Original Message----- From: John McKown
Sent: Friday, September 18, 2020 1:33 PM Newsgroups: bit.listserv.ibm-main
To: [email protected]
Subject: Re: Substituting SYSIN variables via EXPORT SYMLIST containing mixed-case values

Try using 3 ticks.

FTPFILE='''lowercase'''

On Fri, Sep 18, 2020, 13:12 Wendell Lovewell <
[email protected]> wrote:

Is there a way to get a mixed-case string substituted into SYSIN data
using "EXPORT SYMLIST=*" and the "DD *,SYMBOLS=(JCLONLY)" facility?

I'm trying to download files from an FTP server to z/OS using a PROC
similar to this:

//*-----------------------------------------
//FTPTEST PROC FTPFILE=
//*-----------------------------------------
//FTP EXEC PGM=FTP,REGION=4M
//XMIFILE   DD  DSN=SOMEFILE.XMIT,
//               DISP=(NEW,CATLG),...
//*
//INPUT    DD *,SYMBOLS=(JCLONLY)
blah blah blah
BINARY
GET  &FTPFILE //DD:XMIFILE
QUIT
/*
// PEND

Without the EXPORT SYMLIST=*, &FTPFILE doesn't get replaced in the SYSIN:

EZA1460I Command:
EZA1736I GET  &FTPFILE //DD:XMIFILE
EZA1701I >>> RETR &FTPFILE
550 &FTPFILE: No such file or directory


So with it added:

//*-------------------------------------------------------------------
//FTPTEST PROC FTPFILE=
//EXP    EXPORT SYMLIST=*
//         SET       FTPFID=&FTPFILE
//FTP
...
...and the GET changed to:
GET  &FTPFID //DD:XMIFILE

With a lower-case value in FTPFILE, the job errors out with a JCL problem
before it starts:

//FTPTEST EXEC PROC=FTPTEST,
//             FTPFILE='ht.jst0c1.xmi'

In the joblog:
       5 XX      SET    FTPFID=&FTPFILE
         IEFC653I SUBSTITUTION JCL - FTPFID=ht.jst0c1.xmi
      ...
And:
       5 IEFC620I UNIDENTIFIABLE CHARACTER h ON THE SET STATEMENT
       5 IEFC620I UNIDENTIFIABLE CHARACTER t ON THE SET STATEMENT
       5 IEFC620I UNIDENTIFIABLE CHARACTER j ON THE SET STATEMENT
         ..


Although with an upper-case FTP file name:

//FTPTEST EXEC PROC=FTPTEST,
//             FTPFILE='HT.JST0C1.XMI'

The job runs, but of course that file doesn't exist on the FTP server so
the RETR fails:

EZA1701I >>> RETR HT.JST0C1.XMI
550 HT.JST0C1.XMI: No such file or directory



If you try changing the SET for FTPFID in the PROC to allow lower-case by
using apostrophes:
//      SET    FTPFID='&FTPFILE'
...that passes the string &FTPFILE as-is and the RETR fails:

EZA1701I >>> RETR &FTPFILE
550 &FTPFILE: No such file or directory


So, is there any way to get the &FTPFID in the GET command to be replaced
with a mixed-case value?

TIA,
Wendell

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


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

Reply via email to