How can we fnd wich user exit yo use for
hi ABAP masters
how can we find out which user exit to use or a particular requirment.
Hello Devender,
The procedure followed is usually by reading the documentation
eg: consider a user exit or BADI definition
We get a hint from the text of the same...if not we refer the documentation given
if documentation is not available we check the signature of the enhancement i.e, which all fields are importing,exporting,which tables can be changed which cannot ....etc
Finally ,if none works out we do what abapers do best
Put a break point and see if it works or in case of BADI ,create a test implementation and see if it works out..
so here is the summary
Check description -> Check documentation -> Check signatures -> debugg/Trial and error
Hope it helped you out
Regards
Byju
Similar Messages
-
How can I find the USer Exit...
Hi,
How can I find the USer Exit...
I need to do changes for this User Exit :EXIT_SAPLKEII_002
In which T-code I can open this Exit
Ex: Go to some Transcation code and then give the name of the Exit ato access this Exit
...any sugesstions will be apprecaited!
Thanks & Regards,
KittuHi,
the EXIT : EXIT_SAPLKEII_002 is the exit,in this SAPLKEII is the standard Program.Copy this program and go to transactio SE38 and press Enter and then go for the option Where used list and check the check box Transaction. It displays the possible Transactions that the Exit triggers
Regards,
Vijaya Lakshmi.T -
How can I put form user exit logic into PL/SQL?
I need to translate the following into a SQL query:
SRW.USER_EXIT('FND FLEXSQL CODE ="GL#"
OUTPUT ="&P_ACCT_SEG"
APPL_SHORT_NAME="SQLGL"
MODE ="SELECT"
DISPLAY ="ALL"
NUM = "&P_chart_of_accounts_id"
TABLEALIAS ="GCC"');
Where is this data stored in the database and how can I query it?you might have to check out what is the type of this concurrent program with short name 'SQLGL'.
-
What user exit to use for Address Delivery in ME53N?
Hi all,
I make a mistake on my last week question. However, it has also added some extra knowledge to me and marks has been given out to respected consultants providing solution to me.
Ok, my correct question should be:
What is the user exit to maintain Delivery Address (CMMDA-ADRN2) in ME53N?
Hope to get some reply from you all as soon as possible.
Thanks,
William Wilstroth
Message was edited by: william wilstrothUser Exit for ME53N,The Bold One below would solve the purpose...and other user exist related to ME53...
<b>Kindly rewards points.</b>
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
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
<u><b>MM06E010 </b></u> 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
<i><b>MMDA0001 </b></i> Default delivery addresses
MMFAB001 User exit for generation of release order -
How can i ask the user only once using Vectors?
What i am trying to do is get an index of a vector.
I know that i have to use the elementAt(int), but what i want to do is
make it so only one screen pops up instead of all 4 of them.
I just want to ask his custID and from there look up the users information from the Vector. I cant get rid of the variables in the public Employee (see Employee Class) or else i will not be able to get the other information (delete a JOptionPane and you will see what i am talking about). Dont worry about the int int the elementAt part. I figured that out already.
public class Employee {
// class constants
// Data fields
private String custName;
private String custAddress;
private double rate;
private int custID;
private double steve;
public Employee(int id, String name, String adress, double ra) {
custName = name;
custAddress = adress;
rate = ra;
custID = id;
public String toString() {
return "Customer ID: "+ custID + "Customer Name : " + custName +
"Customer Adrress" + custAddress + "rate: $" + rate ;
public int getBalls(){
return custID;
public String getBallsy(){
return custAddress;
public double getRate(){
return rate;
the other one...
package bars;
import javax.swing.JOptionPane;
import javax.swing.*;
import java.util.*;
public class EmployeeApp {
//methods
private static int readInt (String prompt){
String numStr = JOptionPane.showInputDialog(prompt);
return Integer.parseInt(numStr);
private static double readDouble (String prompt){
String numStr = JOptionPane.showInputDialog(prompt);
return Double.parseDouble(numStr);
public static void main (String[] args){
//read and store the payroll data in an employee object
Vector programmers = new Vector();
for (int i = 0; i < 1; i++) {
Employee programmer =
new Employee(
readInt("Enter Customer ID: "),
JOptionPane.showInputDialog("Name: " ),
JOptionPane.showInputDialog("Address: "),
readDouble ("Enter hourly rate: ")
int steve = programmer.getBalls();
int bob = steve;
programmers.add(programmer);
System.out.println("here: " + steve);
System.out.println(programmers.toString());A vector probably isn't your best bet. Try a Map, a TreeMap if you want them in order, otherwise a HashMap. Use new Integer(customerId).
Map custMap = new HashMap(20);
custId = readInt("Enter customer ID");
custIdI = new Integet(custId);
Employee emp;
if(custMap.contains(custIdI)) {
emp = (Employess)custMap.get(custIdI);
... old employess
} else {
emp = new Employee(....);
custMap.put(custIdI, emp);
}If you use a vector you'll have to search it with a look of your own for a matching id. -
How can I make a Java program pyramid using for loops??
Hi guys, so I'm stuck with my program here... I don't know how to make it work, and i've been trying really hard.. So now i give up and need some guidance.. Please help me here.
Your job in this assignment is to write programs to solve each of these six problems.
1. Write a GraphicsProgram subclass that draws a pyramid consisting of bricks
arranged in horizontal rows, so that the number of bricks in each row decreases by
one as you move up the pyramid, as shown in the following sample run:
The pyramid should be centered at the bottom of the window and should use
constants for the following parameters:
BRICK_WIDTH The width of each brick (30 pixels)
BRICK_HEIGHT The height of each brick (12 pixels)
BRICKS_IN_BASE The number of bricks in the base (14)
The numbers in parentheses show the values for this diagram, but you must be able
to change those values in your program.
* File: Pyramid.java
* Name:
* Section Leader:
* This file is the starter file for the Pyramid problem.
* It includes definitions of the constants that match the
* sample run in the assignment, but you should make sure
* that changing these values causes the generated display
* to change accordingly.
import acm.graphics.*;
import acm.program.*;
import java.awt.*;
public class Pyramid extends GraphicsProgram {
/** Width of each brick in pixels */
private static final int BRICK_WIDTH = 30;
/** Width of each brick in pixels */
private static final int BRICK_HEIGHT = 12;
/** Number of bricks in the base of the pyramid */
private static final int BRICKS_IN_BASE = 14;
public void run() {
}That's my problem.yo, so i figure out my for loop. my code is very very very very ugly, so dont laugh i know its ugly! just wanna ask for some tips
public void run() {
int initBrick = 30;
int initPlacement = (getWidth() - BRICK_WIDTH) / 2;
for (int i = 0; i < initBrick; i += 30)
int initX = i;
int x = initX + initPlacement;
GRect brick = new GRect(x, 0, BRICK_WIDTH, BRICK_HEIGHT);
add(brick);
for (int i = 0; i < 60; i += 30)
int initX = i;
int x = (initX + initPlacement) - 15;
int y = 12;
GRect brick = new GRect(x, y, BRICK_WIDTH, BRICK_HEIGHT);
add(brick);
for (int i = 0; i < 90; i += 30)
int initX = i;
int x = (initX + initPlacement) - 30;
int y = 24;
GRect brick = new GRect(x, y, BRICK_WIDTH, BRICK_HEIGHT);
add(brick);
for (int i = 0; i < 120; i += 30)
int initX = i;
int x = (initX + initPlacement) - 45;
int y = 36;
GRect brick = new GRect(x, y, BRICK_WIDTH, BRICK_HEIGHT);
add(brick);
for (int i = 0; i < 150; i += 30)
int initX = i;
int x = (initX + initPlacement) - 60;
int y = 48;
GRect brick = new GRect(x, y, BRICK_WIDTH, BRICK_HEIGHT);
add(brick);
for (int i = 0; i < 180; i += 30)
int initX = i;
int x = (initX + initPlacement) - 75;
int y = 60;
GRect brick = new GRect(x, y, BRICK_WIDTH, BRICK_HEIGHT);
add(brick);
for (int i = 0; i < 210; i += 30)
int initX = i;
int x = (initX + initPlacement) - 90;
int y = 72;
GRect brick = new GRect(x, y, BRICK_WIDTH, BRICK_HEIGHT);
add(brick);
for (int i = 0; i < 240; i += 30)
int initX = i;
int x = (initX + initPlacement) - 105;
int y = 84;
GRect brick = new GRect(x, y, BRICK_WIDTH, BRICK_HEIGHT);
add(brick);
for (int i = 0; i < 270; i += 30)
int initX = i;
int x = (initX + initPlacement) - 120;
int y = 96;
GRect brick = new GRect(x, y, BRICK_WIDTH, BRICK_HEIGHT);
add(brick);
for (int i = 0; i < 300; i += 30)
int initX = i;
int x = (initX + initPlacement) - 135;
int y = 108;
GRect brick = new GRect(x, y, BRICK_WIDTH, BRICK_HEIGHT);
add(brick);
for (int i = 0; i < 330; i += 30)
int initX = i;
int x = (initX + initPlacement) - 150;
int y = 120;
GRect brick = new GRect(x, y, BRICK_WIDTH, BRICK_HEIGHT);
add(brick);
for (int i = 0; i < 360; i += 30)
int initX = i;
int x = (initX + initPlacement) - 165;
int y = 132;
GRect brick = new GRect(x, y, BRICK_WIDTH, BRICK_HEIGHT);
add(brick);
for (int i = 0; i < 390; i += 30)
int initX = i;
int x = (initX + initPlacement) - 180;
int y = 144;
GRect brick = new GRect(x, y, BRICK_WIDTH, BRICK_HEIGHT);
add(brick);
for (int i = 0; i < 420; i += 30)
int initX = i;
int x = (initX + initPlacement) - 195;
int y = 156;
GRect brick = new GRect(x, y, BRICK_WIDTH, BRICK_HEIGHT);
add(brick);
}So yeah, it's very ugly. not general. BUT now; I know the logic of the program..
I need to change 3 variables here.
the Y var, the X variable, and the size of the loop test..
so I need to make a one compact for loop that will change those 3 for every time the loop finish, or for every row the variable will change...
Ill try to think again, ill head to the balcony, and squeeze my brain. YEAH it took me this long to figure this out, anyway im a noob YET. But i was working a while ago.
ANYWAY, leave some tips please.. I NEED TIPS NOT SOLUTION -
How can i determine what vectors have been used for TTLTRIG0?
hi! I'm programing the application in vxworks OS.The application can obtain interrupt from TTLTRIG0-TTLTRIG8. Wish to receive your help! thank you very much!
regard you!Hi Zhongzheng,
I'm not quite sure what you mean by vectors. Are vectors specific to VXWorks? Are you trying to figure out which instrument is causing an interrupt or asserting the trigger? Are you trying to determine which trigger line has been asserted? Please clarify your question and provide more details, I'll try to find an answer for you.
Regards,
David Shatila
Applications Engineer
National Instruments -
How can I find out what account was used for a Game Center ID?
I have multiple iPhones in my family. I have an Apple ID with a Game Center account.
My son also has a phone with a Game Center account.
I recently swapped phones around when I got the iPhone 4S. Also, we upgraded all of the phones in the house to iOS5.
I think as part of that process, all of the previous log in info was wiped.
Now, my son wants to log back in to his Game Center account, but we can't figure out what Apple ID we used?
I've tried the find my Apple ID links with no avail.
I know what his Game Center handle is... is there a way to track it via that ID?
Help!
ThanksNevermind... I figured it out. I just had to log in with the Game Center ID and it worked.
Thanks anyway. -
How can I change the phone number I used for for Apple ID?
Hi
I had 2 iphones with 2 different phone numbers and 2 different apple id.
now i switched the phone numbers - but on the apple id i have the old number i no longer use.
What can I do so i'll have the correct phone number?Go into your settings>phone tap on the phone number and input the new number.
-
How can I see the exact font being used for rendering ?
When I use firebug to watch the style of any object, I see the CSS input. For the textarea I'm writing this text into, for instance, it displays "13px/1.231 Georgia,freeserif,serif".
What I want to see is the result of the rendering process, in other words the output of the rendering engine, which is not only dependent on the styles defined with the web page displayed, but also depends on the system fonts being installed, my settings in about:config and something more:
I just pressed ctrl-+ what increased the displayed font size, but the element style displayed remains the same as above. I want to look elsewhere to see an increased font size in this event. Where do I have to go ?The rendering speed is entirely limited by the CPU's speed and the software's ability to utilize the processor's capabilities. If you need faster rendering speed then you simply need a faster computer or better rendering software.
-
User exit or BADI for recruitment
Hi,
I am new to HCM, can you give me user exit or badi for recruitment.
Requirement - i have developed an infotype which i am updating through BSP, while the custom infotype is updated it should simultaneously update some of my Z tables. Hoping for positve replies earliest.
Thanks in advance:-
SantoshHi,
<b>Infotype</b>The data fields of HR master data, time management and recruitment are grouped logically into information types or infotypes for short.
Examples of infotypes are "Family/Related Person", "Organizational Assignment, "Basic Pay".
The following naming conventions apply to infotypes:
Infotypes 0000 to 0999 are used for HR master data
and sometimes for applicant data
Infotypes 1000 - 1999 for organizational management
Infotypes 2000 - 2999 for time data
Infotypes 4000 - 4999 for applicant data
Infotypes 9000 - 9999 for customers
<b>Function character of step</b>
This controls for which types of processing (create, change and/or delete a data record) a dynamic action should be carried out.
The processing type is indicated by a two-digit numeric value. These values can be added up; in other words, you can enter several processing types for each infotype, subtype or field. A dynamic action can also be carried out independent of the current processing type.
00 for Independent of the current function carried out
02 for Change
04 for Create
06 for Change and create
08 for Delete
10 for Change and delete
12 for Create and delete
Examples
If you enter 06, an action is carried out if the specified infotype was created or changed.
If you enter 00, an action is carried out irrespective of whether the specified infotype was created, changed or deleted.
<b>Variable function part</b>
The variable function part, which depends on the indicator for step, can have the following meaning:
<b>P - Plausibility checks</b>
You can enter values for specific infotype fields. Field names must be entered in full. Literals and constants can serve as comparison values. These must be enclosed by inverted commas. Variables can also be used.
The old value of a field can be used for comparison; the field name must be preceded by PSAVE-.
If fields of other infotypes are used for comparison, these must be stored in the module pool of the current infotype.
The following comparison operators are supported:
= equal to,
< less than,
<= less than or equal to,
> greater than
>= greater than or equal to and
<> not equal to.
Consecutive checks must be linked by a logical AND. Logical OR links must also be indicated by a /X.
Note:
Note that all checks with OR links must have a /X.
If the result of the comparison operation is not "true", then the following commands (I, F, W etc.) are skipped over until a field is reached or a new comparison operation takes place.
Examples
Infotype Field ..... Ind. Variable function part
0007 STAT3 P P0007-STAT3='0'
0007 STAT3 P PSAVE-STAT3='1'
The step is taken if the value in the P0007-STAT3 field changes from 1 to 0.
0007 P P0013-KLKZ1<>'0'/X
0007 P P0013-ALVKZ<>'0'/X
0007 P P0013-RVKZ1<>'0'/X
0007 P P0013-RVNUM=SPACE
The first three conditions are linked by an OR; at least one of these conditions must be met. Condition 4 must always be met.
The step is taken if the following holds true:
P0013-KVKZ1 not equal to 0 or P0013-ALVKZ not equal to 0 or P0013-RVKZ1 not equal to 0, and P0013-RVNUM empty.
<b>I - Maintain infotype record</b>
Enter the step, infotype, subtype, object ID, start and end dates of the record and an indicator which defines whether the step is to be run in the background. The possible actions are INS, COP, MOD, and DEL.
Use commas to separate selection criteria just like the separator in the matchcode. If an entry is missing, the system inserts a comma.
Separate the indicator for suppressing dialog from other entries by a slash D (/D).
Constants, such as those for subtypes, are not enclosed in inverted commas.
Variable entries are also permitted. Fields containing such values must be put in brackets.
Examples:
Infotype Field .... Ind. Variable function part
.... I INS,19,01/D
Step: Create a Dates record, subtype 01, run in the background
.... I DEL,14,M559
Step: Delete Rec. Payments/Deds. record with subtype (wage type) M559.
0007 .... I INS,8,,,(P0007-BEGDA),(P0007-ENDDA)
Step: Create a Basic Pay record (0008) without subtype and object ID. The start and end dates are the same as those in the current Planned Working Time record (0007); specify these two fields only if they are filled because the dynamic action was triggered by this infotype.
<b>W - Default values for new record</b>
Literals or variables are used as default values.
Set the defaults for the infotype, subtype, object ID, start and end dates using an I step and not a W step.
Do not set defaults for Q fields of an infotype because the values for these fields are derived from the corresponding P fields.
Examples
Infotype Subtype ..... FC Ind. Variable function part
0021 2 04 I INS,0015,M430
0021 2 04 W P0015-BETRG='10000'
When a Family/Related Person record (0021) record with subtype 2 (child) is created, an Additional Payments record (0015) with a default amount of 100.00 is created.
<b>V - Cross-reference to another step</b>
Here, you can combine fields to groups. The variable function part contains the value in the field which follows the "field" column. Steps which are specified only for the following field are also triggered for each of the other fields.
Examples
Infotype Field ..... FC Ind. Variable function part
0016 PRBZH 06 V PRBZT
0016 PRBZT 06 I DEL,0019,01/D
Infotype 0019, subtype 01 is deleted in the background when the field PRBZT or PRBZH in infotype 0016 is changed or created (function code 06).
The following entries are equivalent:
0016 PRBZH 06 I DEL,0019,01/D
0016 PRBZT 06 I DEL,0019,01/D
<b>F - Call a routine</b>
You can call internal (module pool) as well as external routines.
If you call external routines, type the program name in brackets after the routine name. Do not specify 'using' parameters. When calling an external routine, all data must be declared in a common part. You can use the fields of structure RP50D to return values from the routine. These are not used in the standard system and can only be populated via the routine and then can be used for defaults (W-Commands).
This allows customer-specific routines to be formulated with all the above steps.
Example 1:
Infotype Field ..... Ind. Var.function part
0016 PRBZT F PROBATION
0016 PRBZT I INS,19,01
0016 PRBZT W P0019-VTRMN=PRBEND
Module pool MP001600 contains the PROBATION routine. This routine uses the entries in the fields P0016-PRBZT and P0016-PRBEH to determine the end of the probation period which it stores in the field PRBEND.
The system creates a new 'Dates' record with the reminder date = PRBEND.
Example 2:
Infotyp ..... Ind. Var. function part
0001 F GET_DATE(ZPUDYN01)
0001 I INS,19,01
0001 W P0019-VTRMN=RP50D-DATE1
The GET_DATE routine in program ZPUDYN01 calculates a date and enters this date in the RP50D-DATE1 field via "TABLES RP50D" in ZPUDYN01. This date can be user-defined in GET_DATE: if necessary, user-defined infotypes can be read afterwards.
<b>M - Send a mail</b>
Enter the name of the feature which defines the characteristics of the mail.
Example
Infotype Field ..... Ind. Var.function part
0001 SACHP M M0001
A mail is sent when the field SACHP is changed. The characteristics of the mail are defined in feature M0001.
In the standard system, feature M0001 is provided as a model. The documentation on feature M0001 explains how to define the characteristics of a mail.
<b>ADDITIONAL HINTS</b>
If you use a date as a constant, enter it as YYYYMMDD (YYYY=year, MM=month, DD=day).
The table strings T001P, T503 and PSPAR are filled with the values which are valid on the record start date.
The old values of the infotype are stored in the field string PSAVE. The structure of this string is the same as the Pnnnn structure (nnnn=infotype). The structure is filled with (valid) values only when the delete, change and create functions are used.
Please read Create dynamic actions in the Implementation Guide.
Regards
Bernd -
How can we identify what are all user exits are there for sales orders,deli
Dear All,
How can we identify what are all user exits are there for sales orders,deliverys and invoices
thanks
nitchel vHi Nitchel
There are many ways to find out the user exits..
For example for VA01.
Goto Transaction ie VA01:
goto System-- Status
doubleclick on the program name ie SAPMV45A
SE38 -> Enter the program name and in the program( SAPMV45A) goto -- attributes
get the package name from here ie VA
note the package(VA) and get back to main screen
goto SMOD tcode and click on find button in the package spec giv the package name ie VA and execute it
you will find list of exits available
check out the exit that suits ur requirement
goto cmod and create a new project and implement in that user exit.
You will get the following exits in SMOD..
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
For Delivery you will get .. here the package name will be VL.
V02V0001 Sales area determination for stock transport order
V02V0002 User exit for storage location determination
V02V0003 User exit for gate + matl staging area determination (h
V02V0004 User Exit for Staging Area Determination (Item)
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)
For Billing VF01..Package is VF..
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 numbe
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 Procedu
V60A0001 Customer functions in the billing document
V60P0001 Data provision for additional fields for display in lis
V61A0001 Customer enhancement: Pricing
Or another way is ..
- Get the program name for that T-Code
- Go to that program
- In that program, search for word 'EXIT' or 'CUSTOMER-FUNCTION' by using where-used list which will give u the list of user exits for that program
And also you can check in the tables in SE16 for user exits..
MODSAP - Stores SAP Enhancements
MODSAPT - Stores SAP Enhancements - Short Texts
MODACT - Stores Modifications
And there are other ways as well , pls check the forum for this ,
Regards,
Vvieks
Note : If you have any specific requirement then pls let us know , we will guide you -
How to find out appropriate user exit
Hi,
I want to know how to find out the user exit that matches to the requirement. Suppose for a material master program, there are so many include programs hence im unable to find call custer-function and even unable to debug an appropriate include. Please help me out how to learn user exits in a rightious way.
Thanks
BasuLook for program SAPICSS_ in your system and run it. This program can also be found under CMOD menu: Utilities -> SAP enhancements.
This will only give you the CMOD user exits.
There is a program someone made that searches for all sorts of user-exits (including BADI's etc.). I remember that it was posted on sapfans.com
Edited by: Maen Anachronos on Apr 6, 2009 3:22 PM -
How to find the exact user exit for our requirement?
Dear Mr. keerthi,
can you please explain me how to find the exact user exit for our requirement?Hi sandip
There is more than one method in which you can check for user-exits.The following method is used very often.
<b>How to find the exact user-exit for your requirement.</b>
1. You can check the user exists using transaction SE85.
2. Repository Information System -> Enhancements -> Customer exits
3. You can search the user-exits by package name.
4. Double click on each exit name to check the function module exits.
<b>The procedure to find the package name.</b>
Execute transaction SE93
Enter the tcode of the transaction for which you want to check the user exit.
Example: if you want to find the user-exit for purchase orders while changing, enter ME22n and press display.
You will get to see the package name
But you need to confirm that the user exit will get triggered at the appropriate event.
( example: you might want some validations to be done ON SAVE of a purchase order)
<b>Checking if the user-exit is getting triggered or not.</b>
1. Open the user exit function module (that you have got in step 4) in Tcode SE37.
2. Click on where used button. In the pop up that immediately appears choose only programs .
3. You will get a list of programs. Double click on the program name.
4. You will get the list of location where this function module user exit is used.
5. Place session break points at each of these location ( at each CALL FUNCTION statement)
6. Now go to your transaction ( say change purchase order tcode:Me22n) and check if the user exit is getting triggered on appropriate event.
regards,
Prasad -
How to find the specifed user-exit
Hi, experts. i am first time to do enchancement. can anyone tell me how to find specifed user-exit. for example, how to find MV45AFZZ? Also, what i should pay attention to when doing enhancment works? thanks.
Hi Jrockman,
There are many things associated to user exit.
a) Tcode- CMOD. here you can find
b) USER-EXIT triggering points ->
Go to se93 and give the tcode to find the main program associated to it.
Go to se38 and give the main program.
Find the package associated to it.Go to->Object Directory Entry.
Go to smod transaction.
Press f4.
Press Information System Button.
Give the Project(Dev Class).
Press enter.
Find the enhancements associated
c) Check the code posted by me ,to get the list of User exits and Badi for a particular tcode in the link mentioned below.
Re: User Exit for IW22 - to populate custom fields
d) few useful links to understand User exits.
http://www.sapdevelopment.co.uk/enhance/enhancehome.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.sappoint.com/abap/userexit.pdf
ABAP Enhancements and Modifications - General
https://www.sdn.sap.com/irj/sdn/developerareas/abap?rid=/webcontent/uuid/2342e1f3-0b01-0010-a186-fdd404884050
Menu Exit
http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/menu-exits-72696#
Screen Exit
http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
Hope it helps.
Manish
Maybe you are looking for
-
Oracle Reports 10g, PDF fonts
Hi All, I have an issue with PDF turkish characters. When I run the same report with destype HTMLCSS all the characters are ok. I want to mention that the report data is taken from a remote 9i DB using a database link. The chracter set of the remote
-
How to send File with Same name to Receiver
HI Frnds, In my peoject i have one scenario, I have to access Orders is the name of file , available in FTP Server, i have to send same file to Receiver side with same name Orders Is it possible with same name dynamically?? Regards, Raj
-
Burn / Formatting Finished
There seem to be a few unanswered treads on this topic so I hope someone has the answer. I'm using an older version of DVDSP. It was working fine so had no reason to upgrade but slowly I'm losing functionality. My problem now is when I try to burn I
-
How to start a new career in SAP - SD as a Fresher?
Dear All, I am on the way to enter in the new world - SAP as a fresher. Seems to be positive and hopes on own capabilities. Willing to learn and go for Sales & Distribution (SD) Module as per my experience and domain knowledge. Please input your expe
-
SDM no longer saves updated sdmips.sdf file
I made some changes to to my v4 IPS signatures using SDM 2.5 on an 1841 router, latest release branch firmware. This process has always worked in the past. I can tell it's worked because the changes are present after a reload, and also the date stamp