BADI for XK02-multiple implementation conflict
I have implemented a BADI for XK02 ,consider method as X there i pass some values to screen based on some calculation . another person has also implemented same badi same method X and he also passes some value to screen based on some calculation. will it overwrite ? if yes What should i do now?
What is the BAdI that you're using? If it's XK02, i think you might be using VENDOR_ADD_DATA in conjunction with VENDOR_ADD_DATA_CS.
VENDOR_ADD_DATA_CS is a filter dependent BAdI with filter on the "Vendor Screen Group". So i think even if you've multiple implementations, there shouldn't be a concern if the filters are defined.
BR,
Suhas
PS: Next time onwards provide sufficient details for better analysis. In this case you could have given the BAdI name, method etc. details
Similar Messages
-
Badi's multiple implementation
Hi,
I have a doubt in badi implementation.
Suppose we have a badi which can have multiple implementation. Suppose this badi's has 5 methods and one implementation is created in which these 5 methods were implemented.
Now we make another implementation in which we change one method and do not touch others.
How will we made this BADI work so that it calls one method from the new implementation and rest of the method from older implementation.
Many Thanks!
Parul.
Edited by: Parul Gupta on Jan 29, 2011 12:52 PMHi ,
This might be helpful.
1.Define the Filter for Badi.
2.Set different filter values for each Badi Implemention.
3.Call badi implemention based on filter value.
Regards , Chetan.
Edited by: Chetan on Feb 16, 2011 2:09 PM -
Multiple implementation of a BADI
Hi All,
I want to know the process in which a particular instance of a BADI gets invoked. Let me give a example.
If we want to create a implementation of the multiple use BADI definition /DCEUR/Z_ACTION_INTR, we will provide some implementation like /DCEUR/ACTION_AAA, or /DCEUR/ACTION_BBB for the BADI definition /DCEUR/Z_ACTION_INTR which are being used in some specific context. Now I want to know how we can design the specific implementaion so that the proper implementation gets called in the desired context.
To be specific: How can we match the specific implementation with its point of invocation. I mean suppose we want to execute action AAA then /DCEUR/ACTION_AAA will be called
if we execute action BBB then the implementation /DCEUR/ACTION_BBB will be called. Although the code is same altogether but different implementations will be called according to requirement. Please explain the above know how.
Thanks,
SudiptoHi Sudipto,
If multiple Implementations of a BADI are created, then all the implementations would be called one after the another.
Say there is a BADI ABC. This BADI has methods METHOD1, METHOD2, METHOD3 and METHOD4.
Your requirement may be such that you have to use METHOD2 and METHOD4. Someone else also has to use the same two methods.
Then you would create an Implimentation ZABC_1 and the other person would create an Implementation ZABC_2.
Whenever the BADI is involved both the implementations would be called one after the other.
But in your BADI implementation you can handle the processing based on condition checks that you would put in methods METHOD2 and METHOD4.
Say you are checking for SY-UNAME = 'USER1' and you dont want your BADi to run for other users.
Then in both the methods of your BADI implimentation ZABC_1 would would write
CHECK sy-uname eq 'USER1'.
This would restrict methods METHOD2 and METHOD4 of BADI implimentation ZABC_1 to run only when the login user is USER1.
I hope that this will help.
Regards,
Abhisek. -
BADI - Multiple implementation
Hi,
I know the how the badi multiple implementation is done and how filter usage is done. But Badi is for enhancement for standard SAP so in which kind of situation it is possible. Can any one give an example where this can be implemented multiple times.
Regards,
RajeshHere is the software delivery process
SAP->IBU->Partener->Customer
So the given enhancment(Badi) can be implemented in the above process chain by the parties involved.
ALso check http://help.sap.com/saphelp_47x200/helpdata/en/c8/1978b543b111d1896f0000e8322d00/frameset.htm
Cheers,
Hakim -
Implementation Of BADI For Enjoy Purchase Order
I have implemented a 'ME_GUI_PO_CUST' BADI for ME21n. The control is going to Subscribe and Map Dynpro methods. But the control is not going to other methods like TRANSPORT_FROM_MODEL
TRANSPORT_TO_DYNP
TRANSPORT_FROM_DYNP
TRANSPORT_TO_MODEL.
Please explain how we can make the control to move to these methods.
Thanks In Advance.ME21N - PO Enhancement using BADI
-
Dear All,
<b>In the PO creation badi, in create/change/save methods, i need to clear the purchase info record defaulted by SAP.
Also in create method, PO price needs to be defaulted as the same as PR price, if the reference PR is found. User should be able to change this default price and save the PO.</b> Hence, I have to restrict this logic only to create method.
Now i am trying to implement BADI for PO def (ME_PROCESS_PO_CUST) with (impl name: ZMM_POCREATE). For clearing the purchase info record i put the code in 2 different methods
1. PROCESS_ITEM
DATA: ls_mepoitem TYPE mepoitem.
break LAKSHMIS.
Get the PO item Details
ls_mepoitem = im_item->get_data( ).
ls_mepoitem-INFNR = space.
Set the item data
CALL METHOD im_item->set_data
EXPORTING
im_data = ls_mepoitem.
2. OPEN
DATA:
ls_header TYPE mepoheader,
ls_mepoitem TYPE mepoitem.
break lakshmis.
CALL METHOD im_header->get_data
RECEIVING
re_data = ls_header.
Get the items for the PO using get items method and change the purch info record to SPACE and set the values using SET_DATA on item.
<b>However, in both the cases the value doesnot get changed (as i dont see any changing parameters provided). However the documentation of BADI says that we can change the HEADER as well as ITEM information in this BADI.</b>
Can anyone please suggest, where i am going wrong and what needs to be done in order to achieve the above two requirements.
Thanks in advance.
Regards,
LakshmiBADI
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/63ee7f486cc143a560799d8803ce29/content.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/srm/badi-general+information&
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
The specified item was not found.
http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
http://support.sas.com/rnd/papers/sugi30/SAP.ppt
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
http://members.aol.com/_ht_a/skarkada/sap/
http://www.ct-software.com/reportpool_frame.htm
http://www.saphelp.com/SAP_Technical.htm
http://www.kabai.com/abaps/q.htm
http://www.guidancetech.com/people/holland/sap/abap/
http://www.planetsap.com/download_abap_programs.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
http://www.allsaplinks.com/badi.html
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-serieshttps [original link is broken]:///people/alwin.vandeput2/blog/2006/04/13/how-to-search-for-badis-trace-it
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework /people/thomas.weiss/blog/2006/05/03/source-code-enhancements--part-5-of-the-series-on-the-new-enhancement-framework
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
http://www.esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40921dd7-d5cf-2910-1894-bb62316afbd1
http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
http://support.sas.com/rnd/papers/sugi30/SAP.ppt
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
http://members.aol.com/_ht_a/skarkada/sap/
http://www.ct-software.com/reportpool_frame.htm
http://www.saphelp.com/SAP_Technical.htm
http://www.kabai.com/abaps/q.htm
http://www.guidancetech.com/people/holland/sap/abap/
http://www.planetsap.com/download_abap_programs.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
http://help.sap.com//saphelp_470/helpdata/EN/eb/3e7cee940e11d295df0000e82de14a/frameset.htm
Rewards if useful.........
Minal -
User-exit BADI for XK01/XK02
Hi Gurus,
There is a requirement that when we create and change 'PAN No' in vendor master through tcode 'XK02', we want to have some check on it.
Is there any user-exit or BADI for create/change in vendor master through tcode XK01/XK02.
Thanx in advance
RRHi Rajiv,
For your requirement, there is an enhancement "SAPMF02K" . You can create an enhancement project with this to solve your requirement .
Regards,
Kumaar.S -
Implement badi for vms isolate action
Dear expert,
I am developing the VMS(vehicle management system) action which is set as "isolate" action.
I use badi for isolate action to perform execution logic (like update ztable and populate some value to VMS table).
but the problem is, the history of vehicle, status of vehicle and green light at navigation pannel is not updated even the message display successful.
Do I need to put some FM call after execute logic within this isolate badi?
Can some give me some sample?
Thank a lot.
Regards,
BoonsomHi Tim,
You can execute a method call in Action definition.
This method call is a badi implementation.
Badi: EXEC_METHODCALL_PPF
In this method call you can trigger your external interface.
Steps:
1) Implement badi EXEC_METHODCALL_PPF to create you method implementation from which you will trigger your external interface
2) Create an action definition in Action profile, in third level configuration for action profile, specifiy Method Call and assign the badi implemented method here.
3) Schedule the action condition.
Thats all.
Test the Scenario.
Best Regards,
Pratik Patel
<b>Reward with Points!</b> -
BADI for vendor master (VENDOR_ADD_DATA)
Hi,
am new to BADi. i have one requirement for vender master company data i have to create one additional field in LFB1 this is created by apped structure.
but now how can i update the value in this field?
i want to show this field in XK02 screen.
can you discribe me step by step implement of this BADi.
AmitFirst you have to search if SAP provides any BADI for a particular transaction/program. You have to find it from SE18.
Then you have to implement it in SE19.
You can use the following program to search BADI and userexits.Just run the program and put 'XK02' in the selection screen field P_Tcode and execute.
report ZTEST.
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. -
Userexit/BAdi for CBIH102 (HR-EHS module)
Hi guru's,
Please help find the userexit/BAdi for Transaction code: CBIH102. The Requirement is to auto-populate the Accident Category (CCIHT_IPEVA-IALPCAT) field during the Creation/Change mode. I tried the below exits/BAdi & set all the breakpoints, activated CMOD projects and even implemented BAdi. It is not triggering. Enhancement Framew
Object Name Description
EHSIAHM1 EH&S: Menu Exit 1 for Incident/Accident Log Header
EHSIAHM2 EH&S: Menu Exit 2 for Incident/Accident Log Header
EHSIAPM1 EH&S: Menu Exit 1 for Incident/Accident Log Person
EHSIAPM2 EH&S: Menu Exit 2 for Incident/Accident Log Person
EHSMPHM1 EHS: Menu Exit 1 for Measurement Project Header Data
EHSMPHM2 EHS: Menu Exit 2 for Measurement Project Header Data
EHSMPJM1 EHS: Menu Exit 1 for Measurement Project Measurements
EHSMPJM2 EHS: Menu Exit 2 for Measurement Project Measurements
EHSSARA EHS: Check/Edit Lines in SARA List Before Printout
BAdi Name Description
EHSI_AC_COSTC EHS: Cost Calculation in Safety Measures
EHSI_ANNC_RATCP EHS: Calculation of Rating of Standardized Criteria
EHSI_ER_MEX_01 EHS: Risk Assessment Menu Exit 1
EHSI_ER_MEX_02 EHS: Risk Assessment Menu Exit 2
EHSI_ER_MEX_03 EHS: Risk Assessment Menu Exit 3
EHSI_ER_MEX_04 EHS: Risk Assessment Menu Exit 4
EHSI_FAL_***_SRV_SCR EHS: Screen Enhancement: Injury/Illness Log-Service Assignmt
EHSI_FAL_MEX_01 EHS: Injury/Illness Log Menu Exit 1
EHSI_FAL_MEX_02 EHS: Injury/Illness Log Menu Exit 2
EHSI_FAL_MEX_03 EHS: Injury/Illness Log Menu Exit 3
EHSI_FAL_MEX_04 EHS: Injury/Illness Log Menu Exit 4
EHSI_IA_RPHDFLG_COMP EHS: Determ. of Reportable Event Indicator in Inc./Acc. Hdr
EHSI_INT_ORG_1403 EHS: Write Long-Term Average to Infotype 1403
EHSI_MJVA_MATCHUP EHS: Transfer Measured Values - Amounts
EHSI_MJ_IMPORT EHS: Import Measured Values
EHSI_MJ_MEX_01 EHS: Measurement Management - Measurement - Menu Exit 1
EHSI_MJ_MEX_02 EHS: Measurement Management - Measurement - Menu Exit 2
EHSI_MP_CREATE EHS: Create Measurement Projects
EHSI_MP_DV_SCR EHS: Screen Exit: Device List in Measurement Management
EHSI_MP_EPI_IMP EHS: Import Exposure Profile
EHSI_MP_METHOD_HELP EHS: F4 Help for Measurement Method
EHSI_MP_MEX_01 EHS: Measurement Management - Meas. Project - Menu Exit 1
EHSI_MP_MEX_02 EHS: Measurement Management - Meas. Project - Menu Exit 2
EHSI_WA_MEX_01 EHS: Work Area Menu Exit 1
EHSI_WA_MEX_02 EHS: Work Area Menu Exit 2
EHSI_WA_MEX_03 EHS: Work Area Menu Exit 3
EHSI_WA_MEX_04 EHS: Work Area Menu Exit 4
EHSI_WA_OVERALL_RAT BAdI Default Impl.: Work Area Overall Rating
EHSI_WA_RECEIVED_RAT BAdI Default Impl.: Work Area Received Rating
EHSI_ACPM_DATA_TRANS BAdI Default Impl.: Work Area Received Rating
EHSI_CLM_HEAD_SCR BAdI Default Impl.: Work Area Received Rating
EHSI_CLM_MEX_1 BAdI Default Impl.: Work Area Received Rating
EHSI_CLM_MEX_2 BAdI Default Impl.: Work Area Received Rating
EHSI_CLM_PAY_SCR BAdI Default Impl.: Work Area Received Rating
EHSI_IAL_COSTS_SCR BAdI Default Impl.: Work Area Received Rating
EHSI_IPEVA_TIMDAT EHS: Make the Multiple Absences in the I/A Log flexible
Regards,
VinayakUp please )
-
BADI for time m. events
Hello,
We need to move all our user exists of time management events (pa51, pa61,...)(PBO & API)to a BADI which also would have effect in the interface between Portal and R3.
Do you know which BADI we have to implement?
Thanks in advance.Hi fariba,
Have you solve this multiple entries problem in LIST ENTRY?
I know this is doable for 'WEEK' but not 'LIST ENTRY'.
Could you share us your experience?
Thanks,
Guorong -
Need User exit or BADI for IW31/IW32 transactions
Hi all,
Is there any user exit OR BADI availble for transactions IW31 and IW32. I need to restrict some Activity types and work centres(Error message should come when we give wrong combination of these 2 and press on save button).
Thank you very much in advance.
Thanks,
VenuHi,
Check the BADI
WORKORDER_UPDATE - Business Add-In PM/PP/PS/PI Orders Operation: UPDATE
This is multiple use Badi , hope this is the one you are looking for.check by implementing and placing the breakpoint in appropriate methods.
Alos check the below
IWO1_SCREEN_MODIFY
IWO1_PREQ_BADI
WOC_FL_DETERMINE
Regards,
Raj. -
Hi,
Is there a BADI for XD02 when I click the COMPLETE TECHNICALLY BUTTON(ctrl+F12)?
thanks...
jamesHi,
These steps should enable you to find any BADI related to any transaction in a matter of minutes.
Procedure 1:
1) Goto se24 (Display class cl_exithandler)
2) Double click on the method GET_INSTANCE.
3) Put a break point at Line no.25 (CASE sy-subrc).
4) Now Execute SAP standard transaction
5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
7) This way you will find all the BADIs called on click of any button in any transaction
Actually there is no transaction to find when and where the BADI
is called.
1. You can see the BADI description to find why it is called.
2. Once you implemented and activated the BADI, put some break points
in the BADI and see "where else used" option to check in what all
programs this BADI is called. In the ITS debug, when you are doing
the operation what exactly the BADI description tells, it will take
to the break points and you have to do manually debug the whole thing.
I know its bit difficult to do manual debug the whole thing, it
takes lot of time, but you have to be very patience when you are
dealing with BADI's.
Transaction SE18 is the BADI equivalent of transaction SMOD
Transaction SE19 is the BADI equivalent of transaction CMOD .
To find the BADI to be implemented and then implement this via SE19.
To find badis for any transactions --->
1. Go to Transaction SE24
2. Enter the Object Type CL_EXITHANDLER and click on Display.
3. Double Click on method "GET_INSTANCE".
4. Put a Break-point on
Call method cl_exithandler=>get_class_name_by_interface
5. Run any Transaction for which you need enhancements.
6. The execution will stop at the break point. Check the values of variable 'exit_name', it will give you the BADI name called at that time.
here 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).
Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
Go to the Transaction, for which we want to find the BADI,
Get the Program Name of Corresponding Transaction.
(Click on System->Status. Double Click on 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.
Finding BADI Using SQL Trace (TCODE-ST05).
Finding BADI Using Repository Information System (TCODE- SE84).
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.
Procedure 2:
1) Go to the transaction SE37 to find your function module.
2) Locate the function SXV_GET_CLIF_BY_NAME.
3) Put a breakpoint there.
4) Now open a new session.
5) Go to your transaction.
6) At that time, it will stop this function.
7) Double click on the function field EXIT_NAME.
8) That will give you name of the BADI that
The following code lists Userexits and BAdi's for a given Tcode...
REPORT Z_FIND_BADI.
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.
Reward If Helpfull,
Naresh. -
Configuring a standard Badi for ESI refund
Hello,
I am Malathi working as HR-ABAPER.This is the First time I am working on BAdI .
I want to stop ESI retro refund by configuring the standard BAdI HR_IN_ESI_REFUND.But when I try to change the Interface Method (as mentioned in the F1 help ) its asking for access key.
Kindly advice on how to configure this BAdI.
Thanks and Regards,
Malathi V.Hi Faizur,
for this BADI doesn't allow multiple implementation I normally would have told you, that you can't use it, because the SAP implementation might be changed and reactivated by any support package.
BUT:
In our systems there are no SAP implementations for this BADI
SAP note 1716090 - RFIDYYWT: Enhancement to customer Badi WTAXREPORT_MODIFY clearly says, that this BADI is a customer BADI.
So why do you have an active SAP implementation for it? I would suggest, that you contact SAP in this case to clarify it.
Regards,
Klaus -
Reg. multiple implementations
Hi all,
If i 've multiple implementation for a particular BADI definition, then how we differentiate these two in application program.
I mean in calling the method.
I ensure u for points.
Regards,
[email protected]Hi,
please check out the links below it might help you
http://help.sap.com/saphelp_nw2004s/helpdata/en/32/a83942424dac04e10000000a1550b0/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/0e/4d3e42fc94aa04e10000000a1550b0/content.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/42/f96b8bbaf93268e10000000a1553f6/content.htm
Some useful URL on BADI
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
*********please reward points if the information is helpful to you**********
Maybe you are looking for
-
Excel Get ActiveX References​.vi and closing references -- grrr
I'm new to ActiveX stuff, but eager to learn! The "grrr" in my Subject line is a reference to how I feel about LabVIEW's documentation from time to time. I'm a dinosaur who came from text-based programming, and did a fair amount of C coding, so som
-
How to turn off uncommitted data warning?
I have a bounded task flow that calls a second bounded task flow. The second task flow shares transaction and data control scope with calling task flows. Both task flows use the main area of the UI shell. I make changes in second task flow and when I
-
How can I build EJB archive after changing java files?
hello, I changed java beans file, and tried to build jar file again, then the "build EJB archive" context menu is disabled so I can not make EJB jar file! So frustrated.. NWDS recognizes the changes in the java files , right? How come there 's no Bui
-
Disable KM functionality (UWL)
Hello all, the UWL is the only part of the KMC we are using. The question i have, is it possible to disable additional functionality? E.g. when you have a workiten, it does show the sender of the respective workitem. When you click on the sender you
-
Daughter can't download on her "computer"
Using Mac OS 10.3.9 on an iMac, all four family members are set up with admin privileges. But one daughter can't download a pdf or file. She keeps getting the error message "Cannot create file". All of the other users can download. It's only on user