gpt4 book ai didi

jcl - 从 JCL 调用 Rexx

转载 作者:行者123 更新时间:2023-12-01 11:25:28 24 4
gpt4 key购买 nike

要调用 Rexx 程序并传递参数,可以使用 IKJEFT01

// SET PARM1=
// SET PARM2=
//AUDITDS EXEC PGM=IKJEFT01,
// PARM='RXPGM &PARM1 &PARM2'

但是 PARM 支持的字符数有限。有什么方法可以使用 JCL 调用 REXX 并传递包含更多字符的参数吗?使用 SYSTSIN 是一种解决方案,但我想使用符号参数作为 PARM 参数中的符号参数。

最佳答案

由于历史原因,PARM 字段被限制为 100 字节,但是对于愿意调用 CEE3PR2 的启用 LE(语言环境)的应用程序,此限制增加到 32K LE 可调用服务。 LE 语言将是汇编程序(某些注意事项适用),以及 COBOL 和 PL/I 的现代版本。据我所知,Rexx 不是支持 LE 的语言。

我工作的一个地方有一个通用程序,可以将 PARM 值中传递的任何内容写入平面文件。我们碰巧是 Assembler,但也可能是 COBOL、PL/I 或 Rexx。

参见 this answer有关如何使用它的示例。

如果您的商店还没有这样的程序,我建议您创建一个这样的程序(请在编写自己的程序之前进行检查)。 Syncsort(可能还有 DFSORT)能够将参数写入输出文件,因此您也可以走这条路。

假设能够将参数写入平面文件,您可以为每个参数调用一次,将结果修改为平面文件。然后将该平面文件读入您​​的 Rexx 程序,每条记录代表您的一个参数。

更新:正如@BillWoodger 在评论中指出的那样,PARMDD可以用DD...

Use PARMDD specifying the ddname of a data set containing the commandparmstring to be executed if the command parmstring is more than 100characters in length.

...这避免了一次读取一条记录的参数。

另外,显然 as of z/OS 2.1 you no longer need a program to place your parms into a dataset ,您可以在处理 JCL 时在流中解析它们。

关于jcl - 从 JCL 调用 Rexx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37723778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com