Packed类型能否作为参数传递
今天写了个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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
沉了?好吧,自己再顶一下
你的描述是"clle程序调用rpgle程序,然后在传递参数的时候出问题".
正常情况只要类型和长度一样那么直接调用是没有问题的,你需要检查一下。
至于你说的调用时的数字型的表示方法,这个主要是体现在手工call rpgle程序或clle程序是p/s类型的参数就不是直接写十进制值,需要用16进制表示,否则就无法接受正确的数据,同时也不会报错。
谢谢解答。因为只是做判断用,所以直接改成字符串了。之前确实是用10进制传递的
cl和sbmjob,p型的是不能作为参数传入的
程序和程序之间调用的时候数字型也可以的,但是DEBUG或者手工调用程序的时候,直接传数字型参数不行