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: 

SAP failed to automatically create a class when the BADI was activated.

Former Member
0 Kudos

Hi,

I am trying to create BADI WBS_USER_FIELDS_F4 (as per note 699400), I expected SAP would automatically create the class CL_EX_WBS_USER_FIELDS_F4 but it didn't. Has anyone encountered a similar situtation? Any advice on how to resolve this issue?

PS: The purpose of note 699400 is to add F4 functionality to WBS user fields in CJ20N. I am on version 4.7

Regards

Amit Maole

7 REPLIES 7

Former Member
0 Kudos

Hi

The system creates the class for BADI only in the implementaion (trx SE19), not in defination (trx SE18): here u need to create the interface.

So when can't your system create it?

Max

0 Kudos

The system is suppose to create the class CL_EX_WBS_USER_FIELDS_F4. Pick any BADI in SE18, you will see "Name of bus. add-in class:" in the attributes tab.

0 Kudos

SE18 --> Utilities --> Regeneration helped me create the class but the BADI definition got changed (multiuse check was gone). So I deleted the BADI and now I am stuck I cant re-create it, I am getting an error - "The name WBS_USER_FIELDS_F4 is inadmissible as a BAdI definition name." . Anybody ...any clue why this error or how to resolve the problem?

Regards

Amit Maole

0 Kudos

Hi Amit,

SAP provides Add-In class for every BAdI definition. Never try to change the Standard BAdI definition.

If u want to use the BAdI then create an implementation of the same in SE19.

Go to SE80 and check the package CJBADI.

If there are some issues with standards then find or raise an SAP note in the SAP service market.

0 Kudos

Finally SAP created the add in class via SE18 --> Utilities --> Regeneration.

But now I am in a bigger mess, the BADI definition got changed upon regeneration, so I deleted the BADI as well as the interface (by switching off the modification assistant) but I could not delete the add in class. When I delete the class via SE24 I get a message - "Exit classes/interfaces can only be edited using the BADI Builder". When I recreate the BADI I get a message - "The name WBS_USER_FIELDS_F4 is inadmissible as a BAdI definition name.". How do I delete my add in class?

Regard

Amit Maole

0 Kudos

I was able to delete the class using FM SEO_CLASS_DELETE_W_DEPS and then I successfully created the BADI WBS_USER_FIELDS_F4 but wasnt that lucky when I tried to implement the BADI, I am getting an error ""Interface implementation IF_EX_WBS_USER_FIELDS_F4 does not exist" (Message no. OO003)." even though the interface does exist. I am drowning ....any life guards out there???

Regards

Amit Maole

0 Kudos

This is working now, I deleted the following and recreated everything.

- BADI implentation

- BADI implementation class

- BADI Definition

- BADI Class &

- BADI Interface