
IF fi_document_header-xmwst EQ 'X'.
REFRESH : lt_tax.
CALL FUNCTION 'CALCULATE_TAX_FROM_GROSSAMOUNT'
EXPORTING
i_bukrs = fi_document_header-bukrs
i_mwskz = fi_document_item-mwskz
i_waers = fi_document_item-pswsl
i_wrbtr = fi_document_item-wrbtr
TABLES
t_mwdat = lt_tax.
CLEAR : lv_tax.
LOOP AT lt_tax ASSIGNING FIELD-SYMBOL(<fs_tax>).
CASE <fs_tax>-ktosl.
WHEN 'XXX'.
...
IF fi_document_header-kursf IS INITIAL.
lv_amt = <fs_tax>-wmwst.
ELSE.
lv_amt = <fs_tax>-wmwst * fi_document_header-kursf.
ENDIF.
lv_total_tax = lv_total_tax + lv_amt.
WHEN 'XXX'.
...
ENDCASE.
ENDLOOP.
ENDIF.
IF fi_document_header-xmwst EQ 'X'.
REFRESH : lt_tax.
CALL FUNCTION 'CALCULATE_TAX_FROM_NET_AMOUNT'
EXPORTING
i_bukrs = fi_document_header-bukrs
i_mwskz = fi_document_item-mwskz
i_waers = fi_document_item-pswsl
i_wrbtr = fi_document_item-wrbtr
TABLES
t_mwdat = lt_tax.
CLEAR : lv_tax.
LOOP AT lt_tax ASSIGNING FIELD-SYMBOL(<fs_tax>).
CASE <fs_tax>-ktosl.
WHEN 'XXX'.
...
IF fi_document_header-kursf IS INITIAL.
lv_amt = <fs_tax>-wmwst.
ELSE.
lv_amt = <fs_tax>-wmwst * fi_document_header-kursf.
ENDIF.
lv_total_tax = lv_total_tax + lv_amt.
WHEN 'XXX'.
...
ENDCASE.
ENDLOOP.
ENDIF.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
3 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |