Give Discount/Surcharges to PR00
Hi Experts,
Please can you explain how to give discount to PR00 base value?
For example, currently the pricing logic is PR00 value * quantity = gross value. Any discount or surcharges will be based on this gross value.
How to change it to give discount/surcharges directly to PR00?
Thank you very much.
Regards, Elaine
Thank you...
But I did not make my requirement clearly.
Current logic is -
PR00 = 3.175
Quantity = 1200
Discount = 6%
So the total = 3.17512000.94 = 3581.4
Is there any method that we can change it to this way
PR00 = 3.175
Discount = 6%
So the unit price now is 2.985
total = 2.985*1200 = 3582
Thank you!
Similar Messages
-
Discount/surcharge condition type
Hello,
would please advise me how to resolve the following situation.
I have two condition type in pricing procedure.
one of them is PR00 a quantity base cond. type. for base price calculation.
and the second one is a discount.
I would like to prevent discount condition type determination in case of base price (PB00) cond. type isn't determined in pricing procedure
Is it possibly to solve it without creation a routine?
Thank's a lot
Kind regards
VitalyIs there other way to solve it without routine creation.?
What do you mean under "it will improve perfomance"?
I was thinking about condition supplement but this is not exacty what I would like to have. -
Give discount at end of the month.
Hi,
What are the ways of giving discount to customers once they purchase certain qty of material?
ie per month 1tons of goods purchased. 200Rs Discount(not in Sales order ,at the end of month)
i know we can do it through Rebate Agreement,but if same customers are having different agreement then what?
Reg.
AmolI am assuming you are using Interactive Reporting (IR)
In the Results section right click and Add Computed Item - in the computed item dialog box click the Functions Button.
Look at the Date Functions
You will see
Returns the date of the last day of the month that contains d
LastDay 'd'
in the text area you will select the Date column you want to use to find the last day of month from
Finally you complete the math to subtract your date from the date provided by the Scalar Function
Hope this helps
Wayne -
Does Game Club give discount on consoles?
I've been looking through forums and having trouble finding the answer.
I was going to get the Gamers Club. And I'm looking to buy a PS4. Do I get a discount for using that? Or just earn points for buying the PS4?
Thanks ahead of time!Hi geekgold73,
Great question and I believe that enuf pretty much has the bases covered here.
Gamers Club Unlocked (GCU) benefits, specifically the 20% off, do not apply to gaming consoles. The savings is primarily intended for new, sealed Video Games. However, the links provided above will direct you to IdeaX, which is a part of our forums where you can vote on new ideas. Feel free to head over and share your input.
Thanks for posting!
Brian|Senior Social Media Specialist | Best Buy® Corporate
Private Message -
How to give discount only to 1st 50 customers
please allotment marks if you feel this question help full
One needs to create sales deals as master data[VB22] in the system,
For this you first have to define the agreement types you want to use. Types of sales deals are defined exactly as rebate agreement types in Customizing for Sales and Distribution.
Regards,
Gauravjit.
Reward points if the solution is helpful -
Exemptions from discounts and surcharges
I work for an entrepreneurial company. We do quite a range of business across many different industry sectors. We support many different types of business deals. One of our biggest challenges is managing pricing.
Wherever possible we try to set up our pricing calculation based on the most general attributes. For example: Sales Organization \ Price list type.
Unfortunately, our business is not that simple. We may have situations where the price may need to be calculated based on the customer\ material, or customer\ plant\ material combinations, etc... This is not a problem in the standard system. We've just arranged the access sequences in the appropriate manner.
Our challenge comes in with the range of discounts and surcharges. Typically, management comes to us and says, "We need to add a surcharge for all customers who buy this product. There are 5,000 customers this would apply to. "
The approach has been to create a new condition type if necessary, and to organize the access sequences in as general as possible a manner, to minimize maintenance, in order to apply the surcharge.
After a few hours, a few days, or a few weeks, the sales leadership realizes 10% of the customers need to be exempted from this surcharge. What's the best approach to do this?
We have traditionally created a new access sequence for customer\ material and added a new condition record for the combination at a rate of $0.00. The new access is then assigned above the access used to apply the surcharge. The system then finds the $0.00 value record before any others, applies it, and stops. The customer has the surcharge condition applied, but at no value. If the value is $0.00, then the record does not print on any customer facing output. The customer never sees the $0.00 charge, and we satisfy the sales management requirement.
The downside of this approach is as follows:
The pricing screen in the sales order gets cluttered with $0.00 value records. (i.e. Fuel surcharges, product surcharges, location surcharges, internal statistical conditions, etc..) Many of these may apply on a single order. It gets confusing for customer service and others trying to read the pricing screen.
When a pricing report is run we inevitably get the question why are there so many records with $0.00 value? More confusion and ultimately IT support time.
It becomes difficult to identify what the final price to a customer is without simulating an order. You must create\simulate an order to get at the net price the customer will pay. Now we need to introduce the SAP quotation process ( we currently don't use it), or code a program to work up a price. More IT development and or support time.
Numerous other reasons I can't think of at the moment
The simple approach would be to go back to sales management, tell them to forget about the discounts & surcharges, just work up a net price and be done with it. Unfortunately, the funds need to be channeled to different account assignments. Accounting wants transparency in the account assignments, and likes to see the application of the charges and discounts separated by condition types.
Caught between a rock and a hard place, what is a poor SD guy to do? Is there a better way to deal with the exemptions, minimize maintenance, and reduce the level of confusion and noise?
Any thoughts are appreciated.Hi,
It is not advisable to go for a general access. It should be always from more specific to more general.
It seems that business process involves more functionality in pricing.
You can group your customers. You can use the fields like Customer group, Price group, Price list. If you take Customer group, you can maintain u2018nu2019 number of customer group say A, B, C , D, E, F, G, H, I , J. Create an access like Sales org / Distribution channel / customer group / Material group.
If your client wants to apply 5% surcharge to all customers, create condition records for all (A to J) customer group. If he wants to exempt some of the customer group, change the condition records for that particular customer groups. The client should be given be advice to go for any change in pricing according to the customer group or any other suitable fields (Price group or price list)
Regards,
K Bharathi -
Display discounts and surcharges for the same vbeln in the same row
hi experts
i have to display one discount and surcharges for one vbeln, posnr and one material,
i have used konv-kschl for condition type and konv-kwert for condition value.
in my output the conditions what i have given for discounts and surcharges its matching and displaying in different lines for the same vbeln and posnr. usually i should get one line of outputfor one vbeln, but iam getting 3 times repeated
(one without discounts, surcharges,
second : same vblen, posnr with discounts,
third : same vblen, posnr for surcharges )
please modify the internal table and conditions below what i have given in my object.
DATA : BEGIN OF it_konv OCCURS 0,
knumv LIKE konv-knumv, "Number of the document condition
kschl LIKE konv-kschl, "Condition type
kwert LIKE konv-kwert, "Condition value
kbetr LIKE konv-kbetr,
kposn LIKE konv-kposn,
discounts LIKE konv-kwert,
surcharges LIKE konv-kwert,
hkunnr LIKE knvh-hkunnr,
kunnr LIKE knvh-kunnr,
END OF it_konv.
LOOP AT it_konv INTO wa_konv.
CASE wa_konv-kschl.
WHEN 'ZD01' OR 'ZD02' OR 'ZD03'.
wa_konv-discounts = wa_konv-kwert.
WHEN 'ZEXP' OR 'ZEXW' OR 'ZCAF' OR 'ZCAP' OR 'ZCAQ'
OR 'ZS01' OR 'ZS02' OR 'ZS03'.
wa_konv-surcharges = wa_konv-kwert.
WHEN OTHERS.
DELETE it_konv WHERE kschl = wa_konv-kschl.
ENDCASE.
MODIFY it_konv FROM wa_konv TRANSPORTING discounts surcharges.
CLEAR wa_konv.
REFRESH wa_konv.
ENDLOOP.
As per one of the abap expert who responded to my query is the following.
DATA : BEGIN OF it_konv OCCURS 0,
knumv LIKE konv-knumv, "Number of the document condition
kschl LIKE konv-kschl, "Condition type
kwert LIKE konv-kwert, "Condition value
kbetr LIKE konv-kbetr,
kposn LIKE konv-kposn,
discounts LIKE konv-kwert,
surcharges LIKE konv-kwert,
hkunnr LIKE knvh-hkunnr,
kunnr LIKE knvh-kunnr,
END OF it_konv.
DATA : BEGIN OF wa_konv OCCURS 0,
kposn LIKE konv-kposn,
discounts LIKE konv-kwert,
surcharges LIKE konv-kwert,
hkunnr LIKE knvh-hkunnr,
kunnr LIKE knvh-kunnr,
END OF wa_konv.
move '1' to it_konv-knumv.
move 'ZD01' to it_konv-kschl.
move '1200' to it_konv-kwert.
move '0010' to it_konv-kposn.
append it_konv.
move '2' to it_konv-knumv.
move 'ZEXP' to it_konv-kschl.
move '1300' to it_konv-kwert.
move '0010' to it_konv-kposn.
append it_konv.
move '3' to it_konv-knumv.
move 'ZEXP' to it_konv-kschl.
move '1400' to it_konv-kwert.
move '0010' to it_konv-kposn.
append it_konv.
LOOP AT it_konv.
MOVE-CORRESPONDING it_konv to wa_konv.
CASE IT_konv-kschl.
WHEN 'ZD01' OR 'ZD02' OR 'ZD03'.
wa_konv-discounts = IT_konv-kwert.
WHEN 'ZEXP' OR 'ZEXW' OR 'ZCAF' OR 'ZCAP' OR 'ZCAQ'
OR 'ZS01' OR 'ZS02' OR 'ZS03'.
wa_konv-surcharges = IT_konv-kwert.
ENDCASE.
COLLECT WA_KONV.
CLEAR wa_konv.
ENDLOOP.
But to try according to the above, i dont have the values for kwert, i know only the condition type (KSCHL). based on this how can i solve my problem
please clarify
thanks in advanceRefer to the suggestion given by Naimesh here Can we modify a sub-total in ALV making use of function GET_GLOBALS_FROM_SLVC_FULLSCR and the method GET_SUBTOTALS. You can see the parameter ep_collect01 refered in case of subtotals. Can you please check ep_collect00 for grand total in your case.
As said about EP_COLLECT00,here goes a classic example Modify grand total in ALV GRID
BR
Keshav
Edited by: Keshav.T on Sep 21, 2011 9:39 AM -
Display discounts and surcharges
hi experts
i have to display one discount and surcharges for one vbeln, posnr and one material,
i have used konv-kschl for condition type and konv-kwert for condition value.
in my output the conditions what i have given for discounts and surcharges its matching and displaying in different lines. usually i should one line of output one vbeln, but iam getting 3 times, please modify the conditions below what i have given in my object.
LOOP AT it_konv INTO wa_konv.
CASE wa_konv-kschl.
WHEN 'ZD01' OR 'ZD02' OR 'ZD03'.
wa_konv-discounts = wa_konv-kwert.
WHEN 'ZEXP' OR 'ZEXW' OR 'ZCAF' OR 'ZCAP' OR 'ZCAQ'
OR 'ZS01' OR 'ZS02' OR 'ZS03'.
wa_konv-surcharges = wa_konv-kwert.
WHEN OTHERS.
DELETE it_konv WHERE kschl = wa_konv-kschl.
ENDCASE.
MODIFY it_konv FROM wa_konv TRANSPORTING discounts surcharges.
CLEAR wa_konv.
REFRESH wa_konv.
ENDLOOP.
please clarify
thanks in advancedear sir
i will send my object u plz check. their is value for kbetr
Table Definitions
TABLES : knvh, "Customer Hierarchies
konv, "Conditions (Item)
vbak, "Sales Document: Header Data
vbap, "Sales Document: Item Data
vbpa. "Sales Document: Partner
Internal Tables declaration
TYPES : BEGIN OF knvh1,
hkunnr LIKE knvh-hkunnr, "Customer number of the higher-level customer hierarchy
kunnr LIKE knvh-kunnr, "Customer
END OF knvh1.
TYPES : BEGIN OF vbak1,
kunnr LIKE vbak-kunnr,
vbeln LIKE vbak-vbeln, "Sales Document
erdat LIKE vbak-erdat, "Date on Which Record Was Created
posnr LIKE vbap-posnr, "Sales Document Item
bstzd LIKE vbak-bstzd, "Purchase order number supplement
matnr LIKE vbap-matnr, "Material Number
spart LIKE vbap-spart, "Division
vtweg LIKE vbak-vtweg, "Distribution Channel
mwsbp LIKE vbap-mwsbp, "Tax amount in document currency
kwmeng LIKE vbap-kwmeng, "Cumulative Order Quantity in Sales Units
netwr LIKE vbap-netwr,
knumv LIKE vbak-knumv, "Number of the document condition
kzwi1 LIKE vbap-kzwi1, "Rate (grossamount)
ps_psp_pnr LIKE vbak-ps_psp_pnr, "Work Breakdown Structure Element (WBS Element)/project ID
sellingprice LIKE vbap-netwr,
netvalue LIKE vbap-netwr, "Net Value of the Sales Order in Document Currency
grossamount LIKE vbap-kzwi1,
END OF vbak1.
TYPES: BEGIN OF konv1 ,
knumv LIKE konv-knumv, "Number of the document condition
kschl LIKE konv-kschl, "Condition type
kwert LIKE konv-kwert, "Condition value
kbetr LIKE konv-kbetr,
kposn LIKE konv-kposn,
discounts LIKE konv-kwert,
surcharges LIKE konv-kwert,
hkunnr LIKE knvh-hkunnr,
kunnr LIKE knvh-kunnr,
END OF konv1.
TYPES : BEGIN OF str,
kunnr LIKE knvh-kunnr,
vbeln LIKE vbak-vbeln,
posnr LIKE vbap-posnr, "Sales Document Item
matnr LIKE vbap-matnr,
sellingprice LIKE vbap-netwr,
ps_psp_pnr LIKE vbak-ps_psp_pnr,
kwmeng LIKE vbap-kwmeng,
bstzd LIKE vbak-bstzd,
vtweg LIKE vbak-vtweg,
discounts LIKE konv-kwert,
mwsbp LIKE vbap-mwsbp,
surcharges LIKE konv-kwert,
netvalue LIKE vbap-netwr,
grossamount LIKE vbap-kzwi1,
END OF str.
DATA:wa_knvh TYPE knvh1,
it_knvh TYPE TABLE OF knvh1.
DATA: wa_vbak TYPE vbak1,
it_vbak TYPE TABLE OF vbak1.
DATA: wa_konv TYPE konv1,
it_konv TYPE TABLE OF konv1.
DATA: wa_display1 TYPE str,
it_display1 TYPE TABLE OF str.
DATA: wa_display TYPE str,
it_display TYPE TABLE OF str.
ALV Declaration
TYPE-POOLS:slis.
DATA t_fld TYPE slis_fieldcat_alv.
DATA: repid LIKE sy-repid, "Report ID
is_layout TYPE slis_layout_alv, "Layout For ALV
it_fieldcat TYPE slis_t_fieldcat_alv, "ITAB for field
wa_fieldcat TYPE slis_fieldcat_alv,
it_events TYPE slis_t_event, "ITAB for event
it_listheader TYPE slis_t_listheader. "Itab for listheader
DATA: ls_selfield TYPE slis_selfield.
Selection Screen Definitions
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE b001.
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE a001.
PARAMETERS : p_hkunnr TYPE knvh-hkunnr OBLIGATORY.
SELECT-OPTIONS : s_kunnr FOR knvh-kunnr,
s_erdat FOR vbak-erdat,
s_p_ps_p FOR vbak-ps_psp_pnr,
s_hspart FOR vbap-spart,
s_hvtweg FOR vbak-vtweg,
s_bstzd FOR vbak-bstzd.
SELECTION-SCREEN END OF BLOCK a1.
SELECTION-SCREEN END OF BLOCK b1.
INITIALIZATION
INITIALIZATION.
repid = sy-repid.
a001 = 'SELECTION CRITERIA'.
START-OF-SELECTION
START-OF-SELECTION.
PERFORM get_data.
PERFORM condition_check.
PERFORM process_data.
PERFORM display_data.
END-OF-SELECTION.
**END-OF-SELECTION.
**& Form GET_DATA
text
--> p1 text
<-- p2 text
FORM get_data .
SELECT hkunnr kunnr FROM knvh
INTO CORRESPONDING FIELDS OF TABLE it_knvh
WHERE hkunnr = p_hkunnr AND kunnr IN s_kunnr.
IF sy-subrc <> 0.
MESSAGE e012(zmsg).
ENDIF.
SELECT a~vbeln
a~kunnr
a~erdat
a~bstzd
a~vtweg
a~knumv
a~ps_psp_pnr
b~posnr
b~matnr
b~mwsbp
b~kwmeng
b~kzwi1
b~spart
b~netwr
FROM vbak AS a INNER JOIN vbap AS b ON bvbeln = avbeln
INTO CORRESPONDING FIELDS OF TABLE it_vbak
FOR ALL ENTRIES IN it_knvh
WHERE a~kunnr = it_knvh-kunnr
AND a~erdat IN s_erdat
AND a~ps_psp_pnr IN s_p_ps_p .
SELECT knumv kposn kschl kbetr kwert FROM konv INTO CORRESPONDING FIELDS OF TABLE it_konv
FOR ALL ENTRIES IN it_vbak
WHERE knumv = it_vbak-knumv .
ENDFORM. " GET_DATA
*& Form condition_check
text
--> p1 text
<-- p2 text
FORM condition_check .
To get the values for selling price, surcharges and discounts
LOOP AT it_vbak INTO wa_vbak .
LOOP AT it_konv INTO wa_konv WHERE knumv = wa_vbak-knumv.
CASE wa_konv-kschl.
WHEN 'ZD01' OR 'ZD02' OR 'ZD03'.
wa_konv-discounts = wa_konv-kwert.
WHEN 'ZEXP' OR 'ZEXW' OR 'ZCAF' OR 'ZCAP' OR 'ZCAQ'
OR 'ZS01' OR 'ZS02' OR 'ZS03'.
wa_konv-surcharges = wa_konv-kwert.
WHEN OTHERS.
DELETE it_konv WHERE kschl = wa_konv-kschl.
ENDCASE.
MODIFY it_konv FROM wa_konv TRANSPORTING discounts surcharges.
CLEAR wa_konv.
ENDLOOP.
ENDLOOP.
ENDFORM. " condition_check
**& Form process_data
text
--> p1 text
<-- p2 text
FORM process_data.
LOOP AT it_vbak INTO wa_vbak .
LOOP AT it_konv INTO wa_konv WHERE knumv = wa_vbak-knumv.
wa_display1-kunnr = wa_vbak-kunnr.
wa_display1-vbeln = wa_vbak-vbeln.
wa_display1-posnr = wa_vbak-posnr.
wa_display1-matnr = wa_vbak-matnr.
wa_display1-sellingprice = wa_vbak-netwr + wa_vbak-mwsbp.
wa_display1-ps_psp_pnr = wa_vbak-ps_psp_pnr.
wa_display1-kwmeng = wa_vbak-kwmeng.
wa_display1-bstzd = wa_vbak-bstzd.
wa_display1-vtweg = wa_vbak-vtweg.
wa_display1-discounts = wa_konv-discounts.
wa_display1-mwsbp = wa_vbak-mwsbp.
wa_display1-surcharges = wa_konv-surcharges.
wa_display1-netvalue = wa_vbak-netwr.
wa_display1-grossamount = wa_vbak-kzwi1.
APPEND wa_display1 TO it_display1.
CLEAR wa_display1.
ENDLOOP.
ENDLOOP.
LOOP AT it_display1 INTO wa_display1.
READ TABLE it_knvh
WITH KEY kunnr = wa_display1-kunnr INTO wa_knvh.
wa_display-kunnr = wa_knvh-kunnr.
wa_display-vbeln = wa_display1-vbeln.
wa_display-posnr = wa_display1-posnr.
wa_display-matnr = wa_display1-matnr.
wa_display-sellingprice = wa_display1-sellingprice.
wa_display-ps_psp_pnr = wa_display1-ps_psp_pnr.
wa_display-kwmeng = wa_display1-kwmeng.
wa_display-bstzd = wa_display1-bstzd.
wa_display-vtweg = wa_display1-vtweg.
wa_display-discounts = wa_display1-discounts.
wa_display-mwsbp = wa_display1-mwsbp.
wa_display-surcharges = wa_display1-surcharges.
wa_display-netvalue = wa_display1-netvalue.
wa_display-grossamount = wa_display1-grossamount.
APPEND wa_display TO it_display.
CLEAR wa_display.
DELETE ADJACENT DUPLICATES FROM it_display..
ENDLOOP.
ENDFORM. " process_data
**& Form display_data
text
--> p1 text
<-- p2 text
FORM display_data .
PERFORM fill_layout_structure.
PERFORM fill_field_catalog_table.
PERFORM alv_header USING it_listheader.
PERFORM events USING it_events.
PERFORM call_alv_function.
ENDFORM. " display_data
**SUBROUTINE TO FILL LAYOUT STRUCTURE
FORM fill_layout_structure .
CLEAR is_layout.
is_layout-colwidth_optimize = 'X'.
is_layout-zebra = 'X'.
ENDFORM. "fill_layout_structure
***SUBROUTINE FOR FIELD CATALOG TABLE DEFINITION
FORM fill_field_catalog_table.
wa_fieldcat-fieldname = 'KUNNR'.
wa_fieldcat-seltext_m = 'CUSTOMER'.
wa_fieldcat-outputlen = '10'.
wa_fieldcat-tabname = 'IT_DISPLAY'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'VBELN'.
wa_fieldcat-seltext_s = 'DOC NO'.
wa_fieldcat-outputlen = '10'.
wa_fieldcat-tabname = 'IT_DISPLAY'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'POSNR'.
wa_fieldcat-seltext_m = 'ITEM ' .
wa_fieldcat-outputlen = '6'.
wa_fieldcat-tabname = 'IT_DISPLAY'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-seltext_m = 'MATERIAL'.
wa_fieldcat-tabname = 'IT_DISPLAY'.
wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'SELLINGPRICE'.
wa_fieldcat-seltext_m = 'SELLING PRICE'.
wa_fieldcat-tabname = 'IT_DISPLAY'.
wa_fieldcat-outputlen = '21'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'PS_PSP_PNR'.
wa_fieldcat-seltext_m = 'PROJECT ID'.
wa_fieldcat-tabname = 'IT_DISPLAY'.
wa_fieldcat-outputlen = '24'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'KWMENG'.
wa_fieldcat-seltext_m = 'QUANTITY'.
wa_fieldcat-tabname = 'IT_DISPLAY'.
wa_fieldcat-ddic_outputlen = '19'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'BSTZD'.
wa_fieldcat-seltext_m = 'ORD. SOUR'.
wa_fieldcat-tabname = 'IT_DISPLAY'.
wa_fieldcat-outputlen = '4'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'VTWEG'.
wa_fieldcat-seltext_m = 'DIST CHANNEL'.
wa_fieldcat-tabname = 'IT_DISPLAY'.
wa_fieldcat-outputlen = '2'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'DISCOUNTS'.
wa_fieldcat-seltext_m = 'DISCOUNTS'.
wa_fieldcat-tabname = 'IT_DISPLAY'.
wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'MWSBP'.
wa_fieldcat-seltext_m = 'GST'.
wa_fieldcat-tabname = 'IT_DISPLAY'.
wa_fieldcat-outputlen = '18'.
wa_fieldcat-ref_fieldname = 'WAERK'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'SURCHARGES'.
wa_fieldcat-seltext_m = 'SURCHARGES'.
wa_fieldcat-tabname = 'IT_DISPLAY'.
wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'NETVALUE'.
wa_fieldcat-seltext_m = 'NET VALUE'.
wa_fieldcat-tabname = 'IT_DISPLAY'.
wa_fieldcat-outputlen = '21'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'GROSSAMOUNT'.
wa_fieldcat-seltext_m = 'GROSS AMOUNT'.
wa_fieldcat-tabname = 'IT_DISPLAY'.
wa_fieldcat-outputlen = '18'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. "output_data
***SUBROUTINE FOR ALV HEADER
FORM alv_header USING it_listheader TYPE slis_t_listheader.
DATA : wa_listheader TYPE slis_listheader.
DATA : days LIKE dtresr-weekday.
DATA : name1 LIKE kna1-name1.
SELECT name1 FROM kna1 INTO name1 WHERE kunnr = p_hkunnr.
ENDSELECT.
DATA : v_date(10) TYPE c,
v_erdat(10) TYPE c,
v_erdat1(10) TYPE c,
temp(60) TYPE c,
temp1(60) TYPE c,
temp2(60) TYPE c,
temp3(60) TYPE c.
WRITE : s_erdat-low TO v_erdat DD/MM/YYYY NO-GAP.
WRITE : s_erdat-high TO v_erdat1 DD/MM/YYYY NO-GAP.
WRITE : sy-datum TO v_date DD/MM/YYYY NO-GAP.
CONCATENATE sy-uname days v_date sy-uzeit INTO temp SEPARATED BY space.
CONCATENATE v_erdat v_erdat1 INTO temp1 SEPARATED BY space.
CONCATENATE 'Hlev customer' p_hkunnr name1 INTO temp2 SEPARATED BY space.
CALL FUNCTION 'DATE_TO_DAY'
EXPORTING
date = sy-datum
IMPORTING
weekday = days.
CLEAR wa_listheader.
REFRESH it_listheader.
wa_listheader-typ = 'H'.
wa_listheader-info = 'Mathur collaborations' .
APPEND wa_listheader TO it_listheader.
wa_listheader-typ = 'S'.
wa_listheader-info = temp.
APPEND wa_listheader TO it_listheader.
wa_listheader-typ = 'S'.
wa_listheader-info = sy-repid.
APPEND wa_listheader TO it_listheader.
wa_listheader-typ = 'S'.
wa_listheader-info = temp1.
APPEND wa_listheader TO it_listheader.
wa_listheader-typ = 'S'.
wa_listheader-info = s_p_ps_p.
APPEND wa_listheader TO it_listheader.
wa_listheader-typ = 'S'.
wa_listheader-info = temp2.
APPEND wa_listheader TO it_listheader.
ENDFORM. "alv_header
**SUBROUTINE FOR ALV EVENT *
FORM events USING it_events TYPE slis_t_event.
DATA : wa_event TYPE slis_alv_event.
CLEAR wa_event.
wa_event-name = 'TOP-OF-PAGE'.
wa_event-form = 'TOP_OF_PAGE'.
APPEND wa_event TO it_events.
ENDFORM. " f4000_event
**SUBROUTINE FOR EVENT INFORMATIONS TO ASSIGN TO THE PARTICULAR EVENT *
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_listheader.
ENDFORM. "COMMENTARY_WRITE
**FORM FOR ALV FUNCTIONS
FORM call_alv_function.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = 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 = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
is_layout = is_layout
it_fieldcat = it_fieldcat[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
it_events = it_events[]
IT_EVENT_EXIT =
IS_PRINT = 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 = it_display
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.
ENDFORM. "call_alv_function -
Hi guru's
i have one query how to give discount based on discount not base price
to be elaborate
here the material price is say for example Rs.1000, discount is 10% so material value is Rs.900/-
now i want to give discount on discount that is on Rs.100/-
Thanks®ards
srinivasHi Srinivas
I will just put the pricing procedure steps in that way if you try i think it should work
step cntr ctype desc from to
10 0 PR00 base price
15 0 gross price
20 0 K004 material discount 15
21 0 total after material disc 20
25 0 K007 customer discount 20
So now how the system picks is , first the system takes the K004 discount from the gross price amount , and whatever amount you get after deducting the K004 from the PR00 discount that will come in the step total after material disc . so the system calculates the PR00-K004,amount say as per your query , 1000-10% =900 .so the system calculates the K007 from the step 21 which is
total after material disc and that amount is 900. so System calcultes K007 on 900.
Let me know if you have solved in any other way
Reward if useful
Regards
Srinath -
Discounts to be given during Billing
Dear Friends,
I need your help for the following scenario.
I want to give discounts for the material in the following way,
upto 5000 Kgs 3 %
5001 to 10000 Kgs 4%
I want to give this discount while creating the Invoice ( With tc VF01).I do not want to give this discount in the sales order.
How to capture this scenarion in SAP?
Thanks in advance.
Regards,
ShrikantHello,
it is possible.
You have to create a scale condition with the following characteristics:
transaction V/06 for the maintainance of the condtion type:
Cond. class A Discount or surcharge
Calculat.type D Gross weight (0r E net weight)
Scale basis D Gross weight scale
Check value A Ascending
transaction VK11 for the cration of the condition record:
Scales
From 0 KG 3%
From 5001 KG 4%
Addionally you have to create a requirement, that the conditon is only valid in the billing document. Here it is possible to check the field komk-vbtyp.
(For example requirement 23 or 24 as describe above)
I hope that the information are helpful.
Regards
Claudia
If you are satisfied with the answer, please give Reward Points -
Authorization for discount condition type
Hi Experts
1)when create a sales order client want flexibility for discount condition type
like 10% ,15% , 20% it should not be manual and end user can choose from drop down and
2) If they want to give excess discount there should be authorization any supervisor can give excess discount
how to map this authorization to condition type
Regardshello again, friend.
go to IMG > SD > Basic Functions > Pricing > Pricing Control > Define Cond Types... here you will find the settings for the upper and lower limits. please note that the larger discount rates would be represented by the lower limit. for surcharges, the lower rate is the lower limit.
scales in pricing allows you to set different discount/surcharge rates or fixed amounts depending on either value, quantity, weight, etc. in the same pricing condition record (using VK11 or VK31). if you look inside your condition type using V/06, you will see under sub-tab Scales if this has been set.
example: condition type Z007, with Scale 'Quantity'
you can set a discount of 2% if item quantity is from 0 to 100 pieces
you can set a discount of 3% if item quantity is from 101 to 200 pieces, and so forth...
regards and thanks. -
Hello all
I configured a Term of payment in order to the system gives discounts if the invoice is paid in the following 15 days.
Everything is running ok, but, does anyone know if I can configure the system for the automatic generation of a credit note because of this discount?
Thank you in advance
Regards!Hi
There is no such process
while making payment posting system will automatically determine the cash as per the assigned Terms payment in customer Master.
Entry will be like
Cash/ Bank a/c ........... Dr.
Discount Allowed A/c....Dr
To Customer
Thanks
Praveen PC -
Discount based on partner function
Hello,
A customer 2000 generates an order with his normal role of Sold to Part, Ship to Part, Bill to Party & Payer. A Partner function called special stock partner is also assigned to that customer which in itself is another customer 3000. If the customer 2000 generates an order with that special stock partner 3000 an automatic discount condition called ZDI (10% discount) should come up and give the customer 2000 discount. i.e. i want to give discount to customer 2000 if customer 3000 is his special stock partner. How do i make this condition automatic via condition record.
Regards,
ShahzadHi,
1st - Include the field partner function (or customer number) as a ZZ field in the structures KOMG, KOMK. For example ZZTPTNR - Third partner number - CHAR10
2nd - Create condition table with this partner function / number field ZZTPTNR
3rd - Create/modify the access sequence to include the new table
4th - Create/modify the condition type for the discount
5th - Add the discount condition in your pricing procedure
6th - Create the condition record for this discount (VK11)
7th - Fill this field in the userexit MV45AFZZ, form userexit_pricing_prepare_tkomk with the required partner function or customer number
Hope this helps your request.
Regards,
John -
Discount at sales order leveal
i want give discount to the first 10 customers of sales orders.
how we confiquare itHi
First,You need to check the "<b>Condition Update</b>" field in the customization for that particular condition type.Then, in the condition record, select the condition, go to additional data and there you can enter the number of sales orders (i.e., 10 in your question). So, that system wont give that discount when you process 11th sales order.
Or else You can try with Sales Deals as master data <b>VB22 </b>in the system,
Message was edited by:
SHESAGIRI.G -
Hi, we have a business requirements like follows
Vendor is providing Services to us , the price negociated with vendor is inclusive of MATERIAL and Services and payment will be made based on activity completion.For this we have created a service purchase order with single PO line and multiple services is prepared for this.
Like in PO line item 10 , we have entered following services
1) Milestone 1 - > 10% of the price
2) Milestone 2 -> 10% of the price
3) Milestone 3 -> 80% of the price
so that User can create SES of respective MILESTONE line after completion of work.
Till time things are OK ....
Now in order to accomplish those services vendor is procuring some material and our client wants to track the supply and payment seperately for material therefore another Material purchase order is prepared for that , so that at the time of material receipt , MIGO / MIRO can be done.
Now the problem is ... SES against Service PO and MIGO against material PO will create double vendor liablity and therefore we want to give MIGO value as a discount in each SERVICE Line ( say MILESTONE 1).
As per my understanding , if we give discount in Std purchase procedure , then system is dividing it propositionally in all SERVICE Lines , while we want to give entire discount in single service line.
Need your help to assign discounts in SERVICE LINES ( may be using MS0000 procedure , not sure )
Regards
ShreyThx KI ...
Price Change and discount at item level might not be helpful to me ... As I want to track them in future.
I have modified MS0000 ( Service price procedure ) by addition one discount condition ( ZR00) in that ...now I can supply any discount value ( Absolute) in that , which will reflect in PO line item conditions and Line net price.
But in case my Service qty is > 1 then system is deducting entire discount in first SES ....
Like Milestone 1 , Qty 10 EA , Gross price = 100 INR per EA , Discount Absolute = INR 60
Then system is calculating total Net price is , 10* 100 - 60 = 940
Now when I create SES for 1 EA , system is calculating value as INR 40.If I changing qty to 2 , SES value gets changed to 140 and so on.
Therefore system is giving entire discount in first SES of that service ... while I wanted to get that Absolute discount distributed among entire Qty ......and expected results are like
SES for 1 EA should be 94 INR , not 40 EA
Is it the std SAP functionality ?
Regards
Maybe you are looking for
-
Gmail suddenly not working with Apple Mail
My gmail suddenly is not working with Apple Mail. It said my username or password is wrong, but it was okay this morning. Nevertheless, I deleted my gmail account, and re-setup it using Internet Accounts from System Preference. However, I got the beo
-
I keep getting this error...
Whenever I try to preview a song in the store it keeps asking for me to authorize the computer. I do so, and this error then comes up saying, "We could not complete your iTunes Store request. A required iTunes component is not installed. (-42401)" It
-
Does noboby know!!! program changes in logic with kontakt3 instrument banks
Hi all. im having real trouble understanding program changes from the events list in logic pro in conjunction with Kontakt 3. i have a region playing a bar of a violin legato then a bar of staccato then a bar of tremolo (just for example) using konta
-
How to sync my contacts from iphone4s to mac
MacBook Pro running OS X 10.8.4. Iphone 4S. Unable to import my contacts from Iphone to MacBook
-
New Law, Blocking tethering in Chile Illegal / Bloq. Tethering Chile Ilegal
As many people should know by now, 2 of the three GSM providers available in Chile actively block Internet Tethering and consequentially personal hotspot available to ios4.3 users on an iPhone4. Well the new net neutrality Law approved a couple weeks