06-01-2016 12:26 PM
Hi All,
I am using CALCULATE_TAX_ITEM function module to find taxes used in particular PO line item. I did pass values to TAXCOM structure.
The function module returns all the conditions and values properly, except for some conditions it returns 0 value.
I tried searching SCN regard this issue and didn't got any valuable input.
I also used the below FM's before CALCULATE_TAX_ITEM as said in some posts, but no luck.
CALL FUNCTION 'J_1BSA_COMPONENT_ACTIVE'
EXPORTING
bukrs = wa_ekpo-bukrs
component = 'IN'
EXCEPTIONS
component_not_active = 1
OTHERS = 2.
IF sy-subrc EQ 0.
ls_komk-mandt = ekko-mandt.
ls_komk-kalsm = ekko-kalsm.
IF ekko-kalsm = ''.
ls_komk-kalsm = 'ZDOMES'.
ENDIF.
ls_komk-kappl = 'M'.
ls_komk-waerk = ekko-waers.
ls_komk-knumv = ekko-knumv.
ls_komk-lifnr = ekko-lifnr.
ls_komp-kposn = wa_ekpo-ebelp.
ls_komp-matnr = wa_ekpo-matnr.
ls_komp-werks = wa_ekpo-werks.
ls_komp-matkl = wa_ekpo-matkl.
ls_komp-infnr = wa_ekpo-infnr.
ls_komp-evrtn = wa_ekpo-konnr.
ls_komp-evrtp = wa_ekpo-ktpnr.
CALL FUNCTION 'RV_PRICE_PRINT_ITEM'
EXPORTING
comm_head_i = ls_komk
comm_item_i = ls_komp
language = 'E'
TABLES
tkomv = tkomv
tkomvd = tkomvd.
ENDIF.
IF NOT ekko-llief IS INITIAL.
ls_taxcom-llief = ekko-llief.
ELSE.
ls_taxcom-llief = ekko-lifnr.
ENDIF.
CALL FUNCTION 'REFRESH_TAX_TABLES'.
CALL FUNCTION 'FIND_TAX_SPREADSHEET'
EXPORTING
buchungskreis = is_t001-bukrs
EXCEPTIONS
not_found = 1
OTHERS = 2.
Kindly advice any additional input if needed.
Thanks,
Ajeeth
06-01-2016 6:38 PM
Hi Ajeeth,
Better check your pricing procedure like, Is there any routine assigned (for your condition's base value) in that or not? Because I have faced similar issue, but I got the amount as double due to some routine assignment.
Thanks,
Venkadesh
06-01-2016 1:59 PM
Hi,
Try to find the values of missing conditions from below table if possible:
Regards,
Venu
06-02-2016 6:47 AM
Hi Venu,
Thanks for the reply.
Even the tables KONP has null value in it.
Thanks,
Ajeeth
06-02-2016 7:14 AM
Hi,
I think you can find the value in KONV or KOND tables. If not check try checking Pricing Routine Tables which is assigned in pricing procedure.
Regards,
Venu
06-02-2016 8:09 AM
Checked KONH, KONP, KONV, KOND, AXXX(condition table), but no luck.
Thanks,
Ajeeth
06-01-2016 2:17 PM
Hello Ajeeth,
Fill the FM for testing as mentioned in the steps below: -
Hopefully this should solve your issue.
Thanks
Rajit
06-02-2016 6:48 AM
Hi Rajit,
Yes i am already passing the above said values in that FM.
Thanks,
Ajeeth
06-01-2016 6:38 PM
Hi Ajeeth,
Better check your pricing procedure like, Is there any routine assigned (for your condition's base value) in that or not? Because I have faced similar issue, but I got the amount as double due to some routine assignment.
Thanks,
Venkadesh
06-02-2016 6:50 AM
Hi Venkadesh,
Yes there is a routine assigned in that step and it is non statistical.
Thanks,
Ajeeth
06-02-2016 8:20 AM
Hi Ajeeth,
Try to put break point on FM "J_1I4_GET_KWERT" this will give base amount for the routine, so once u debug that may help to resolve your issue.
Thanks,
Venkadesh
06-02-2016 1:15 PM
Hi Venkadesh,
The routines 362 and 363 are assigned in 2 other condition types and the sum of these makes the third condition which i need to fetch.
Problem is the conditions with routines assigned brings wrong value and the 3rd condition brings null value.
I tried debugging the routine which contains the FM you said in above thread, but couldn't find anything.
Thanks,
Ajeeth
06-03-2016 6:41 AM
Hi All,
The issue got resolved using the below FM above CALCULATE_TAX_ITEM,
CALL FUNCTION 'J_1I4_COPY_PO_DATA'
EXPORTING
y_ekpo = ekpo.
@ Venkadesh,
The FM you suggested was being called inside the above mentioned FM, thus calculating the missing values. Thanks for the valid suggestion.
Thanks to all.
Regards,
Ajeeth