Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Search for BAdi for Customer Master Data (XD01)

Former Member
0 Kudos

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

1 ACCEPTED SOLUTION

Former Member
0 Kudos

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.

8 REPLIES 8

former_member188827
Active Contributor
0 Kudos

if u want to add a screen to xd01, check saptechnical.com..u can find complete tutorial on it.

Former Member
0 Kudos

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.

0 Kudos

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

former_member188827
Active Contributor
0 Kudos

click on da following link

http://saptechnical.com/Tutorials/ABAP/XD01/XD01.htm

plz reward points if dis helps

Former Member
0 Kudos

hi

good

BADI CUSTOMER_ADD_DATA.

thanks

mrutyun^

Former Member
0 Kudos

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

SantoshKallem
Active Contributor
0 Kudos

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

paruchuri_nagesh
Active Contributor
0 Kudos

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