SD-如何增强VF04显示交货单相关的发票金额

sap给我们留好了增强的出口:EXIT_SAPLV60P_008,我们可以修改 ZXV6PU08,来显示出库相关的Billing的金额。

方法如下:

1、在VKDFIF中添加字段YYNETWR,用于显示价格

2、修改 ZXV6PU08,填写YYNETWR字段

代码照抄如下:

PERFORM y0000sd_0000_fill_vkdfif
      TABLES
         lt_vkdfif[]
      USING lt_vkdfif-vkorg

* we store the final result
c_vkdfif[] lt_vkdfif[].

FORM y0000sd_0000_fill_vkdfif
  TABLES tt_vkdfif STRUCTURE vkdfif
  USING  uv_vkorg  TYPE      vkorg.

  DATA ls_vkdfif  TYPE vkdfif.
  DATA lv_tabix   LIKE sy-tabix.
    DATABEGIN OF t_vbap OCCURS 0,
                vbeln TYPE vbeln,
                kbmeng TYPE kbmeng,
                netwr TYPE netwr,
                waerk TYPE waerk,
                lfimg TYPE lfimg,
          END OF t_vbap.
***********************************
  LOOP AT tt_vkdfif INTO ls_vkdfif WHERE vkorg uv_vkorg.
    lv_tabix sy-tabix.

    SELECT  SINGLE vbfa~vbelv
                   vbfa~waers
      FROM  vbfa AS vbfa
      JOIN  lips AS lips
        ON  lips~vbeln vbfa~vbeln AND
            lips~posnr vbfa~posnn
      INTO  ls_vkdfif-yyvbeln_order,
              ls_vkdfif-yywaers )
      WHERE vbfa~vbeln   ls_vkdfif-vbeln
        AND vbfa~vbtyp_n =  'J'       "delivery
        AND vbfa~vbtyp_v <> 'B'.      "quotation

    CHECK sy-subrc 0.

** Confirmed qty value  - CT115262  *************
if ls_vkdfif-fkart 'F2'.
    clear ls_vkdfif-yynetwr .
    SELECT vp~vbeln vp~kbmeng vp~netwr vp~waerk lp~lfimg
    INTO CORRESPONDING FIELDS OF TABLE t_vbap
    FROM vbap as vp
    INNER JOIN lips AS lp ON  lp~vgbel vp~vbeln AND
                              lp~vgpos vp~posnr
    WHERE vp~vbeln LS_VKDFIF-YYVBELN_ORDER.
    LOOP AT t_vbap.
         if t_vbap-kbmeng <> 0.
            ls_vkdfif-yynetwr ls_vkdfif-yynetwr +
                 t_vbap-netwr * t_vbap-lfimg / t_vbap-kbmeng .
            ls_vkdfif-waerk t_vbap-waerk.
         endif.
    ENDLOOP.
endif.
*************************************************

    SELECT SINGLE vdatu
      FROM  vbak
      INTO  ls_vkdfif-yyvdatu
      WHERE vbeln ls_vkdfif-yyvbeln_order.

    MODIFY tt_vkdfif INDEX lv_tabix FROM ls_vkdfif.
  ENDLOOP.
ENDFORM.       



你可能感兴趣的:(00,SAP,SD,16,SAP,Enhancement,SAP应用和开发,10,SAP,ABAP)