cancel
Showing results for 
Search instead for 
Did you mean: 

Web Dynpro Navigation issue

Former Member
0 Kudos

Hi Experts,

we made a web dynpro enhancement to improve usability where we moved the deduction flag area from FITE_VC_DEDUCTION to FITE_VC_GENERAL_DATA. Entry works, but we run into issues while navigating. Data is not always saved properly. So we added an autosave during navigation.

If we use WDONNAVIGATE for autosave and navigate by roadmap forward and backward, deductions get lost in the screen.

If we use WDONMODIFY, deductions stay but are not saved.

If we use both, trip is autosaved twice during navigation, once with full trip totals, once with deducted amounts. But we have to push the navigation button twice to do so.

How can I make sure that all data is properly saved, AND navigation is working as expected by pushing the elements once? To me it is either-or at the moment.

thanks, Michael

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello

I did something similar to set cost assignment for a particular trip activity. This is tricky and I had the same issues you are facing now (i.e. displayed on screen but not always saved after navigation, saved if hit on next but not saved it click on roadmap directly...)

"

Like Lukas said you have to update the web dynpro context AND the "global memory". You should use a get FM to retrieve actual data (in my case it was PTRA_WEB_COSTDIST_GET), modify the retrieved data and send it back to a check FM (in my case it was PTRA_WEB_COSTDIST_CHECK).

Otherwise, it wont work as data will be reloaded from function group global data

Former Member
0 Kudos

Hi,

thanks for all your valuable replies - we have been able to solve this now, adding all those different memories to our logics. Thanks to all of you!

regards, Michael

Answers (1)

Answers (1)

Lukas_Weigelt
Active Contributor
0 Kudos

Hi Michael,

I haven't completely understood how you approached this:

  • Are you using FITE_VC_DEDUCTIONS within a custom ContainerUI in FITE_VC_GENERAL_DATA or have you designed your own UI Elements for the deduction flags in FITE_VC_GENERAL DATA?
  • You say when using the FPM-Navigation, your data is lost. What exact means are you using to save the data in the first place ("Web Memory"?, Standard Business Logic? Something completely different)?
  • Are you taking into account that the total deductions that are saved within public WD attributes  mv_deduc_meals_total and  mv_deduc_accom_total in FITE_VC_GENERAL_DATA are re-read upon ON_SHOW each time? If not, this might be the cause of your data loss

Can you please provide more detailed information on what you did (coding, screenshots, etc.) so it's easier to grasp/comprehend?

Cheers, Lukas

Former Member
0 Kudos

Hi,

we added deduction as enhancement to General Data. This used to work until we applied EHP7, where we had various issues with unexpectedly empty content at various positions.

This is how it looks like:

On ON_NAVIGATE/ WDDOMODIFYVIEW, we go with 'PTRA_DB_TRIP_GET' to trigger autosave. We do not have enhancement e.g. for ON_SHOW. Maybe that's the missing part now? Navigating forward will keep deductions. Going "back" to general data clears deduction flags set before from screen.

And we can only have one of both active, which is causing unexpected behaviour as well. In my opinion, we need to have both active, but in a way which is only performing one autosave.

Any idea?

thanks, Michael

Message was edited by: Michael Zwickl so currently two options DOMODIFY and ON_NAVIGATE active: click navigation twice, save twice, once with wrong amount, once with correct ammount One of both active: not reliable as deduction flags get removed on various actions

Lukas_Weigelt
Active Contributor
0 Kudos

Hi Michael,

I'm on EHP6, so I can only make assumptions and give ideas:

Concerning the VC FITE_VC_DEDUCTIONS:

Updating the Database in between to allegedly save data "in between" the process will generally not work consistently (I'm surprised it did work for you before your upgrade to EHP7), because the runtime will always check the "web memory" (i.e. the horrible global function group where everything is saved as some kind of cache in a yet even more horrible global overhead) rather than re-reading stuff from the Cluster/DB. When navigating forward via the FPM, ON_NAVIGATE will trigger and subsequently  PTRA_WEB_DEDUCTIONS_CHECK_2 which updates the "web memory".

When you navigate backward to FITE_VC_DEDUCTIONS via the FPM, ON_SHOW will trigger which will call PTRA_WEB_DEDUCTIONS_GET_2 which will re-read everything from the memory.

If anything is going wrong with data consistency, these to FMs is where I would start debugging.

If you can't see anything strange going on here, you might want to expand your search on the same FPM Methods for FITE_VC_GENERAL_DATA.

Again: Saving data to DB/Cluster whilst still in the process will not lever out the application's priority to read from the "web memory" (at least in EHP6).

Cheers, Lukas