将数据从Sysin JCL传递到PL/I程序
我需要将数据从sysin jcl传递给PL/I程序。以下是我来自JCL和PL/I程序的代码,并且值未通过。有人可以帮忙吗?
//SYSIN DD *
12345
PROG: PROC(INPARM) OPTIONS(MAIN REENTRANT) REORDER;
DCL INPARM CHAR(5) VARYING;
PUT SKIP LIST('INPARAM - '|| INPARM);
I need to pass data from SYSIN JCL to PL/I program. Below is my code from JCL and PL/I program and values are not being passed. Can anyone help please?
//SYSIN DD *
12345
PROG: PROC(INPARM) OPTIONS(MAIN REENTRANT) REORDER;
DCL INPARM CHAR(5) VARYING;
PUT SKIP LIST('INPARAM - '|| INPARM);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您显示的PL/1代码不会读取任何文件,它仅消耗PARM数据。我假设
Mainframe
您的意思是IBM Z/OS?在Z/OS上,PARM数据通过exec pgm = XYZ,PARM =
传递,此数据最多可以是100个字符。因此,重新定义inparm
变量为char(100)变化
。sysin
如图所示是数据集定义;该程序需要使用DDNAME(文件名)Sysin定义,打开和读取数据集。您还需要定义数据结束标志,并在读取Sysin的所有数据时触发的条件定义。这是一些代码段:
The PL/1 code you show does not read any file, it only consumes the PARM data. I assume by
mainframe
you mean IBM z/OS? On z/OS, PARM data is passed viaEXEC PGM=xyz,PARM=
, and this data can be up to 100 characters. So, redefine theINPARM
variable asCHAR(100) VARYING
.SYSIN
as shown is a data set definition; the program needs to define, open, and read a data set with ddname (file name) SYSIN. You also need to define an end-of-data flag, and define an ON condition that is triggered when all data from SYSIN has been read.Here is some code snippet: