on 08-02-2011 10:57 AM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
83 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.