Application Development and Automation 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: 
Read only

The time when the BADI implementation class really initialize.

Former Member
0 Likes
1,375

when I debug the cl_exithanler=>get_instance, I found that it returns the class name as: CL_IM_EX..., not the implementation class name begin with: ZCL_IM... which is created by me. So when does the BADI implementation class really initialize?

1 ACCEPTED SOLUTION
Read only

uwe_schieferstein
Active Contributor
0 Likes
1,127

Hello

You can find this out by a simple trick. Prerequisite is an active implementation of your BAdI.

Add method CONSTRUCTOR to your Z-class that implements the BAdI interface. Put a break-point (BREAK <sy-uname>.) into this method.

Execute the transaction which passes the BAdI.

Regards

Uwe

9 REPLIES 9
Read only

uwe_schieferstein
Active Contributor
0 Likes
1,128

Hello

You can find this out by a simple trick. Prerequisite is an active implementation of your BAdI.

Add method CONSTRUCTOR to your Z-class that implements the BAdI interface. Put a break-point (BREAK <sy-uname>.) into this method.

Execute the transaction which passes the BAdI.

Regards

Uwe

Read only

0 Likes
1,127

It seems that the detail was encapsulated in the keyword CALL BADI

Edited by: yanluckly on Nov 24, 2010 3:09 AM

Read only

0 Likes
1,127

Hi Uwe,

why it can pass the compile:break <sy-uname>

I haven't seen this statement before.

Read only

0 Likes
1,127

Oh I see, It's a macro.

how could I use it if my user id contains '.', such as yuan.gan,

both break yuan.gan.

break 'yuan.gan'.

are wrong.

Read only

SuhaSaha
Product and Topic Expert
Product and Topic Expert
0 Likes
1,127

In that case try BREAK-POINT or BREAK-POINT ID <Checkpoint Group>.

In the former the breakpoint is always active & for the latter it depends on the settings of the checkpoint group(trxn. SAAB). Read the F1 documentation on BREAK-POINT to get the details.

BR,

Suhas

Read only

0 Likes
1,127

Hello

When I use <sy-uname> it simply means to replace it with your actual user name. In my case the statement would be:


BREAK uschieferst.

It is not meant as field-symbol.

However, using activatable break-point of a Checkpoint group is far more elegant.

Regards

Uwe

Read only

0 Likes
1,127

if my user id is yuan.gan

how to use the break macro?

Read only

0 Likes
1,127

It's not a macro, as Uwe showed you. Inside your Constructor method just enter the following code:

 break sy-uname

Because of the '.' in your name you cannot use

 break yuan.gan.

I am suprised to see that as a user name like that though.

Read only

0 Likes
1,127

Is it a global macro?

u can find it in trmac table