Enterprise Resource Planning Blogs by Members
Gain new perspectives and knowledge about enterprise resource planning in blog posts from community members. Share your own comments and ERP insights today!
cancel
Showing results for 
Search instead for 
Did you mean: 
denis_skuridin
Explorer
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