SAP User Exits

50 %
50 %
Information about SAP User Exits
Business-Finance

Published on November 17, 2008

Author: mbauman25

Source: authorstream.com

Top 10 SD Userexits : Top 10 SD Userexits David GlessnerProduct Requirements Planning What is a Userexit? : What is a Userexit? A Userexit is a predefined point in the SAP standard code where the user can write code to influence processing. Code written in userexits is not overwritten during an upgrade. A list of most userexits can be found in the IMG. SD -> System Modification -> Userexits This list was significantly improved with Release 3.1G Code written in userexits is not supported by SAP. TOP 10 SD Userexits : TOP 10 SD Userexits 1. APPEND Structures 2. User Screens in Sales Order Processing 3. Determining Sales Orders Fields 4. Add New Fields for Pricing 5. Pricing Procedure Userexits 6. ATP Plant Selection 7. Partner for Customer/Material Info Record 8. Sales Document “Save” Userexits 9. Pricing Type with “New Pricing” 10. Influencing “New Pricing” Number 1: Append Structures : Number 1: Append Structures 1 Can I add a new field to the sales order? Release 3.0A APPEND STRUCTURES Number 2: User Screens in Sales Order Entry : Number 2: User Screens in Sales Order Entry 2 I just added a field to the sales order header. How can I maintain / display it in the sales order? HEADER SAPMV45A 8309 This is an include dynpro in SAPMV45A 309 ITEM SAPMV45A 8459 This is an include dynpro in SAPMV45A 459 Number 2: User Screens in Sales Order Entry : User dynpros exist as part of the “additional data” screens at header/item level in 3.0. They have their own tabs in Release 4.0. Sales Installation Specific Data Definitions MV45ATZZ Sales Installation Specific PBO Modules MV45AOZZ Sales Installation Specific PAI Modules MV45AIZZ 2 I just added a field to the sales order header. How can I maintain / display it in the sales order? Number 2: User Screens in Sales Order Entry Number 3: Determining Sales Order Fields : Number 3: Determining Sales Order Fields MV45AFZZ Sales Order Header USEREXIT_MOVE_FIELD_TO_VBAK Sales Order Item USEREXIT_MOVE_FIELD_TO_VBAP MV45AFZB Sales Order Serial Numbers USEREXIT_MOVE_FIELD_TO_VBSN 3a I just added a new field to the sales order header. How do I fill it with a value? 3b How can I determine the payment terms different from standard? Sales Order Schedule Line USEREXIT_MOVE_FIELD_TO_VBEP Sales Order Business Data USEREXIT_MOVE_FIELD_TO_VBKD Number 3: Determining Sales Order Fields : Number 3: Determining Sales Order Fields MV45ATZZ Use for general data declarations TABLES: YYYY. Common Work Areas KUAGV - Sold-to Party Information KUWEV - Ship-to Party Information KURGV - Payer Information KUREV - Bill-to Party Information MAAPV - Material Master View: Sales Screen 1 MAEPV - Material Master View: Sales Screen 2 Number 3: Determining Sales Order Fields : Number 3: Determining Sales Order Fields MV45AFZZ 3a FORM USEREXIT_MOVE_FIELD_TO_VBAK. IF SVBAK-TABIX = 0. VBAK-ZZFIELD = YYYY-ZZFIELD1. ENDIF. 3b FORM USEREXIT_MOVE_FIELD_TO_VBKD. IF SVBKD-TABIX = 0. VBKD-ZTERM = YYYY-ZZFIELD2. ENDIF. Number 4: Add New Fields for Pricing : Number 4: Add New Fields for Pricing 4 How can I price off of the new field I added to the sales order header? Add new field to: KOMKAZ - User header fields for pricing KOMPAZ - User item fields for pricing Add to pricing field catalog and create necessary pricing tables, access sequences. Next slide …. Number 4: Add New Fields for Pricing : Number 4: Add New Fields for Pricing Fill value during order entry and billing. MV45AFZZ - Sales Order USEREXIT_PRICING_PREPARE_TKOMK TKOMK-ZZABC = VBAK-ZZABC. USEREXIT_PRICING_PREPARE_TKOMP TKOMP-ZZABC = VBAP-ZZABC. RV60AFZZ - Billing Document USEREXIT_PRICING_PREPARE_TKOMK USEREXIT_PRICING_PREPARE_TKOMP 4 How can I price off of the new field I added to the sales order header? Number 5: Pricing Procedure Userexits : Number 5: Pricing Procedure Userexits 5 What are all of the formulas, requirements, etc. in the pricing procedure for? Pricing Procedure Requirement Access Sequence Requirement Scale Base Formula Condition Base Formula Condition Value Formula Slide 13: VOFM Requirements CopyingRequirements Formulas Data transfer Sales Orders Deliveries Billing Documents Texts Sales Activities Pricing OutputControl Accountdetermination Materialdetermination Listing /Exclusion Scalebase Conditionbase Conditionbase value Structure ofgroup key Roundingrule Statistics Number 5: Pricing Procedure Userexits Slide 14: Number 5: Pricing Procedure Userexits General Notes Requirements are available to aid performance by eliminating unnecessary accesses to the database. Formulas are available to calculate values differently from the way they are calculated in the standard system or to set certain values. In formulas, the field XKWERT always stands for the number being determined. Important work areas: KOMK - Sales header communication structure KOMP - Sales item communication structure XKOMV - Internal pricing table Slide 15: Number 5: Pricing Procedure Userexits Requirements Definable at the pricing procedure and access sequence level. The requirement routine defines the circumstances under which the access should be made. Examples Requirement ‘6’: Only perform the access if condition exclusion is not active. CHECK: KOMP-KZNEP NE ‘X’. New Requirement: Discount is only relevant for items with material group ‘ABC’. CHECK: KOMP-MATKL EQ ‘ABC’. Slide 16: Number 5: Pricing Procedure Userexits Formulas Scale Base Formula This formula alters the value that the system uses to read the scales in the condition record. Standard delivered formula “023” is used with condition type KP03 to compute the incremental surcharge for not ordering in full pallets. If 24.30 pallets are ordered, scale base formula “023” changes XKWERT to 0.30 which is then used to read the scales to determine the appropriate surcharge. Scale Base Slide 17: Number 5: Pricing Procedure Userexits Formulas Condition Base Formula After the condition record has been read and the scale value retrieved, it is possible to influence the condition basis to which the scale value will be applied. Standard delivered formula “022” is used with condition type KP00 to compute the discount based on full pallets ordered. If 24.30 pallets are ordered, condition base formula “022” changes XKWERT to 24 which is then multiplied by the scale rate. Condition Base Formula Slide 18: Number 5: Pricing Procedure Userexits Formulas Condition Value Formula After the system has found the correct scale rate from the condition record and the condition basis for the calculation, the condition value is calculated. Scale Rate Condition Basis Condition Value 5- USD per CS X 5 CS = 25- USD 10- % X 1500 USD = 150- USD It is possible to influence the condition value calculated by the system using the condition value formula. It is also possible to use the formula to do comparisons and set flags. Slide 19: Number 5: Pricing Procedure Userexits Formulas Condition Value Formula - Examples Under certain circumstances, the condition value should be set to zero. IF XXX = YYY. XKWERT = 0. ENDIF. Standard formulas “8” and “9” are used with customer expected price to compare the expected value / price with the net value of the sales order item. Based on the result, the “pricing ok” flag is used to block the line item. Number 6: ATP Plant Selection : Number 6: ATP Plant Selection 6a My primary sourcing plant is determined by zip code and shipping conditions. Can I do this in SAP? 6b How can I automate the selection of plants on the “Other Plants” push button screen? MV45AFZB Selection of primary sourcing plant USEREXIT_SOURCE_DETERMINATION RV03VFZZ Selection of secondary sourcing plant USEREXIT_PLANT_SELECTION Number 6: ATP Plant Selection : Number 6: ATP Plant Selection Define new table (ZZSOURCE) in data dictionary: ZIPCD Zip code (full or partial length) LPRIO Delivery priority PLNT1 Plant 1 PLNT2 Plant 2, 3, 4, etc. MV45AFZB FORM USEREXIT_SOURCE_DETERMINATION SELECT SINGLE * FROM ZZSOURCE WHERE ZIPCD EQ KUWEV-PSTLZ AND LPRIO EQ KUWEV-VSBED. VBAP-WERKS = ZZSOURCE-PLNT1. 6a My primary sourcing plant is determined by zip code and shipping conditions. Can I do this in SAP? Number 6: ATP Plant Selection : Number 6: ATP Plant Selection RV03VFZZ FORM USEREXIT_PLANT_SELECTION SELECT SINGLE * FROM ZZSOURCE WHERE ZIPCD EQ KUWEV-PSTLZ AND LPRIO EQ KUWEV-VSBED. (Mark SELKZ field in PLANTS internal table for the plant(s) that should be checked or rearrange plants to show secondary, tertiary, etc. selections). 6b How can I automate the selection of plants on the “Other Plants” push button? Number 7: Partner for Cust/Mat Info Record : Number 7: Partner for Cust/Mat Info Record 7 SAP uses the sold-to party to read the customer/ material info record. Can I use the ship-to party or some level of the customer hierarchy? MV45AFZB USEREXIT_CUST_MATERIAL_READ US_KUNNR = KUWEV-KUNNR (ship-to party) (or read any partner out of the table XVBPA) Number 8: Sales Document “Save” Userexits : Number 8: Sales Document “Save” Userexits MV45AFZZ 8a USEREXIT_SAVE_DOCUMENT_PREPARE (Look at Note 64876 if you want to return the user to the transaction.) MV45AFZZ 8b USEREXIT_SAVE_DOCUMENT 8a I have some special checks to perform before a sales order can be saved. Where can I specify them? 8b I have some user tables to update when a sales order is saved. Where can I do that? Number 9: Pricing Type with New Pricing : Number 9: Pricing Type with New Pricing MV61AFZA USEREXIT_CHANGE_PRICING_RULE PRICING_RULE = ‘C’. Release 4.0C allows the pricing rule to be specified in a pop up window with “New Pricing”. Refer to note 24832 for more examples. 9 When I use “new pricing” in the sales order, I lose all manually entered conditions. Can I do anything about this? Number 10: Influencing “New Pricing” : Number 10: Influencing “New Pricing” 10 When I change the value of field XXX, the system does not automatically reprice the document. How can I accomplish this? MV45AFZB USEREXIT_NEW_PRICING_VBAP (document item) Example: New pricing if the “route” is changed. IF VBAP-ROUTE NE *VBAP-ROUTE. NEW_PRICING = 'B'. ENDIF. USEREXIT_NEW_PRICING_VBKD (business data)

Add a comment

Related presentations

Related pages

Alle SAP Userexits (SMOD/CMOD) auf einen Blick - ein SAP ...

Alle SAP Userexits (SMOD/CMOD) auf einen Blick - ein SAP Userexit ist eine Methode der Erweiterung ohne Modifikation. This page in english. SAP benutzt ...
Read more

Ways to find a userexit - ABAP Development - SCN Wiki

Ways to find a userexit. Skip to end of metadata. ... How Many Exit Routines are active in your SAP ERP system? SAP User Exits and the People Who Love Them;
Read more

User-Exit finden / Funktionalität erweitern - SAP Community

Hallo Community, . Ich versuche Verzweifelt, einen User-Exit herauszufinden, der sich hinter dem Prüfen-Button der ME21N (Bestellung anlegen) befindet.
Read more

SD User exits - ERP Operations - SCN Wiki - SAP

Documentation below is copied from SPRO activities documentation and SAP library : SAP Help - User Exits in Sales Document; SAP Help - User Exits for Billing
Read more

User-Exits - Kapazitätsabgleich (PP-CRP-LVL) - SAP Library

User-Exits In der Kapazitätsplanung werden für die Entwicklungsklasse CY folgende Customer Functions (User-Exits) angeboten: Reihenfolgebildung
Read more

User Exits - Das CRM Middleware Repository - SAP Library

User Exits . Die folgenden Tabellen enthalten die User Exits, die zum Erweitern von BDoc-Typen modifiziert werden müssen. Jede Tabelle stellt eine ...
Read more

A Short Tutorial on User Exits - SAP ERP

User exits : 1. Introduction 2. How to find user exits 3. Using Project management of SAP Enhancements . Content Author: Abhishek. 1. Introduction: User ...
Read more

IDoc User exits | SCN

Hi Experts, We have a requirement to find the correct user exits to change the below IDoc messages. 1. Orders message(ORDERS01): It is a inbound ...
Read more

sap abap user exits - YouTube

SAP ABAP video tutorials for sale : I have a complete SAP ABAP video tutorials package for sale which takes you right from the basic ...
Read more

pp USER EXITS | SCN

SAP uses an User Exit (SMOD/CMOD) in order to make an enhancement of customers a lot more convenient. There are very many user exits available within SAP.
Read more