cancel
Showing results for 
Search instead for 
Did you mean: 

what is User Exit

Former Member
0 Kudos

What is user exit & how to use it

rm

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

yes

dhaval_choksi3
Active Contributor
0 Kudos

Hi,

User exits allow you to add additional functions to the SAP standard.

Programs with user exits contain subroutine calls at certain points in their syntax that are identified by the prefix USEREXIT.

The actual user exits are located in an include that has been assigned to a module pool. This is where customers can include

any changes (enhancements) that they want to make to the

system.These includes are always processed during program flow.

Advantage: In principle, customers can modify anything they want that is found in the include (tables, structures, and so forth).

Disadvantage: SAP cannot check the individual enhancements themselves which often leads to errors in the enhancement process.

________________________________________________________

For Example from PP Point of view of you want to perform some specific checks during Process order creation/Release then you can put those checks in below User Exits,

o PPCO0006 to predefine entries for order header fields when creating

an order

o PPCO0001 to provide information at the time of saving (for

production orders and process orders)

o PPCO0007 to check or change header data when saving

o PPCO0002 to add additional checks that are to take place when

setting the deletion flag or deletion indicator

o PPCO0003 to prevent changes in sales order items that would cause

changes in the process order for static assembly processing

o STATTEXT to format the status line

o PPCO0008 to check components that have been changed or added

o PPCO0005 to change the storage location and the 'backflush'

indicator in the reservation

o PPCO0013 to change the priority of the selection criteria for batch

determination in production orders or process orders

o PPCO0014 to restrict the selection of process orders that are

offered when creating external relationships

o PPCO0020 to display additional information for another tab page in

the process order header

o PPCO0021 to control the release of production orders and process

orders if insufficient batches have been assigned

[ Refer Below Links, User Exit|http://help.sap.com/saphelp_erp2004/helpdata/en/5b/d231a843c611d182b30000e829fbfe/content.htm]

Regards,

Dhaval

Former Member
0 Kudos

Hello,

Customer Enhancements = User Exits

Point in an SAP program where a customer's own program can be called.

In contrast to customer exits, 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.

What is User Exits and Customer Exits?

Difference between user exits & customer exits:

User exit - A user exit is a three character code that instructs the system to access a program during system processing.

SXX: S is for standard exits that are delivered by SAP. XX represents the 2-digit exit number.

UXX: U is for user exits that are defined by the user. XX represents the 2-digit exit number

Customer exit - The R/3 enhancement concept allows you to add your own functionality to SAPu2019s standard business applications without having to modify the original applications. SAP creates customer exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks. *-- Mani

The following document is about exits in SAP :-

The R/3 enhancement concept allows you to add your own functionality to SAPu2019s standard business applications without having to modify the original applications.

SAP creates user exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks.

Types of Exits

There are several different types of user exits. Each of these exits acts as hooks where you can attach or "hang" your own add-ons.

Menu Exits

Menu exits add items to the pulldown menus in standard SAP applications. You can use these menu items to call up your own screens or to trigger entire add-on applications.

SAP creates menu exits by defining special menu items in the Menu Painter. These special entries have function codes that begin with "+" (a plus sign). You specify the menu itemu2019s text when activating the item in an add-on project.

Screen Exits

Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special subscreen areas on a standard R/3 screen and calling a customer subscreen from the standard screenu2019s flow logic.

Function Module Exits

Function module exits add functions to R/3 applications. Function module exits play a role in both menu and screen exits.

When you add a new menu item to a standard pull down menu, you use a function module exit to define the actions that should take place once your menu is activated.

Function module exits also control the data flow between standard programs and screen exit fields. SAP application developers create function module exits by writing calls to customer functions into the source code of standard R/3 programs.

These calls have the following syntax:

CALL CUSTOMER-FUNCTION u2018001u2019.

Field Exits

Field exits allow you to create your own programming logic for any data element in the Dictionary. You can use this logic to carry out checks, conversions, or business-related processing for any screen field. Example: The data element BBBNR identifies a companyu2019s international location number. You might want to set up your R/3 System so that all international location numbers are larger than 100.

The field exit concept lets you create a special function module that contains this logic.

You assign the special function module to the data element BBBNR. You then assign the module to any programs and screens in which users can add new international location numbers. When you activate your field exit, the system automatically triggers your special routine whenever a user enters a company location number.

In 4.6c, you can use "RSMODPRF" program to create field exits.

An example of a user exits :-

MODULE user_exit_0001 INPUT 
    CASE okcode.
        WHEN 'BACK OR EXIT'.
            CASE sy-dynnr.
                    WHEN '100'.
                         SET SCREEN 0.
                         LEAVE SCREEN.
                    WHEN '200'.
******************************************************************************
**** Note that you can write any code that satisfy your needs.                                                     ****
**** But in this case, this was wrote as a sample code for reference sake.                                    ****
**** And you can test it.                                                                                ****
****************************************************************************** 
                         SET SCREEN 100.
                         LEAVE SCREEN.
             ENDCASE.
      ENDCASE.

___________________________________________________

Userexits are places in the SAP standard code that are designed to insert code by the customer. It happens often that some values are set by default by SAP but are not appropriate for the business. In a user exit (or enhancement) you can correct this.

Let's say you are in a sales order and have dimension specified. Before saving, you need to determine the weight according to an own algorithm. Or you have your own credit check rules, so before saving you block the order when needed. This code could be found in a user-exit.

There are now four generations of userexits.

1. generation: these are FORM routines within the code, usually named "userexitu2026. " that can be filled with own code.

2. generation: these are special function calls that are invoked with "CALL CUSTOMER_FUNCTION"; they are defined with transaction SMOD and activated with CMOD.

3. generation: they are called BAdI -- Business Add-in -- and use ABAP dynamic classes instead function calls. They are handled via SE18/SE19 and normally placed in the code via a static method call to class CL_EXIT_HANDLER.

4. generation: there is a new concept announced for the NetWeaver 2004s that consolidates all userexits in a common framework.

[Short tutorial|http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm]

Regards,

Shyamal

rupesh_brahmankar3
Active Contributor
0 Kudos

Hi,

'User exits:

User exits allow you to add additional functions to the SAP standard. User exits (Function module exits) are exits developed by SAP.

If you want to check good issue and good reciept during production order in that cease we use such type of user exist.

In order to find out the user exits for any tcode,

1. get the developement class of the tcode from SE93.

2. Now goto transaction SMOD and press F4,

3. give in the Deve class in the dev class and Press ENTER

this will show u the exits for any tcode.

Please refer thiese link also,

http://www.erpgenie.com/sap/abap/code/abap26.htm

which gives the list of exits for a tcode

http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm

Hope clears to you.

Regards,

R.Brahmankar

Former Member
0 Kudos

Hi,

BADI , Customer Exit / User Exit all are same.

Customer Exit & User Exit terms were earlier used in case of R/3. Now in ECC 6.0 they are known as

BADI means Business Add-Ins.

BADIs :

Use:

SAP provides multiple implementations of Business Add-Ins (BAdIs), which enhance the functions of the Configuration Control component.

In addition, there are multiple empty BAdIs available for implementing a customer-specific logic for special functions.

Pls. find listed below some important PP Enhancements / BADIs :

Exit name Short text

PPAPO002 Publication of APO Data in Transfer from APO to R/3

PPAPO003 Production Order R/3->APO: Check if Operation is APO-Re

PPAPO004 Planned Order Conversion from APO: New BOM Explosion?

PPAPO005 Enh. of Relationships in Proc. Order during Transfer to

PPAPO006 Influencing Initial Supply of Manufacturing Orders

PPAPO007 Overriding Checkbox Fields for Production Order APO ->

PPAPO008 Override Order Type for Planned Order Conversion

PPAPO009 Customer Exit for Addition of Components and Items

PPAPO010 Filtering Components out of Quantity Propagation

PPAPO011 Performance-Related Adjustment of Remaining Duration

PPCO0001 Application development: PP orders

PPCO0002 Check exit for setting delete mark / deletion indicator

PPCO0003 Check exit for order changes from sales order

PPCO0004 Sort and processing exit: Mass processing orders

PPCO0005 Storage location/backflushing when order is created

PPCO0006 Enhancement to specify defaults for fields in order hea

PPCO0007 Exit when saving production order

PPCO0008 Enhancement in the adding and changing of components

PPCO0009 Enhancement in goods movements for prod. process order

PPCO0010 Enhancement in make-to-order production - Unit of measu

PPCO0012 Production Order: Display/Change Order Header Data

PPCO0013 Change priorities of selection crit. for batch determin

PPCO0014 Select process orders for external relationships

PPCO0015 Additional check for document links from BOMs

PPCO0016 Additional check for document links from master data

PPCO0017 Additional check for online processing of document link

PPCO0018 Check for changes to production order header

PPCO0019 Checks for changes to order operations

PPCO0020 Process order: Display/change order header data

PPCO0021 Release Control for Automatic Batch Determination

PPCO0022 Determination of Production Memo

PPCO0023 Checks Changes to Order Components

PPCP0001 P.Cost Planning: Additional Cost Elements for Person

PPEACT01 Customer Fields at Mode D

PPECMP01 Customer Fields for CMP Node

PPECMP02 Customer Fields: CMP Variants

PPEGEN01 General Engineering Node: Customer Fields

PPEMPA01 MPA Customer Enhancement

PPEMPO01 Customer Enhancement for Material Planning Object

PPEMPO02 Customer Enhancement for Model

PPERES01 Customer Fields at RES Node

Alternately you can find User Exits / BADIs in TCode : SMOD ( SAP Enhancements)

Hope this helps you clarify your doubts.

Revert if any doubt.

Regards,

Tejas