MOVE-CORRESPONDING 应该注意的语法特点
以前用 MOVE-CORRESPONDING 的時候都是用相同結構的源賦值給目標,今天遇到了兩個源結構的字段不同,但是目標結構的字段同時包含這些不同字段的例子。
比如:
源結構 s1 的字段有:key1 key2 value1 value2 valuem valuen
源結構 s2 的字段有:key1 key2 value3 value4 valuem valuen
目標結構 t1 的字段有:key1 key2 value1 value2 value3 value4 valuem valuen
則在:
MOVE-CORRESPONDING s1 TO t1.
...
MOVE-CORRESPONDING s2 TO t1.
的語句塊之后,
t1 的 key1 key2 value3 value4 valuem valuen?的值都是來自 s2 的,但是 value1 value2 則依舊保留了來自 s1 的值——沒有出現在源結構中的字段并沒有因為新的賦值而清空。
因為這個問題做合計時出現差異,跟蹤了一個多小時才發(fā)現,教訓深刻。
?
以后,原則上在使用 MOVE-CORRESPONDING 時,都應該寫成如下形式:
MOVE-CORRESPONDING s1 TO t1.
...
CLEAR t1.
MOVE-CORRESPONDING s2 TO t1.
確保目標結構的數據來源可靠。
當然,這是根據需要的,如果您確實需要同時來自兩個結構的數據,CLEAR 就是多余的了。
總結
以上是生活随笔為你收集整理的MOVE-CORRESPONDING 应该注意的语法特点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 优秀博文推荐
- 下一篇: 函数组:SPO1/2/3/4/5/6/8