cancel
Showing results for 
Search instead for 
Did you mean: 

PO tax calculated amt in output

Former Member
0 Kudos

Dear All,

My req is i need to make the Tax calculated amount to be flown in the PO output...

total po value is 10000

tax amount           200

total value         10200  like this my po output should come......

1. from which table i should take this 200 tax amount

2. How to bring this 200 to my mm pricing in the sense i created one new condn type when system should flow the total tax calculated amt to that condition.

Accepted Solutions (0)

Answers (4)

Answers (4)

former_member186100
Active Contributor
0 Kudos

hi,

u need not create new condition type , standard SAP already provide condition "JEXS - Taxes on the PO"  which if inserted in pricing procedure automatically collects all taxes in PO.

Having JEXS condition inserted in pricing procedure

Now get KNUMV from EKKO and pass KNUMV , KPOSN (PO line item ) and KSCHL ="JEXS"  to get

KBETR = total tax ( 200 in ur case)

pushkar_dhale
Participant
0 Kudos

Kindly use following Sample code which will help you to calculate Tax as per tax code.

******************************************************************

REPORT zreport10 .

TABLES : ekko , ekpo , t001 , komk , komp .
DATA mwsbp TYPE komp-mwsbp .
PARAMETERS : p_ebeln TYPE ekpo-ebeln ,
p_ebelp
TYPE ekpo-ebelp,
p_mwskz
TYPE ekpo-mwskz.

START-
OF-SELECTION .

PERFORM calculate_tax USING p_ebeln p_ebelp CHANGING mwsbp .

WRITE mwsbp .

_______________________________________________________________________
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.
IF p_mwskz is NOT INITIAL.
taxcom-mwskz = p_mwskz .             
"ekpo-mwskz.
ENDIF.

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

**************************************************************

Regards,

Pushkar

BijayKumarBarik
Active Contributor
0 Kudos

Hi,

1. For PO Taxes(Excise Value & Sales Tax Value): The tax values you can determine using the function module - CALCULATE_TAX_ITEM.

NOTE: For PO print ,all condition types( normal condition types and tax condition types) to included in smartforms.The PO header and item values can fetch from the table KONV with respect to the condition types for which the value is to be fetched. Logic: Pass the value EKKO-KNUMV in the field KONV-KNUMV.

2. You need to customize (M/06) a new condition type ,for example new condition type as ZTAX where you can have all tax value that will flow from Tax procedure to MM pricing procedure. You can have following vital parameter for customize a condition type ZTAX

Cond. Class: D,Calculat.type: B and Cond.category: N

AND

Keep BLANK access sequence filed & make it as item condition and then add this condition type in MM pricing procedure (M/08) with a logic just before calculation of TOTAL price.

Now do create new PO with all taxes and now you can view/check ,all tax amount appear in condition type ZTAX in PO Condition TAB( which flow from tax procedure to MM pricing procedure with your customize  condition type ZTAX)

Regards,

Biju K

kailas_ugale
Active Contributor
0 Kudos

HI,

Dear friend I am sorry I am not getting 200 logic its total tax amount from tax procedure or from po pricing procedure

as you wrote its new condition ,so you have to take help of your ABAP consultant have to add this condition in Logic of PO print form in NCAE

In table for Po number  EKKO , take the field EKKO-KNUMV (doc condition) , Pass this field to KONP table and table KONV table, in KONV you will get the itemwise details of Conditions maintained in PO.

Kailas Ugale