Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

what is the diffrence of 'call screen 100' and 'leave to screen 100'

Former Member
1 ACCEPTED SOLUTION

former_member188685
Active Contributor
0 Kudos

Call screen

after processing of the screen , control comes back to the screen from where you called.

Leave to screen

Control will not come automatically, we need to do that manually, using leave to screen 0 for the action like back , cancel,exit.

6 REPLIES 6

former_member188685
Active Contributor
0 Kudos

Call screen

after processing of the screen , control comes back to the screen from where you called.

Leave to screen

Control will not come automatically, we need to do that manually, using leave to screen 0 for the action like back , cancel,exit.

0 Kudos

with Call Screen 100. This new screen creates another internal session in memory and the calling program holds in its internal session.

where as

with leave to screen 100 : This new screen session replaced in calling program internal session and the calling program no more exists in memory

Former Member
0 Kudos

hi,

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.

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.

If you use the above statements outside a call chain, the program terminates, and control returns to the

point from which it was called. You can also terminate a program using the ABAP statement LEAVE

PROGRAM.

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.

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.

To specify the next screen and leave the current screen in a single step, use the LEAVE TO SCREEN <nnnn> statement.

Hope this helps, DO reward.

Edited by: Runal Singh on Apr 3, 2008 3:11 PM

Former Member
0 Kudos

Hi,

Call Screen

Usually used for pop up screens. Many times, there is a need for user to enter additional information or secondary information on another screen or pop up screen. Once the user enters the data, he should be able to go back to main screen or to the screen where he started. This is not possible by using SET SCREEN. CALL SCREEN achieves this functionality.

Syntax

Call Screen 200.

Will simply call a screen number 200 from a main screen. Once the screen is displayed the user can enter all the data and return to the main screen by clicking BACK button.

To call screen as pop up screen the syntax is

Call screen starting at <col.no.> <line no>

Ending at <col no> <line no>.

In this case window will be popped as window and user can close it by using BACK button.

Leave to screen

To SET a new screen without processing current screen, you need to use the following two statements together:

SET SCREEN 200.

LEAVE SCREEN.

Or a Single statement

LEAVE TO SCREEN 200.

Regards,

Bhaskar

Former Member
0 Kudos

“CALL SCREEN

“CALL SCREEN <screen #>” ABAP statement, temporarily suspends the current screen’s PAI processing and immediately goes to the PBO event of <screen #>. When control returns back to the “calling” screen, its PAI processing will resume.

LEAVE TO SCREEN:-

“LEAVE TO SCREEN <screen #>” ABAP statement, terminates the screen’s PAI event and immediately goes to the PBO of <screen #>.

The “LEAVE TO SCREEN <screen #> statement performs the functionality of two statements: “SET SCREEN <screen #>“ and “LEAVE SCREEN”.

Reward if it is useful,

N.Rekha

Former Member
0 Kudos

Hi hongtan,

1. Call screen 100

a) Immediately goto screen 100

b) complete the screen 100

c) after completion, come back and resume

2. Leave to screen 100

a) Immediately goto screen 100

b) no need of coming back.

regards,

amit m.