2006 Dec 26 9:04 AM
Hi,
From which table(s) i will get Purchase Order's Tax details. like , Excise, VAT, CST, Cess, Octrai, Freight etc.
Thanks in advance.
2006 Dec 26 9:07 AM
Hope this code might help you:
PARAMETERS: P_EBELN LIKE BAPIEKKO-PO_NUMBER OBLIGATORY.
DATA: L_LAND1 LIKE T001-LAND1,
L_KALSM LIKE T005-KALSM.
DATA: L_KBETR LIKE BSET-KBETR.
DATA: POHEAD LIKE BAPIEKKOL,
POITEM LIKE BAPIEKPO OCCURS 0 WITH HEADER LINE,
IT_KONV LIKE KONV OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF IT_TAX_RATE OCCURS 0,
KSCHL LIKE KONV-KSCHL,
MWSK1 LIKE KONV-MWSK1,
KBETR LIKE KONV-KBETR,
END OF IT_TAX_RATE.
CALL FUNCTION 'BAPI_PO_GETDETAIL'
EXPORTING
PURCHASEORDER = P_EBELN
IMPORTING
PO_HEADER = POHEAD
TABLES
PO_ITEMS = POITEM.
CALL FUNCTION 'MRM_DBTAB_KONV_READ'
EXPORTING
I_KNUMVE = POHEAD-DOC_COND
I_KNUMVL = POHEAD-DOC_COND
TABLES
T_KONV = IT_KONV.
SORT IT_KONV BY KNUMV KPOSN STUNR.
DELETE ADJACENT DUPLICATES FROM IT_KONV.
SELECT SINGLE LAND1 INTO L_LAND1 FROM T001
WHERE BUKRS EQ POHEAD-CO_CODE.
SELECT SINGLE KALSM INTO L_KALSM FROM T005 WHERE LAND1 = L_LAND1.
LOOP AT IT_KONV WHERE NOT MWSK1 IS INITIAL.
CALL FUNCTION 'FI_TAX_GET_CONDITION'
EXPORTING
I_BUKRS = POHEAD-CO_CODE
I_LAND1 = L_LAND1
I_KALSM = L_KALSM
I_MWSKZ = IT_KONV-MWSK1
I_TXJCD = ' '
I_KSCHL = IT_KONV-KSCHL
I_KTOSL = ' '
I_TDATE = SY-DATUM
IMPORTING
E_KBETR = L_KBETR
EXCEPTIONS
INPUT_PARAM_INVALID = 1
BUKRS_INVALID = 2
COUNTRY_INVALID = 3
TXJCD_INVALID = 4
CONDITION_NOT_FOUND = 5
OTHERS = 6.
IT_TAX_RATE-KSCHL = IT_KONV-KSCHL.
IT_TAX_RATE-MWSK1 = IT_KONV-MWSK1.
IT_TAX_RATE-KBETR = L_KBETR / 10.
APPEND IT_TAX_RATE.
ENDLOOP.
SORT IT_TAX_RATE BY KSCHL MWSK1.
DELETE ADJACENT DUPLICATES FROM IT_TAX_RATE.By this point we will have the PO Details, their conditions and Rates for the taxes if any. Manipulate the same and use accordingly.
Kind Regards
Eswar
Hi,
From which table(s) i will get Purchase Order's Tax details. like , Excise, VAT, CST, Cess, Octrai, Freight etc.
Thanks in advance.
2006 Dec 26 9:07 AM
Hope this code might help you:
PARAMETERS: P_EBELN LIKE BAPIEKKO-PO_NUMBER OBLIGATORY.
DATA: L_LAND1 LIKE T001-LAND1,
L_KALSM LIKE T005-KALSM.
DATA: L_KBETR LIKE BSET-KBETR.
DATA: POHEAD LIKE BAPIEKKOL,
POITEM LIKE BAPIEKPO OCCURS 0 WITH HEADER LINE,
IT_KONV LIKE KONV OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF IT_TAX_RATE OCCURS 0,
KSCHL LIKE KONV-KSCHL,
MWSK1 LIKE KONV-MWSK1,
KBETR LIKE KONV-KBETR,
END OF IT_TAX_RATE.
CALL FUNCTION 'BAPI_PO_GETDETAIL'
EXPORTING
PURCHASEORDER = P_EBELN
IMPORTING
PO_HEADER = POHEAD
TABLES
PO_ITEMS = POITEM.
CALL FUNCTION 'MRM_DBTAB_KONV_READ'
EXPORTING
I_KNUMVE = POHEAD-DOC_COND
I_KNUMVL = POHEAD-DOC_COND
TABLES
T_KONV = IT_KONV.
SORT IT_KONV BY KNUMV KPOSN STUNR.
DELETE ADJACENT DUPLICATES FROM IT_KONV.
SELECT SINGLE LAND1 INTO L_LAND1 FROM T001
WHERE BUKRS EQ POHEAD-CO_CODE.
SELECT SINGLE KALSM INTO L_KALSM FROM T005 WHERE LAND1 = L_LAND1.
LOOP AT IT_KONV WHERE NOT MWSK1 IS INITIAL.
CALL FUNCTION 'FI_TAX_GET_CONDITION'
EXPORTING
I_BUKRS = POHEAD-CO_CODE
I_LAND1 = L_LAND1
I_KALSM = L_KALSM
I_MWSKZ = IT_KONV-MWSK1
I_TXJCD = ' '
I_KSCHL = IT_KONV-KSCHL
I_KTOSL = ' '
I_TDATE = SY-DATUM
IMPORTING
E_KBETR = L_KBETR
EXCEPTIONS
INPUT_PARAM_INVALID = 1
BUKRS_INVALID = 2
COUNTRY_INVALID = 3
TXJCD_INVALID = 4
CONDITION_NOT_FOUND = 5
OTHERS = 6.
IT_TAX_RATE-KSCHL = IT_KONV-KSCHL.
IT_TAX_RATE-MWSK1 = IT_KONV-MWSK1.
IT_TAX_RATE-KBETR = L_KBETR / 10.
APPEND IT_TAX_RATE.
ENDLOOP.
SORT IT_TAX_RATE BY KSCHL MWSK1.
DELETE ADJACENT DUPLICATES FROM IT_TAX_RATE.By this point we will have the PO Details, their conditions and Rates for the taxes if any. Manipulate the same and use accordingly.
Kind Regards
Eswar
2006 Dec 26 9:23 AM
by taking the value of KNUMV from table EKKO
and pick the reocrds from KONV
ekko-STCEG is for VAT "chk this
Just check the table KONV
regards,
vijay
2006 Dec 26 9:24 AM