IBM ILE RPG - 清除时间字段

IBM ILE RPG - Clear time fields

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

我已经尝试过 MOVEL *BLANKSZ-ADD *ZEROS,但总是出错。使用 *ZEROS 时,编译器告诉我该字段不是数字。使用 MOVEL *BLANKS 时出现错误,指出因子 2 对于此操作无效。

您有 3 个选项:

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

您也可以使用固定格式,但鉴于您指的是 RPGLE,我建议您开始放弃固定格式。

编辑

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

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

您不能将空白或零移至时间字段——您必须移动时间。我个人只会使用 CLEAR 操作数,或者您可以将 EVAL 与 %TIME BIF 一起使用。以下 2 个语句中的任何一个都可以完成此任务。

 D  TIME           S               T

 C                   CLEAR                   TIME

 C                   EVAL      TIME = %TIME('00000000')