cancel
Showing results for 
Search instead for 
Did you mean: 

Enhancement spot PT_ABS_REQ - BADi not being called

Former Member
0 Kudos

Hi,

I wondered if anyone can help. I need to change colours in the team calendar viewable in MSS.

In SPRO under Personnel Management>employee self service>service specific settings>working time>team calendar>BADi.controlprocessing of leave requests - I have created a BADi that I have called "ZPT_ABS_REQ".

In SE18 under the enhancement spot ZPT_ABS_REQ - (enhancement implementation tab) I can see my BADI and if i double click on the enhancement implementation I get taken to the enhancement implementation ZPT_ABS_REQ and it lists the BADI implementation as being ZBADI_PT_ABS_REQ.

So in SE24 editting ZBADI_PT_ABS_REQ, I have some code to the method IF_EX_PT_ABS_REQ~TEAM_CALE_ENRICHMENT - the code is very simple and just inserts a record into a test table (I can run the badi separately and a record gets created). I also copied/pasted the code in this method from the standard BADi (CL_PT_ARQ_REQ also listed in the enhancement implementation tab) just to see what happens.

What i had hoped is that when in MSS I view/process the Team Calendar I would get a record in my table but I dont. Ultimately I want to change legends in one of the other methods but this is for later once i can be sure the BADi is being executed.

Everything is active. Any ideas anyone? I would also welcome ideas on how this can be debugged to see if the BAdi is actually being called (which clearly it is not!) - incidently i'm not an java/mss developer.

many thanks Neil

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Dont forget to add code to the constructor method in the New class. Copy it from the fallback class.

If you have a empty constructor class, an object will not be created for this BADI at runtime and hence your code will not be exectued

Raj

Answers (4)

Answers (4)

Former Member
0 Kudos

Hello,

I have implemented this BADI & can see my implementation active in IMG.

But when executing leave request from ESS i am getting error saying An exception occurred that was not caught., error key: RFC_ERROR_SYSTEM_FAILURE.

Can anybody tell how to solve this?

Also how to set calendor color & legend color?

Edited by: Sachin Thigale on Aug 19, 2010 3:34 PM

Edited by: Sachin Thigale on Sep 4, 2010 10:48 PM

Former Member
0 Kudos

Hi!

Have you already solved your problem? Because i have the same Problem and i did not know why the BadI isnt called. Can you help me how you have solved the Problem?

Thank!

Best Regards

suresh_datti
Active Contributor
0 Kudos

There is an entry in IMG.. where you have to set a checkbox that will make the custom implementation active replacing the existing std implementation.. look up IMG under ESS--> service specific stettings..

~Suresh

Former Member
0 Kudos

Hi!

Thank you! Now it works fine. I have deaktivated the standard-implementation in the IMG. And now the own implementation is called.

Former Member
0 Kudos

very stupid question : but where do you deactivate the standard implementation ? Do I have to register the change object ? I don 't seem to find it in the customizing...

Former Member
0 Kudos

Hi Suresh,

I am facing the same problem but I am able to deactivate my implementation (thru SPRO) and not the std one. Can you please guide us.

regards,

AB

Former Member
0 Kudos

Hi

Just a bit more information, After deleteing and redefining the BAdi It now looks like it could be being "thought about" as I'm getting the error CX_BADI_MULTIPLY_IMPLEMENTED - Looking at the definition PT_ABS_REQ this is not a multiple use definition - Do I need to set something somewhere to stop the dump happening? - should both the default and the newq BAdi get called - or does the new BAdi replace the old - Any Ideas anyone?

cheers neil.

PedroGuarita
Active Contributor
0 Kudos

First you can try to debug. The RFC FM called is PTCOR_UIA_WEEKLY_CALENDAR, so just put an external breakpoint there and debug. Also, we did lots of customizing in this FM and i was able to do it using only implicit enhancement points.

Former Member
0 Kudos

Hi Raj

Thanks for your help, I've added the Constructor method but this has not had any effect. Can you suggest anything else.

Regards neil