如何使用 Rexx 打印数据集内容
How to print dataset content using Rexx
我正在尝试打印在 IO.ME.DATA 数据集中找到的数据(逐行)(请参阅我的 jcl)。
我收到以下错误并希望获得正确的语法:
10 +++ DO I = 1 TO SYSTSIN.0
Error running MYREXX, line 10: Bad arithmetic conversion
我是 REXX 的新手。谢谢
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
//
MYREXX (IO.ME.REXX)
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.'
数据(来自 IO.ME.DATA)
MYDATA1,A
MYDATA2,B
MYDATA3,C
MYDATA4,D
MYDATA5,E
尝试将 do 循环更改为
DO I = 1 TO Line.0
SAY "VALUE OF I : " Line.I
END
命令
"EXECIO * DISKR SYSTSIN (STEM LINE. FINIS"
表示将文件 SYSTSIN 读取到词干变量 Line 中。读取的行数将放入 line.0,line.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
//*
这不适合发表评论,但我觉得指出这一点很重要。
我正在尝试打印在 IO.ME.DATA 数据集中找到的数据(逐行)(请参阅我的 jcl)。
我收到以下错误并希望获得正确的语法:
10 +++ DO I = 1 TO SYSTSIN.0
Error running MYREXX, line 10: Bad arithmetic conversion
我是 REXX 的新手。谢谢
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
//
MYREXX (IO.ME.REXX)
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.'
数据(来自 IO.ME.DATA)
MYDATA1,A
MYDATA2,B
MYDATA3,C
MYDATA4,D
MYDATA5,E
尝试将 do 循环更改为
DO I = 1 TO Line.0
SAY "VALUE OF I : " Line.I
END
命令
"EXECIO * DISKR SYSTSIN (STEM LINE. FINIS"
表示将文件 SYSTSIN 读取到词干变量 Line 中。读取的行数将放入 line.0,line.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
//*
这不适合发表评论,但我觉得指出这一点很重要。