cancel
Showing results for 
Search instead for 
Did you mean: 

message (of message manager) gets lost by opening a popup window

Former Member
0 Kudos

Hi all,

On behalf of a better error/exception handling, I would like to show the stacktrace in a popup window, that means, if the application reports an error message (through the message manager in the view controller), the user (administrator, developer) can optionally click a link (LinkToAction => opening a modal window) to see the stacktrace in a separat popup window.

Unfortunately if the popup window now gets displayed, the error message on the main view (background of the popup window) will be cleared, so this - for the common user more readable - information is not anymore displayed, also when the popup will be cleared.

Of course, I could backup the error message in a context value and redisplay it after closing the popup window, but I suppose that's not a very cool solution...

Other any good ideas?

Thanks,

Stefan

Accepted Solutions (1)

Accepted Solutions (1)

ravindra_bollapalli2
Active Contributor
0 Kudos

hi,

this will give some idea

http://help.sap.com/saphelp_nwce711/helpdata/EN/48/47e2c0ccaf31c3e10000000a42189d/content.htm

might be we have to put the message in popupwindow as explictily

let me know am i reached u r goal or not

bvr

Former Member
0 Kudos

@bvr: I already use the logging API, but because log can only be controlled in the file, console log or in the SAP Netweaver Administrator (not every user has access to the Administrator), I prefer an optional output of the log/stacktrace output direct to the application/view.

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

The messageArea of the pop up will not be displayed as the pop up is the part of the main parent window and is opened from

the parent window. Therefore no exceptions , no message can be showed in the message area . You need to create text view UI element to display the stack strace of the exception to the user.

Thanks

Ritushree

Former Member
0 Kudos
monalisa_biswal
Contributor
0 Kudos

hi Stefan,

The message manager message gets cleared as soon as an event occurs in the view.

To retain this message on the screen, you can create a text view with an image to show the message.

You need to create two value attributes to show message text and manage visibility of the textview.

Hope this helps!

Monalisa

siarhei_pisarenka3
Active Contributor
0 Kudos

Hi Stefan

Usually showing a stack-trace to the end-user of your application is not so helpful as might appear. My experience shows that the information is too technical for the end-user and does not help him/her to resolve the issue/problem. It's better to display error messages pointing him to some solution or directions that he might do in order to fix the error.

If you still want to show a stack-trace I'd advise the following. You have to prepare the UI control with the stack-trace in the same server response (round trip) which shows the message manager's messages. The messages will not disappear until a client sends a new request to the server. When you open the popup such request definitely takes place.

Maybe try to display the stack-trace in the bottom of the screen so user have to scroll down a little bit to show the trace.

Or maybe Tray control will help in the case. Try to put the trace in a text view and put the view in a tray. Then user has to expand the tray to see the trace. But do not assign any event handlers to the tray to avoid additional request to the server while it's expanding.

BR, Sergei

Former Member
0 Kudos

@Sergei: Thanks for your hint!

Of course, showing the stacktrace is not very useful for the user, so I prefer this only as an optional additional info (during the integrating phase of our application). TextView in a Tray is good idea, otherwise it doesn't look very nice to see all the time the tray header/border in the view.

So my current solution is only an TextView, switching visible/invisible with a LinkToAction "show stacktrace"... that forces unfortunately a request and so the current message in the message manager will be cleared, to avoid this I write the error message also in a context attribute to re-set the message manager in the "onActionShowStacktrace". That works quite fine.