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:

  1. Run the program again in the Debugger.

  2. 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.

  3. 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.

  4. Identify the error in the method call.