获取billing中item condition(price)中的值

INCLUDE mv60atop.

 

 DATA LV_TAX(4) TYPE C.
  DATA KBETR TYPE P.
  SELECT SINGLE *  FROM VBRK WHERE vbeln = T_TAB_RKRP-VBELN.
  SELECT SINGLE * FROM VBRP WHERE VBELN = T_TAB_RKRP-VBELN AND POSNR = T_TAB_RKRP-POSNR.
  IF sy-subrc NE 0.
    EXIT.
  ENDIF.
  PERFORM  BELEG_LESEN(sapmv60a).

* Daten aus den Preisfindungsbildern wieder abholen und an die
* Faktura übergeben
  data: calculation_type like komv-ksteu.
* CALCULATION_TYPE kann im PRICING_DIALOG geändert worden sein, wenn
* man auf das Kopfkonditionsbild verzweigt ist.

* alten Transaktionstyp merken ...
  DATA:ykomv like table of xkomv with header line.
  DATA: xxtrtyp LIKE t185f-trtyp.
  xxtrtyp = t185f-trtyp.
*   t185 = h185.
*   t185f = h185f.
*   t185v = h185v.

  DATA: da_ctrl_grey TYPE xfeld.       "suppress output

* Konditionssubscreen ???
* IF FCODE EQ FCODE_KFKO OR FCODE EQ FCODE_PFKO OR
*    FCODE(4) EQ 'V69A'.
*    check PBO_SET_KO = 'X'.
*
* ... und in Abhängigkeit
* - des Status 'Überleitung an die Buchhaltung'
* - einer Rechnungslistensituation
* - einer Stornosituation
* - der Anzeige aus dem Archiv
* den Transaktionstyp (Feld TRTYP) auf 'Anzeigen' setzen.
  IF ( VBRK-RFBSK CA 'CJE'       OR
       VBUK-RELIK EQ 'C'         OR
       NOT VBRK-SFAKN IS INITIAL OR
       VBRK-VBTYP CA 'NS' )      AND
     T185F-TRTYP NE 'C'.
    t185f-trtyp = 'A'.
  ENDIF.

  CLEAR da_ctrl_grey.         "seems to be a global(!) field here
  IF t185v-para1 = 'HEADER'.           "Kopfkonditionsbild
* Coding aus FCODE_KKON, das vor dem RV_INVOICE_PRICE abläuft
    CLEAR vbrp.
  ELSE.
* No pricing in text items
    IF vbrp-posar = charb.
      da_ctrl_grey = 'X'.
    ENDIF.
  ENDIF.

* Der RV_INVOICE_PRICE_PBO enthält das Coding, was vor dem
* PRICING_DIALOG steht, und zwar sowohl für das Kopf- als auch das
* Positionskonditionsbild

* Es läuft im wesentlichen PREISFINDUNG_VORBEREITEN, beim Kopf-
* konditionsbild auch PRICING_COMPLETE mit Preisfindungsart 'A'

*  IF fakt-subscreen_program_body = 'SAPLV69A'.

    CALL FUNCTION 'RV_INVOICE_PRICE_PBO'
      EXPORTING
        t185f_i     = t185f
        t185v_i     = t185v
        t185_i      = t185
        vbrk_i      = vbrk
        vbrp_i      = vbrp
      IMPORTING
        comm_head_e = tkomk
        comm_item_e = tkomp
      TABLES
        xkomv       = xkomv
        xvbpa       = xvbpa
        xvbrk       = xvbrk
        xvbrp       = xvbrp
        xkomfk      = xkomfk
        xvbfs       = xvbfs.

* Fakturaseitig sind die Daten jetzt aufbereitet, jetzt kommt die
* Übergabe an die Preisfindungsbilder

    CALL FUNCTION 'PRICING_SUBSCREEN_SET_DATA'
      EXPORTING
        comm_head_i = tkomk
        comm_item_i = tkomp
        trtyp_i     = t185f-trtyp
        ctrl_grey   = da_ctrl_grey
      TABLES
        tkomv       = xkomv
        ykomv       = ykomv
      EXCEPTIONS
        error       = 1
        OTHERS      = 2.
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
  READ TABLE ykomv WITH KEY STUNR = '300'.
  IF SY-SUBRC EQ 0.
    T_DOWNLOAD-KBETR = ABS( ykomv-KWERT ).
  ENDIF.
*增值税
  CLEAR ykomv.
  READ TABLE ykomv WITH KEY KSCHL = 'MWST'.
  IF SY-SUBRC NE 0.
    CLEAR ykomv.
    ykomv-KBETR = 0.
  ENDIF.
  KBETR = ykomv-KBETR / 10.
  LV_TAX = KBETR.
  CONCATENATE LV_TAX '%' INTO T_DOWNLOAD-TAXEX.
*  T_DOWNLOAD-TAXEX  =  LV_TAX.
  CONDENSE T_DOWNLOAD-TAXEX.
 

 

在ykomv内表里面就是CONDITION里面的所有的值

转载于:https://www.cnblogs.com/TalentLean/archive/2011/10/10/2205373.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值