如何在cobol中移动表(数组)的多个元素

时间:2011-11-24 14:26:18

标签: cobol

我有一个数组,用于保存CSV文件中的记录。我可以使用move语句将元素5到10移动到工作存储中吗?类似于:MOVE ExampleArray(5:10)到WS-TEST。我被告知这是可能的,而不必循环遍历数组。但我似乎无法通过这种方式进行编译。

1 个答案:

答案 0 :(得分:1)

您使用的语法称为参考修改。它相当于其他语言中的substring()。您的示例代码将尝试从ExampleArray + 5移动10个字节。

支持“ALL”下标概念。它有局限性,但可能会做你想要的。尝试类似:

Move ExampleArray(ALL) to WS-Test

根据您的编译器,它可能工作。我认为规范限制了它对整数函数的使用,但并非所有编译器都这样做。

说真的,执行循环非常简单容易,只需编写代码:

Perform varying II from 1 by 1
  until II > (Length of ExampleArray-Area / Length of ExampleArray(1))

  Move ExampleArray(II) to WS-Test(II) 

End-Perform