Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Maintaining Case or camelcode 1

Status
Not open for further replies.

bill7612

Programmer
Feb 16, 2005
2
US
I have written a REXX to submit JCL. I am having a problem when I submit from a stack. The variables that I am using have some Capitals and non-caps. When the JOB is submitted the variable always come out all caps. Using TRACE I can see that before they are Queued they are in the right case.
The following is the REXX.
/* REXX - PULL EAR */
TRACE R
ADDRESS TSO
ARG USERID
ADDRESS ISPEXEC "VGET (OUTDIR) SHARED"
ADDRESS ISPEXEC "VGET (INFILE) SHARED"
SAY 'HERE IS OUTDIR'
SAY OUTDIR
SAY 'HERE IS THE INFILE'
SAY INFILE
OUTFILE=INFILE
"NEWSTACK"
QUEUE '//@NDMCHL JOB (DD90N),''NDM EAR '',CLASS=E,'
QUEUE '// NOTIFY='USERID',TIME=2,MSGCLASS=A'
QUEUE '/*ROUTE PRINT FETCH '
QUEUE '//NDM1 EXEC PROC=NDMREQ,NDMREG=CDT1 '
QUEUE '//FCSAPI.DMPUBLIB DD DSN=TMH.HUB.JCL,DISP=SHR '
QUEUE '//NDMCMDS DD SYSOUT=* '
QUEUE '//SYSIN DD * '
QUEUE ' SIGNON CASE=YES '
QUEUE ' SUBMIT PROC=TCPPULLJ - '
QUEUE ' &INDSN='INFILE' - '
QUEUE ' &OUTDSN='OUTDIR''OUTFILE' - '
QUEUE ' &OUTDISP=RPL '
QUEUE ' SIGNOFF '
QUEUE '// '
QUEUE ''
"SUBMIT *"
"DELSTACK"
RETURN

Any suggestions would be appreciated.
 
Bad news:
Code:
1.77.2 SUBMIT Command Operands
 
(data_set) | *
 
    (data_set) specifies one or more data set names or names of members of partitioned data sets that define an input stream (JCL plus data). If you specify more than one data set name, separate them with delimiters, and enclose them in parentheses.
 
    *   An asterisk (*) specifies that the job stream is to be obtained from the current source of input (for example, the terminal or currently executing CLIST). TSO/E commands can be entered directly without creating and editing a data set.
 
        Note:  All characters in the job stream are converted to uppercase prior to being processed.

Note the "Note": "SUBMIT *" cannot be used if the case of the queue-contents is significant. I don't know whether this applies to the "*" or to all SUBMIT processing; I suspect the former since I often do a TSO SUBMIT of prepared JCL without encountering this problem.

I suggest you spool the queue into a dataset and SUBMIT the dataset.

Frank Clarke
Tampa Area REXX Programmers' Alliance
REXX Language Assn Listmaster
 
What you need to do is something like this;
Code:
"NEWSTACK"
QUEUE "//@NDMCHL  JOB (DD90N),'NDM EAR',CLASS=E,"
QUEUE "//    NOTIFY=&SYSUID,TIME=2,MSGCLASS=A"
QUEUE [COLOR=blue]<rest of jcl>[/color]
[COLOR=red]QUEUE "$$"[/color]
"SUB * [COLOR=red]END($$)[/color]"
"DELSTACK"
Obviously the $$ is a command terminator and can be whatever you want it to be.

Also note I have used the double quote instead of the single quote as JCL needs the single quote in the jobcard.
 
rexxhead, I took you advice and spooled the JCL to a data set and submitted it that way. It works great. I had been using CLISTs to perform tasks, but in this case REXX seemed to be a lot better way. Clist has trouble with special characters. Thank you for the prompt and helpful reply.
 
Bill

You might consider using ISPF file tailoring rather than queueing everything. The skeleton(s) go in ISPSLIB, and you just use the FTINCL service, which automatically inserts the variables from the pool into the file as it is 'tailored'. Then just VGET (ZTEMPF) and submit it. There are a few special characters that you have to escape like &, !, and < but otherwise it should process the skeleton verbatim without changing case on you.

As a bonus, this gives you a generic submit process where you can pass the name of the skeleton in via parse arg.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top