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