Troubleshooting
Use
The majority of errors in control programming occur when you synchronize the automation queue. Synchronization occurs either explicitly, using the method CL_GUI_CFW=>FLUSH, or implicitly after the last PBO module has finished.
If the error occurs in an explicit synchronization, the method CL_GUI_CFW=>FLUSH triggers the exception CNTL_ERROR. If the error occurs in an implicit synchronization, a short dump occurs. You can avoid the short dump by handling special events of the Control Framework.
The exception CNTL_ERROR only indicates that an unspecified method call to a control at the frontend was unsuccessful. You then need to find out which control at the frontend has triggered the exception and why. You can do this using the Debugger:
-
Run the program again in the Debugger.
-
Go into the settings in the Debugger and select the option Automation Controller: Always process requests synchronously. When you set this option, the automation queue is synchronized after each method call.
-
Step through the individual method calls. Note that SY-SUBRC is only set after the method that triggers the exception if you handle the exceptions in your application program. Otherwise, another short dump occurs.
-
Identify the error in the method call.