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
Similar Messages
-
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 -
CO-PC--discounts and surcharges on purchased items
In Product costing, CO-PC, What is the configuration needed to setup discounts and/or surcharges on purchased items ?
Please reply at the earliest.
Thanks.Discounts and surcharges would taken care of by the pricing procedures and the accounting keys assingned to them they will flow into the stock valuation. with these values you make up the bom for the finished product.
-
Payment term based discount or surcharge
Client have requirement of Payement term based discount or surcharge. Conditions are like below:
1. 10% discount to customer if he is paying cash.
2. 5% discount if he is paying with in 15 days by cash, check or wire transfer.
3. 5% surcharge on all other Payment terms other than above two mentioned.
4. There are many payment terms that's why We do not want to create several conditions record for surcharge.
Please help & advice how to solve this using Standard SAP (With out writing any ABAP program or new routine).
thanksHi Jitender
Please correct me if I am wrong.Looks like you have better Idea on this!
why do You think that the issue is more of factoring discount?
If he maitain 3 condion records for the 3 different payment terms, the system checks the payment terms from the customer master data in the order - Right?
condtion record EX:sales org, D.c, payment terms( for cash) - 10%( = $10)
like that he will maitain 3 condition records for 3 payment terms.
The moment I enter cystomer(systmem checks from customer master) in the sales order the sytem will picks up the $10 from condition record and it will display as a discount.
whats wrong in that?
Please can you clarify me.
Thanks -
XL-Reporter - sales analysis including row discount and document discount
Hello World!
In XLR I want to report all item-sales to customers grouped by item-groups based on invoives.
Since I am interested only in net amounts (without tax, freight and other expenses) and discounts I use 'S0_LineTotal' as attribute.
'SO_LineTotal' includes the discount of each item-row in the document.
The row selection is as follows:
FACT
ARDT(Code = "ARCreditMemo","Invoice")
FIG(SO_DocType = "I")
ITM( * )
Group By ITM.ItmsGrpCod
The problem is that I also have to include the document discount 'OINV.DiscSum' in the result.
In combination with the row selection specified above the attribute 'Total Discount' delivers no results (always 0).
In the standard SAP report 'Sales - AR/Sales reports/Sales Analysis' the total discount is averaged to all items in the matrix of a document.
How can I achieve this in my XL-Report?
Thank you very much for your support!
Frank Romeni
Edited by: Frank Romeni on May 15, 2008 3:55 PM
Edited by: Philip Eller on May 29, 2008 8:53 AMHello,
To get this, I tried drag following information from Report composer:
Under Sales tab, choose Items(Display more atrributes to choose Item Group), Document Number(choose this one because same items may have different discount in different documents), Discount % Per Row(light dimension),Discount % Per Document(light dimension), Row Total(measure).
Drag the Item Group to the Group region.
Run the report and the result should be all items are grouped by item Group and discounts and total in different document for each item will be listed.
Hope this helps you.
Regards,
Maggie An
SAP Business One Forum Team -
Verizon Edge with no discount and 4 hours of wasted time with Customer care
So far my experience with Verizon has been far short of superior as it should be for the number 1 carrier in the nation. I tried to open an account using the Edge program and did not qualify. This was on the same day that the down payment for the Edge program became available. I called to determine why I was ineligible and try to find out if there was any way to become eligible and was told no and was told several times to just start a 2 yr agreement. 1 hour wasted when I could have just paid a down payment that day and none of these future problems would have occurred. Fiance opened an account in his name on the Edge program for me. I already had a prepaid account with a telephone number I wished to keep but was told in store that this would not be possible. Account was opened with a new telephone number which I will refer to as telephone number A. I contacted customer care and was informed that it would be possible to keep my telephone number which I will refer to as telephone number B but was unable to do get it done at the time due to not having both of my phones with me. 30 minutes wasted as it should have been done in store the number transfer. Was able to call back later and get my prepaid account with telephone number B added to my new account with my telephone number A. We then proceeded to switch telephone numbers so that I had my original number, telephone number B, and then cancelled the additional line. 1 hr and 30 minutes wasted!!! New single line plans come out and I chat in to change my calling plan to the Single line plan with 1gb of data for $60 and $50 with my Edge discount. Chat representative changed my plan to the More Everything plan with 1gb. This was not at all what I wanted as I'm trying to save money and I was hit with a huge bill. Called in about bill got plan sorted out and am informed I no longer have the Edge discount because I'm using telephone number B. I'm informed the Edge discount was applied to telephone number A and I can not have that discount using telephone number B. This by the way took over 2 hours after I was informed by the customer care agent on the phone alot of inaccurate info. I was informed the 1gb single line plan was a loyalty plan and I was not eligible until my account had been open for 1 year. I was also informed that the Edge discount did not apply to the single line plan. 2 hours wasted After speaking with a supervisor I was still unable to have my Edge discount applied. How can this be Verizon? How can I purchase a phone on the Edge program, be given a discount and then have it removed simply because I wish to use the telephone number I've had for over 10 years? I WAS NEVER ONCE INFORMED I WOULD LOSE MY DISCOUNT!!!! I went from prepaid to the Edge program because I wanted a new phone and 4G and because of the Edge discount making it very close to what I was already paying. I've wasted 4 hours on this when all of this should have been done in the begging. If I had been able to put a down payment down I could have had my number then 90% of these problems I wouldn't be having. You can't tell me there is no way to use my number and not get the Edge discount. VERY UNHAPPY!!!
So ChristinaB_VZW replied to my post. You would think I would get a little further help regarding my issue, correct? WRONG!!! I told her thank you for helping me and she asked me to reply back with my original message copied and pasted which I did on 4/8. I waited until 4/17 and had not heard back so I responded back to her. Still haven't heard anything from her. Do they simply post on these forums so that customers have the appearance of receiving assistance so that in public it looks as though I've been helped when in actuality still nothing has been done. I could understand if I was begging for a new phone or wanted $100's of dollars off my bill for no reason but I'm not. I want the discount that I should be receiving as part of my VERIZON EDGE AGREEMENT. This is the worst experience I've ever had with any kind of services for money. I know one thing for a fact and that's one you are a customer you no longer matter. So thank you ChristinaB_VZW for making Verizon appear to care about customer issues when in actuality they do not. I will be sure to never recommend your services to anyone and to reference this issue and lack of customer support for that reason.
-
Problem in Selecting the data from EKPO and KONV tables
Hi Experts,
Presently I am working on Report with Comparision-Sheet Between the vendor's Quotations. I have to display the Discount, Freight, Packing and Forwarding, Vat in Item level data based on the conditions made in PO.
As per my Knowledge, Condition Types are stored in KONV Table. But there is no relation between KONV and EKPO tables. So, I am unable to print the data for Discount, Freight, Packing and Forwarding, Vat... How can I get the values from EKPO and KONV tables?
Thanks in Advance.
Thanks n Regards,
Muralikrishna.Don't recall if this is correct, but you may need the condition number from the header (EKKO) combined with EKPO-EBELP or other field as you key to access KONV (KNUMH and KPOSN). My site doesn't run PP, so can't verify if the data is actually stored that, so just a possibility.
-
Can I use both Education discount and Black Friday discount
Hi
Can anyone tell me if both the education discount and the black friday discount be used together. I plan to buy a macbook.
AjjuHello and Welcome to Apple Discussions.
We are just iMac users here. Far better to give Apple a call and get the official line from them:
1-800-MY-APPLE or +(800) 780-5009+
cheers
mrtotes -
Discount percentage deviates from discount total due to rounding *
When I copy an AP invoice to a credit memo, there is * discount -0.01 CAD on the credit memo and a remark: Discount percentage deviates from discount total due to rounding *.
Can someone please explain why this is happening?Hi,
You need to check the F1 Online help
goto the search option and enter the keywords > 'Rounding Method'
Here is the extract :
By Document
Select this option, if you want to work without using rounding account and without rounding definitions for each currency. For each sales document, determine whether it should be rounded. Choose Administration ® System Initialization ® Document Settings ® Per Document tab. Choose the required documents and select the Automatic Rounding for Document.
The differences created as a result of the rounding are displayed in the Discount field of the marketing documents.
You can define that SAP Business One will display a rounding remark. Choose Administration ® System Initialization ® Document Settings ® General tab and select the Display Rounding Remark. This way, whenever you create a rounded document, an asterisk (*) appears n the Discount field and the remark u201CDiscount percentage deviates from discount total due to roundingu201D appears in the Remarks field of the document.
Hope it helps.
Kind Regards,
Jitin Chawla
SAP Business One Forum Team -
Client wants freight charges to exclude from discount base for payment
Dear All,
Client wants freight charges to exclude from discount base for payment to vendor.
We have maintain the customization of "Discount base is net value" in Global Parameters for company code.
But while payment to vendors, the system is adding the freight amount in the discount base, which should not be.
Please advice, how we can solve this problem.
Is there any customization needed for that ?
Regards
BIJUDASHi,
The net caclulation is meant for calculation inclusive of exclusive of tax amount and not freight amount. If you want to acheive this fro freight, the only way i see it is thrugh separate invoices. Alternatively you will have to go through the ABAP route in terms of user exits. -
Aduit Log Report: Exempt from policy
Hi!
I need to know if there is a standard report available of documents which are exempt from a policy (beforhand declared)?
We have a Record Center solution available, content types with information mgt policies and in place record mgt active.
Are the exempt statuses logged in some ootb reports (like audit log report)?
Kind regards
ThomasHi!
I need to know if there is a standard report available of documents which are exempt from a policy (beforhand declared)?
We have a Record Center solution available, content types with information mgt policies and in place record mgt active.
Are the exempt statuses logged in some ootb reports (like audit log report)?
Kind regards
Thomas -
Quantity, Discount and Gift Box now showing
I have an issue that I am not sure can be fixed but will try here.
I have uploaded my Muse site to business catalyst and have started setting up templates for the various E-Commerce that will be needed. SO far I have the catalog and product pages working by adding the {tag_pagecontent} to the muse site and setting the template in Business Catalyst to that page template. This has worked so far!
Now I am working on the checkout process, the first thing I am trying is the view cart. Everythng currently is working on the cart (after setting it up the same way as above) except it is not showing the boxes for quantity, discount and gift voucher. I did not change anything in the layout itself except the template. It will be hard for people to see that they can change it there without the box.
Any suggestions to correct this would be appreciated.They are in the original layout which I have not changed. It is as soon as I apply the template with the {tag_pagecontent} from muse when it changes
-
Identities are exempt from auth, but still being prompted
Six of the seven identities we have are set to exempt from authentication, as is the global policy. The one identity that requires authentication is disabled. Yet some users get intermittent prompts for credentials in Firefox, and in some cases with Outlook as well.
What might be causing this, and is there a way to turn this off?We have a routing issue where these users are hitting a different Ironport appliance than the one they should be using. So it is working as expected...
-
Need Function Module for Printing Rates,Discounts and Taxes in Invoice.
Hi All,
For our Invoice printing I need to get a function module which will provide me the rates,discounts and taxes against each item line of the Invoice No.
Finall it will be printed accordingly.
Can anyone help me regarding this with input parameter example.
Thx in Adv.Hi,
As far as I know there is no fun module to print all this stuff.
You have to get this data from KONV table by passing the VBRK table KNUMV field.
Then check for all the Rates and amount KBETR and KWERT fields for the respective condition Types.
You have to loop the KONV internal table and write all the condition rates and amounts in the script driver program.
see any Std script for this.
Regards,
Anji
Maybe you are looking for
-
hello together, does anybody know whre i can see the logfiles from an ape with the new airport utility '?
-
Cfmap inside table based layout
I'm noticing that the table attributtes set within a table are dropped from any data cells after a cfmap tag is placed in the table. In a simple example with cellpadding you will see that it works in the data cells before the cfmap tag but not after.
-
MIDI Studio Setup window device arrangements not saved
I just started checking out Snow, late to the party... been TDM for years. I am finding that the AMS MIDI Studio window no longer remember device layout or arrangement like it has for years. Makes a big difference for users with many external instrum
-
Hi there, A. One of the current practice I have when building a template is to call repeating navigation using php includes (or ssi if there's no php support, shame on those host by the way). B. Why do that man? A. Simple. Navigation need to be repea
-
Allocate-interface to an existing ASA context
We have a active/active context firewall and would like to add an sub-interface to the exisitng context. Can someone share the link on how to do this? All cisco documentation is for creating a context and allocating interface from scratch but I could