如何通过JCL将参数传递给REXX程序
答
你想EXEC PGM=IRXJCL,PARM='member_name exec_args'
。 SYSEXEC
应该指向包含member name
的PDS。 SYSTSIN
是PULL
输入,SYSTSPRT
是SAY
退房的输出DD“在TSO/E和其他MVS地址空间使用REXX”在"TSO/E Rexx User Guide" book (SA22-7791)为一个完整的例子章节。
答
附加说明:如果您的REXX exec使用ISPF服务,您可以批量使用PGM = IKJEFTxx(xx作为变量后缀)并在作业步骤中分配ISPxLIB。
答
如果参数和REXX成员名称一起超过100个字节,则由Ron Patterson提到的方法将不起作用,因为JCL语法只允许最大参数长度为100个字节。在这种情况下,我推荐使用IKJEFTxx(已由Tony发布)。然后您必须将REXX程序名称作为流量数据传递给SYSTSIN。该程序的参数可以简单地写在程序名称后面。当你需要多行时,使用连字符作为行的最后一个字符来表示与下一行的连接。 实施例:
//EXAMPLE EXEC PGM=IKJEFT01,REGION=4096K,DYNAMNBR=30
//SYSPRINT DD SYSOUT=*
//SYSEXEC DD DISP=SHR,DSN=YOUR.REXX.LIBRARY
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
SCHLABB PARAMETER1 PARAMETER2 PARAMETER3 -
VERY_LONG_PARAMETER4 -
LAST_PARAMETER5
/*
//
答
我得到RC(-3),用于基本EXECIO,LIBDEF,命令时,我试图运行IRXJCL。我希望有更好的文档说明IRXJCL可以做什么和不可以做什么。
最后按照以下链接的方法,通过将值写入文件并从文件中读取来动态地将值传递给REXX。 How to run dymanic SQL through IKJEFT01 Utility?