急啊 求高人告诉我 如何在CL 中给RPGの PGM 传数组参数

发布于 2022-08-26 03:03:16 字数 4735 浏览 16 评论 3

本帖最后由 tophighfox 于 2010-03-15 10:19 编辑

   我现在有本程序要用CLLE来传参数 CALL它
        其中有两个参数 是数组参数 如何来在CL 把数组传进去 求高人指教阿
           CL代码如下: PGM                                                                          
DCL        VAR(&CL01)  TYPE(*DEC) LEN(7 0) VALUE(1100312)                  
DCL        VAR(&CL02)  TYPE(*CHAR) LEN(1) VALUE('1')                        
DCL        VAR(&CL03)  TYPE(*DEC) LEN(10) VALUE(9000230001)                 
DCL        VAR(&CL04)  TYPE(*DEC) LEN(3) VALUE(111)                        
STRCMTCTL  LCKLVL(*CHG)  CMTSCOPE(*JOB)                                      
MONMSG    MSGID(CPF8351)                                                     
CALL       PGM(PRE900023/CXMDB02) PARM(&CL01  &CL02 +                     
             &CL03  &CL04 )                                                
ENDCMTCTL                                                                    
MONMSG    MSGID(CPF8350)                                                     
ENDPGM                                             
现在要把   DCL        VAR(&CL03)  TYPE(*DEC) LEN(10) VALUE(9000230001)                 
                DCL        VAR(&CL04)  TYPE(*DEC) LEN(3) VALUE(111)
这两个参数变成数组传进去

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

溇涏 2022-09-04 10:23:30

回复 3# tophighfox

    大家一起学习!

时光礼记 2022-09-04 09:11:08

啊 万分感谢

薄荷→糖丶微凉 2022-09-02 05:32:03

回复 1# tophighfox

    和正常的传递一样,系统会自动将参数的值平分到被调程序中数组的每个元素中,例如:
cl程序:testcl
pgm
   
   dcl   &ary   *char    len(10) value('0123456789')

   call   pgm(testr) parm(&ary)

endpgm

rpgle程序:testr

Dary                    s                        1           dim(10)

          *entry           plist
                               parm                             ary
...
                               eval   *inlr='1'

以上的程序执行后,testr程序中ary数组的值为ary(1)等于0,ary(2)等于1,其他依次类推。
,如果testr中ary的被定义为如下:
D ary               s                       2    dim(10)
那么ary的前五个元素有正确的值,后五个元素的值为乱码!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文