Application Development 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: 

Red: P.O. condition values

Former Member
0 Kudos

Hi All,

How to find the pricing condition for a Purchase Order, like example for JM01,JEC1,JIP4 etc.

I checked in the Table KONV & KONP but still the above specified condition's were not found, but it is displaying in the P.O. pricing for tax code "V3", but it refers to a structure only.

Please any idea where to find the values for this conditions.

Help and Suggestions will be much Appreciated.

Thanks & regds.

Ganesh.

4 REPLIES 4

Former Member
0 Kudos

Hi Ganesh,

u can get those by using FM 'CALCULATE_TAX_ITEM'

DATA : wa_taxcom TYPE taxcom.

CLEAR wa_taxcom.

wa_taxcom-bukrs = ekko-bukrs.

wa_taxcom-budat = ekko-bedat.

wa_taxcom-bldat = ekko-bedat.

wa_taxcom-waers = ekko-waers.

wa_taxcom-hwaer = ekko-waers.

wa_taxcom-kposn = ekpo-ebelp.

wa_taxcom-mwskz = ekpo-mwskz.

*wa_taxcom-koart = 'wert'.

*wa_taxcom-SHKZG =

wa_taxcom-wrbtr = ekpo-netwr.

*wa_taxcom-WMWST = 'wer'.

*

*wa_taxcom-WSKTO = ekko-bukrs.

*wa_taxcom-SKFBT = ekbe-budat.

*wa_taxcom-ZBD1P = ekbe-bldat.

wa_taxcom-xmwst = 'X'.

*wa_taxcom-TXJCD = ekko-waers.

*wa_taxcom-MWART = ekko-bukrs.

*wa_taxcom-KUNNR = ekko-kunnr.

wa_taxcom-lifnr = ekko-lifnr.

wa_taxcom-ekorg = ekko-ekorg.

*wa_taxcom-GSBER = ekko-waers.

*wa_taxcom-LLIEF = ekko-waers.

wa_taxcom-matnr = ekpo-matnr.

wa_taxcom-werks = ekpo-werks.

*wa_taxcom-bwtar = ekpo-bukrs.

wa_taxcom-matkl = ekpo-matkl.

wa_taxcom-meins = ekpo-meins.

wa_taxcom-mglme = ekpo-menge.

wa_taxcom-mtart = ekpo-mtart.

wa_taxcom-land1 = ekko-lands.

wa_taxcom-ebeln = ekpo-ebeln.

wa_taxcom-ebelp = ekpo-ebelp.

*wa_taxcom-PROJK = ekbe-bldat.

*wa_taxcom-PRCTR = ekpo-ko_prctr.

*wa_taxcom-aufnr = ekko-waers.

*wa_taxcom-kostl = ekko-bukrs.

*wa_taxcom-KOKRS = ekbe-budat.

*wa_taxcom-blart = ekbe-bldat.

*wa_taxcom-nebtr = ekko-waers.

REFRESH t_komv.

CLEAR t_komv.

CALL FUNCTION 'CALCULATE_TAX_ITEM'

EXPORTING

  • ANZAHLUNG = ' '

  • DIALOG = ' '

  • DISPLAY_ONLY = ' '

  • INKLUSIVE = ' '

  • I_ANWTYP = ' '

  • I_DMBTR = '0'

  • I_MWSTS = '0'

i_taxcom = wa_taxcom

  • PRUEFEN = ' '

  • RESET = ' '

IMPORTING

  • E_NAVFW =

e_taxcom = wa_taxcom

  • E_XSTVR =

  • NAV_ANTEIL =

TABLES

t_xkomv = t_komv

EXCEPTIONS

mwskz_not_defined = 1

mwskz_not_found = 2

mwskz_not_valid = 3

steuerbetrag_falsch = 4

country_not_found = 5

OTHERS = 6

else u can also use tables KONP & A363 to get the condition type values if they r configured wrt vendor,plant & material.

Hope it helps,

Regards,

Bikash

Former Member
0 Kudos

HI

GOOD

CAN YOU PLZ GIVE THE MORE CLARIFICATION ABOUT YOUR DOUBT,I HOPE ICAN HELP YOU MORE AFTER THAT.

THANKS

MRUTYUN

0 Kudos

REPORT zreport10 .

TABLES : ekko , ekpo , t001 , komk , komp .

DATA mwsbp TYPE komp-mwsbp .

PARAMETERS : p_ebeln TYPE ekpo-ebeln ,

p_ebelp TYPE ekpo-ebelp .

START-OF-SELECTION .

PERFORM calculate_tax USING p_ebeln p_ebelp CHANGING mwsbp .

WRITE mwsbp .

----


  • FORM calculate_tax *

----


FORM calculate_tax USING p_ebeln TYPE ekpo-ebeln

p_ebelp TYPE ekpo-ebelp

CHANGING p_mwsbp TYPE komp-mwsbp .

CONSTANTS: bstyp-info VALUE 'I',

bstyp-ordr VALUE 'W',

bstyp-banf VALUE 'B',

bstyp-best VALUE 'F',

bstyp-anfr VALUE 'A',

bstyp-kont VALUE 'K',

bstyp-lfpl VALUE 'L',

bstyp-lerf VALUE 'Q'.

DATA : taxcom TYPE taxcom ,

t_konv TYPE TABLE OF komv WITH HEADER LINE .

DATA: BEGIN OF tkomv OCCURS 50.

INCLUDE STRUCTURE komv.

DATA: END OF tkomv.

DATA: BEGIN OF tkomvd OCCURS 50. "Belegkonditionen

INCLUDE STRUCTURE komvd.

DATA: END OF tkomvd.

DATA : BEGIN OF tkomvh OCCURS 50.

INCLUDE STRUCTURE komv.

DATA : vtext LIKE t685t-vtext.

DATA : END OF tkomvh.

SELECT SINGLE *

INTO ekko

FROM ekko

WHERE ebeln = p_ebeln .

SELECT SINGLE *

INTO ekpo

FROM ekpo

WHERE ebeln = p_ebeln

AND ebelp = p_ebelp .

SELECT SINGLE *

INTO t001

FROM t001

WHERE bukrs = ekko-bukrs .

taxcom-bukrs = ekpo-bukrs.

taxcom-budat = ekko-bedat.

taxcom-waers = ekko-waers.

taxcom-kposn = ekpo-ebelp.

taxcom-mwskz = ekpo-mwskz.

taxcom-txjcd = ekpo-txjcd.

taxcom-shkzg = 'H'.

taxcom-xmwst = 'X'.

IF ekko-bstyp EQ bstyp-best.

taxcom-wrbtr = ekpo-netwr.

ELSE.

taxcom-wrbtr = ekpo-zwert.

ENDIF.

taxcom-lifnr = ekko-lifnr.

taxcom-land1 = ekko-lands.

taxcom-ekorg = ekko-ekorg.

taxcom-hwaer = t001-waers.

taxcom-llief = ekko-llief.

taxcom-bldat = ekko-bedat.

taxcom-matnr = ekpo-ematn.

taxcom-werks = ekpo-werks.

taxcom-bwtar = ekpo-bwtar.

taxcom-matkl = ekpo-matkl.

taxcom-meins = ekpo-meins.

IF ekko-bstyp EQ bstyp-best.

taxcom-mglme = ekpo-menge.

ELSE.

IF ekko-bstyp EQ bstyp-kont AND ekpo-abmng GT 0.

taxcom-mglme = ekpo-abmng.

ELSE.

taxcom-mglme = ekpo-ktmng.

ENDIF.

ENDIF.

IF taxcom-mglme EQ 0.

taxcom-mglme = 1000.

ENDIF.

taxcom-mtart = ekpo-mtart.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

CALL FUNCTION 'J_1BSA_COMPONENT_ACTIVE'

EXPORTING

bukrs = ekko-bukrs

component = 'BR'

EXCEPTIONS

component_not_active = 1

OTHERS = 2.

IF sy-subrc IS INITIAL.

komk-mandt = ekko-mandt.

komk-kalsm = ekko-kalsm.

IF ekko-kalsm = ''.

komk-kalsm = 'RM0000'.

ENDIF.

komk-kappl = 'M'.

komk-waerk = ekko-waers.

komk-knumv = ekko-knumv.

komk-lifnr = ekko-lifnr.

komp-kposn = ekpo-ebelp.

komp-matnr = ekpo-matnr.

komp-werks = ekpo-werks.

komp-matkl = ekpo-matkl.

komp-infnr = ekpo-infnr.

komp-evrtn = ekpo-konnr.

komp-evrtp = ekpo-ktpnr.

CALL FUNCTION 'RV_PRICE_PRINT_ITEM'

EXPORTING

comm_head_i = komk

comm_item_i = komp

language = 'E'

TABLES

tkomv = tkomv

tkomvd = tkomvd.

CALL FUNCTION 'J_1B_NF_PO_DISCOUNTS'

EXPORTING

i_kalsm = ekko-kalsm

i_ekpo = ekpo

IMPORTING

e_ekpo = ekpo

TABLES

i_konv = t_konv.

IF NOT ekko-llief IS INITIAL.

taxcom-lifnr = ekko-llief.

ENDIF.

ENDIF.

CALL FUNCTION 'FIND_TAX_SPREADSHEET'

EXPORTING

buchungskreis = t001-bukrs

EXCEPTIONS

not_found = 1

OTHERS = 2.

CALL FUNCTION 'CALCULATE_TAX_ITEM'

EXPORTING

i_taxcom = taxcom

IMPORTING

e_taxcom = taxcom

EXCEPTIONS

mwskz_not_defined = 1

mwskz_not_found = 2

mwskz_not_valid = 3

steuerbetrag_falsch = 4

country_not_found = 5

OTHERS = 6.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

p_mwsbp = taxcom-wmwst .

ENDFORM. " calculate_tax

0 Kudos

Hi Pawan,

I am stuck with the same issue can you please gimme the solution for FM CALCULATE_ITEM_TAX.

This function module is giving the wrong answer.

Have gone through the number of links but none of them gave the solution

Any help would be appreciable.

Thanks & Regards,

Akshay Ruia