Summary
Use
In this lesson, you have learned that the control methods are buffered in an Automation Queue. Basically, the queue has the following properties:
-
The Control Framework transfers the queue to the frontend if you call method CL_GUI_CFW=>FLUSH.
-
There is one Automation Queue for each internal mode. This means that you can buffer methods of different control instances in a queue.
-
The Control Framework stores the actual parameters as references or values in the Automation Queue.
-
Actual parameters are stored as references in the queue if the method has return values or if the actual parameter was returned before in a previous call of the queue. In all other cases, the Framework stores the actual parameters as values in the queue.
The last two points are important for determining the correct flush time and reusing variables that are used as actual parameters:
-
If you have used variables for the return values of control methods, you should only reuse these as actual parameters for the succeeding control methods.
-
Do not use system variables as actual parameters.
-
If you determine control values in subroutines, you must absolutely perform a flush when you use local variables. The following table gives you a short summary:
|
Type of storage in Automation Queue: |
Local variable in subroutine or Pass by value() |
Global variable in subroutine or Pass by reference |
|
As value |
Flush not absolutely required. |
Flush not absolutely required. |
|
As reference |
Flush absolutely required before subroutine is exited and before EXIT. |
Flush not absolutely required. |