我有一个cl程序,叫做rpgle程序。rpgle程序产生一个dsply";消息";我想将dsply消息设置为用于调用rpgle pgm的cl程序中的一个变量。
用什么cl命令将dsply消息检索到变量?
DSPLY
操作码发送Information
消息。。。
查看CL编程文档的CL程序或程序部分的接收消息中提到的接收消息(RCVMSG(。
我的理解是,您试图通过调用RPG程序来更改CL程序中的变量。
让我们暂时忽略DSPLY,因为我的猜测是你实际上并不需要它。
示例CL程序(MYCLPGM(,其将变量设置为"0";Apple";,调用RPG程序,将所述变量改变为"0";橙色";并在作业日志中以消息的形式显示结果变量的值(以及屏幕上的消息区域,具体取决于您的模拟器(;
PGM
DCL VAR(&MYVAR) TYPE(*CHAR) LEN(10)
/* Change variable "&MYVAR" to "APPLE" */
CHGVAR VAR(&MYVAR) VALUE('APPLE')
/* Call RPG program to change "&MYVAR" to "Orange" */
CALL PGM(MYRPGPGM) PARM(&MYVAR)
/* Send message to job log showing what &MYVAR now contains */
SNDPGMMSG MSG('&MYVAR = ' || &MYVAR)
ENDPGM
示例RPGLE程序(MYRPPGM(更改变量;
d MYRPGPGM pr extpgm('MYRPGPGM')
d myVar 10a
d MYRPGPGM pi
d myVar 10a
/free
// Change passed in variable "myVar" from "Apple" to "Orange"
myVar = 'Orange';
// Return to caller
return;
/end-free