2007 Jul 31 11:32 AM
Hi all,
I was wondering if anybody came across this problem: You have an application with several controls and something goes wrong - an uninstanciated object reference, a control that doesn't have a parent container - something like that.
Now, at PBO the system calls function module AC_SYSTEM_FLUSH which at the end calls
CALL FUNCTION 'OLE_FLUSH_CALL' DESTINATION OLE_DESTINATION
with OLE_DESTINATION = 'SAPGUI'
If this one fails (for whatever reason) you'll get an unhandled exception at the end. Well, fair enough, but is there any way to determine <b>which</b> control actually made the flush fail ? Is there any kind of a log for that (like SM21 or so) ? It can be really nasty to track that one down, especially if this problem occurs only once in a while.
Would be helpful for any hint ... and yes, you'll get points
Frank
2007 Jul 31 12:43 PM
Take a look in transaction ST11 - this gives a list of lots of the log / trace files SAP keeps and lets you drill into them.
I would start with the log for the work process where your transaction ran - dev_w0, dev_w1 etc
You may need to increase the level of data placed in the log temporarily to get the detail you need - this is done in SM50 under the process-->trace menu options. Set them back as soon as possible - the files get large very quickly. You can also view the trace from the view file option of the same menu.
You may also need to set tracing in the GUI as this is calls to the front end PC - done through the trace tab in the display options pop-up
Andrew
2007 Jul 31 5:36 PM
GUI tracing was a great hint, but it only pointed to the type of control (which was certainly helpful) but there it only said "unknown error".
Well, by now I found out that the reason was a duplicate key in a tree control. I'm normally not the one who is complaining, but here an adequate error message would be really helpful ...
2007 Dec 21 1:01 PM
There are two methods you can use, the first is to activate the context trace. OSS Note 158985 describes how to activate the trace. From that popup, you also deactivate it afterwards and view the trace file.
The other important step is to select System > Utilities > Autom. Queue: Synchronous Processing just before the screen / action is performed that ends in the AC_FLUSH short dump. The short dump should then indicate (if you drill into ABAP Debug from the short dump) the correct location of the true problem.
Hope that helps?
Simon