免费注册 查看新帖 |

Chinaunix

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

CLP在传参数时使用数字,在RPG中不能取得正确的值。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-24 14:34 |只看该作者 |倒序浏览
如果第一个参数有字母+数字,程序使用没有问题;
如果第一个参数单纯是数字,去到RPG里面第一个参数就看不到值了。DEBUG程序发现 &0DATE = ' '

在不修改RPG程序的情况下(因为有其它程序CALL到它),可以修改CLP,怎么可以解决这个问题?????

CLP:

DCL        VAR(&DTE)   TYPE(*CHAR) LEN(     
DCL        VAR(&OPT)    TYPE(*CHAR) LEN(1)     

CALL       PGM(ACP002) PARM(&DTE &OPT)        



RPG:

C           *ENTRY    PLIST                     
C                     PARM           P0DATE  8  
C                     PARM           P0OPT   1

论坛徽章:
0
2 [报告]
发表于 2011-11-24 14:49 |只看该作者
都是字符串传值,应该不会出现你说的问题

论坛徽章:
0
3 [报告]
发表于 2011-11-24 15:50 |只看该作者
本帖最后由 哥是浮云 于 2011-11-24 15:52 编辑

你那两个参数不会是在Call 该CL程序的时候传入的?
换言之,你所定义的两个参数,是不是该CL程序的形参?
你传入的时候,第一个参数有加''吗?

论坛徽章:
0
4 [报告]
发表于 2011-11-24 20:02 |只看该作者
同意三楼的做法

  1. CHGVAR VAR(&DATE) VALUE('20111111')  /**注意加'' **/
  2. CALL PGM(ACP002) PARM(&DATE &OPT)
复制代码

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-11-05 06:20:00
5 [报告]
发表于 2011-11-25 20:13 |只看该作者
我也觉得也是这样的问题
传参数的时候
字符要加 ‘ ’
在CLP里面定义的是*CHAR的

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-11-05 06:20:00
6 [报告]
发表于 2011-11-25 20:15 |只看该作者
可能是在你STRISDB的时候
传进RPG的时候,在&DATE
没有用‘ ’  如:‘20111125’
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP