IBM ILE RPG - 清除时间字段

时间:2016-09-13 12:25:56

标签: ibm-midrange rpgle

如何清除(重置)定义为TIME类型的字段?

我已尝试过MOVEL *BLANKSZ-ADD *ZEROS,但我总是遇到错误。使用*ZEROS时,编译器会告诉我该字段不是数字。在使用MOVEL *BLANKS时,我收到一个错误,即因子2对此操作无效。

2 个答案:

答案 0 :(得分:5)

您无法将空白或零移动到时间字段 - 您必须移动时间。我个人只会使用CLEAR操作数,或者你可以使用EVAL和%TIME BIF。下面的两个陈述中的任何一个都可以完成这项任务。

 D  TIME           S               T

 C                   CLEAR                   TIME

 C                   EVAL      TIME = %TIME('00000000')

答案 1 :(得分:2)

您有3个选项:

      /free
       timeField = *loval;
       clear timeField;
       reset timeField;
      /end-free

您也可以使用固定格式进行操作,但看到您指的是RPGLE,我建议您开始远离固定格式。

修改

OP使用固定格式,因此这里是对opt-code文档的引用:CLEAR

所以,只需将时间变量放在结果字段中,就可以了。