User Exit to Search for Duplicate BP Records
Hai Guys,
I want to use a "User Exit" that gives me a warning message when I am creating a BP with the same name and zipcode which is already presnet in the system.
Right now we are not getting any warning messgae and hence we are having duplicate BP records.
SO I want the warning message pop up with the already created BP number presnet in the system.
Your Help is Appreciated
Hi Gregor,
We are on CRM 5.0 and face a similar requirement of duplicate check for BPs. Can you please tell me if it can be achieved without using third party tools? If yes, could you please give an approach (BADIs that will have to be implemented). I'm on CRM 5.0 and could not find the views/tables CRMV_BP_* in TCode SM30. Please help.
Thanks in advance,
Vishal
Similar Messages
-
Urgent !!! User exits or badi for purchase info records
Hi all,
In purchase info records that is through tcode ME11, ME12 I need to validate order unit field. When you go to tcode ME12 in the second screen you will find order unit field. Now the thing is I need to validate this field. For example when the user selects any unit type I need to pass value to a custom field based on the value of order unit field. Please let me know who to carry out this process.
Thanks in advance.
Andy
Message was edited by: Andy VHi Andy,
I'm not sure is those transactions has Badis, but if you want to make sure of it (I can't do it right now), go to SE80 transaction and select the class/interface <b>CL_EXITHANDLER</b>, then you have to select the <b>Get_Instance</b> method and put a break-point in the following call:
call method cl_exithandler=>get_class_name_by_interface
exporting
instance = instance
importing
class_name = class_name
changing
exit_name = <b>exit_name</b>
exceptions
no_reference = 1
no_interface_reference = 2
no_exit_interface = 3
data_incons_in_exit_managem = 4
class_not_implement_interface = 5
others = 6.
the value of <b>exit_name</b> will give you the name of the BADI that is been call from the transaction.
Note: This method will show you every Badi that is being activated since you put the break-point.
Regards,
Eric -
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 -
User exit or BADI for technical closure of a maintenance order
Hello,
Please I need the help of you.
Is there any User exit or BADI for technical closure of a maintenance order
regardsHello ROB,
Please do not post duplicate thread.
You can check below two BADI's. ATP_PUBLISH_RESULTS and IWO1_SCREEN_MODIFY. Because I have got two BADI's through finder.
You can also check WO10004, WO10005, WO10006, WO10007, WO10008, WO10009, WO10010 and WO10011 user exits.
Thanks & Regards,
Abhijit -
User-exits or BAdI for transaction VL10B
Hello everybody,
I have to modify an outbound order during its creation from a purchase order in transaction VL10B. The modification is to update the serial numbers and the batch.
As the process is in background it is quite difficult to debug the process plus the problem that in this project I cannot modify the user-exits / badi just for testing. (they have implemented 'special' rules for these kind of modifications)
Does anybody know any user-exit or BAdI where I can update these serial numbers in this transaction VL10B?
Thanks in advanceHi,
Check [ABAP Ninja|http://www.abapninja.org/] it may help you will the search.
Regards
Marcin -
PSE10 Crashes when searching for duplicate photos
Hello,
I recently upgraded to PSE10 and imported my catalog from a different machine (which had been running XP). Unfortunately, I ended up with a bunch of duplicate entries in the catalog, one with the path c:\users\... the other with c:\my documents\... These paths both point to the same image on the hard drive.
When I try to Search for Duplicate Photos (from Find>By Visual Searches), PSE invariably crashes. I am running PSE10 under Windows 7 (full system info at the end of this message).
Any idea why this might be happening, and is there a different way I can remove the duplicate entries in the catalog?
Thanks,
Chris
Full system info:
Elements Organizer 10.0.0.0
Core Version: 10.0 (20110914.m.17521)
Language Version: 10.0 (20110914.m.17521)
Current Catalog:
Catalog Name: My Photos
Catalog Location: C:\ProgramData\Adobe\Elements Organizer\Catalogs\My Photos\
Catalog Size: 52.3MB
Catalog Cache Size: 391.7MB
System:
Operating System Name: Windows 7
Operating System Version: 6.1
System Architecture: Intel CPU Family:6 Model:5 Stepping:2 with MMX, SSE Integer, SSE FP
Built-in Memory: 3.8GB
Free Memory: 705.3MB
Important Drivers / Plug-ins / Libraries:
Microsoft DirectX Version: 9.0
Apple QuickTime Version: Not installed
Adobe Reader Version: 10.1
Adobe Acrobat Version: Not installed
CD and DVD drives:
F: (hp DVDRAM BUS: 1 ID: 1 Firmware: GT20L)If I understand well, what you are calling 'duplicates' are duplicate entries in the catalog, the same media being called either by its original path+filename or shortcut path+filename.
The organizer will try open two different files to compare them, but when trying to open the second 'shortcut', the file will be already blocked (in use). That could explain the failure of the comparison for similarity.
Try creating a new catalog with similar images, for instance jpegs and png copies. Does the visual search work ?
About backup and restore : If my supposition is right, that should work if you try to restore to a new custom location with keeping the file structure : the backup should create real file duplicates on different paths. If it works, finding visual duplicate should work, although this process may take a very long time. -
How can I search for duplicate photos in iPhoto libraries?
How can I search for duplicate photos in iPhoto 9.5.1 library. Installed on iMac 2.7 GHz Intel Core i5, Mavericks 10.9.5.
These applications will identify and help remove duplicate photos from an iPhoto Library:
iPhoto Library Manager - $29.95
Duplicate Annihilator - $7.95 - only app able to detect duplicate thumbnail files or faces files when an iPhoto 8 or earlier library has been imported into another.
PhotoSweeper - $9.95 - This app can search by comparing the image's bitmaps or histograms thus finding duplicates with different file names and dates.
DeCloner - $19.95 - can find duplicates in iPhoto Libraries or in folders on the HD.
DupliFinder - $7 - shows which events the photos are in.
iPhoto AppleScript to Remove Duplicates - Free
PhotoDedupo - $4.99 (App Store) - this app has a "similar" search feature which is like PhotoSweeper's bitmap comparison. It found all duplicates
Duplicate Cleaner for iPhoto - free - was able to recognize the duplicated HDR and normal files from an iPhone shooting in HDR
Some users have reported that PhotoSweeper did the best in finding all of the dups in their library: iphoto has duplicated many photos, how...: Apple Support Communities.
If you have an iPhone and have it set to keep the normal photo when shooting HDR photos the two image files that are created will be duplicates in a manner of speaking (same image) but there are only twp apps that detected the iPhone HDR and normal photos as being duplicates: PhotoSweeper and Duplicate Cleaner for iPhoto. None of the other apps detected those two files as being duplicates as they look for file name as well as other attributes and the two files from the iPhone have different file names.
iPLM, however, is the best all around iPhoto utility as it can do so much more than just find duplicates. IMO it's a must have tool if using iPhoto. -
User Exits or BAdis' for the Service Order create Transaction
Hi all,
I need to Replace a field, "Product" in the "Item Details" area of the create Service Order Transaction(CRMD_BUS2000116) with some custom field.
Are there any Exits/BAdi which will help me in doing this..
Thanks in advance
SethuHi Sethu,
The user exits / BADI's for the Transaction(CRMD_BUS2000116 are not avaliable:
The following info from one forum to search user exits / BADI's that you can use: There are multiple ways of searching for BADI.
<b>Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
Finding BADI Using SQL Trace (TCODE-ST05).
Finding BADI Using Repository Information System (TCODE- SE84).</b>
1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for CL_EXITHANDLER=>GET_INSTANCE.
Make sure the radio button In main program is checked. A list of all the programs with call to the BADIs will be listed.
The export parameter EXIT_NAME for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter INSTANCE will have the interface assigned to it. Double click on the method to enter the source code.
Definition of Instance would give you the Interface name.
2. Start transaction ST05 (Performance Analysis).
Set flag field "Buffer trace"
Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
Push the button "Deactivate Trace".
Push the button "Display Trace".
The popup screen "Set Restrictions for Displaying Trace" appears.
Now, filter the trace on Objects:
V_EXT_IMP
V_EXT_ACT
Push button "Multiple selections" button behind field Objects
Fill: V_EXT_IMP and V_EXT_ACT
All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
3. Go to Maintain Transaction (TCODE- SE93).
Enter the Transaction VD02 for which you want to find BADI.
Click on the Display push buttons.
Get the Package Name. (Package VS in this case)
<b>Go to TCode: SE84->Enhancements->Business Add-inns->Definition</b>
Enter the Package Name and Execute.
Here you get a list of all the Enhancement BADIs for the given package MB.
Also have a look at below report which will list BADIs.
REPORT Z_FIND_USER_EXITS.
TABLES : TSTC,TADIR,MODSAPT,MODACT,TRDIR,TFDIR,ENLFDIR,SXS_ATTRT ,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,
P_PGMNA LIKE TSTC-PGMNA .
DATA wa_tadir type tadir.
START-OF-SELECTION.
IF NOT P_TCODE IS INITIAL.
SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
ELSEIF NOT P_PGMNA IS INITIAL.
TSTC-PGMNA = P_PGMNA.
ENDIF.
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 in ('SMOD', 'SXSD')
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:/(105) SY-ULINE.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
Sorting the internal Table
sort jtab by OBJECT.
data : wf_txt(60) type c,
wf_smod type i ,
wf_badi type i ,
wf_object2(30) type C.
clear : wf_smod, wf_badi , wf_object2.
Get the total SMOD.
LOOP AT JTAB into wa_tadir.
at first.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
WRITE:/1 SY-VLINE,
2 'Enhancement/ Business Add-in',
41 SY-VLINE ,
42 'Description',
105 SY-VLINE.
WRITE:/(105) SY-ULINE.
endat.
clear wf_txt.
at new object.
if wa_tadir-object = 'SMOD'.
wf_object2 = 'Enhancement' .
elseif wa_tadir-object = 'SXSD'.
wf_object2 = ' Business Add-in'.
endif.
FORMAT COLOR COL_GROUP INTENSIFIED ON.
WRITE:/1 SY-VLINE,
2 wf_object2,
105 SY-VLINE.
endat.
case wa_tadir-object.
when 'SMOD'.
wf_smod = wf_smod + 1.
SELECT SINGLE MODTEXT into wf_txt
FROM MODSAPT
WHERE SPRSL = SY-LANGU
AND NAME = wa_tadir-OBJ_NAME.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
when 'SXSD'.
For BADis
wf_badi = wf_badi + 1 .
select single TEXT into wf_txt
from SXS_ATTRT
where sprsl = sy-langu
and EXIT_NAME = wa_tadir-OBJ_NAME.
FORMAT COLOR COL_NORMAL INTENSIFIED ON.
endcase.
WRITE:/1 SY-VLINE,
2 wa_tadir-OBJ_NAME hotspot on,
41 SY-VLINE ,
42 wf_txt,
105 SY-VLINE.
AT END OF object.
write : /(105) sy-ULINE.
ENDAT.
ENDLOOP.
WRITE:/(105) SY-ULINE.
SKIP.
FORMAT COLOR COL_TOTAL INTENSIFIED ON.
WRITE:/ 'No.of Exits:' , wf_smod.
WRITE:/ 'No.of BADis:' , wf_badi.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(105) 'No userexits or BADis exist'.
ENDIF.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(105) 'Transaction does not exist'.
ENDIF.
AT LINE-SELECTION.
data : wf_object type tadir-object.
clear wf_object.
GET CURSOR FIELD FIELD1.
CHECK FIELD1(8) EQ 'WA_TADIR'.
read table jtab with key obj_name = sy-lisel+1(20).
move jtab-object to wf_object.
case wf_object.
when 'SMOD'.
SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).
CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
when 'SXSD'.
SET PARAMETER ID 'EXN' FIELD SY-LISEL+1(20).
CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
endcase.
Hope it will help you.
Regards,
Arjun
<b>Reward points if it helps</b> -
User exit or badi for transaction IW32
Hi all,
I am searching for user exit or badi for Transaction IW32 but not finding as per my requirement.here in transaction IW32 if field system status(STTXT) key value is 'Released', all line item components should get displayed in display mode.it should not allow to edit or change line item components.can anyone give user exit or BADI to achieve this.
Thanks in advance.
Regards,
HarshadaHi,
Try to use this exit:
Enhancement EXIT_SAPLBSVA_001 STATTEXT Modification exit for formatting status text lines
Sample code:
IF ( sy-tcode = 'IW32') .
DATA: lv_str1 TYPE string.
FIELD-SYMBOLS : <fs_qmart> TYPE ANY.
lv_str1 = '(SAPLIQS0)VIQMEL-objnr'.
ASSIGN (lv_str1) TO <fs_objnr>.
SELECT SINGLE inact INTO lv_inact FROM jest WHERE objnr = viqmel-objnr
AND stat = c_stat
AND inact = space.
IF sy-subrc = 0.
LOOP AT SCREEN.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
Alternativ badi:
BADI SAPLIQS0 IQS0_STATUS_MAINTAIN Control of Changeability of User Status
I hope this may helpfull.
Thanks,
AMS -
User Exit or Badi for CN60 transaction
Hi
Can anyone tell me the user exits or Badis for Tcode CN60.
i need to Include the Comments field for the activities from CN22.soi would like to know is there any userexit for CN60.
Thanks
SowjanyaHi Sowjanya
u can find BADI's in different ways...
1>First go to any transaction->iN THE menu bar SYSTEM->STATUS->Get the program name ->double click->u will go to the program attached to the tcode.Now search term will be CALL CL_EXITHANDLER.Now u will get list of BADI'S available..
2>Goto SE24->Give class name as CL_EXITHANDLER->Display->double click on get_instance mathod->Now u will go inside the method->Now put break point on the cl_exithandler.Now go to any transaction code and pass dat..U will see that it will be stopped on the break point which u set on the cl_exithandler...In the exit name u can find list of badi's attached to the tcode..
There are multiple ways of searching for BADI.
Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
Finding BADI Using SQL Trace (TCODE-ST05).
Finding BADI Using Repository Information System (TCODE- SE84).
1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for CL_EXITHANDLER=>GET_INSTANCE.
Make sure the radio button In main program is checked. A list of all the programs with call to the BADIs will be listed.
The export parameter EXIT_NAME for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter INSTANCE will have the interface assigned to it. Double click on the method to enter the source code.Definition of Instance would give you the Interface name.
2. Start transaction ST05 (Performance Analysis).
Set flag field "Buffer trace"
Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
Push the button "Deactivate Trace".
Push the button "Display Trace".
The popup screen "Set Restrictions for Displaying Trace" appears.
Now, filter the trace on Objects:
V_EXT_IMP
V_EXT_ACT
Push button "Multiple selections" button behind field Objects
Fill: V_EXT_IMP and V_EXT_ACT
All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
3. Go to Maintain Transaction (TCODE- SE93).
Enter the Transaction VD02 for which you want to find BADI.
Click on the Display push buttons.
Get the Package Name. (Package VS in this case)
Go to TCode: SE84->Enhancements->Business Add-inns->Definition
Enter the Package Name and Execute.
Here you get a list of all the Enhancement BADIs for the given package MB.
The simplese way for finding BADI is
1. chooes Tcode Program & package for that Tcode.
2. Go to Tcode se18
3. Press F4
4. search by package or by program.
reward points to all helpful answers
kiran.M -
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 -
Hi,
Can anybody suggest me
Any User-exit or Badi name for VF11 tcode (Billing cancellation)
Moderator Message: Search before you post and ask your questions in the right forum.
Edited by: kishan P on Feb 11, 2011 3:11 PMHi
Exit
SDVFX001 User exit header line in delivery to accounting
SDVFX002 User exit for A/R line in transfer to accounting
SDVFX003 User exit cash clearing in transfer to accounting
SDVFX004 User exit G/L line in transfer to accounting
SDVFX005 User exit reserves in transfer to accounting
SDVFX006 User exit tax line in transfer to accounting
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 number)
SDVFX010 User exit item table for the customer lines
SDVFX011 Userexit for the komkcv- and kompcv-structures
J_3RSINV Userexit for the komkcv- and kompcv-structures
V05I0001 User exits for billing index
V05N0001 User Exits for Printing Billing Docs. using POR Procedure
V60A0001 Customer functions in the billing document
V60P0001 Data provision for additional fields for display in lists
V61A0001 Customer enhancement: Pricing
BADI
BADI_SD_SALES_BASIC
BADI_SD_TO_FM
BADI_SD_BILLING
Ranga -
Hi All,
My requirement is in ME59N if Document Type is ZCD or ZSD it should not consider the Rounding Value (MARC-BSTRF) which is coming from Materrial Master (MRP1 View) and Purchase Info Record (EINE-RDPRF) which is coming from Purchase Info Record(ME12 or ME13), Can any one suggest me the right User Exit or BADI for this, Please go through the requirement.
Regards,
Sudhakar .A
Edited by: Sudhakar Allam on Feb 5, 2010 4:31 AMHI Sudhakar ,
These are the list of enhancements and Badi's available for ME59N ,
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
MM06E011 Activate PReq Block
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
AMPL0001 User subscreen for additional data on AMPL
MRFLB001 Control Items for Contract Release Order
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 Customer-Specific 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
MEQUERY1 Enhancement to Document Overview ME21N/ME51N
MELAB001 Gen. forecast delivery schedules: Transfer schedule implem.
MEFLD004 Determine earliest delivery date f. check w. GR (only PO)
MEETA001 Define schedule line type (backlog, immed. req., preview)
ME590001 Grouping of requsitions for PO split in ME59
M06E0005 Role determination for release of purchasing documents
M06E0004 Changes to communication structure for release purch. doc.
M06B0005 Changes to comm. structure for overall release of requisn.
M06B0004 Number range and document number
The list of Badi are
ME_PROCESS_REQ_CUST Enhancements for Processing Enjoy PReqs: Customer
ME_PROCESS_REQ Enhancements for Processing Enjoy PReqs: Internal
ME_PROCESS_PO_CUST Enhancements for Processing Enjoy Purchase Order: Customer
ME_PROCESS_PO Enhancements for Processing Enjoy Purchase Order: Intern.
ME_PROCESS_COMP Processing of Component Default Data at Time of GR: Customer
ME_PO_SC_SRV BAdI: Service Tab Page for Subcontracting
ME_PO_PRICING_CUST Enhancements to Price Determination: Customer
ME_PO_PRICING Enhancements to Price Determination: Internal
ME_INFOREC_SEND Capture/Send Purchase Info Record Changes - Internal Use
ME_HOLD_PO Hold Enjoy Purchase Orders: Activation/Deactivation
ME_GUI_PO_CUST Customer's Own Screens in Enjoy Purchase Order
ME_FIELDSTATUS_STOCK FM Account Assignment Behavior for Stock PR/PO
ME_DP_CLEARING Clearing (Offsetting) of Down Payments and Payment Requests
ME_PURCHDOC_POSTED Purchasing Document Posted
SMOD_MRFLB001 Control Items for Contract Release Order
EXTENSION_US_TAXES Extended Tax Calculation with Additional Data
ARC_MM_EKKO_WRITE BAdI: Enhancement of Scope of Archiving (MM_EKKO)
ARC_MM_EKKO_CHECK BAdI: Enhancement of Archivability Check (MM_EKKO)
MM_EDI_DESADV_IN Supplementation of Delivery Interface from Purchase Order
MM_DELIVERY_ADDR_SAP Determination of Delivery Address
ME_WRF_STD_DNG PO Controlling Reminder: Extension to Standard Reminder
ME_TRIGGER_ATP Triggers New ATP for Changes in EKKO, EKPO, EKPV
ME_TRF_RULE_CUST_OFF BADI for Deactivation of Field T161V-REVFE
ME_TAX_FROM_ADDRESS Tax jurisdiction code taken from address
ME_REQ_POSTED Purchase Requisition Posted
ME_REQ_OI_EXT Commitment Update in the Case of External Requisitions
ME_RELEASE_CREATE BAdI: Release Creation for Sched.Agrmts with Release Docu.
ME_DEFINE_CALCTYPE Control of Pricing Type: Additional Fields
ME_CHANGE_OUTTAB Enrich ALV Output Table in Purchasing
ME_CHANGE_CHARACTER Customer-Specific Characteristics for Product Allocation
ME_CCP_DEL_DURATION Calc. of Delivery Duration in CCP Process (Not in Standard)
ME_CCP_BESWK_AUTH_CH BAdI for authorization checks for procuring plant
ME_CCP_ACTIVE_CHECK BAdI to check whether CCP process is active
ME_BSART_DET Change document type for automatically generated POs
ME_BADI_DISPLAY_DOC BAdI for Internal Control of Transaction to be Invoked
ME_ACTV_CANCEL_PO BAdI for Activating the Cancel Function at Header Leve
MEGUI_LAYOUT BAdI for Enjoy Purchasing GUI
ME_CHECK_ALL_ITEMS Run Through Items Again in the Event of Changes in EKK
ME_COMMTMNT_REQ_RE_C Check of Commitment Relevance of Purchase Requisitions
ME_COMMTMNT_REQ_RELE Check of Commitment Relevance of Purchase Requisitions
ME_COMMTMNT_PO_REL_C Check for Commitment-Relevance of Purchase Orders
ME_COMMTMNT_PO_RELEV Check for Commitment-Relevance of Purchase Orders
ME_COMMITMENT_STO_CH BadI for checking if commitments for STOs are active
ME_COMMITMENT_RETURN Commitment for return item
ME_CIP_REF_CHAR Enables Reference Characteristics in Purchasing
ME_CIP_ALLOW_CHANGE Configuration in Purchasing: Changeability Control
ME_CIN_MM06EFKO Copy PO data for use by Country version India
ME_CIN_LEINRF2V BADI for LEINRF03 excise_invoice_details
ME_CIN_LEINRF2R BADI for CIN India - Delivery charges
ME_CHECK_SOURCES Additional Checks in Source Determination/Checking
ME_CHECK_OA Check BAdI for Contracts
regards. -
Hi
I need add some validations to data entry in MIRO for send their respective error messages and stop data saving.
Does somebody knows some User Exit or Badi for make validations in MIRO ?
Regards
FrankHi,
you can use badi MRM_HEADER_CHECK. In order to put error message you can use function module
PROT_FILL.
* If there is any error do not allow posting
DATA: gt_errtab TYPE TABLE OF mrm_errprot,
gs_errtab TYPE mrm_errprot.
CONSTANTS: c_errprot(23) TYPE c VALUE '(SAPLMRMF)TAB_ERRPROT[]'.
FIELD-SYMBOLS: <fs_errprotj_dt> TYPE table.
ASSIGN (c_errprot) TO <fs_errprotj_dt>.
REFRESH gt_errtab[].
gt_errtab[] = <fs_errprotj_dt>[].
IF NOT gt_errtab[] IS INITIAL.
READ TABLE gt_errtab INTO gs_errtab WITH KEY msgty = 'E'.
IF sy-subrc = 0.
DATA: c_okqx(17) TYPE c VALUE '(SAPLMR1M)OK-CODE'.
FIELD-SYMBOLS: <fs_okqx> TYPE ANY.
ASSIGN (c_okqx) TO <fs_okqx>.
CASE <fs_okqx>.
WHEN 'BU'. "POST
* This is optional: you can either search for a particular message or
* do not allow any error message
* Here search for the message triggered in badi INVOICE UPDATE
READ TABLE gt_errtab INTO gs_errtab WITH KEY msgty = 'E'
msgid = 'ZXX' msgno = '030'.
IF sy-subrc = 0.
CLEAR <fs_okqx>.
MESSAGE s030(zxx). "While errors exist document will not be posted
ENDIF.
ENDCASE.
ENDIF.
ENDIF.
This is used to give error message in case before posting the document.
KR Jaideep, -
User exit or BADI for Tcode ME51N
Hi All,
My requirement is i need to check available quantity at the time of Purchase req creation. If PR quantity is available in stock then it should not allow to create new PR.
Is there any user exit or Badi for this requirement. Kindly send me.
Regards,
ParasHai,
User Exit: MEREQ001
Function exit EXIT_SAPLMEREQ_001
EXIT_SAPLMEREQ_002
EXIT_SAPLMEREQ_003
EXIT_SAPLMEREQ_004
EXIT_SAPLMEREQ_005
EXIT_SAPLMEREQ_006
EXIT_SAPLMEREQ_007
EXIT_SAPLMEREQ_008
EXIT_SAPLMEREQ_009
EXIT_SAPLMEREQ_010
Screen exit SAPLMEGUI
Include tables CI_EBANDB
CI_EBANMEM
Maybe you are looking for
-
10.9.2 Update KILLED APPLE MAIL
Hi Apple People! Did the update to 10.9.2 AND the security update this morning. Now mail is seriously broken. All of the mail "headers" (the little column to the left of the message viewer area) show up but if you click on them 90% of the time the bi
-
Spry Horizontal Menu Bar width problem in IE and Safari
Hi Everyone, I am working on a template and have used Spry Horizontal Menu for quite a few sites now. This one is giving me problems though on the width of the navigation bar. It moves the last right menu item to the next row on the left in Safari a
-
Multiple Location of datafiles in Data Guard Environment
I have Data Guard setup in my oracle 10g database. Uptil now , all the datafiles were at same location, therefore db_file parameter setting in pfile was fine. Now I want to move my few of the datafiles at another location. Say, few of my datafiles wo
-
Do not allow User to Booked Sales Order if Line QTY is not enough.
Hi All, Is there a way in Order Management setup to not allow sales people to Booked their Sales Order if there are order lines where the qty is not enough in the Inventory, where it will cause 'Backorder' if picked and shipped? Regards, Ja
-
Repository A2 is already used for document area DATAARCH (Data Archiving].
Dear ALL, Actually I am getting probelem Photo configuration in back end. I am using Transaction SM31 maitaining the table TOAAR_C, here I am getting probelem 'Content Repository Identification' (A2), here i am getting below error. Repository A2 is