Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Purchase Order

Former Member
0 Likes
2,999

Hi,

From which table(s) i will get Purchase Order's Tax details. like , Excise, VAT, CST, Cess, Octrai, Freight etc.

Thanks in advance.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
884

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.

3 REPLIES 3
Read only

Former Member
0 Likes
885

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

Read only

Former Member
0 Likes
884

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

Read only

0 Likes
884

Too late Vijay, thread is closed already.

Regards

Eswar