Variables 如何通过调用rpgle程序更改CL中的变量
我需要为AS400中的ROBOT(内置pgm无法完成)计算保留命令变量的日期 Robot正在调用我的cl程序,cl程序正在调用我的rpgle程序(因为cl程序无法进行我想要的日期计算) 如何将rpgle程序中的日期计算结果返回到CL变量?这样机器人就能把它取回来Variables 如何通过调用rpgle程序更改CL中的变量,variables,parameter-passing,ibm-midrange,rpgle,cl,Variables,Parameter Passing,Ibm Midrange,Rpgle,Cl,我需要为AS400中的ROBOT(内置pgm无法完成)计算保留命令变量的日期 Robot正在调用我的cl程序,cl程序正在调用我的rpgle程序(因为cl程序无法进行我想要的日期计算) 如何将rpgle程序中的日期计算结果返回到CL变量?这样机器人就能把它取回来 我可以通过调用rpgle来更新cl程序中的变量吗。从CL传递到RPG的参数是通过地址传递的。因此,RPG程序放入参数中的任何值都将返回到CL程序 下面是一个调用RPG的CL程序: PGM
我可以通过调用rpgle来更新cl程序中的变量吗。从
CL
传递到RPG
的参数是通过地址传递的。因此,RPG
程序放入参数中的任何值都将返回到CL
程序
下面是一个调用RPG的CL程序:
PGM
dcl &rtndate *char 10
/* call RPG program. RPG program sets &rtnDate parm to date of yesterday */
/* in *ISO format. */
call test0290r parm(&rtnDate)
SNDPGMMSG MSG('yesterday date:' *BCAT &RTNDATE)
ENDPGM
以及所谓的RPG程序:
** test0290r: return yesterdate as iso date.
h option(*srcstmt:*nodebugio)
** --------------------------- test0290r --------------------
** test0290r: return yesterdate as iso date.
dtest0290r pr extpgm('TEST0290R')
d outDate 10a
** --------------------------- test0290r --------------------
** test0290r: call open api using ifs_openNew.
dtest0290r pi
d outDate 10a
d ch80 s 80a varying
d yesterday_date s d
/free
yesterday_date = %date(%timestamp( )) - %days(1) ;
outDate = %char(yesterday_date:*iso) ;
*inlr = '1' ;
return ;
/end-free
除了RockBoro的解释之外,“by address”的意思是,在C语言编程的意义上,仅仅是指针。也许这有助于理解。