IBM ILE RPG - 清除时间字段
IBM ILE RPG - Clear time fields
如何清除(重置)定义为类型 TIME
的字段?
我已经尝试过 MOVEL *BLANKS
或 Z-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')
如何清除(重置)定义为类型 TIME
的字段?
我已经尝试过 MOVEL *BLANKS
或 Z-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')