ABAP技术:兼顾运行速度和代码简洁效率,修改内表这样写就对了(原创)

用到COND、LINE_EXISTS()和MODIFY FROM VALUE,可以省去重复READ内表的麻烦,很快的将需要的字段写入内表,接下来不废话直接展示:

    "修改内表

  LOOP AT gt_alv INTO gs_alv.

    MODIFY gt_alv FROM VALUE ty_data(

    txt01 COND #WHEN line_existslt_skat[ hkont gs_alv-hkont ] )

                    THEN lt_skat[ hkont gs_alv-hkont ]-txt01 )

    txt02 COND #WHEN line_existslt_t053s[ bukrs gs_alv-bukrs rstgr gs_alv-rstgr ] )

                    THEN lt_t053s[ bukrs gs_alv-bukrs rstgr gs_alv-rstgr ]-txt02 )

    ktxt1 COND #WHEN line_existslt_cskt[ kostl gs_alv-kostl ] )

                    THEN lt_cskt[ kostl gs_alv-kostl ]-ktxt1 )

    ktxt2 COND #WHEN line_existslt_cepct[ prctr gs_alv-prctr ] )

                    THEN lt_cepct[ prctr gs_alv-prctr ]-ktxt2 )

    txt03 COND #WHEN line_existslt_anla[ bukrs gs_alv-bukrs anln1 gs_alv-anln1 ] )

                    THEN lt_anla[ bukrs gs_alv-bukrs anln1 gs_alv-anln1 ]-txt03 )

    name1 COND #WHEN line_existslt_name1[ kunnr gs_alv-kunnr ] )

                    THEN lt_name1[ kunnr gs_alv-kunnr ]-name1 )

    user1 COND #WHEN line_existslt_user1[ usnam gs_alv-usnam ] )

                    THEN lt_user1[ usnam gs_alv-usnam ]-user1 )

    user2 COND #WHEN line_existslt_user2[ ppnam gs_alv-ppnam ] )

                    THEN lt_user2[ ppnam gs_alv-ppnam ]-user2 ) )

    TRANSPORTING txt01 txt02 txt03 ktxt1 ktxt2 name1 user1 user2 .

  ENDLOOP.

原创不易,给个赞呗😙

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值