cancel
Showing results for 
Search instead for 
Did you mean: 

Issue with modification of standard component using FPM

Former Member
0 Kudos

I am trying to modify a standard web dynpro component using enhancement framework. This standard component uses FPM. I want to set the value of one of the input fields by default when the application loads for the first time. I have placed this code in the postexit of WDDOINIT method. But it does not work. Any pointers?

Thanks and Best Regards,

Pooja

Accepted Solutions (0)

Answers (2)

Answers (2)

mh97
Contributor
0 Kudos

I had this problem and this note solves it. It's short so here it is:

Symptom

When you execute a Web Dynpro component, pre-exits, post-exits, or overwrite-exits, which were created in an enhancement implementation for a controller method, are not processed.

Other terms

Pre-exit, post-exit, overwrite-exit, enhancement, Web Dynpro component

Reason and Prerequisites

The controller method, for which a pre-exit, post-exit, or overwrite-exit was created, is not called via the controller attribute WD_THIS (self reference to the local controller interface) as described in the programming manual.

Solution

You must change how the method is called so that it is done via the controller reference WD_THIS.

Example: If you want to call a controller method named MY_METHOD, the correct call is WD_THIS->MY_METHOD (and so on ) .

Create a customer message for the application component that is relevant for the Web Dynpro component.

As the note indicates, even in SAP-delivered components there may be cases where a method is not called correctly and so the enhancement framework doesn't work. If you can do a simple overwrite method to correct the calling method (assuming THAT method was called correctly) you can workaround the issue until SAP corrects it.

Hope this solves it for you too.

Margaret

former_member296785
Participant
0 Kudos

Thanks Alot Margaret....

Its Really Helpfull....

Former Member
0 Kudos

Hi,

Write your code in the post-exit of "WDDOMODIFYVIEW". Because this method renders after your WDOINIT and also renders every time when user interacts in the screen.

As your requirement is to place the code only for first time, you can check the paramater "FIRST_TIME" of the above method to set your values.

i.e. write your logic like:

if first_time is not initial.

<<Write your logic to set the value>>

endif.

Regards,

S.Meganadhan