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
1,168

Hi Friends,

Can any one give assignments on User Exits, where i can work on IDES...thanks in advance, points for sure if any one gives me assingments.

Regards

Vijaya

8 REPLIES 8
Read only

former_member189629
Active Contributor
0 Likes
1,114

Vijaya,

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.

(or)

Use the below code to find User exit for a transaction.paste in se38 and give your tcode name.You will get your user exit name.

Give the TCODE as input.

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.

Reward if helpful,

Karthik

Read only

0 Likes
1,114

Karthik, do u have any assignments on user exit, if u have can u send me pls...

Read only

0 Likes
1,114

hi vijaya

try this

add vendor grading field to XK01

regards

Nagesh.Paruchuri

Read only

abdulazeez12
Active Contributor
0 Likes
1,114

Find below , some of frequently used user-exits :

From include MV45AFZZ

USEREXIT_SAVE_DOCUMENT_PREPARE This userexit can be used for changes or checks, before a sales document is saved

USEREXIT_DELETE_DOCUMENT This userexit can be used to delete data in additional tables when a sales document is deleted.

USEREXIT_FIELD_MODIFICATION This userexit can be used to modify the attributes of screen fields

.

USEREXIT_MOVE_FIELD_TO_VBAK This userexit can be used to move some fields into the sales dokument header workaerea VBAK

USEREXIT_MOVE_FIELD_TO_VBAP This userexit can be used to move some fields into the sales dokument item workaerea VBAP

USEREXIT_MOVE_FIELD_TO_VBEP This userexit can be used to move some fields into the sales dokument schedule line workaerea VBEP

USEREXIT_MOVE_FIELD_TO_VBKD This userexit can be used to move some fields into the sales dokument business data workaerea VBKD

USEREXIT_NUMBER_RANGE This userexit can be used to determine the numberranges for the internal document number

USEREXIT_PRICING_PREPARE_TKOMK This userexit can be used to move additional fields into the communication table which is used for pricing:

USEREXIT_PRICING_PREPARE_TKOMP This userexit can be used to move additional fields into the communication table which is used for pricing:

USEREXIT_READ_DOCUMENT This userexit can be used to read data in additional tables when the program reads a sales document.

USEREXIT_SAVE_DOCUMENT This userexit can be used to save data in additional tables when a document is saved.

From Include RV60AFZZ

USEREXIT_NUMBER_RANGE This userexit can be used to determine the numberranges for the internal document number

Example :

Suppose , Instead of using standard number range, Client want plantwise different series of invoice numbers, further, we want to differentiate b/w LST Sale or CST Sale by using different number ranges for both sales.

Then, we can use USEREXIT_NUMBER_RANGE .

User Exits in Transaction ME21N

Transaction Code - ME21N Purchase Order

-


Exit Name

Description

-


MRFLB001

Control Items for Contract Release Order

AMPL0001

User subscreen for additional data on AMPL

LMEDR001

Enhancements to print program

LMELA002

Adopt batch no. from shipping notification when posting a GR

LMELA010

Inbound shipping notification: Transfer item data from IDOC

LMEQR001

User exit for source determination

LMEXF001

Conditions in Purchasing Documents Without Invoice Receipt

LWSUS001

Individual customer source determination in Retail

M06B0001

Role determination for purchase requisition release

M06B0002

Changes to comm. structure for purchase requisition release

M06B0003

Number range and document number

M06B0004

Number range and document number

M06B0005

Changes to comm. structure for overall release of requisn.

M06E0004

Changes to communication structure for release purch. doc.

M06E0005

Role determination for release of purchasing documents

ME590001

Grouping of requsitions for PO split in ME59

MEETA001

Define schedule line type (backlog, immed. req., preview)

MEFLD004

Determine earliest delivery date f. check w. GR (only PO)

MELAB001

Gen. forecast delivery schedules: Transfer schedule implem.

MEVME001

WE default quantity calc. and over/ underdelivery tolerance

MM06E001

User exits for EDI inbound and outbound purchasing documents

MM06E003

Number range and document number

MM06E004

Control import data screens in purchase order

MM06E005

Customer fields in purchasing document

MM06E007

Change document for requisitions upon conversion into PO

MM06E008

Monitoring of contr. target value in case of release orders

MM06E009

Relevant texts for "Texts exist" indicator

MM06E010

Field selection for vendor address

MMAL0001

ALE source list distribution: Outbound processing

MMAL0002

ALE source list distribution: Inbound processing

MMAL0003

ALE purcasing info record distribution: Outbound processing

MMAL0004

ALE purchasing info record distribution: Inbound processing

MMDA0001

Default delivery addresses

MMFAB001

User exit for generation of release order

-


Adding a Field Exit

To add a field exit first find the data element that is linked to the screen field- the screen number and program

Run program RSMODPRF. You will need to create two function modules one FIELD_EXIT_MEPO_VENDOR and

FIELD_EXIT_MEPO_VENDOR_A

FIELD_EXIT_MEPO_VENDOR should have code simply of input = ouput.

FIELD_EXIT_MEPO_VENDOR_A should have the code for whatever the functionality is required

Go back to RSMODPRF and run the program without parameters. Use the push buttons to assign the screen, 'A' and program. Use the drop down to activate the field list.

This should now work, but there is no way of debugging. For further information look at OSS 29377

program zzdirlist.

  • for AIX this method also works.

DATA: BEGIN OF TABL OCCURS 0,

TEXT(80) TYPE C,

END OF TABL.

DATA: COMMAND(256) TYPE C.

COMMAND = 'ls'.

CALL FUNCTION 'RFC_REMOTE_PIPE' DESTINATION 'SERVER_EXEC'

EXPORTING COMMAND = COMMAND

READ = 'X'

TABLES PIPEDATA = TABL.

LOOP AT TABL.

WRITE:/ TABL-text.

ENDLOOP.

Hope this information helps you.

Reward Points if it helps you.

Read only

Former Member
0 Likes
1,114

Assignment add user Exit for MM01

Transaction Code - MM01 Create Material &

Exit Name Description

MGA00001 Material Master (Industry): Checks and Enhancements

MGA00002 Material Master (Industry): Number Assignment

MGA00003 Material Master (Industry and Retail): Number Display

No of Exits: 3

USER EXIT

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

http://www.sapgenie.com/abap/code/abap26.htm

http://www.sap-img.com/abap/what-is-user-exits.htm

http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction

http://www.easymarketplace.de/userexit.php

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

http://www.sappoint.com/abap/userexit.pdfUser-Exit

http://www.sap-img.com/ab038.htm

http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm

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

http://www.sap-img.com/abap/what-is-user-exits.htm

http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html

Exits are basically the hooks whcih SAP has provided to add your own code. There are two types of Exits:

1. Customer exits: Implemented as Function Modules within z includes. Anybody can change it and no access key is required.

2. User Exit: Implemented as subroutines within includes (any include except y or z includes). You need access for the specific include and then you can any subroutine (user exit) within that Include.

BADIs are the enhanced version of user exits where the same logic is implemented via classes and object (OOP)

Enchancement point is the latest once introduces with ECC6.0 . Not very sure about that but you can change it without any access key.

Please go through the following link which will help you understand the exits in a much better way:

http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec07a25db911d295ae0000e82de14a/content.htm

http://www.sap-img.com/abap/what-is-the-difference-between-smod-and-cmod.htm

http://sap.niraj.tripod.com/id21.html

http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm

http://www.sap-img.com/ab038.htm

User Exits.

-


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

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

http://www.sapgenie.com/abap/code/abap26.htm

http://www.sap-img.com/abap/what-is-user-exits.htm

http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction

http://www.easymarketplace.de/userexit.php

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

http://www.sappoint.com/abap/userexit.pdfUser-Exit

customer exits

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f1a7e790-0201-0010-0a8d-f08a4662...

Menu Exit.

http://www.sappoint.com/abap/spmp.pdf

http://www.sappoint.com/abap/userexit.pdf

http://www.sapdevelopment.co.uk/enhance/mod_sapmenu.htm

http://www.sapdevelopment.co.uk/enhance/enhancehome.htm

Rewards if useful.........

Minal

Read only

Former Member
0 Likes
1,114

Hi,

you can try for a simple assignment like in MM01 nobody will be allowed to create material no starting from A001*

and only a particuular user is allowe to create that kind of material material

or only a particular user can create material of type FERT

or

while changing a material there should be a popup message saying changing an existing material is not recommended

these are a few use rexits examples on mm01 and mm02

reward if helpful

vivekanand

Read only

Former Member
0 Likes
1,114

Hi

Table enhancement - Append structure (2 Char fields ) for Table SFLIGHT**

To trigger all the customer exit (Function , Menu and Screen Exit) for Program SAPBC425_FLIGHT**

Create a project using following Components

SBC**E01(Function Exit)

SBC**E02(Menu Exit)

SBC**E03 (Screen Exit)

(** => ranges from 00 to 18)

Read only

0 Likes
1,114

for user exits you need acess key and user exits are only for sd module if you have acess key and want to work on user axits goto SPRO transaction and click on SAP reference IMG->sales and distribution->system modifications--->User exits. there you find a lot of user exits .work on that.

<b>if helpful reward some points.</b>