我试图打印IO.ME.DATA数据集中的数据(逐行)(参见我的jcl)。
我收到以下错误并希望获得正确的语法:
//JCL01 JOB 000,'TEST REXX',
// CLASS=T,
// MSGCLASS=X,
// USER=ME
/*JOBPARM R=999,T=999,L=9999,S=ANY
//*
//STEPREXX EXEC PGM=IKJEFT01,PARM='MYREXX'
//SYSEXEC DD DISP=SHR,DSN=IO.ME.REXX
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD DISP=SHR,DSN=IO.ME.DATA
//
我是REXX的新手。感谢
JCL
SAY 'START OF REXX CODE.'
"EXECIO * DISKR SYSTSIN (STEM LINE. FINIS"
DO I = 1 TO SYSTSIN.0
SAY "VALUE OF I : " SYSTSIN.I
END
SAY 'END OF REXX CODE.'
MYREXX(IO.ME.REXX)
MYDATA1,A
MYDATA2,B
MYDATA3,C
MYDATA4,D
MYDATA5,E
DATA(来自IO.ME.DATA)
#other_column, Android, Y, 10-05-2015 3:59:59 PM, #other_column, d0155049772de9, #other_columns
答案 0 :(得分:1)
尝试将do循环更改为
DO I = 1 TO Line.0
SAY "VALUE OF I : " Line.I
END
命令
"EXECIO * DISKR SYSTSIN (STEM LINE. FINIS"
说将文件 SYSTSIN 读入干变量行。读取的行数将放入 line.0 , line.1 将保留文件中的第一行等。
答案 1 :(得分:1)
除了@Bruce Martin写的内容之外,不要将SYSTSIN
指向您的输入数据。使用不同的DD。 IKJEFT01
使用SYSTSIN
用于其自身目的。即使它在这个特殊情况中起作用,使用已知用于其他目的的DDNAMES也是一个坏习惯。
//JCL01 JOB 000,'TEST REXX',
// CLASS=T,
// MSGCLASS=X,
// USER=ME
/*JOBPARM R=999,T=999,L=9999,S=ANY
//*
//STEPREXX EXEC PGM=IKJEFT01,PARM='MYREXX'
//SYSEXEC DD DISP=SHR,DSN=IO.ME.REXX
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD DUMMY
//MYDATA DD DISP=SHR,DSN=IO.ME.DATA
//*
这不符合评论,但我觉得重要的是指出。