在工作存储部分下,
我已经定义了
05 SUB PIC 9(08) VALUE 0.
01 WS-TABLE.
05 ERROR-TABLE OCCURS 1000 TIMES.
10 E-PRODUCT-NAME PIC X(16).
01 WS-SYSTEM-DATE.
05 RUN-YEAR.
10 RUN-CC PIC 9(2).
10 RUN-YY PIC 9(2).
05 RUN-MONTH PIC 99.
05 RUN-DAY PIC 99.
05 WS-CURRENT-TIME.
10 WS-CURRENT-HOUR PIC 9(2).
10 WS-CURRENT-MINUTE PIC 9(2).
10 WS-CURRENT-SECOND PIC 9(2).
10 WS-CURRENT-MS PIC 9(2).
05 WS-DIFF-FROM-GMT PIC S9(4).
在程序部分下,
我已经编码了
IF NOT VALID-PRODUCT
ADD 1 TO SUB
STRING 'PRODUCTS' WS-SYSTEM-DATE
DELIMITED BY SIZE INTO E-PRODUCT-NAME(SUB)
为什么运行时会出现“下标/索引超出范围”错误?
E-PRODUCT-NAME
是 16 个字符,PIC X(16)
。 STRING
语句创建一个包含 28 个字符的值。当它尝试将 28 个字符移动到 16 个字符字段时,这会导致出现 OVERFLOW
情况。
我建议将
E-PRODUCT-NAME
的图片更改为PIC X(28)
。