ABAP 7.4 SP13下如何用CORRESPONDING实现无循环深度映射?
实现ABAP无循环深度结构映射的正确方式
嘿,你想要的无循环深度映射完全可以实现!在ABAP 7.4 SP13中,CORRESPONDING运算符支持直接通过组件路径来处理嵌套结构,不用再写繁琐的循环啦。
修改后的Option 2代码
lt_equipments = CORRESPONDING #( lt_equi MAPPING EquipmentId = EQUNR Audit-CreatedBy = ERNAM Audit-LastChangedBy = AENAM ).
关键说明
- 对于嵌套的
Audit结构字段,直接使用-连接父组件和子组件的名称(比如Audit-CreatedBy),就能将源表lt_equi中的ERNAM字段映射到目标结构的Audit-CreatedBy上。 - 这种写法完全替代了Option 1的循环逻辑,代码更简洁易读,完美符合你想要的无循环要求。
- 放心用:ABAP 7.40从SP05开始就支持
CORRESPONDING的组件路径映射,你的SP13版本完全兼容这个特性。
如果还有字段类型匹配之类的细节需要调整,只要确保源字段和目标嵌套字段的类型一致就没问题,这个写法本身是完全可行的。
内容的提问来源于stack exchange,提问作者Mikael G
相关产品推荐
相关产品推荐

