免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2069 | 回复: 3
打印 上一主题 下一主题

急啊 求高人告诉我 如何在CL 中给RPGの PGM 传数组参数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-15 10:15 |只看该作者 |倒序浏览
本帖最后由 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)
这两个参数变成数组传进去

论坛徽章:
0
2 [报告]
发表于 2010-03-15 13:20 |只看该作者
回复 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的前五个元素有正确的值,后五个元素的值为乱码!

论坛徽章:
0
3 [报告]
发表于 2010-03-15 13:22 |只看该作者
啊 万分感谢

论坛徽章:
0
4 [报告]
发表于 2010-03-15 15:51 |只看该作者
回复 3# tophighfox


    大家一起学习!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP