PRICING PROCEDURE-CALCULATION SCHEMA
Dear All,
There are some queries regarding pricing procedure calculation schema.Please help me out:
1) What is the use of the "Requirement" column in calculation schema in real time scenario?
2) What is meant by "Alternative calculation type" and "Alternative base value" column?What is its use in real time scenario?
3) In the Print column if we place "X",it says "Printing at item level (previous procedure)".What does this actually means?
4) What is the use of "Accurals" and what effect does it have in the pricing procedure and pricing calculation?
For all the above queries some real time scenario example willbe highly appreciable.
Regards,
Indranil
1) What is the use of the "Requirement" column in calculation schema in real time scenario?
Requirement
Use
If the requirement is fulfilled (SY-SUBRC = 0), then output
determination also takes into consideration output type or the access
sequence, for which the requirement has been specified.
Examples
A possible requirement would be, for example, that a difference shoul
be made between document currency and local currency .
Definition
Number of a subroutine (= form routine), that checks a requirement at a
specific time.
Use
The standard SAP system contains some standard routines for checking
requirements when copying. You can also define your own routines
according to the needs of your company.
Example
If you copy a quotation to a sales order, the system can check every
quotation item to ensure that the customer had not rejected them for any
reason.
2) What is meant by "Alternative calculation type" and "Alternative base value" column?What is its use in real time scenario?
If you are using any Formula to Derive the Condition Type then you can use Alternative formula to the formula in the standard system that
determines a condition.
Alternative formula for condition base value
Formula for determining the condition basis as an alternative to t
standard.
Example
An absolute header discount is, for example, distributed in the st
system according to the cumulative value of the items.
If the system, however, distributes the absolute header discount
according to volume, a header discount of $30 results in the follo
discounts:
Item Value Volume Discount
Stand. disc. Volume disc.
1 $1000 2 cbm $20 $10
2 $500 4 cbm $10 $20
3) In the Print column if we place "X",it says "Printing at item level (previous procedure)".What does this actually means?
If you Put 'X" , it will be shown in the Print Output..
Print ID for condition lines
Controls issue of condition lines when printing documents such as order
confirmations or invoices.
Use
In releases previous to 4.0, the following print indicators are
available :
o ' ' : Condition line is not printed
o 'X' : Condition line is printed at item level
o 'S' : Condition line is printed in totals block
The following standard logic is set out for these printing indicators:
Similar Messages
-
Problem in pricing procedure calculation
Hi,
I configure pricing procedure and it works in the regular sales order are 1100/20/20 correctly and shows the correct calculation but in the third party sales order, I use the same pricing procedure in the sales area 1100/50/20 and the system shows the net value but it does not calculate total price and total price is zero.
So I want to know that sales area and item category has relation with pricing procedure or not?
and How I can fix it?
thaks,Hi,
There is no direct link between Sales area and item category.
You must be knowing that pricing proc. is determined by Sales Area + Cust. pricing proc + Doc. pricing proc.
So, kindly check in OVKK if the correct pricing proc. is maintained or not.
Then, check in VK12 / VK13 for your condition type if you have entered correct organizational elements like sales org / distribution channel
Kindly check this and post your feedback
regards,
Sagar -
Pricing Procedure calculation for Net value
Hi Gurus,
I have issue with pricing procedure for net price.
My pricing procedure is as follows.
Step Cond.type from to Subtotal req.type cal.type Basetype
10 CPLF 0 0 0 0 0
20 CA 0 0 0 0 0
30 CPY 0 0 0 0 0
40 CWE 0 0 0 0 0
50 CPY1 30 40 0 601 0
60 PCP 0 0 0 0 0
70 NCC 50 60 0 0 0 0
80 Subtotal 1 70 1
90 VC 0 0 0 0 0
110 FPA 0 0 0 600 0
150 INCR 0 0 0 0 0
160 BINC 0 0 0 0 0
170 PINC 0 0 0 0 0
180 CINC 0 0 0 602 0
190 PRIN 0 0 0 0 0
200 FINC
210 Subtotal 2 200 2 0 0
220 ADT 0 0 0 0 0
230 FTAX 0 0 0 603 0
240 Subtotal 3 210 3 0 0
My query is when i am doing pricing for line items
1) For line item 1 net value of the item will be subtotal 1
2) For line item 2 Net value should be through condition type calculation.
3) For line item 3 net value should be through calculation of routine
4) For line item 4 net value should be Subtotal 2
5) For line item 5 net value should be Subtotal 3
So please tell me who to do?
regards
SrinivasHi,
Can you please explain what type of pricing you want to for your sales order.
I am confused with your line items.
Can you explain what kind lines item you are entering in your sales order.
Are they proper material for which you have maintained condition record in MM01.
Because for all the line item system will calculate price by the pricing procedure which you have shown.
So in short system will calculate different price for different line item.
After calculating the whole price it will make the total of net amount of all the line item.
And that net amount will be shown in the header data of the sales order.
Regards
Raj. -
Function module to pricing procedure calculation
hi,
I want to know whether any function modules available to get as I see in Invoice ->
select item level conditions.
Where i can see the basic price ,discount, etc as defined in the corresponding pricing procedure.
i have tried with
RV_INVOICE_PRICE_PBO
PRICING_SUBSCREEN_SET_DATA
here i get only the records which have condition type,
similarly for P.O. we have
ME_SWP_SIC_GET_PRICING_INFO
regards,
Prabhu
Points assured.REPORT zmm_pvr.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TYPE-POOLS *
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TYPE-POOLS slis.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TABLES *
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TABLES: mara, " General Material Data
marc, " Plant Data for Material
ekko, " Purchasing Document Header
ekpo, " Purchasing Document Item
lfa1, " Vendor Master (General Section)
konv, " Conditions (Transaction Data)
mbew, " Material Valuation
makt. " Material Descriptions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DATA DECLARATION *
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DATA: BEGIN OF i_mat OCCURS 1,
matnr LIKE mara-matnr,
mtart LIKE mara-mtart,
werks LIKE marc-werks,
abcin LIKE marc-abcin,
END OF i_mat.
DATA: BEGIN OF itab OCCURS 1,
ebeln LIKE ekko-ebeln,
bedat LIKE ekko-bedat,
lifnr LIKE ekko-lifnr,
waers LIKE ekko-waers,
bukrs LIKE ekko-bukrs,
ekorg LIKE ekko-ekorg,
name1 LIKE lfa1-name1,
werks LIKE ekpo-werks,
menge LIKE ekpo-menge,
meins LIKE ekpo-meins,
netpr LIKE ekpo-netpr,
netwr LIKE ekpo-netwr,
menge1(16),
netpr1(16),
menge2 TYPE string,
netpr2 TYPE string,
lrate TYPE p DECIMALS 2,
stax LIKE ekpo-netwr,
exbed LIKE ekpo-netwr,
dcost LIKE konv-kwert,
nomvl LIKE ekpo-netwr,
nomrt LIKE ekpo-netwr,
zplp1 LIKE mbew-zplp1,
verpr LIKE mbew-verpr,
bgval LIKE ekpo-netwr,
varnc LIKE ekpo-netwr,
maktx LIKE makt-maktx,
knumv LIKE ekko-knumv,
ebelp LIKE ekpo-ebelp,
matnr LIKE ekpo-matnr,
matkl LIKE ekpo-matkl,
mtart LIKE ekpo-mtart,
bprme LIKE ekpo-bprme,
txz01 LIKE ekpo-txz01,
mwskz LIKE ekpo-mwskz,
prdat LIKE ekpo-prdat,
END OF itab.
DATA: wtab LIKE itab.
DATA: v_steuc TYPE marc-steuc.
DATA: v_brsch TYPE lfa1-brsch.
DATA: wa_komk TYPE komk.
DATA: wa_komp TYPE komp.
DATA: it_komv TYPE TABLE OF komv.
DATA: wa_komv TYPE komv.
DATA : wa_fieldcat TYPE slis_fieldcat_alv,
gt_fieldcat TYPE slis_t_fieldcat_alv,
wa_layout TYPE slis_layout_alv,
lt_sort TYPE slis_t_sortinfo_alv,
i LIKE sy-tabix.
DATA: gt_events TYPE slis_t_event.
DATA: gd_prntparams TYPE slis_print_alv.
DATA: it_color TYPE slis_t_specialcol_alv.
DATA: wa_color TYPE slis_specialcol_alv.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Begin Of Selection Screen *
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SELECTION-SCREEN BEGIN OF BLOCK pas WITH FRAME TITLE text-001.
SELECT-OPTIONS s_matnr FOR ekpo-matnr.
SELECT-OPTIONS s_werks FOR ekpo-werks.
SELECT-OPTIONS s_bedat FOR ekko-bedat.
PARAMETERS p_abcin LIKE marc-abcin OBLIGATORY.
SELECTION-SCREEN END OF BLOCK pas.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
INITIALIZATION *
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
INITIALIZATION.
IF sy-datum+4(2) GE 4.
s_bedat-low+6(2) = 01.
s_bedat-low+4(2) = 04.
s_bedat-low(4) = sy-datum(4).
ENDIF.
IF sy-datum+4(2) LT 4.
s_bedat-low+6(2) = 01.
s_bedat-low+4(2) = 04.
s_bedat-low(4) = sy-datum(4) - 1.
ENDIF.
s_bedat-high = sy-datum.
APPEND s_bedat.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AT Selection Screen Output *
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AT SELECTION-SCREEN.
Check for Material Type
SELECT amatnr amtart bwerks babcin INTO CORRESPONDING FIELDS OF TABLE i_mat
FROM mara AS a INNER JOIN marc AS b
ON amatnr = bmatnr
WHERE a~matnr IN s_matnr
AND ( amtart = 'IRAM' OR amtart = 'IPAM' OR amtart = 'PRAM' OR amtart = 'PPAM' )
AND b~werks IN s_werks
AND b~abcin = p_abcin.
SORT i_mat BY matnr werks.
CHECK NOT i_mat[] IS INITIAL.
READ TABLE i_mat INDEX 1.
IF sy-subrc <> 0.
MESSAGE e006(zmm).
LEAVE LIST-PROCESSING.
ENDIF.
Check for Date
IF ( s_bedat-low IS INITIAL AND s_bedat-high IS INITIAL ).
s_bedat-sign = 'I'.
s_bedat-option = 'BT'.
IF sy-datum+4(2) GE 4.
s_bedat-low+6(2) = 01.
s_bedat-low+4(2) = 04.
s_bedat-low(4) = sy-datum(4).
ENDIF.
IF sy-datum+4(2) LT 4.
s_bedat-low+6(2) = 01.
s_bedat-low+4(2) = 04.
s_bedat-low(4) = sy-datum(4) - 1.
ENDIF.
s_bedat-high = sy-datum.
ELSEIF ( s_bedat-low IS NOT INITIAL AND s_bedat-high IS INITIAL ).
s_bedat-low6(2) = s_bedat-low6(2).
s_bedat-low4(2) = s_bedat-low4(2).
s_bedat-low(4) = s_bedat-low(4).
ELSEIF ( s_bedat-low IS NOT INITIAL AND s_bedat-high IS NOT INITIAL ).
s_bedat-sign = 'I'.
s_bedat-option = 'BT'.
s_bedat-low6(2) = s_bedat-low6(2).
s_bedat-low4(2) = s_bedat-low4(2).
s_bedat-low(4) = s_bedat-low(4).
s_bedat-high6(2) = s_bedat-high6(2).
s_bedat-high4(2) = s_bedat-high4(2).
s_bedat-high(4) = s_bedat-high(4).
ENDIF.
APPEND s_bedat.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
START OF SELECTION *
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
START-OF-SELECTION.
*----- Get all PO for given selection criteria.
LOOP AT i_mat.
SELECT
aebeln abedat alifnr aknumv awaers abukrs a~ekorg
bebelp bmatnr bmatkl bnetpr bbprme btxz01 bwerks bmenge bmeins bnetwr bmtart bmwskz b~prdat
FROM ( ekko AS a INNER JOIN ekpo AS b ON amandt = bmandt AND aebeln = bebeln )
INTO CORRESPONDING FIELDS OF TABLE itab
FOR ALL ENTRIES IN i_mat
WHERE a~bedat IN s_bedat
AND a~loekz = ''
AND b~matnr = i_mat-matnr
AND b~werks = i_mat-werks
AND b~loekz = ''
AND b~pstyp = '0'
AND b~bstyp = 'F'
AND b~knttp = ''.
ENDLOOP. " END OF i_mat
CHECK NOT itab[] IS INITIAL.
SORT itab BY ebeln ebelp.
*----- Calculating The DCOST -- Delivery Cost
DATA: BEGIN OF i_konv OCCURS 0,
knumv LIKE konv-knumv,
kposn LIKE konv-kposn,
stunr LIKE konv-stunr,
zaehk LIKE konv-zaehk,
kschl LIKE konv-kschl,
kbetr LIKE konv-kbetr,
kwert LIKE konv-kwert,
END OF i_konv.
SELECT knumv kposn stunr zaehk kschl kbetr kwert
FROM konv
INTO CORRESPONDING FIELDS OF TABLE i_konv
FOR ALL ENTRIES IN itab
WHERE knumv = itab-knumv
AND kposn = itab-ebelp
AND ( kschl = 'ZFC3' OR kschl = 'ZQIQ'
OR kschl = 'ZQIV' OR kschl = 'ZFA3'
OR kschl = 'ZFB3' OR kschl = 'ZPF2'
OR kschl = 'ZPQ2' OR kschl = 'ZPV2'
OR kschl = 'ZOCP' OR kschl = 'ZOCQ'
OR kschl = 'ZOCV' OR kschl = 'ZMT1'
OR kschl = 'ZIN2' OR kschl = 'ZIQ2'
OR kschl = 'ZIV2' OR kschl = 'ZBK1'
OR kschl = 'ZBKQ' OR kschl = 'ZBKV' ).
SORT i_konv BY knumv kposn stunr zaehk kschl .
DELETE ADJACENT DUPLICATES FROM i_konv.
DELETE i_konv WHERE kbetr = 0.
DATA: BEGIN OF i_knumv OCCURS 0,
knumv LIKE konv-knumv,
kwert LIKE konv-kwert,
END OF i_knumv.
LOOP AT i_konv.
MOVE i_konv-knumv TO i_knumv-knumv.
MOVE i_konv-kwert TO i_knumv-kwert.
COLLECT i_knumv.
ENDLOOP.
CLEAR i_konv.
CLEAR i_knumv.
LOOP AT itab INTO wtab.
READ TABLE i_knumv WITH KEY knumv = wtab-knumv.
IF sy-subrc = 0.
wtab-dcost = i_knumv-kwert.
MODIFY itab FROM wtab.
ENDIF.
ENDLOOP.
CLEAR i_knumv.
CLEAR itab.
*----- Get the vendor name.
LOOP AT itab.
SELECT SINGLE name1 FROM lfa1 INTO itab-name1
WHERE lifnr = itab-lifnr.
MODIFY itab INDEX sy-tabix TRANSPORTING name1.
ENDLOOP.
*----- Calculate Excise Duty, Educat. cess, Sec edu. cess, sales tax
CLEAR: wa_komk, wa_komp.
Selecting The Value Of STEUC (Controlling Code)
CLEAR itab.
LOOP AT itab.
SELECT SINGLE steuc
FROM marc
INTO v_steuc
WHERE matnr = itab-matnr
AND werks = itab-werks.
Selecting The Value Of BRSCH (Industry key)
SELECT SINGLE brsch
FROM lfa1
INTO v_brsch
WHERE lifnr = itab-lifnr.
Filling KOMK (Header Structure)
wa_komk-kappl = 'TX'.
wa_komk-kalsm = 'TAXINN'.
wa_komk-lifnr = itab-lifnr.
wa_komk-waerk = itab-waers.
wa_komk-aland = 'IN'.
wa_komk-hwaer = 'INR'.
wa_komk-bukrs = itab-bukrs.
wa_komk-brsch = v_brsch.
wa_komk-prsdt = itab-bedat.
wa_komk-ekorg = itab-ekorg.
wa_komk-mwskz = itab-mwskz.
Filling KOMP (Details Structure)
wa_komp-kposn = itab-ebelp.
wa_komp-matnr = itab-matnr.
wa_komp-werks = itab-werks.
wa_komp-matkl = itab-matkl.
wa_komp-meins = itab-meins.
wa_komp-vrkme = itab-bprme.
wa_komp-netwr = itab-netwr.
wa_komp-wrbtr = itab-netwr.
wa_komp-mwskz = itab-mwskz.
wa_komp-netpr = itab-netpr.
wa_komp-mtart = itab-mtart.
wa_komp-kursk_dat = itab-prdat.
wa_komp-steuc = v_steuc.
wa_komp-mgame = itab-menge.
wa_komp-mglme = itab-menge.
FREE it_komv.
Calling The Pricing Function To Get GR EXCISE, GR ECES, GR VAT/CST
CALL FUNCTION 'PRICING'
EXPORTING
calculation_type = 'B'
comm_head_i = wa_komk
comm_item_i = wa_komp
TABLES
tkomv = it_komv.
Calculating The Excise --excise duty
DATA: l_kbetr TYPE komv-kbetr.
DATA: l_gr_excise TYPE ekpo-brtwr.
DATA: l_basic_gr_val TYPE ekpo-netpr.
l_basic_gr_val = itab-netwr.
CLEAR: l_kbetr, l_gr_excise.
LOOP AT it_komv INTO wa_komv WHERE kschl = 'JMOP'
OR kschl = 'JAOP'
OR kschl = 'JMIP'
OR kschl = 'JAOQ'.
l_kbetr = ( wa_komv-kbetr / 10 ).
l_gr_excise = ( l_kbetr * l_basic_gr_val ) / 100.
ENDLOOP.
LOOP AT it_komv INTO wa_komv WHERE kschl = 'JAIP'
OR kschl = 'JAIQ'
OR kschl = 'JMIQ'
OR kschl = 'JMOQ'.
l_gr_excise = ( wa_komv-kbetr * l_basic_gr_val ).
ENDLOOP.
Calculating The ECES -- Educational Cess
DATA l_gr_eces TYPE ekpo-netpr.
CLEAR: l_kbetr, l_gr_eces.
LOOP AT it_komv INTO wa_komv WHERE kschl = 'ZECE'
OR kschl = 'ZECN'.
l_kbetr = ( wa_komv-kbetr / 10 ).
l_gr_eces = ( l_kbetr * l_gr_excise ) / 100.
ENDLOOP.
Calculating The SECES -- Sec. Educational Cess
DATA l_gr_secs TYPE ekpo-netpr.
CLEAR: l_kbetr, l_gr_secs.
LOOP AT it_komv INTO wa_komv WHERE kschl = 'JSEP'
OR kschl = 'JSEI'.
l_kbetr = ( wa_komv-kbetr / 10 ).
l_gr_secs = ( l_kbetr * l_gr_excise ) / 100.
ENDLOOP.
Calculating The VAT/CST --Sales Tax
DATA l_gr_vatcst TYPE ekpo-netpr.
CLEAR: l_kbetr, l_gr_vatcst.
LOOP AT it_komv INTO wa_komv WHERE kschl = 'JVRN'
OR kschl = 'JVRD'
OR kschl = 'JVCS'
OR kschl = 'JVCD'
OR kschl = 'JVCN'
OR kschl = 'JIPS'
OR kschl = 'JIPC'
OR kschl = 'JIPL'.
l_kbetr = ( wa_komv-kbetr / 10 ).
l_gr_vatcst = ( ( l_basic_gr_val + l_gr_excise + l_gr_eces + l_gr_secs ) * l_kbetr ) / 100.
ENDLOOP.
Calculating The NOMVL & NOMVR -- NOM Value (Setoff / Inventory ) & NOM Rate
DATA: l_netpr TYPE ekpo-netpr,
l_menge TYPE ekpo-menge,
l_dcost TYPE ekpo-netwr,
l_nomvl TYPE ekpo-netwr,
l_nomrt TYPE ekpo-netwr.
l_netpr = itab-netpr.
l_menge = itab-menge.
l_dcost = itab-dcost.
CLEAR: l_nomvl, l_nomrt.
LOOP AT it_komv INTO wa_komv WHERE kschl = 'JMOP' "------setoff
OR kschl = 'ZECE'
OR kschl = 'JSEP'.
l_nomvl = ( l_netpr * l_menge ) + l_gr_vatcst + l_dcost - ( l_gr_excise + l_gr_eces + l_gr_secs ).
l_nomrt = l_nomvl / l_menge.
ENDLOOP.
LOOP AT it_komv INTO wa_komv WHERE kschl = 'JMIP' "-------inventory
OR kschl = 'ZECN'
OR kschl = 'JSEI'.
l_nomvl = ( l_netpr * l_menge ) + l_gr_vatcst + l_dcost.
l_nomrt = l_nomvl / l_menge.
ENDLOOP.
itab-exbed = l_gr_excise + l_gr_eces + l_gr_secs.
itab-stax = l_gr_vatcst.
itab-nomvl = l_nomvl.
itab-nomrt = l_nomrt.
MODIFY itab .
CLEAR itab.
ENDLOOP. " end of itab
LOOP AT itab WHERE exbed = 0.
itab-nomvl = ( itab-netpr * itab-menge ) + itab-stax + itab-dcost.
itab-nomrt = itab-nomvl / itab-menge.
MODIFY itab INDEX sy-tabix TRANSPORTING nomvl nomrt.
ENDLOOP.
*----- Calculating The Budget Rate, Moving Average Price, Landed Rate & Material Description
DATA: verp(15).
DATA: matdes(40).
LOOP AT itab.
SELECT SINGLE zplp1 FROM mbew INTO itab-zplp1
WHERE matnr = itab-matnr AND bwkey = itab-werks.
SELECT SINGLE verpr FROM mbew INTO itab-verpr
WHERE matnr = itab-matnr AND bwkey = itab-werks.
itab-lrate = itab-netwr / itab-menge.
SELECT SINGLE maktx FROM makt INTO itab-maktx
WHERE matnr = itab-matnr AND spras = 'EN'.
MODIFY itab INDEX sy-tabix TRANSPORTING zplp1 verpr lrate maktx.
verp = itab-verpr.
matdes = itab-maktx.
ENDLOOP.
*----- Calculating The Budget Value & Variance
LOOP AT itab.
itab-bgval = itab-zplp1 * itab-menge.
itab-varnc = itab-bgval - itab-nomvl.
MODIFY itab INDEX sy-tabix TRANSPORTING bgval varnc.
ENDLOOP.
*------ Calculating Total of Quantity
DATA: BEGIN OF i_quan OCCURS 1,
quant LIKE ekpo-menge,
unit LIKE ekpo-meins,
nomvl LIKE ekpo-netwr,
curr LIKE ekko-waers,
varnc LIKE ekpo-netwr,
bgval LIKE ekpo-netwr,
END OF i_quan.
LOOP AT itab.
MOVE itab-menge TO i_quan-quant.
MOVE itab-meins TO i_quan-unit.
MOVE itab-nomvl TO i_quan-nomvl.
MOVE itab-waers TO i_quan-curr.
MOVE itab-varnc TO i_quan-varnc.
MOVE itab-bgval TO i_quan-bgval.
COLLECT i_quan.
ENDLOOP.
CLEAR itab.
CLEAR i_quan.
DATA: qty(15).
DATA: unt(3).
DATA: wtd TYPE p DECIMALS 2.
DATA: wtd2(15).
DATA: cur(3).
DATA: var(15).
DATA: nomvl(15).
DATA: bgval(15).
DATA: bgv TYPE p DECIMALS 2.
DATA: bgv2(15).
LOOP AT i_quan.
qty = i_quan-quant.
unt = i_quan-unit.
cur = i_quan-curr.
var = i_quan-varnc.
bgval = i_quan-bgval.
nomvl = i_quan-nomvl.
wtd = nomvl / qty.
bgv = bgval / qty.
ENDLOOP.
CLEAR i_quan.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DATA DISPLAY *
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
wa_fieldcat-fieldname = 'EBELN'.
wa_fieldcat-seltext_l = 'Purchase Order'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 1.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-fieldname = 'BEDAT'.
wa_fieldcat-seltext_l = 'PO Date'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 2.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-fieldname = 'NAME1'.
wa_fieldcat-seltext_l = 'Vendor Name'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 3.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-fieldname = 'WERKS'.
wa_fieldcat-seltext_l = 'Plant'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 4.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-fieldname = 'MENGE2'.
wa_fieldcat-fieldname = 'MENGE'.
wa_fieldcat-seltext_l = 'Quantity'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 5.
wa_fieldcat-do_sum = 'X'.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-fieldname = 'NETPR2'.
wa_fieldcat-fieldname = 'NETPR'.
wa_fieldcat-seltext_l = 'Basic Rate'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 6.
wa_fieldcat-do_sum = ' '.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-fieldname = 'EXBED'.
wa_fieldcat-seltext_l = 'Excise'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 7.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-fieldname = 'STAX'.
wa_fieldcat-seltext_l = 'Sale Tax'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 7.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-fieldname = 'DCOST'.
wa_fieldcat-seltext_l = 'Delivery Cost'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 8.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-fieldname = 'NETWR'.
wa_fieldcat-seltext_l = 'Landed Value'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 9.
wa_fieldcat-do_sum = 'X'.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-fieldname = 'LRATE'.
wa_fieldcat-seltext_l = 'Landed Rate'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 10.
wa_fieldcat-do_sum = ' '.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-fieldname = 'NOMVL'.
wa_fieldcat-seltext_l = 'NOM Value'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 12.
wa_fieldcat-do_sum = 'X'.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-fieldname = 'NOMRT'.
wa_fieldcat-seltext_l = 'NOM Rate'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 13.
wa_fieldcat-do_sum = ' '.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-fieldname = 'BGVAL'.
wa_fieldcat-seltext_l = 'Budget Value'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 11.
wa_fieldcat-do_sum = 'X'.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-fieldname = 'ZPLP1'.
wa_fieldcat-seltext_l = 'Budget Rate'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 12.
wa_fieldcat-do_sum = ' '.
APPEND wa_fieldcat TO gt_fieldcat.
wa_fieldcat-fieldname = 'VARNC'.
wa_fieldcat-seltext_l = 'Variance'.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = 13.
wa_fieldcat-do_sum = 'X'.
APPEND wa_fieldcat TO gt_fieldcat.
wa_layout-colwidth_optimize = 'X'.
wa_layout-zebra = ' '.
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = gt_events[].
READ TABLE gt_events WITH KEY name = slis_ev_end_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE 'END_OF_PAGE' TO ls_event-form.
APPEND ls_event TO gt_events.
ENDIF.
READ TABLE gt_events WITH KEY name = slis_ev_end_of_list
INTO ls_event.
IF sy-subrc = 0.
MOVE 'END_OF_LIST' TO ls_event-form.
APPEND ls_event TO gt_events.
ENDIF.
gd_prntparams-reserve_lines = '7'. "Lines reserved for footer
gd_prntparams-no_coverpage = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = sy-repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
i_callback_top_of_page = 'TOP-OF-PAGE'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
i_callback_html_end_of_list = 'END_OF_LIST_HTML'
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
is_layout = wa_layout
it_fieldcat = gt_fieldcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
i_default = 'X'
i_save = 'X'
IS_VARIANT =
it_events = gt_events
IT_EVENT_EXIT =
is_print = gd_prntparams
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = itab
EXCEPTIONS
program_error = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*& Form top-of-page
text
--> p1 text
<-- p2 text
FORM top-of-page .
ALV Header Declarations
DATA: t_header TYPE slis_t_listheader,
wa_header TYPE slis_listheader,
wa_header1 TYPE slis_listheader,
wa_header2 TYPE slis_listheader,
wa_header3 TYPE slis_listheader,
wa_header4 TYPE slis_listheader.
Title
wa_header-typ = 'H'.
wa_header-info = 'Purchase Variance Report'.
APPEND wa_header TO t_header.
CLEAR wa_header.
Material
SHIFT p_matnr LEFT DELETING LEADING '0'.
wa_header1-typ = 'S'.
wa_header1-info = ' '.
CONCATENATE 'Material : ' p_matnr matdes INTO wa_header1-info SEPARATED BY space.
APPEND wa_header1 TO t_header.
CLEAR wa_header1.
Plant
IF ( s_werks-low IS NOT INITIAL AND s_werks-high IS NOT INITIAL ).
wa_header2-typ = 'S'.
wa_header2-info = ' '.
CONCATENATE 'Plant : ' s_werks-low 'to' s_werks-high INTO wa_header2-info SEPARATED BY space.
APPEND wa_header2 TO t_header.
CLEAR wa_header2.
ELSEIF ( s_werks-low IS NOT INITIAL AND s_werks-high IS INITIAL ).
wa_header2-typ = 'S'.
wa_header2-info = ' '.
CONCATENATE 'Plant : ' s_werks-low INTO wa_header2-info SEPARATED BY space.
APPEND wa_header2 TO t_header.
CLEAR wa_header2.
ELSEIF ( s_werks-low IS INITIAL AND s_werks-high IS INITIAL ).
EXIT.
ENDIF.
Period
IF ( s_bedat-low IS NOT INITIAL AND s_bedat-high IS INITIAL ).
wa_header4-typ = 'S'.
wa_header4-info = ' '.
CONCATENATE 'Period : '
s_bedat-low+6(2) '.'
s_bedat-low+4(2) '.'
s_bedat-low(4) INTO wa_header4-info SEPARATED BY space.
APPEND wa_header4 TO t_header.
CLEAR wa_header4.
ELSE.
IF ( s_bedat-low IS INITIAL AND s_bedat-high IS INITIAL ).
wa_header4-typ = 'S'.
wa_header4-info = ' '.
CONCATENATE 'Period : '
s_bedat-low+6(2) '.'
s_bedat-low+4(2) '.'
s_bedat-low(4)
'to'
s_bedat-high+6(2) '.'
s_bedat-high+4(2) '.'
s_bedat-high(4) INTO wa_header4-info SEPARATED BY space.
APPEND wa_header4 TO t_header.
CLEAR wa_header4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = t_header.
I_LOGO =
I_END_OF_LIST_GRID =
I_ALV_FORM =
ENDFORM. " top-of-page
*& Form end_of_list_html
output at the end of the list - not in printed output *
FORM end_of_list_html USING end TYPE REF TO cl_dd_document.
DATA: ls_text TYPE sdydo_text_element,
l_grid TYPE REF TO cl_gui_alv_grid,
f(14) TYPE c VALUE 'SET_ROW_HEIGHT'.
DATA: qty1 TYPE sdydo_text_element.
DATA: unt1 TYPE sdydo_text_element.
DATA: wtd1 TYPE sdydo_text_element.
DATA: cur1 TYPE sdydo_text_element.
DATA: var1 TYPE sdydo_text_element.
DATA: verp1 TYPE sdydo_text_element.
DATA: bgv1 TYPE sdydo_text_element.
qty1 = qty.
unt1 = unt.
wtd1 = wtd.
cur1 = cur.
var1 = var.
verp1 = verp.
bgv1 = bgv.
ls_text = 'SUMMARY'.
CALL METHOD end->add_text
EXPORTING
text = ls_text
sap_emphasis = 'strong'.
Total Qty Bought (start new line)
CALL METHOD end->new_line.
CALL METHOD end->add_text
EXPORTING
text = 'Total Qty Bought : '.
CALL METHOD end->add_text
EXPORTING
text = qty1.
CALL METHOD end->add_text
EXPORTING
text = unt1.
Wtd. Avg. Purchase Rate
CALL METHOD end->new_line.
CALL METHOD end->add_text
EXPORTING
text = 'Wtd. Avg. Purchase Rate : '.
CALL METHOD end->add_text
EXPORTING
text = cur1.
CALL METHOD end->add_text
EXPORTING
text = wtd1.
Wtd. Avg. Budget Rate
CALL METHOD end->new_line.
CALL METHOD end->add_text
EXPORTING
text = 'Wtd. Avg. Budget Rate : '.
CALL METHOD end->add_text
EXPORTING
text = cur1.
CALL METHOD end->add_text
EXPORTING
text = bgv1.
Gain / Loss
CALL METHOD end->new_line.
CALL METHOD end->add_text
EXPORTING
text = 'Gain / Loss : '.
CALL METHOD end->add_text
EXPORTING
text = cur1.
CALL METHOD end->add_text
EXPORTING
text = var1.
MAP ( Moving Average Price )
CALL METHOD end->new_line.
CALL METHOD end->add_text
EXPORTING
text = 'Mov Avg Price : '.
CALL METHOD end->add_text
EXPORTING
text = cur1.
CALL METHOD end->add_text
EXPORTING
text = verp1.
ENDFORM. "end_of_list_html.
*& Form END_OF_PAGE
FORM end_of_page.
DATA: listwidth TYPE i,
ld_pagepos(10) TYPE c,
ld_page(10) TYPE c.
wtd2 = wtd.
bgv2 = bgv.
CONDENSE qty.
CONDENSE unt.
CONDENSE wtd2.
CONDENSE bgv2.
CONDENSE var.
CONDENSE verp.
SKIP.
WRITE:/ 'SUMMARY:'.
write:/ sy-uline(7).
WRITE:/ 'Total Qty Bought : ', qty, unt.
WRITE:/ 'Wtd. Avg. Purchase Rate : ', wtd2, cur.
WRITE:/ 'Wtd. Avg. Budget Rate : ', bgv2, cur.
WRITE:/ 'Gain / Loss : ', var, cur.
WRITE:/ 'Mov Avg Price : ', verp, cur.
ENDFORM. "END_OF_PAGE
*& Form END_OF_LIST
FORM end_of_list.
DATA: listwidth TYPE i,
ld_pagepos(10) TYPE c,
ld_page(10) TYPE c.
wtd2 = wtd.
bgv2 = bgv.
CONDENSE qty.
CONDENSE unt.
CONDENSE wtd2.
CONDENSE bgv2.
CONDENSE var.
CONDENSE verp.
SKIP.
WRITE:/ 'SUMMARY:'.
write:/ sy-uline(7).
WRITE:/ 'Total Qty Bought : ', qty, unt.
WRITE:/ 'Wtd. Avg. Purchase Rate : ', wtd2, cur.
WRITE:/ 'Wtd. Avg. Budget Rate : ', bgv2, cur.
WRITE:/ 'Gain / Loss : ', var, cur.
WRITE:/ 'Mov Avg Price : ', verp, cur. -
Same Calculation Schema/Pricing Procedure- Same Vendor - Material & Service
Hi experts--
For subject matter(we are facing this issue in our organisation) I did my search and found the below threads but conversation did not provide what solution is to be implemented. Can someone help?
Currently we are using two unique vendor codes for tiding over our MM/SD problem even though vendor is same with same address,PAN & service tax registration.
We are a LSP and only recently went live on ECC 6.0 EnP4
warm regards--
A.VENKAT KRISHNAN
Same Calculation Schema/Pricing Procedure- Same Vendor - Material & Service
Posted: Aug 19, 2011 7:04 AM
Click to report abuse...
One vendor is providing service & material to the same Pur Org
Is it anyway to handle with only one vendor code for service & material procurement in same vendor account group with only one pricing procedure(calculation schema)?
Ramesh Babu Nag... [Active Contributor Silver: 500-1,499 points]
Posts: 535
Registered: 5/29/09
Forum Points: 1,380
Re: Same Calculation Schema/Pricing Procedure- Same Vendor - Material & Service
Posted: Aug 19, 2011 7:16 AM in response to: ARUL MURUGAN1 in response to: ARUL MURUGAN1
Yes, you can do it. There shouldn't be any issueHi,
Yes its possible.
you can use the same calculation schema for both so that with one vendor you can handle both material as well as service purchase.
Please revert if you face any difficulties.
Thanks & Regards, -
Pricing procedure mm Packing and forwarding to be calculated on Basic price
Hi experts
we are having one pricing procedure where in details are as follows.
basic price 100
excise 12.36
total 112.36
P & F 2 % 0n (112.36) 2.24
total 114.60
Vat 5 % 0n (114.60) 5.73
Grand total 120.33
Now we require new pricing procedure wherein Packing & forwarding to be calculated on basic price & not on basic + excise
so can we change in same pricing procedure or we have to create new ?
Can you elaborate with the configuration steps ? Any changes required in Tax procedure also or not ?
Thanks in advance
regardsHi,
No need you can add the condition type to the pricing procedure at spro--mm---purchasing--pricing procedure ---calculation schema with proper calculation to get the percentage on base price and add to the total .
Regards, -
Dear All,
Could anybody tel me what is the difference between pricing procedure in MM and pricing procedure in SD,
Also describe the config process for MM pricing if possibleSteps for MM Pricing Procedures
Pricing Procedure :
In MM module, pricing procedure is used during RFQ and PO creation. Total value of material based on all addition and subtraction like discount, surcharge, tax, freight, etc. In this we are defining pricing procedure and linking to vendor and purchase department through the virtual schemas.
Following steps for pricing procedure as,
1. Define conditions.
2. Define pricing procedure.
3. Define virtual purchase organization and vendor.
4. Info Record.
Customization for Pricing Procedure : IMG PATH IMG>Materials Management>Purchasing>Conditions>Define Price Determination Process
1. Definition of Conditions :
condition typeu2026condition types--- definition (define for basic price, net price, discount, surcharge, tax etc.)
2. Defining pricing procedure :
calculation schema---calculation schemasu2014New entries (Define procedure and put the conditions like formula so that final price will be net price / total value as per company requirement)
3. Linking pricing procedure to independent condition types.
condition typeu2026condition types--- definition for position for defined conditions (Enter the defined pricing procedure in the each independent conditions u201CPricing Procedureu201D box)
4. Defining Schema group for Vendor :
calculation schema---schema groupsu2014vendoru2014New Entries.
5. Defining Schema group for Purchase Organization--- New entries.
calculation schema- schema groups-- purchasing organization--- new entries.
6. Linking Virtual Purchase Organization to actual Purchase Organization.
calculation schema- schema groups--- Assign P.Org. (in actual P.Org, enter virtual P.Org)
7. Linking Pricing procedure to virtual P.Org and virtual vendor :
calculation schema- Determine Schema- -Standard --- New entries (Enter virtual schema and P.Org. along with pricing procedure)
8. Linking virtual vendor to actual vendor-- /NXK02 then enter schema group vendor in Purchasing Data )
9. Info Records (/NME11)---- click on u201CPurch. Org. data1u201D and enter condition types and pricing procedure
For pricing in SD check http://www.sap-img.com/sap-sd/creating-new-pricing-procedure.htm
Edited by: Anupam Halder on Aug 18, 2009 12:44 PM -
Determination of Pricing Procedure in SRM
Hi all,
I have worked on IPC CRM 4.0 and I know the settings related to Pricing. Now, in <b>SAP SRM 4.0</b>, I am not able to figure out on what key fields Pricing Procedure is determined and where are the corresponding settings in SPRO.
Please Help!!
Thanks in Advance,,,
Regards,
PratikHello Vangala,
I have gone through the above settings again, but there is no settings given for Determination of Pricing Procedure. Can you please be more specific.
Few more doubts:
1. What are the key fields on which Pricing Procedure is determined?
2. I am able to see only one Pricing procedure in SPRO->Supplier Relationship Management->SRM Server->Cross-Application Basic Settings->Pricing->Edit Calculation Schema; Is there any way through which I can view multiple Pricing Procedures.
Waiting for ur response.
Regards,
Pratik -
Hello All,
I have created new pricing procedure, configured schema determination and all. The right pricing procedure is being picked-up in PO/Contract. I am wondering that this is not happening in Purchase Info Record.
Any suggestion/comments on this, do we have some additional setting for schema determination in PIR?
Thanks,
Manish JindalHi
There is no such thing called Pricing procedure for Purchase info record.
A PIR is a Purchasing master data.
In a PIR - for a combination of material 'A'- Vendor'B' - Purchsaing organization'P'-Plant you maintain the values for certain condition type (say PB00 or RA00).
Let's say. these conditions have been included in Pricing Procedure.
So while you are creating a PO for this material A and Vendor B thruogh a Pur Org 'P' the value for these conditions are taken from the PIR.
Clear!
More info - http://help.sap.com/saphelp_47x200/helpdata/en/75/ee105655c811d189900000e8322d00/frameset.htm
MRao -
Calculation schema under pricing procedure
in pricing procedure under calculation schema what is <b>Condition formula for alternative calculation type</b> and <b>Alternative formula for condition base value</b>
what is the use of these functions?in this field u can creat ur own formuls to calculat base price or condition type value
this are called routine.
eg if u want to calculate the cond value on some logic the u can write ur logic in this routine and change the valuer of ur base price or Condution type
simple eq will be rounding up the values of condition type 17 is the routien u can use
hope this helps
Reward if useful -
Accounting Key & Accruals Key in Calculation Schema (Pricing Procedure)
Hi Freinds,
I have a query regarding use of Accounting Key & accruals key in the Calculation Schema (Pricing Procedure).
What is the significance of Accounting key & accruals key in the calcuation schema? Which Accounting & Accruals keys have to be used for Gross price,Discount,Freight, tax etc in the Calculation schema? Please post your precious threads.
Thanks & Regards
Saeed Arifhi
AcyKy - Account Key/ Accrls - Accruals:
for SD module
u2022 The values of the Sales Revenues, Sales Deductions, Freight Revenues, Tax Revenues, and Rebate Accruals etc. are going to be posted in the respective G/L accounts in Fi Module.
u2022 In order to do this we assign account keys/ accruals to the different condition types based on their classification. The classification shown below.
o ERB Rebate sales deduct.
o ERF Freight revenue
o ERL Revenue
o ERS Sales deductions
o ERU Rebate accruals
u2022 For Ex.,
o For all Price condition types like PR00 etc. we assign ERL - Revenue.
o For all Discount condition types like K004, K005 etc. we assign ERS - Sales Deductions.
o For all Freight condition types KF00 etc. we assign ERF - Freight Revenues.
o For all Rebates condition types BO01 to BO05 we assign in Account key ERB - Rebates Sales deductions and for Accruals ERU - Rebate Accruals.
u2022 This account keys and accruals are in turn assigned to respective G/L accounts. So the system posts respective values in respective G/L accounts in Fi-Co Module.
u2022 This also one of the areas of SD - Fi Integration. SD consultants assign the account keys and Fi Consultants assign the respective G/L accounts in T.Code:VKOA.
Similarly for MM Module
Account keys are EIN, FR1, FR2, FR3, FRE, etc...
And in OBYC, we do necessary account determination for the same.
For e.g. Freight Posting in GR
Condition type FRA1, Accrual FR1 and in OBYC, assign Freight Clearing A/c to FR1
During GR;
Stock Account - Dr - 110 INR
GR/IR Clearing A/c - Cr - 100 INR
Freight Clearing A/c - Cr - 10 INR
transaction event key is the Key that identifies different types of G/L account.
The account key enables the system to post amounts to certain types of
revenue account. For example, the system can post freight charges
(generated by the freight pricing condition) to the relevant freight
revenue account.
use
To enable the system to find the relevant account for provisions (for
accrued delivery costs or miscellaneous provisions, for example), you
must assign a transaction/event (internal processing) key to each
condition type that is relevant to provisions in the step Define
Calculation Schema.
if u search on SDN or GOOGLE u will get many threads for this
hope it helps
regards
kunal -
Calc schema in pricing procedure for PO
Hi All..
Anybody.. explain me Defining Calculation Schema table for a set of condition type with roles played by each column used to get final Total value in Condition tab of PO at Item level with how countrs and steps work.
Condition typs used:
PB00
PBXX
RA01 discount
ZPF Packin & forwarding
-total material price=
ZED 16% Excise duty
ZCES 2% Cess on ED
ZSHC 1% Secondry cess on ED
-Effective price=
ZVAT 12%
ZOCT Octrie
-Net value=
ThanksHi Vicky,
Excise duty anfd ECess will flow from tax procedure and not from pricing procedure.
Coming to pricing procedure create all condition types and assign access sequence to condition types if the price has to flow automatically after that assign all these condition types in calculation schema.
for example if you have a component like discount and it can be percentage or fixed value at that time we use counter.
Step1 counter 1 discount percentage
step 1 counter 2 discount fixed value
Regards
Pavan -
Schema Group Vendor - Pricing procedure
Hi Experts,
My predecessors have defined a Schema for a vendor (say ZP). Now this vendor schema along with the std. pur org schema is assigned to a pricing procedure (say ZP0001).
we have condition type, and access sequence.
When I try to create a Po against a PR for that vendor then the PO is not picking up the price for that material from the pricing procedure.
However, if I change the 'Schema Group Vendor' by removing the user defined schema (ZP) and use the standard schema, the price is prompted normally.
Please advise as to what has been missed out in the pricing procedure.
This is very very urgent.. Pleaese help..
Thanks,
ManjuHi,
Check the following?
1. Are your condition types are assigned to Calculation Schema, Access Sequence ?
2. Did Assignment of Schema Group Of Vendor ,Schema Group Purchasing Organization and Calculation Schema is done?
3. Did you maintained Condition record(MEK1)
Note:
Just check again these below steps:
SPRO->MM->Purchasing->Conditions->Define Price determination process
1. Define Condition Table:
2.Define Access Sequence,
3.Define Condition Type,
4.Define Calculating Schema,
5.Assign Calculation Schema, Access Sequence and Condition Type,
6.Define Schema Group Of Vendor,
7. Define Schema Group Of Purchasing Organization,
8.Assign Schema Group Of Vendor to Purchasing Organization,
9.Assignment of Schema Group Of Vendor ,Schema Group Purchasing Organization and Calculation Schema.
10.Assign Vendor to Schema Group Of Vendor (Xk02)
11.Maintain Condition record(MEK1)
Regards.
BIju K -
Tax calculation in CRM using R/3 pricing procedure
Hello Experts
We are using R/3 pricing procedure to calculate list prices in CRM.
The condition record for Taxes are maintained for condition type UTXJ in SD which is calling for tax procedure TAXUSJ and condition type JR1.
The records are maintained in FTXP. This is the SAP Standard way of maintaining taxes if external tax software is not used.
We have downloaded the condition records and condition types in CRM. The tables have all the required records downloaded from R/3.
When creating an order in Webshop the tax is not getting calculated.
The pricing analysis shows that the condition record for UTXJ condtion type is met, but it is not showing the tax maintained for condition type JR1.
Have we missed any settings here?
If we are using R/3 billling does the TTE needs to be activated for calculating taxes in the webshop?
If TTE needed to be used for calculating taxes, what are the settings needed to be configured?
Thanks in advance for the valuable advice.
SastriHi Sastri,
I am facing this problem with TAX Condition Records: Pricing error: Mandatory condition MWST is missing. I am using a R/3 pricing procedure correctly downloaded to CRM.
You say that you have downloaded the condition records and condition types in CRM. SAP Library says 'Prerrequisites: You have downloaded the tax condition records from SAP ECC'.
I don't know If my problem is caused because I haven't downloaded any Tax Condition Records. The fact is that I cannot determine which one is the Condition Object to download in R3AS.
I would really appreciate if you or anyone could tell me which object you did use.
thanks in advance,
Pablo
Edited by: Pablo Rodríguez Mateos on Sep 30, 2009 12:30 PM
Edited by: Pablo Rodríguez Mateos on Sep 30, 2009 8:59 PM
Solved! -
Calculation of Output VAT in Russia (MWST, MWR1) / pricing procedure RVAARU
When trying to find an SAP template for a Russian pricing procedure I got three different results for pricing procedure "RVAARU standard - Russia":
1. IDES calculates MWST and MWS1 mandatory plus some further manual MWR* conditions.
2. SAP standard provides MWST and MWS1 as mandatory and none of those MWR* conditions.
3. SAP standard after implementing the "SAP Russian add-on" shows no MWST at all (!!), but MWS1 mandatory and even more manual MWR* conditions, one of which - MWR1 - is suddenly called "Output tax (VAT)".
Which of the three pricing procedures is correct?
I had assumed the Russian add-on provides all necessary entries for Russia, but can it be true that a legal VAT tax line is NOT calculated automatically but maintained as manual condition? If so, do I still have to maintain condition records in order to determine the correct tax code for the percentage and the FI posting?
And no MWST at all, although in customer and material master the tax classification is still determined by MWST?
Who has experience with Russian calculation procedures in SAP and could give me some hints?
Thanks
Christinehi
In pricing procedure MWST is a tax category.this tax categort reflected in both masters. this tax category linked to the tax code. for the tax category , u will maintain the condition records.
for eg. country, region ,cus tax classification ,material tax classification and tax code
so this combination linked to tax code ( for eg if u will maintain A1 Taxcode means ) A1 for VAT Same % Tax code.the system automatically values take from tax code.
Maybe you are looking for
-
Virtual scrolling: being able to drag my finger along the right border of the touchpad to scroll up/down pages.
-
How to manage 2 Ipods on one PC?
I have now 3 Ipods (one Video 60GB and two 4GB Nano, It's a long laundry story related) Can I assign specific songs to one Ipod (for example "Classical" to the 60GB) and assign other specific songs to another Ipod (for example "Techno" on one of the
-
How do I get the value of a resource property stored in the user object?
I need a way to get to the myflag property on the resources in an object I have been trying to get to it by first getting the user object... but how can I get to the properties them self? If the following is the user object and I need to refer to the
-
Getting ora-04030 out of process memory using utl_http package
Hi, Using oracle db v9 on aix. I run an extract (pl/sql package) which processes about 50,000 records. When processing gets to about record 45,500 ora 04030 error is reported when calling utl_http.get response or utl_http.read_text. Only have this pr
-
Why "OCIAQListen" function parameters are commented in ociap.h file
Why "OCIAQListen" function parameters are commented in ociap.h file Oracle help document says that the OCIAQListen function takes the following 7 parameters... OCISvcCtx *svchp OCIError *errhp OCIAQAgent **agent_list ub4 num_agents sb4 wait OCIAQAgen