on 02-11-2008 10:12 AM
Hi SAP experts,
Could you explain what are "User Exits" and how they are used in any process with examples ?.
Thanks.
hi,
User exists are provided in various places through out the system in order to allow system modifications & enhancements. Point in an SAP program where a customers own program can be called. User exits allow developers to access and modify program components and data objects in the standard system. On upgrade, each user exit must be checked to ensure that it conforms to the standard system.
There are two types of user exit:
User exits that use Includes.
These are customer enhancements that are called directly in the program.
User exits that use tables.
These are used and managed using Customizing.
Menu Path:
SPRO- IMG- SD- System Modification- User Exists. User Exists are available in SD for the following processes:
User exits for price determination
User exits for partner determination
User exits for credit check & risk management
User exits in sales:
o User exits in sales doc processing
o User exits for contract processing
o User exits for product allocation processing
o User exits for availability checking
o User exits for component supply processing
o User exits for product selection
o User exits for billing plan
User exits for shipping
User exits for transportation
User exits for billing
User exits for general billing interface
User exits for sales support
User exits for lists.
The topic of user exits is a subject that concerns ABAP development & extensive experience in ABAP is required to understand and use the user exits.
A customer user exit is essentially a function module using a unique naming convention, in which set import and export parameters are defined to limit the data that can be manipulated. This is to protect certain data from being changed. This function module is attached to an enhancement that may contain other function modules. A user exit should only be used if the possibilities for customizing or application-specific user exits are inadequate.
regards
sadhu kishore
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
If there are no solutions to certain problems using the standard SAP procedure, then we use what are called user exits. These are developments to the standard SAP Code and is written in ABAP.
Les say you want to insert some company specific info into a specific screen with some text, logo or suppress certain fields and change the layout of the fields on the screen.
We do this with what we normally called Screen Exits.
Then if there is a certain requirement which calls for new logic to be inserted. New fields to be created. Then we use what are called function module exits.
lets say we want to use a certain key combination in pricing which includes end user and end user does not figure in the pricing header/item table, Then we need to add a field in one of the tables i.e headr or item in what is called KOMK or Komp and ensure values are alloted to the field in a program which is called a function module exit.
Similarly anotehr example could be a inspection block for all shipment for exports. If the consignment is for domestic it shold not block but if it is an export shipment then the consignment should be blocked for delivery and removed only after due inspection. Again some coding is required here to address the situation.
Similarly when you want different menus to be displayed you use what are called menu exits.
These are all user exits which are named after the place where they are used.
All the user exits in sales and distribution can be seen under SD in the IMG under the heading System Modifications. SAP provides some space where you can insert you code as per customer requirements in relevant areas. All of these programs need to start with a Y or a Z.
Hope this answers your questions. If you are interested in this you can read any good book on ABAP which will detail out the functionalities of these.
regds Jude
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User exits are enhancements. Enhancing ur standard system as the functionality doesnt exist
Sales realated exits
SDTRM001 Reschedule schedule lines without a new ATP check
V45A0001 Determine alternative materials for product selection
V45A0002 Predefine sold-to party in sales document
V45A0003 Collector for customer function modulpool MV45A
V45A0004 Copy packing proposal
V45E0001 Update the purchase order from the sales order
V45E0002 Data transfer in procurement elements (PRreq., assembly)
V45L0001 SD component supplier processing (customer enhancements)
V45P0001 SD customer function for cross-company code sales
V45S0001 Update sales document from configuration
V45S0003 MRP-relevance for incomplete configuration
V45S0004 Effectivity type in sales order
V45W0001 SD Service Management: Forward Contract Data to Item
V46H0001 SD Customer functions for resource-related billing
V60F0001 SD Billing plan (customer enhancement) diff. to billing plan
V46H0001 SD Customer functions for resource-related billing
V45W0001 SD Service Management: Forward Contract Data to Item
V45S0004 Effectivity type in sales order
V45S0003 MRP-relevance for incomplete configuration
V45S0001 Update sales document from configuration
V45P0001 SD customer function for cross-company code sales
V45L0001 SD component supplier processing (customer enhancements)
V45E0002 Data transfer in procurement elements (PRreq., assembly)
V45E0001 Update the purchase order from the sales order
V45A0004 Copy packing proposal
V45A0003 Collector for customer function modulpool MV45A
V45A0002 Predefine sold-to party in sales document
V45A0001 Determine alternative materials for product selection
SDTRM001 Reschedule schedule lines without a new ATP check
SDAPO001 Activating Sourcing Subitem Quantity Propagation
Billing related exits
SDVFX007 User exit: Billing plan during transfer to Accounting
SDVFX008 User exit: Processing of transfer structures SD-FI
SDVFX009 Billing doc. processing KIDONO (payment reference number)
SDVFX010 User exit item table for the customer lines
SDVFX011 Userexit for the komkcv- and kompcv-structures
V05I0001 User exits for billing index
V05N0001 User Exits for Printing Billing Docs. using POR Procedure
V60A0001 Customer functions in the billing document
V60P0001 Data provision for additional fields for display in lists
V61A0001 Customer enhancement: Pricing
Delivery related exits
V50PSTAT - Delivery: Item Status Calculation
V50Q0001 - Delivery Monitor: User Exits for Filling Display Fields
V50R0001 - Collective processing for delivery creation
V50R0002 - Collective processing for delivery creation
V50R0004 - Calculation of Stock for POs for Shipping Due Date List
V50S0001 - User Exits for Delivery Processing
V53C0001 - Rough workload calculation in time per item
V53C0002 - W&S: RWE enhancement - shipping material type/time slot
V53W0001 - User exits for creating picking waves
VMDE0001 - Shipping Interface: Error Handling - Inbound IDoc
VMDE0002 - Shipping Interface: Message PICKSD (Picking, Outbound)
VMDE0003 - Shipping Interface: Message SDPICK (Picking, Inbound)
VMDE0004 - Shipping Interface: Message SDPACK (Packing, Inbound)
V02V0001 - Sales area determination for stock transport order
V02V0002 - User exit for storage location determination
V02V0003 - User exit for gate + matl staging area determination (headr)
V02V0004 - User Exit for Staging Area Determination (Item)
User Exits For Price Determination
USEREXIT_PRICING_PREPARE_TKOMK (module pool SAPLV60A, program RV60AFZZ)
This user exit allows you to copy additional fields for pricing in the TKOMK communication structure (header fields), which have not been provided in the standard SAP system. These fields can also be used for pricing in the billing document.
This user exit is described in detail in the "New fields in pricing" section.
USEREXIT_PRICING_PREPARE_TKOMP (module pool SAPLV60A, program RV60AFZZ)
This user exit allows you to copy additional fields for pricing in the TKOMP communication structure (item fields), which have not been provided in the standard SAP system. These fields can also be used for pricing.
This user exit is described in detail in the "New fields in pricing" section.
USEREXIT_FIELD_MODIFICATION (module pool SAPMV61A, program MV61AFZA)
You can use this user exit to adjust the display of individual lines in the condition screen by changing the display attributes of the screen fields. This does not include the display of subtotals.
This user exit is also used in order processing.
USEREXIT_FIELD_MODIFIC_KZWI (module pool SAPMV61A, program MV61AFZB)
You can change the display of subtotals in the condition screen by changing the display attributes of the screen fields.
This user exit is also used in order processing.
USEREXIT_FIELD_MODIFIC_KOPF (module pool SAPMV61A, program MV61AFZB)
You can adjust the display of subtotals in the condition screen to your requirements by changing the display attributes of the screen fields.
This user exit is also used in order processing.
USEREXIT_FIELD_MODIFIC_LEER (module pool SAPMV61A, program MV61AFZB)
You can adjust the display of blank lines in the condition screen to your requirements by changing the display attributes of the screen fields.
This user exit is also used in order processing.
USEREXIT_PRICING_CHECK (module pool SAPMV61, program MV61AFZA)
You can install additional checks to the standard checks of condition lines (e.g. maximum/minimum value).
USEREXIT_PRICING_RULE (module pool SAPLV61A, program RV61AFZA)
In the standard SAP system, it is predefined which condition categories and classes can be copied or recalculated per pricing type. You can change the predefined standard procedure for each pricing type.
USEREXIT_CHANGE_PRICING_RULE (module pool SAPMV61A, program MV61AFZA)
You can use this user exit to change the pricing type that has been predefined in the copying control table in billing.
USEREXIT_XKOMV_BEWERTEN_INIT (module pool SAPLV61A, program RV61AFZB)
This field is used in the formulas and therefore initialized before the loop for the pricing procedure starts.
USEREXIT_XKOMV_BEWERTEN_END (module pool SAPLV61A, program RV61AFZB)
Within a loop for the price components during pricing, specific values can be transferred into the communication structures in pricing to be further processed.
USEREXIT_XKOMV_ERGAENZEN (module pool SAPLV61A, program RV61AFZB)
In change mode, you can change the dynamic part of the condition record (KONVD) that is always redetermined (i.e. it is not stored in database table KONV).
USEREXIT_XKOMV_ERGAENZEN_MANU (module pool SAPLV61A, program RV61AFZB)
You can use this user exit to change the ready-for-input fields of the manually entered condition record in add mode in the condition screen.
USEREXIT_XKOMV_FUELLEN (module pool SAPLV61A, program RV61AFZB)
This user exit is always called up during a redetermination of all or individual price components. You can change the work fields of the condition line. However, this only applies to conditions that have been determined via a condition record.
USEREXIT_XKOMV_FUELLEN_O_KONP (module pool SAPLV61A, program RV61AFZB)
This user exit is always called up during a redetermination of all or individual price components. You can change the work fields of the condition line. However, this only applies to conditions that have been determined via a condition record. This may include subtotals, manually entered conditions or conditions that have been calculated with a formula.
USEREXIT_PRICING_COPY (module pool SAPLV61A, program RV61AFZA)
You can change the KONV fields for copied price components.
User Exits for Partner Determination
Partner determination contains the following user exits for your use:
EXIT_SAPLV09A_001
You can use this user exit to control whether an address that was entered manually and has already been used in other documents (referenced), should be referenced again if it changes or whether a new address shold be created (duplicated).
EXIT_SAPLV09A_002
Call up this user exit if a customer has not been maintained in the current sales area.
EXIT_SAPLV09A_003
Use this user exit to control the origin of partners in the partner determination procedure (origin X, Y or Z). If X, Y, or Z has been entered in the Origin field, this user exit is automatically called up during partner determination.
EXIT_SAPLV09A_004
Use this user exit to integrate your own check in a program, that runs before the partner is saved in the document.
For more detailed information, see the program documentation for each ofthe user exits.
User Exits For Credit Checks And Risk Management
Credit Check
If you want to carry out your own individual credit checks, that differ from those in the standard system, you must define them in the following user exits:
LVKMPTZZ
LVKMPFZ1: USER_CREDIT_CHECK1
LVKMPFZ2: USER_CREDIT_CHECK2
LVKMPFZ3: USER_CREDIT_CHECK3
User exit for availability check
User exit USEREXIT_AVAIL_CHECK_CREDIT exists in Include MV45AFZF.
This user exit allows you to determine whether the system should or should not carry out an availability check after a blocked document has been released or after a new credit check.
Risk Management for Receivables
RVKMPUS2
Using this user exit, you can define new forms of payment guarantee.
reward points if helpful
Thanks and Regards,,
Rahul
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
97 | |
11 | |
11 | |
6 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.