Hello Friends,
I am using VBRK,VBRP TABLES . i want the to include CST/RST/VAT Rate (%age) as well as Amount
I am also using KONV-KSCHL FIELD (CONDITION TYPE) , BUT I am not getting exactly differentiate
between CST/RST/VAT RATE AND AMOUNT. can Anybody let me know where can i find the details
of these fields in any table or T.code and condition types.
<REMOVED BY MODERATOR>
Regards,
Kamal
Edited by: Alvaro Tejada Galindo on Apr 8, 2008 1:14 PM
Hi,
try this
select single * from ekko where ebeln = vdtl-ebeln_i and bukrs = 'TAFE'. select single * from ekpo where ebeln = vdtl-ebeln_i and ebelp = vdtl-ebelp_i. move-corresponding ekko to taxcom. move-corresponding ekpo to taxcom. move ekko-bedat to taxcom-budat. move ekpo-ebelp to taxcom-kposn. if ekko-bstyp eq 'F'. "PURCHASE ORDER move ekpo-netwr to taxcom-wrbtr . move ekpo-menge to taxcom-mglme. * MOVE ekpo-menge TO itab_291-menge_i. elseif ekko-bstyp eq 'L'. "SCHEDULE AGGREEMENT move ekpo-zwert to taxcom-wrbtr . move ekpo-ktmng to taxcom-mglme. * MOVE ekpo-ktmng TO itab_291-menge_i. endif. taxcom-shkzg = 'H'. taxcom-xmwst = 'X'. call function 'CALCULATE_TAX_ITEM' exporting * ANZAHLUNG = ' ' dialog = ' ' display_only = 'X' * INKLUSIVE = ' ' * I_ANWTYP = ' ' * I_DMBTR = '0' * I_MWSTS = '0' i_taxcom = taxcom * PRUEFEN = ' ' * RESET = ' ' * IMPORTING * E_NAVFW = * E_TAXCOM = * E_XSTVR = * NAV_ANTEIL = tables t_xkomv = itab1 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.
<REMOVED BY MODERATOR>
Edited by: Alvaro Tejada Galindo on Apr 8, 2008 1:15 PM
hi kamal,
for VAT condition type is JIN7
and for CST it is JIN9
Rate will be at what % it is and amount will be corresponding to that %
In KONV ...KWERT will be the amount and KBETR will give u the rate...just c if it helps
hi kamal..just go through the following..u will get most of the conditions type that u may desire
*Pkg charge
t_komv-kwert = 0. d_pac = 0.
loop at t_komv where kschl = 'ZPKG'.
d_pac = d_pac + t_komv-kwert.
endloop.
*Forwarding Chage
t_komv-kwert = 0. d_forward = 0.
loop at t_komv where kschl = 'ZFOR'.
d_forward = d_forward + t_komv-kwert.
endloop.
*Freight Charge Local and Distant
t_komv-kwert = 0. d_freight = 0.
loop at t_komv where kschl = 'ZF00'.
d_freight = d_freight + t_komv-kwert.
endloop.
loop at t_komv where kschl = 'KF00'.
d_freight = d_freight + t_komv-kwert.
endloop.
*Taxable turnover
t_komv-kwert = 0.
loop at t_vbrp.
d_tot = d_tot + t_vbrp-kzwi3.
endloop.
**Sales Tax Charge CST or ST
*t_komv-kwert = 0. D_STAX = 0.
*LOOP AT T_KOMV WHERE KSCHL = 'JIN1'.
*D_STAX = D_STAX + T_KOMV-KWERT.
*READ TABLE T_KONP WITH KEY KNUMH = T_KOMV-KNUMH KSCHL = 'JIN1'.
*s_tax = t_konp-kbetr.
*ENDLOOP.
*LOOP AT T_KOMV WHERE KSCHL = 'JIN2'.
*D_STAX = D_STAX + T_KOMV-KWERT.
*READ TABLE T_KONP WITH KEY KNUMH = T_KOMV-KNUMH KSCHL = 'JIN2'.
*s_tax = t_konp-kbetr.
*ENDLOOP.
***For Surcharges
*t_komv-kwert = 0. D_SURC = 0.
*LOOP AT T_KOMV WHERE KSCHL = 'JIN4'.
*D_SURC = D_SURC + T_KOMV-KWERT.
*READ TABLE T_KONP WITH KEY KNUMH = T_KOMV-KNUMH KSCHL = 'JIN4'.
*surc = t_konp-kbetr.
*ENDLOOP.
*LOOP AT T_KOMV WHERE KSCHL = 'JIN5'.
*D_SURC = D_SURC + T_KOMV-KWERT.
*READ TABLE T_KONP WITH KEY KNUMH = T_KOMV-KNUMH KSCHL = 'JIN5'.
*surc = t_konp-kbetr.
*ENDLOOP.
*VAT Tax Charge CST or VAT
t_komv-kwert = 0. d_stax = 0.
loop at t_komv where kschl = 'JIN7'.
d_stax = d_stax + t_komv-kwert.
read table t_konp with key knumh = t_komv-knumh kschl = 'JIN7'.
s_tax = t_konp-kbetr.
endloop.
loop at t_komv where kschl = 'JIN9'.
d_stax = d_stax + t_komv-kwert.
read table t_konp with key knumh = t_komv-knumh kschl = 'JIN9'.
s_tax = t_konp-kbetr.
endloop.
*break-point.
*+RB20080401 Begin : Start of Changes for Additional Tax
loop at t_komv where kschl = 'JIA1'.
d_add = d_add + t_komv-kwert.
read table t_konp with key knumh = t_komv-knumh kschl = 'JIA1'.
d_add1 = t_konp-kbetr.
endloop.
*+RB20080401 End : Start of Changes for Additional Tax
*Octroi
t_komv-kwert = 0. d_oct = 0.
loop at t_komv where kschl = 'JOC2'.
d_oct = d_oct + t_komv-kwert.
endloop.
*Rounded
t_komv-kwert = 0. d_round = 0.
loop at t_komv where kschl = 'DIFF'.
d_round = d_round + t_komv-kwert.
endloop.
Total + Pkg.
d_pluspac = d_total + d_pac.
+ Forwarding
d_plusfor = d_pluspac + d_forward.
+ Freight
d_plusfreight = d_plusfor + d_freight.
+ Taxable Tunrover
d_plustot = d_plusfreight. " + d_tot.
+ Sales tax
d_plusstax = d_plustot + d_stax.
*+RB20080401 Begin : Start of Changes for Additional Tax
*Additonal Tax
IF D_REGION EQ '06' AND D_PLANT EQ '100'.
d_plusatax = d_plusstax + d_add.
+ Surcharge
*d_plussurc = d_plusstax + d_surc.
+ Octroi
*d_plusoct = d_plussurc + d_oct.
Rounding off.
*d_plusrd = d_plusoct + d_round.
+ Octroi
d_plusoct = d_plusatax + d_oct.
Rounding off.
d_plusrd = d_plusoct + d_round.
ELSE.
+ Surcharge
d_plussurc = d_plusstax + d_surc.
+ Octroi
d_plusoct = d_plussurc + d_oct.
Rounding off.
d_plusrd = d_plusoct + d_round.
ENDIF.
*+RB20080401 End : Start of Changes for Additional Tax
d_finaltot = d_plusrd.
**To find % of Tax.
taxes = s_tax / 10.
surtax = surc / 10.
*+RB20080401 Begin : Start of Changes for Additional Tax
taxes1 = d_add1 / 10.
*+RB20080401 End : Start of Changes for Additional Tax
Hi Kamal,
Plz close this thread if u have found out u r solution..else if u need anything more,just put it here
Add a comment