‎2008 Feb 11 9:02 AM
hi,
may i know the difference between
call screen
set screen
leave screen
leave to screen.
‎2008 Feb 11 9:07 AM
hi,
CALL SCREEN statement 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.
Every screen has a static next screen that specifies the next screen to be called after the current one, as long as it is not overwritten dynamically. In the processing logic, that is, a dialog module called by the screen, you can use the SET SCREENstatement to overwrite the statically-defined next screen dynamically:
SET SCREEN Folgedynpro.
This statement defines a new next screen for the current program run. You can also specify the number of the next screen as a field containing a screen number. The statically-defined next screen is ignored. However, this only overrides the static screen sequence temporarily. The static value for the next screen, as defined in the Screen Painter, is always retained.
The LEAVE SCREEN statement ends the current screen and calls the subsequent screen. The next screen is either the static next screen or a dynamic next screen. In the second case, you must override the static next screen using the SET SCREEN statement before the LEAVE SCREEN statement.
reward points if helpful..
‎2008 Feb 11 9:04 AM
hi,
Calling Screens Internally from the Same ABAP Program
In any ABAP program that can have its own screens (type 1, M, or F), you can use the
CALL SCREEN <dynnr>.
statement to call a screen and its subsequent sequence within that program. The flow logic of each screen calls dialog modules in the program that called the screen.
When the screen sequence ends, control returns to the statement after the original CALL SCREEN statement.
Leaving a Screen Sequence
A screen sequence terminates when a screen ends and the defined next screen has the number 0.
You can leave a single screen within a sequence using the
LEAVE SCREEN.
or
LEAVE TO SCREEN <dynnr>.
statement. These statements exit the current screen and call the defined next screen. If the next screen is screen 0, the entire screen sequence concludes.
reward points if useful,
seshu.
‎2008 Feb 11 9:06 AM
Hi,
In any ABAP program that can have its own screens (type 1, M, or F), you can use the
CALL SCREEN <dynnr>.
statement to call a screen and its subsequent sequence within that program. The flow logic of each screen calls dialog modules in the program that called the screen.
When the screen sequence ends, control returns to the statement after the original CALL SCREEN statement
- Leave screen
Exits the currently screen and leave to the last one
- leave to screen
Exits the currently screen and leave to the screen to define
Regards
Nicole
‎2008 Feb 11 9:07 AM
hi,
CALL SCREEN statement 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.
Every screen has a static next screen that specifies the next screen to be called after the current one, as long as it is not overwritten dynamically. In the processing logic, that is, a dialog module called by the screen, you can use the SET SCREENstatement to overwrite the statically-defined next screen dynamically:
SET SCREEN Folgedynpro.
This statement defines a new next screen for the current program run. You can also specify the number of the next screen as a field containing a screen number. The statically-defined next screen is ignored. However, this only overrides the static screen sequence temporarily. The static value for the next screen, as defined in the Screen Painter, is always retained.
The LEAVE SCREEN statement ends the current screen and calls the subsequent screen. The next screen is either the static next screen or a dynamic next screen. In the second case, you must override the static next screen using the SET SCREEN statement before the LEAVE SCREEN statement.
reward points if helpful..
‎2008 Feb 11 9:10 AM
Hi,
If you write the syntax call screen then it will interrupt the current processing and call that particular screen. After processing that screen it will goto previous screen. In set screen it won't interupt the current processing and after completion of processing it will go to that screen. In leave screen it will leave that particular screen. If you give leave screen <no> then it will go to that particular screen number. Here it won't come back.
Thanks
Sarada
‎2008 Feb 11 9:13 AM
With SET SCREEN, the current screen simply specifies the next screen in the chain. control branches to this next screen as soon as the current screen has been processed. Return from next screen to current screen is not automatic. It does not interrupt processing of the current screen. If we want to branch to the next screen without finishing the current one, use LEAVE SCREEN.
With CALL SCREEN, the current (calling) chain is suspended, and a next screen (or screen chain) is called in. The called screen can then return to the suspended chain with the statement LEAVE SCREEN TO SCREEN 0. Sometimes we might want to let an user call a popup screen from the main application screen to let them enter secondary information. After they have completed their entries, the users should be able to close the popup and return directly to the place where they left off in the main screen. Here comes CALL SCREEN into picture. This statement lets us insert such a sequence into the current one.
‎2008 Feb 11 9:26 AM
call screen
You can insert a screen sequence. This adds another layer to a stack.
You insert a screen sequence using the CALL SCREEN <nnnn> statement.
Note: Layers created in this way must be removed afterwards. You can do this by setting the next screen
statically or dynamically to the initial value (0) an the end of the inserted screen sequence.
To interrupt processing of the current screen and branch to a new screen (or sequence of screens), use
the CALL SCREEN <nnnn> statement. The screen <nnnn> must belong to the same program.
In the program, the system constructs a stack. The stack has to be destroyed before the end of the
program.
set screen
For complex transactions it may be necessary to use multiple screens. The initial screen is determined
when creating the transaction code. Each screen determines the next screen according to the user input.
The next screen is entered statically in the screen attributes. At runtime you can temporarily override the
static next screen using the SET SCREEN <nnnn> statement.
You can establish a static sequence of screens by entering a value in the Next screen field of the screen
attributes.
If you enter 0 (or no value) as the next screen, the system resumes processing from the point at which
the screen was initiated, once it has finished processing the screen itself.
The SET SCREEN <nnnn> statement temporarily overwrites the Next screen attribute.
The screen <nnnn> must belong to the same program.
leave screen
To return to the statement following the CALL SCREEN statement, you can use either SET SCREEN 0.
LEAVE SCREEN. or LEAVE TO SCREEN 0. The screen that called the other screen is then processed
further.
leave to screen
To specify the next screen and leave the current screen in a single step, use the
LEAVE TO SCREEN <nnnn> statement.
reward if useful
set screen 0
leave screen and leave to screen 0 have the sdame effect.
‎2008 Feb 11 9:34 AM
diff between set screen and call screen
syntax for set screen
set screen 300 /for ex
leave screen
call screen 300
the functionality of both is same but the syntaxes are diff
diff bet leave screen and leave to screen 0
syntax
set screen 0
leave screen
leave to screen 0
the functionality of both is same but the syntaxes are diff
hope this clarifies it further
do reward if helpful