Packed类型能否作为参数传递

发布于 2022-10-15 06:32:13 字数 323 浏览 28 评论 0

今天写了个RPGLE程序,需要传入的参数为2个字符型,和一个Packed型。通过CLLE编写传入参数,数字的为*DEC,代码如下:
DCL        VAR(&wPgmCalKey) TYPE(*DEC) LEN(1 0) VALUE(0)
结果一直报“ A packed or zoned value does not contain valid numeric data.  A digit and/or sign is not valid. ”
听说Packed类型在传参的时候可能会有问题,希望有知道的回答一下

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

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

发布评论

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

评论(5

在你怀里撒娇 2022-10-22 06:32:13

沉了?好吧,自己再顶一下

永不分离 2022-10-22 06:32:13

今天写了个RPGLE程序,需要传入的参数为2个字符型,和一个Packed型。通过CLLE编写传入参数,数字的为*DEC, ...
bicin 发表于 2011-05-19 18:22

你的描述是"clle程序调用rpgle程序,然后在传递参数的时候出问题".
正常情况只要类型和长度一样那么直接调用是没有问题的,你需要检查一下。
至于你说的调用时的数字型的表示方法,这个主要是体现在手工call rpgle程序或clle程序是p/s类型的参数就不是直接写十进制值,需要用16进制表示,否则就无法接受正确的数据,同时也不会报错。

臻嫒无言 2022-10-22 06:32:13

你的描述是"clle程序调用rpgle程序,然后在传递参数的时候出问题".
正常情况只要类型和长度一样那么 ...
huangxkst 发表于 2011-05-24 13:17

    谢谢解答。因为只是做判断用,所以直接改成字符串了。之前确实是用10进制传递的

扛起拖把扫天下 2022-10-22 06:32:13

cl和sbmjob,p型的是不能作为参数传入的

拧巴小姐 2022-10-22 06:32:13

程序和程序之间调用的时候数字型也可以的,但是DEBUG或者手工调用程序的时候,直接传数字型参数不行

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