Page 1 of 1

Passing paramter from REXX to JCL

PostPosted: Tue Apr 17, 2012 12:54 pm
by zhinghur
Hi all,

I have a simple REXX that triggers a JCL(proc). My requirement is too pass 2 DSN names(pass some parameter).
I tried with one file pass first but couldn't.
I am new to REXX.
I searched this forum but couldn't find a solution.


REXX triggers JOB
/* SUBMITTING JOB THROUGH REXX */           
SAY 'ENTER QUALIFIER :'             
PULL TEST                                   
ADDRESS ISPEXEC "FTOPEN TEMP"               
ADDRESS ISPEXEC "FTINCL TSTSKEL"             
ADDRESS ISPEXEC "FTCLOSE"                   
ADDRESS ISPEXEC "VGET ZTEMPF"               
ENTER DATA SET NAME                         
ADDRESS TSO "SUBMIT 'ALLHEAD.JCL(PROCTEST)'" /* This is my jcl */
RETURN 0 


JCL triggers PROC[/b]
//testTEST JOB 1,'PROC CALL  ',MSGCLASS=Y,CLASS=1,REGION=7M,
//         NOTIFY=&SYSUID                                   
//         JCLLIB ORDER=(TESTLIB.test)                       
//PROC     EXEC CATALOG1,FIL1='&TEST'                       



PROC
//CATALOG1     PROC FIL1='&TEST'                           
//SORTSTEP     EXEC PGM=SORT                               
//SYSOUT       DD SYSOUT=*                                 
//SORTIN       DD DSN=test.input.file,DISP=SHR   
//SORTOUT      DD DSN=&FIL1..file1.OUTPUT,DISP=SHR 
//SYSIN        DD DSN=&FIL1..CATTEST.JOBS.OUTPUT.COND,DISP=SHR

Re: Passing paramter from REXX to JCL

PostPosted: Tue Apr 17, 2012 3:48 pm
by MrSpock
1. What does your skeleton TSTSKEL look like?
2. After you process the skeleton, I don't see where you submit it.

Re: Passing paramter from REXX to JCL

PostPosted: Tue Apr 17, 2012 7:17 pm
by zhinghur
I am not sure what you mean by TSTSKEL.

It is working fine, if I removed the parameter thing from JCL. I have no idea about REXX. But above code works fine for me, if I removed the paramter from jcl.

Re: Passing paramter from REXX to JCL

PostPosted: Tue Apr 17, 2012 7:34 pm
by Akatsukami
zhinghur wrote:I am not sure what you mean by TSTSKEL.

And yet, you posted:
/* SUBMITTING JOB THROUGH REXX */
SAY 'ENTER QUALIFIER :'
PULL TEST
ADDRESS ISPEXEC "FTOPEN TEMP"
ADDRESS ISPEXEC "FTINCL TSTSKEL"
ADDRESS ISPEXEC "FTCLOSE"
ADDRESS ISPEXEC "VGET ZTEMPF"
ENTER DATA SET NAME
ADDRESS TSO "SUBMIT 'ALLHEAD.JCL(PROCTEST)'" /* This is my jcl */
RETURN 0

Did you just blindly copy this script from somewhere, having no idea of what it was actually doing?

Re: Passing paramter from REXX to JCL

PostPosted: Tue Apr 17, 2012 7:36 pm
by Pedro
What fails?

Re: Passing paramter from REXX to JCL

PostPosted: Wed Apr 18, 2012 6:40 am
by MrSpock
Well, it would be nice to have more specfic details as to what you want to do and how you want to do it. My thought is:

1. Write the REXX exec to prompt for the two dataset names.
2. Have the exec write the specified dataset names to a dataset.
3. Use that same dataset in the JCL to define the dataset names.
4. Submit the job.