Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在cobol中移动表(数组)的多个元素_Cobol - Fatal编程技术网

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

如何在cobol中移动表(数组)的多个元素,cobol,Cobol,我有一个数组,它保存CSV文件中的记录。例如,我可以使用move语句将元素5到10移出到工作存储器中吗?类似于:将ExampleArray(5:10)移动到WS-TEST。我被告知这是可能的,而不必在数组中循环。但我似乎无法以这种方式编译它。您使用的语法称为引用修改。在其他语言中,它相当于substring()。您的示例代码将尝试从ExampleArray+5移动10个字节 支持“所有”下标概念。它有局限性,但它可以做你想做的事。尝试以下方法: Move ExampleArray(ALL) to

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

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

支持“所有”下标概念。它有局限性,但它可以做你想做的事。尝试以下方法:

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

你能给我们看看你的密码吗?这将使评论更容易一些。下面是一行不会编译的代码:将WSDCSVI-CHAR(1:160)移动到WS-RecordThank。我非常乐意使用循环,但分析师一直告诉我“一步一个脚印”看起来这不可能做到!有一个动作相当糟糕。此外,如果两个区域的大小完全相同,则可以执行块移动,但如果对其中一个区域进行维护,则会中断。