cobol移动声明

cha*_*nge 2 cobol

说我有一个02级变量作为cobybook(testcopy)的一部分

02 level-1-var
   05 var-1
   05 var-2
   05 var-3
   05 var-4
Run Code Online (Sandbox Code Playgroud)

我在我的程序中两次使用这本字帖.

01  usage-1.
    copy testcopy.

01  usage-2.
    copy testcopy.
Run Code Online (Sandbox Code Playgroud)

我现在想要将use-1的2级05变量移动到usage-2.有什么方法可以避免2个移动声明吗?

并使用类似的东西

 MOVE (var-2, var-3) of usage-1   TO 
 (var-2, var-3) of usage-2
Run Code Online (Sandbox Code Playgroud)

我是cobol的新手并且想知道是否可以这样做..这可以在我的程序中保存很多移动语句..(提高性能)

pax*_*blo 5

不,不是标准的COBOL,虽然有些实现可能会有类似的扩展.如果简洁的代码是您的要求之一,我可能不会选择COBOL作为理想的语言:-)

你可能需要做两件事:

move var-2 of usage-1 to var-2 of usage-2.
move var-3 of usage-1 to var-3 of usage-2.
Run Code Online (Sandbox Code Playgroud)

如果你愿意对你的字帖进行一些改动,比如(a):

02  level-1-var
    05  var-1
    05  var-2-and-3
        09  var-2
        09  var-3
    05  var-4
Run Code Online (Sandbox Code Playgroud)

你可能会发现你可以这样做:

move var-2-and-3 of usage-1 to var-2-and-3 of usage-2.
Run Code Online (Sandbox Code Playgroud)

(a)显然,我只是反映了你在问题中所拥有的内容.你几乎肯定需要pic关于那些数据的条款(可能还有更多的.字符).