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

user exits

Former Member
0 Likes
690

hello friends

iam new to user exits. i want to create a new user exit for MB51 report can any one explain the procedur for creating a user exit

5 REPLIES 5
Read only

Former Member
0 Likes
662

Before creating a new user exit, first find out what all exits are there for the transaction and whether they can be used to serve your requirement.

Below is the code which will give you all the exits for a particular transaction code.

&----


*& Report ZUSEREXIT *

*& *

&----


*& 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. *

&----


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

Best Regards,

Vibha Deshmukh

*Plz mark useful answers

Read only

Simha_
Product and Topic Expert
Product and Topic Expert
0 Likes
662

Hi,

go through these links..

<a href="http://sap-img.com/abap/a-short-tutorial-on-user-exits.htm">http://sap-img.com/abap/a-short-tutorial-on-user-exits.htm</a>

<a href="http://sap-img.com/abap/what-is-user-exits.htm">http://sap-img.com/abap/what-is-user-exits.htm</a>

<a href="http://sap-img.com/abap/what-is-the-difference-between-smod-and-cmod.htm">http://sap-img.com/abap/what-is-the-difference-between-smod-and-cmod.htm</a>

<a href="http://sap-img.com/ab038.htm">http://sap-img.com/ab038.htm</a>

Cheers,

Simha.

Reward if needful...

Read only

Former Member
0 Likes
662

hi,

these are the userexits available for MB51 transaction :

Exit Name Description

MBCF0002 Customer function exit: Segment text in material doc. item

MBCF0005 Material document item for goods receipt/issue slip

MBCF0006 Customer function for WBS element

MBCF0007 Customer function exit: Updating a reservation

MBCF0009 Filling the storage location field

MBCF0010 Customer exit: Create reservation BAPI_RESERVATION_CREATE1

MBCF0011 Read from RESB and RKPF for print list in MB26

MB_CF001 Customer Function Exit in the Case of Updating a Mat. Doc.

Read only

gopi_narendra
Active Contributor
0 Likes
662

Exits for tcode MB51 are

MBCF0002 Customer function exit: Segment text in material doc. i

MBCF0005 Material document item for goods receipt/issue slip

MBCF0006 Customer function for WBS element

MBCF0007 Customer function exit: Updating a reservation

MBCF0009 Filling the storage location field

MBCF0010 Customer exit: Create reservation BAPI_RESERVATION_CREA

MBCF0011 Read From RESB and RKPF For Print List in MB26

MBCFC003 Maintenance of batch master data for goods movements

MBCFC004 Maintenance of batch specifications for goods movements

Regards

- Gopi

Read only

Former Member
0 Likes
662

HI,

the above posts will give the Exits for the T.code MB51,

have a look at the below link, this will explain how to add code to the events or create some Z enhancements .. may be helpful to you

http://72.14.235.104/search?q=cache:uJ_stO9vjjMJ:www.ficoexpertonline.com/downloads/User%2520ExitsWP...ABAP%2BCreateaUSEREXIT&hl=en&gl=in&ct=clnk&cd=1

Regards

Sudheer