我正在尝试调用一个过程并使用输出分配一个变量。
我的问题是我的过程名称太长,超出了允许的空间:
这是我的工作源,是否可以使用 move
或 move
并执行相同的操作?
c eval pSitProp = json_parseString(wSitProp)
...
3774 c move pSitProp json_parseString(wSitProp) 01 CA050 005000
======> aaaaabbccddee
*RNF5038 20 a 005000 Field-Length entry is not valid; defaults to blanks.
*RNF5044 20 b 005000 Decimal-Positions entry is not blank or 0 - 63; defaults to
0.
*RNF5051 20 c 005000 Resulting-Indicator entry is not valid; defaults to blanks.
*RNF5051 20 d 005000 Resulting-Indicator entry is not valid; defaults to blanks.
*RNF5051 20 e 005000 Resulting-Indicator entry is not valid; defaults to blanks.
最佳答案
不,您不能使用MOVE
或MOVEL
结果变量和过程调用之间有很多不需要的额外空间。您的代码实际上非常适合一行。
c eval pSitProp = json_parseString(wSitProp)
但我们假设它没有。
您需要阅读 RPGLE continuation rules
这是打破界限的一种方法。
c eval pSitProp
c = json_parseString(wSitProp)
如果需要,您可以使用省略号 (...) 来分解长名称,如下所示:
c eval pSitProp = json_parseString(wSit...
c Prop)
话虽如此,最好的选择是简单地使用自由格式。
pSitProp = json_parseString(wSitProp);
关于ibm-midrange - 将过程(长名称)调用到变量中(不是免费的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28763518/