cancel
Showing results for 
Search instead for 
Did you mean: 

WDDOMODIFYVIEW

Former Member
0 Kudos
173

Hi All,

On my portal there is link for Confirmations which is default. This displays a list of Confirmed orders in a table POWL_TABLE_COMP. The WDDOMODIFYVIEW of this component is geting trigggered around 10 times. I am not able to find the reason. Where all should I look to get to the root of the cause..??..!!

Regards,

Smita

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Put breakpoint in code in wddomodifyview and debug it you will get cause of the trigger.

Nirad

mohammed_anzys
Contributor
0 Kudos

Hi

Its how the architecture works, when there is an action performed in the UI, the WDDOMODIFY will be called.

Thanks

Anzy

Former Member
0 Kudos

Hi Anzy,

There is no action performed yet this MODIFY method is called some 10 times..

Can u highlight something that i can peek into..!!

Regards,

Smita

Former Member
0 Kudos

To be more clear onto this...Confirmations is the default link...Whenever user logs in the first link that is up is this Confirmations link. So So without any user action the first the page is getin updated for the Confirmations link. Wherein such kind of behaviour is been experienced..!!

Regards,

Smita

Former Member
0 Kudos

In debugger check the call stack (desktop 2 in debugger).

You should be able to tell why the framework called View modify so often.

Cheers

Phil

Former Member
0 Kudos

hey Phil,

The stack shows the following. I donno how to analyse this...

14 METHOD WDDOMODIFYVIEW /1BCWDY/5W3UY9MVH7JN25XF094X==CP /1BCWDY/B_5W3V2J46BYTD52YK18HT 1.857

13 METHOD IF_WDR_VIEW_DELEGATE~WD_DO_MODIFY_VIEW /1BCWDY/5W3UY9MVH7JN25XF094X==CP /1BCWDY/B_5W3V2J46BYTD52YK18HT 274

12 METHOD DO_MODIFY_VIEW CL_WDR_DELEGATING_VIEW========CP CL_WDR_DELEGATING_VIEW========CM004 5

11 METHOD MODIFY_VIEW CL_WDR_VIEW===================CP CL_WDR_VIEW===================CM002 7

10 METHOD DO_MODIFY_VIEW CL_WDR_CLIENT_COMPONENT=======CP CL_WDR_CLIENT_COMPONENT=======CM00U 14

9 METHOD DO_MODIFY_VIEW CL_WDR_CLIENT_COMPONENT=======CP CL_WDR_CLIENT_COMPONENT=======CM00U 22

8 METHOD DO_MODIFY_VIEW CL_WDR_WINDOW_PHASE_MODEL=====CP CL_WDR_WINDOW_PHASE_MODEL=====CM00F 12

7 METHOD PROCESS_REQUEST CL_WDR_WINDOW_PHASE_MODEL=====CP CL_WDR_WINDOW_PHASE_MODEL=====CM002 89

6 METHOD PROCESS_REQUEST CL_WDR_WINDOW=================CP CL_WDR_WINDOW=================CM00V 9

5 METHOD EXECUTE CL_WDR_MAIN_TASK==============CP CL_WDR_MAIN_TASK==============CM00I 94

4 METHOD IF_HTTP_EXTENSION~HANDLE_REQUEST CL_WDR_MAIN_TASK==============CP CL_WDR_MAIN_TASK==============CM00J 69

3 METHOD EXECUTE_REQUEST_FROM_MEMORY CL_HTTP_SERVER================CP CL_HTTP_SERVER================CM017 366

2 FUNCTION HTTP_DISPATCH_REQUEST SAPLHTTP_RUNTIME LHTTP_RUNTIMEU02 946

1 MODULE (PBO) %_HTTP_START SAPMHTTP SAPMHTTP 13

__________ ___________________________________ ______________________________ _____________________________________________________________ ________________________________________ ___________________________________ ________________________________________ __________

Regards,

Smita

mohammed_anzys
Contributor
0 Kudos

hi Smita,

if you see the code.

14 METHOD WDDOMODIFYVIEW /1BCWDY/5W3UY9MVH7JN25XF094X==CP /1BCWDY/B_5W3V2J46BYTD52YK18HT 1.857

is when where your WDDOMODIFY is called, all other DO_MODIFY are part of the core webdynpro classes ,which we dont have to worry about.

Thanks

Anzy

Former Member
0 Kudos

Yeah Anzy...but how will we get to know how this WDDOMODIFYVIEW is getin triggered.. who is invoking this method..!!..

mohammed_anzys
Contributor
0 Kudos

Hi Smita..

The WDDOMODIFY is called

when.

1.The view is loaded for the first time.

2.Any actions in your View.

3.Changing Dropdown List etc.

4.UI related changes.

And in your case , it is triggered by any of the above actions.

13 METHOD IF_WDR_VIEW_DELEGATE~WD_DO_MODIFY_VIEW

btw..Is the WDDOMODIFY affecting your logic in anyway...or is it just a matter of perfromane tuning

/Anzy

Former Member
0 Kudos

Anzy...the logic aint getin affected but the users arent really happy with that..!!!..

so need to get rid of it..!!

out of the 4 points u mentioned the first point holds true..

but none of the others take place...

i guess i need to watch onto the point u mentioned

13 METHOD IF_WDR_VIEW_DELEGATE~WD_DO_MODIFY_VIEW

lemme chk if i can get anything on thta..n will update the thread accordingly..

mohammed_anzys
Contributor
0 Kudos

Hi Smita,

If you want the code inside the WDDOMODIFY to run only once , that is during the creation of the view.

Put your code inside .

IF FIRST_TIME = 'X'.

ENDIF.

This will make sure that , you code runs only once , that too when the view is getting created.Which will be a great performance improvement.

Thanks

Anzy

Former Member
0 Kudos

You may try this logic.

1.Create attribute called counter and put in WDDOMODIFYVIEW and increase it by one at first.

2.You check the the counter if it is one then go ahead with the code in WDDOMODIFYVIEW or put return statement in code.

I hope it works ,i have not chk it here.

Nirad.

Former Member
0 Kudos

Yes nice isnt it.

Now check it again for the other 10 times it calls DOMODIFYVIEW.

Look for the differences.

Under each METHOD call is the class where it was called from.

Go look at that class in se38/se24 (display)

Did you perhaps embedd the view several times ? Maybe check you main window again.

The answer will lie there somewhere if you look long and hard enough.

Cheers

Phil.

Former Member
0 Kudos

The only thing that surprises me is that...this behaviour is observed in the Quality and not in the developement..!!!...So the question of the view being embeded several times is also eliminated..!!..in developement server it works like charm...!!!..

Even then i have noted the stack for WDDOMODIFYVIEW for each and everytime it is invoked. But the call stack is all the same for all the times it is called..!!...no change at all..!!..!!

Former Member
0 Kudos

Hi Smita,

The wddomodifyview method gets called for any action that happens on the screen. Each and every action will trigger it. So you can probably do your processing after some checks, or write code only in specific event handlers.

Regards

Nithya

Former Member
0 Kudos

Nithya,

Actually this kind of behavior is not seen in the development server. In development it calls WDDOMODIFYVIEW just twice. But in Testing server WDDOMODIFYVIEWis called up more than that. Hopefully it doenst go into an endless loop. So i m not getin an idea as to exactly where wud the problem lie..

Regards,

Smita

Former Member
0 Kudos

Do you have some UI element like a drop down box or something? Whenever you change the selection, it would be called. Maybe while testing you are changing selections more than you did in the dev system. It will not go into any loop. It will not get called unless you do some action on your view.

Regards

Nithya

Former Member
0 Kudos

The Confirmations link is the default link. The moment the user logs in the events for this link are trigerred. So actually until and unless the whole page is displayed there is no user action that takes place onto this component (POWL_TABLE_COMP). But during the first diaply itslef this kind of behaviour has been observed. It seems like a refresh is been trigerred with some delay. But unable to predict as to where will such a thing be done..Also along with Conformations there are 2 more links which when clicked do not show such a behaviour. If on explicit click on the Confirmations link it shows the same delaying behavior. Can you throw a light onto something where I can look into..

Regards,

Smita

Former Member
0 Kudos

When the view is first launched, the wddomodifyview method will be called along with the init method. The parameter first_time in the modifyview method will be 'X'. For subsequent calls that are triggered only on actions, first_time will be false.