VA05销售报表屏幕增强

业务需求:在VA05报表界面增强两个字段(BELNR1/BELNR2).

第一步:扩展VA05相关表结构

由于新增的字段是按照销售订单行维度展示的,所以本篇加在VBAP表里(不扩展表字段,直接写增强,会DUMP).

第二步:代码增强

增强点->SE18->BADI_SDOC_WRAPPER

  METHOD if_badi_sdoc_wrapper~adapt_result_comp.

    INSERT VALUE #( table = 'VBAP' field = 'ZBELNR1' name = 'ZBELNR1' text = '收入凭证编号' )  INTO TABLE  ct_result_comp.

    INSERT VALUE #( table = 'VBAP' field = 'ZBELNR2' name = 'ZBELNR2' text = '成本凭证编号' ) INTO TABLE ct_result_comp.

  ENDMETHOD.
  METHOD if_badi_sdoc_wrapper~post_processing.

    DATA : lv_xref1_hd TYPE char20 .

    ASSIGN COMPONENT 'VBELN'  OF STRUCTURE cs_result TO FIELD-SYMBOL(<fs_vbeln>).
    ASSIGN COMPONENT 'POSNR'  OF STRUCTURE cs_result TO FIELD-SYMBOL(<fs_posnr>).
    ASSIGN COMPONENT 'ZBELNR1' OF STRUCTURE cs_result TO FIELD-SYMBOL(<fs_belnr1>).
    ASSIGN COMPONENT 'ZBELNR2' OF STRUCTURE cs_result TO FIELD-SYMBOL(<fs_belnr2>).
    lv_xref1_hd = <fs_vbeln> && <fs_posnr> .

    SELECT SINGLE * FROM bkpf INTO @DATA(ls_bkpf) WHERE xref1_hd = @lv_xref1_hd .
    IF ls_bkpf IS NOT INITIAL .
      SELECT SINGLE COUNT(*) FROM bseg WHERE belnr = ls_bkpf-belnr AND koart = 'D' .
      IF sy-subrc = 0 .
        <fs_belnr1> = ls_bkpf-belnr .
      ENDIF .
      IF ls_bkpf-belnr <> <fs_belnr1> .
        <fs_belnr2> = ls_bkpf-belnr .
      ENDIF .
    ENDIF .


  ENDMETHOD.

这样字段就加好了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值