There are two ways of calling a screen sequence. Starting a sequence from an ABAP program allows you to insert a sequence of screens into the existing program flow.
When you use a transaction code to start a screen sequence, the corresponding ABAP program is automatically loaded as well. The processing logic of the program is controlled by the screen flow logic. On reaching the end of the screen sequence (next screen 0), the entire application program terminates at the same time. Control returns to the point from which the transaction was called
You can start a screen sequence from an ABAP program using the
CALL SCREEN scrnr.
statement. At the end of the screen sequence (next screen 0), the program continues processing directly after the CALL SCREEN statement.
If you use the CALL SCREENstatement within a screen sequence that is already running, the new screen sequence is inserted into the current sequence.
This works as a kind of stack, since the CALL SCREENstatement interrupts the current screen sequence and starts a new one. When you start a screen sequence with a transaction code, you can stack up to 50 other screen sequences on top of it. However, you should not exceed 40 sequences, since help and error dialogs also use internally-implemented screen sequences.
Since during an SAP Web AS ABAP session you are always in a screen sequence of some kind, each CALL SCREENstatement leads to one screen sequence being inserted into another. For example, if you use the statement in an executable program, the screen sequence is normally inserted into the normal screen sequence for executable programs, that is, the predetermined selection screen list.