cancel
Showing results for 
Search instead for 
Did you mean: 

User Exits

Former Member
0 Kudos

Hi SAP experts,

Could you explain what are "User Exits" and how they are used in any process with examples ?.

Thanks.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

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 customer’s 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

Answers (2)

Answers (2)

Former Member
0 Kudos

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

Former Member
0 Kudos

Thanks Jude for your answer.

Former Member
0 Kudos

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