如何使用Rexx打印数据集内容

时间:2015-09-17 16:28:19

标签: rexx

我试图打印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

2 个答案:

答案 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
//*

这不符合评论,但我觉得重要的是指出。