ABAP中如何用单条命令将内部结构字段赋值给同类型数据引用?
ABAP批量字段赋值解决方案
针对你需要将ZCAR结构字段批量赋值给Z_I_CAR数据引用的需求,完全可以通过单条命令实现,无需逐个字段赋值,推荐两种适配场景的方式:
方式一:灵活匹配同名字段(推荐)
使用MOVE-CORRESPONDING语句,它会自动匹配两个结构中名称相同的字段完成赋值,即使字段顺序或非匹配字段存在也能正常工作,非常适合字段数量多的场景:
DATA: lr_car TYPE REF TO Z_I_CAR, ls_car TYPE ZCAR. CREATE DATA lr_car. MOVE-CORRESPONDING ls_car TO lr_car->*.
方式二:完全结构匹配时的简化赋值
如果ZCAR和Z_I_CAR的字段名称、类型、顺序完全一致,可以直接使用赋值语句进一步简化:
lr_car->* = ls_car.
注意:第二种方式要求两个结构的定义完全对齐,否则会触发语法或运行时错误,因此更推荐第一种方式适配大多数业务场景。
内容的提问来源于stack exchange,提问作者Pan P.
相关产品推荐
相关产品推荐

