Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

What is User Exist?

Former Member
0 Likes
8,436

Dear All,

What is UserExist? How to find userexist?

and how to Implement in SAP Application?

regards,

Dharmesh

Dear All,

What is UserExist? How to find userexist?

and how to Implement in SAP Application?

regards,

Dharmesh

9 REPLIES 9
Read only

Former Member
0 Likes
4,524

Hi dharmesh,

1. In sap transactions/prgrams,

they have provide POINTS

a) at the time of display data

b) at the time of saving data

c) etc.

where they call some FM.

In this FM we can write our customer

code to do some validations etc.

This is called USER-EXIT.

2.How to find userexist?

Use SMOD tcode

3.

How to Implement in SAP Application?

We can only implement

if the sap program provides the POINTS

Other wise not.

If it provides, then we can use CMOD(to make a new project)

and enhance it using the name of the user-exit.

regards,

amit m.

Read only

Former Member
0 Likes
4,524

Hi Dharmesh,

SAP Provides a include file where u can add extra functionality to the existing applications. This can be done thru the user-exists...where the user can add the xtra functionality required.

For every standard applicaton there exists a user-exit. u can search the user-exist in transaction SMOD.

After searching the required exit. u can modify/add the code thru transaction CMOD.

Read only

abdul_hakim
Active Contributor
0 Likes
4,524

Hi Dharmesh,

User exits are empty subroutines that SAP developers have provided for you.YOu can fill them with your own source code.You can search for user exit using "PERFORM userexit_" in main program of a transaction..

Regards,

Abdul

Read only

Former Member
0 Likes
4,524

1. The user exit is a point in a SAP program where a customer’s own program can be called. On upgrade, each user exit must be checked to ensure that it conforms to the standard system.

2. How to find user exits and to implement.

Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT

If you know the Exit name, go to transaction CMOD. Choose menu Utillities->SAP Enhancements.

Enter the exit name and press enter.

You will now come to a screen that shows the function module exits for the exit.

Read only

Former Member
0 Likes
4,524

Hi,

check out these links:

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

*

  • Finding the user-exits of a SAP transaction code
    *
    * Enter the transaction code in which you are looking for the user-exit
    * and it will list you the list of user-exits in the transaction code.
    * Also a drill down is possible which will help you to branch to SMOD.
    *
    * Written by : SAP Basis, ABAP Programming and Other IMG Stuff
    *              http://www.sap-img.com
    *
    
    report zuserexit no standard page heading.
    tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
             tables : tstct.
    data : jtab like tadir occurs 0 with header line.
    data : field1(30).
    data : v_devclass like tadir-devclass.
    parameters : p_tcode like tstc-tcode obligatory.
    
    select single * from tstc where tcode eq p_tcode.
    if sy-subrc eq 0.
       select single * from tadir where pgmid = 'R3TR'
                        and object = 'PROG'
                        and obj_name = tstc-pgmna.
       move : tadir-devclass to v_devclass.
          if sy-subrc ne 0.
             select single * from trdir where name = tstc-pgmna.
             if trdir-subc eq 'F'.
                select single * from tfdir where pname = tstc-pgmna.
                select single * from enlfdir where funcname =
                tfdir-funcname.
                select single * from tadir where pgmid = 'R3TR'
                                   and object = 'FUGR'
                                   and obj_name eq enlfdir-area.
    
                move : tadir-devclass to v_devclass.
              endif.
           endif.
           select * from tadir into table jtab
                         where pgmid = 'R3TR'
                           and object = 'SMOD'
                           and devclass = v_devclass.
            select single * from tstct where sprsl eq sy-langu and
                                             tcode eq p_tcode.
            format color col_positive intensified off.
            write:/(19) 'Transaction Code - ',
                 20(20) p_tcode,
                 45(50) tstct-ttext.
                        skip.
            if not jtab[] is initial.
               write:/(95) sy-uline.
               format color col_heading intensified on.
               write:/1 sy-vline,
                      2 'Exit Name',
                     21 sy-vline ,
                     22 'Description',
                     95 sy-vline.
               write:/(95) sy-uline.
               loop at jtab.
                  select single * from modsapt
                         where sprsl = sy-langu and
                                name = jtab-obj_name.
                       format color col_normal intensified off.
                       write:/1 sy-vline,
                              2 jtab-obj_name hotspot on,
                             21 sy-vline ,
                             22 modsapt-modtext,
                             95 sy-vline.
               endloop.
               write:/(95) sy-uline.
               describe table jtab.
               skip.
               format color col_total intensified on.
               write:/ 'No of Exits:' , sy-tfill.
            else.
               format color col_negative intensified on.
               write:/(95) 'No User Exit exists'.
            endif.
          else.
              format color col_negative intensified on.
              write:/(95) 'Transaction Code Does Not Exist'.
          endif.
    
    at line-selection.
       get cursor field field1.
       check field1(4) eq 'JTAB'.
       set parameter id 'MON' field sy-lisel+1(10).
       call transaction 'SMOD' and skip first   screen.
    
    *---End of Program
    
    

Regards,

Gayathri

Read only

0 Likes
4,524

User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a functionmodule. The code for the function module is writeen by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.

The naming standard of function modules for functionmodule exits is:

EXIT_<program name><3 digit suffix>

The call to a functionmodule exit is implemented as:

CALL CUSTOMER.-FUNCTION ❤️ digit suffix>

Example:

The program for transaction VA01 Create salesorder is SAPMV45A

If you search for CALL CUSTOMER-FUNCTION i program

SAPMV45A you will find ( Among other user exits):

CALL CUSTOMER-FUNCTION '003'

exporting

xvbak = vbak

xvbuk = vbuk

xkomk = tkomk

importing

lvf_subrc = lvf_subrc

tables

xvbfa = xvbfa

xvbap = xvbap

xvbup = xvbup.

The exit calls function module EXIT_SAPMV45A_003

How to find user exits :

Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT

If you know the Exit name, go to transaction CMOD.

Choose menu Utillities->SAP Enhancements. Enter the exit name and press enter.

You will now come to a screen that shows the function module exits for the exit.

Using Project management of SAP Enhancements :

We want to create a project to enahance trasnaction VA01

- Go to transaction CMOD

- Create a project called ZVA01

- Choose the Enhancement assign radio button and press the Change button

In the first column enter V45A0002 Predefine sold-to party in sales document . Note that an enhancement can only be used i 1 project. If the enhancement is already in use, and error message will be displayed

Press Save

Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit.

Now the function module is displayed. Double click on include ZXVVAU04 in the function module

Insert the following code into the include: E_KUNNR = '2155'.

Activate the include program. Go back to CMOD and activate the project.

Goto transaction VA01 and craete a salesorder.

Read only

Former Member
0 Likes
4,524

Hi Dharmesh,

1. USER EXITS are FORMS and are called by SAP standard programs using PERFORM.

2. Inside the form (user exit) you can read and change almost any global data from host program.

3.User exits are more flexible because you have more information to use in your code but on the other hand , it is very easy to manipulate erroneously global data and lead the standard program to a dump or even to make database inconsistent.

4.User-exit doesn’t have any classification.

5.User Exits are Basically designed For SD module.

6. User-exits can be written only using access-key.

7.With user-exits the code , the developer has written will not be there for next version unless modification assistance tool is used.

For moe information you can follow this link :

https://www.sdn.sap.com/irj/sdn/collaboration

Regards,

Kunal.

Read only

Former Member
0 Likes
4,524

Hi,

1. As per the forum etiquette,

u may pls award points

to helpful answers by clicking the STAR

on the left of that reply.

regards,

amit m.

Read only

Former Member
0 Likes
4,524

Hi,

Send me a mail to my EmailID: [email protected].

Will provide a good document on USer exit.

Regs,

Venkat Ramanan