介绍一个使用 cl_abap_corresponding 进行两个内表不同名称字段赋值的快捷方法
生活随笔
收集整理的這篇文章主要介紹了
介绍一个使用 cl_abap_corresponding 进行两个内表不同名称字段赋值的快捷方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
假設我們有兩個 ABAP 內表,每個內表分別包含 a, b 和 a’, b’ 字段。
我們希望把內表1 的 a 和 b 字段,分別賦給內表2 的 a’ 和 b’ 字段。因為字段名稱不相同,所以無法使用 MOVE-CORRESPONDING.
傳統的做法,是寫一個 LOOP,在循環體內,手動把表1每一行的字段a,賦給表2每一行的字段a’:
其實有一種更簡單高效的方法。
使用 cl_abap_corresponding,創建一個映射表,這個映射表,指定如下規則:
- 將內表的字段值 focus_language ,賦給另一個內表的 focus_area 字段。
- 將內表的字段值 salary,賦給另一個內表的 salary_plus_bonous.
create 方法傳入這個映射表,返回一個執行器。調用該執行器的 execute 方法,指定需要進行字段賦值的源內表和目標內表,賦值操作就自動完成了,無需開發人員手動使用 LOOP 賦值。
Execute 方法是在 ABAP 內核中完成的,比在 ABAP 應用中使用 LOOP 要高效。
關于該類的更多細節,請參考我的文章:介紹一種在ABAP內核態進行內表高效拷貝的方法,和對應的Java和JavaScript版本的偽實現
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的介绍一个使用 cl_abap_corresponding 进行两个内表不同名称字段赋值的快捷方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: warframe龙甲p哪里出(Warfr
- 下一篇: ABAP 代码中,哪些特殊字符不能用于变