09-21-2007 8:14 AM
Hi experts,
i am looking for a BAdi for Customer Master data (XD01). Can anyone suggest me which one can i use?
thanks in advance.
Regards,
aksh
09-21-2007 8:16 AM
Hi Aksh,
There is a very easy way of finding all the BADIs that are present in the T-code that you want to find in.
Go to the T-code SE24 and put in the class name as CL_Exithandler and press display.
From the given list of Methods there,double click on the Get Instance method and it will take you to the coding of it.
From there,in the Call Method CALL METHOD cl_exithandler=>get_class_name_by_interface,put a break point on the Changing Parameter Exit Name and then in the same session,enter the T-code for which you want to find the BADI,XD01 in your case.
Double click on the Exit-name where you have put the breakpoint and press F8 and you will start getting all the BADIs that are present there.
Some of the BADIs present in XD01 are
CUSTOMER_ADD_DATA
CUSTOMER_ADDRSCR_CHG
BADI_LAYER
In case you have any further clarifications,do let me know.
Regards,
Puneet Jhari.
09-21-2007 8:16 AM
if u want to add a screen to xd01, check saptechnical.com..u can find complete tutorial on it.
09-21-2007 8:16 AM
Hi Aksh,
There is a very easy way of finding all the BADIs that are present in the T-code that you want to find in.
Go to the T-code SE24 and put in the class name as CL_Exithandler and press display.
From the given list of Methods there,double click on the Get Instance method and it will take you to the coding of it.
From there,in the Call Method CALL METHOD cl_exithandler=>get_class_name_by_interface,put a break point on the Changing Parameter Exit Name and then in the same session,enter the T-code for which you want to find the BADI,XD01 in your case.
Double click on the Exit-name where you have put the breakpoint and press F8 and you will start getting all the BADIs that are present there.
Some of the BADIs present in XD01 are
CUSTOMER_ADD_DATA
CUSTOMER_ADDRSCR_CHG
BADI_LAYER
In case you have any further clarifications,do let me know.
Regards,
Puneet Jhari.
06-07-2013 7:37 AM
Hello Puneet,
I am a SAP SD consultant and an intermediate user of the system.
I am coming across an error called "ENTER ONLY IN FROM BADI" when i try to save the customer master record of customer created for the Country USA.
I am able to create and save a customer master data when I set country as IN (India) for the customer.
I am not sure how to tackle this issue.
Can you please guide me for the same?
Thanks in advance,
Kishor
09-21-2007 8:20 AM
click on da following link
http://saptechnical.com/Tutorials/ABAP/XD01/XD01.htm
plz reward points if dis helps
09-21-2007 8:20 AM
09-21-2007 8:22 AM
Hi,
Check following if useful:
tcode se18 and se19 definition name:CUSTOMER_ADD_DATA
badi:CL_EX_CUSTOMER_ADD_DATA
tcode se18 definition name:CM_BADI_CUST_CHECK badi:CL_EX_CM_BADI_CUST_CHECK
tcode se18 and se19 definition name:CUSTOMER_ADD_DATA_CS badi:CL_EX_CUSTOMER_ADD_DATA_CS
09-21-2007 8:23 AM
CUSTOMER_ADD_DATA
CUSTOMER_ADD_DATA Additional Data at Customers
CUSTOMER_ADD_DATA_BI
CUSTOMER_ADD_DATA_BI Additional Data at Customers (Batch Input and ALE)
CUSTOMER_ADD_DATA_CS
CUSTOMER_ADD_DATA_CS Additional Data at Customers (Subscreen Container 4000)
CUSTOMER_FIELDSTATUS Set Status of Dynpro Fields
Regards.
santhoshr eddy
Message was edited by:
Santhosh Reddy
09-21-2007 8:36 AM
hi
execute this report
&----
*& Report ZNAGBADI
*&
&----
*&
*&
&----
REPORT ZNAGBADI.
*report zbadi_find .
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 for useful answers
regards
Nagesh.Paruchuri