将程序(长名称)调用到变量(不是免费的)

时间:2015-02-27 11:01:48

标签: ibm-midrange rpgle rpg icebreak

我正在尝试调用一个过程并为输出分配一个变量。

我的问题是我的程序名称是为了允许的空间:

这是我的工作来源,是否可以使用movemovel并执行相同操作?

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.                                              

1 个答案:

答案 0 :(得分:5)

不,您无法使用MOVEMOVEL

结果变量和不需要的过程调用之间有很多额外的空间。你的代码实际上只适用于一行。

 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);