Enterprise Resource Planning Blog Posts by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
denis_skuridin
Explorer
11,847
If you need to output taxes from Purchase Order you should use FM CALCULATE_TAX_ITEM to achieve this. It works fine and provides necessary infos, but has 1 feature: you should firstly open tax screen by clicking on the button and then run FM. Looks like some global variables should be prefilled before tax calculation.



I faced this problem while working on PO print form for India. After some googling I found out, that Brazil also suffers from this problem. I have no information whether this is relevant for other countries.

For Brazil the solution is suggested in this thread.

Bur for India I haven't found anything definitely working.

So I started searching and found my solution in subroutine KOND_TAXES of program SAPLMEPO.

I copied and adapted lines 219-297, after that FM bring correct results.

If you do that while printing PO you have to use local structures of EKKO/EKPO types, as printing structures are of MMPUR_PRINT_EKKO/MMPUR_PRINT_EKPO types.
    data: lv_gst_rele               type char1,
lo_gst_service_purchasing type ref to j_1icl_gst_service_purchasing,
lo_copypo type ref to if_ex_me_cin_mm06efko,
ls_ekpo type ekpo,
ls_ekko type ekko.
call function 'J_1BSA_COMPONENT_ACTIVE'
exporting
bukrs = IS_EKKO-bukrs
component = 'IN'
exceptions
component_not_active = 1
others = 2.
if sy-subrc = 0.
call method cl_exithandler=>get_instance
exporting
exit_name = 'ME_CIN_MM06EFKO'
null_instance_accepted = 'X'
changing
instance = lo_copypo.
if not lo_copypo is initial.
move-corresponding: is_ekpo to ls_ekpo,
is_ekpo to ls_ekpo.
call method lo_copypo->me_cin_copy_po_data
exporting
flt_val = conv #( iv_ctry )
y_ekpo = ls_ekpo.
endif.
* GST India ---------------------------------------------------------------*
call function 'J_1IG_DATE_CHECK'
importing
ex_gst_rele = lv_gst_rele.
if lv_gst_rele eq abap_true.
call function 'J_1IG_PASS_EKKO_EKPO'
exporting
im_ekko = ls_ekko
im_ekpo = ls_ekpo.
lo_gst_service_purchasing = j_1icl_gst_service_purchasing=>get_instance( ).
lo_gst_service_purchasing->extend_mm06efko_kond_taxes( ls_ekpo ).
endif.
endif.
4 Comments