0

我正在将一些 COBOL 转录到 VB.Net,但无法访问大型机或 COBOL 编译器。在我正在转录的程序的几个地方,有一条MOVE SPACES TO语句,其中目标是没有索引的表标识符。这会清除表中的所有记录,还是只清除指定索引变量指向的“当前”记录?

表声明:

05 WS-EDI-HOLD-TABLE.                       
   10 WS-EDI-HOLD-TBL OCCURS 1000 TIMES     
                       INDEXED BY IDX1-EDI  
                                  IDX2-EDI. 
      15 WS-EDI-HOLD-DATA     PIC X(269).   

MOVE SPACES TO 语句:(出现几个地方)

MOVE SPACES TO WS-EDI-HOLD-TABLE
4

1 回答 1

3

您最终将整个表格设置为SPACES

 MOVE SPACES TO WS-EDI-HOLD-TABLE

那将是包含此表的所有 269000 字节现在将包含空格

任何MOVE SPACES TO data-item类型语句也隐式引用所有较低级别的数据项。请注意,这种类型的参考假定PICTURE X数据。当较低级别的数据项具有与“X”类型数据不兼容的显式图片时,这可能会导致真正的麻烦,例如 COMP-3 字段的情况。

于 2014-03-13T20:01:05.270 回答