System i命令行带有压缩数字的RPG CALL - 如何格式化

时间:2017-07-07 13:23:34

标签: ibm-midrange rpgle rpg

如果RPG程序参数定义为PACKED(11,0)

CALL MYPGM parm(x'12345678901f')

给出十进制数据错误。

消息ID MCH1202 原因。 。 。 。 。 :打包或分区的标志或数字代码   十进制操作数有误。有效符号为十六进制A-F,有效数字范围为   十六进制0-9。

在程序转储中,参数显示为:

PACKED(11,0)         12345678901.   
VALUE IN HEX         '12345678901F'X 

使用Google搜索但无法找到打包字段格式的简单说明。

2 个答案:

答案 0 :(得分:1)

编写一个将参数作为数字或字符并将其转换为压缩的包装程序可能会更好。

答案 1 :(得分:1)

如果问题确实是参数,您可以通过执行以下解决方法解决此问题。

在程序INZSR中添加调试断点并拨打电话mypgm parm(' ')。然后,您可以在调试模式下使用EVAL添加正确的值。