SAP ABAP开发技巧-CORRESPONDING mapping把内表A的指定字段赋值给内表B的指定字段

#如何把内表A的指定字段赋值给内表B的指定字段?

一般两个内表的赋值

1.如果是结构完全一样使用: A = B[]。
若是结构有些一样有些不同那就是使用 MOVE-CORRESPONDING,但是它只能把相同的字段的名的值赋值进去,不同字段名的就无法赋值过去了。
3.loop 循环进行赋值,赋值字段名相同或者不同的都可以办得到,但是资源耗费大。
4.使用方法cl_abap_corresponding=>create可以不使用循环,把字段名不同的字段匹配赋值。(使用较少,感兴趣的自己搜一下)
5.使用MAPPING的方法一代码特别简单易懂。
注意点:
1.字段强制转换,C类型不能强制转换为 i类型,i类型可以转成C类型
2.字段长度,定义的短了,会强制截断。
3.字段名相同的,会自动匹配赋值

此处着重讲使用MAPPING的方法

TYPES:BEGIN OF ty_a,
        a TYPE char20, "姓名
        b TYPE i, "年龄
        c TYPE string, "籍贯
      END OF ty_a.
TYPES:BEGIN OF ty_e,
        e TYPE char2,
        f TYPE i,
        c TYPE string,
      END OF ty_e.
DATA:gt_a TYPE TABLE OF ty_a.
DATA:gt_e TYPE TABLE OF ty_e.
gt_a = VALUE #(
( a = '张三' b = 25 c = '湖南人')
( a = '李四啊' b = 34 c = '广东人') ).
gt_e = CORRESPONDING #( gt_a MAPPING e = a f = b ) .

cl_demo_output=>display( gt_e ).

结果截图

在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

混沌破晓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值