Application Development and Automation 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: 
Read only

What is set screen?difference between set screen &call screen

Former Member
0 Likes
1,656

What is set screen?difference between set screen &call screen

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,548

hi,

The SET SCREEN <nnnn> statement temporarily overwrites the Next screen attribute.

The screen <nnnn> must belong to the same program.

The next screen is processed either when the current screen processing ends, or when you terminate it

using the LEAVE SCREEN statement.

To specify the next screen and leave the current screen in a single step, use the

LEAVE TO SCREEN <nnnn> statement.

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.

In the CALL SCREEN statement, you can use the STARTING AT and ENDING AT additions to specify

the position and size of the screen that you are calling. The screen in the CALL SCREEN statement

must be defined as a modal dialog box (to comply with SAP's ergonomic standards).

If you omit the ENDING AT statement, the size of the dialog box is determined by the Used size in its

screen attributes. The system then determines the dialog box size using the Occupied size screen

attribute.

If you use the ENDING AT addition, the system displays as much of the dialog box as will fit into the

available space. If there is not enough room to show the entire dialog box, it appears with scrollbars.

Hope this helps, Do reward.

What is set screen?difference between set screen &call screen

5 REPLIES 5
Read only

Former Member
0 Likes
1,549

hi,

The SET SCREEN <nnnn> statement temporarily overwrites the Next screen attribute.

The screen <nnnn> must belong to the same program.

The next screen is processed either when the current screen processing ends, or when you terminate it

using the LEAVE SCREEN statement.

To specify the next screen and leave the current screen in a single step, use the

LEAVE TO SCREEN <nnnn> statement.

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.

In the CALL SCREEN statement, you can use the STARTING AT and ENDING AT additions to specify

the position and size of the screen that you are calling. The screen in the CALL SCREEN statement

must be defined as a modal dialog box (to comply with SAP's ergonomic standards).

If you omit the ENDING AT statement, the size of the dialog box is determined by the Used size in its

screen attributes. The system then determines the dialog box size using the Occupied size screen

attribute.

If you use the ENDING AT addition, the system displays as much of the dialog box as will fit into the

available space. If there is not enough room to show the entire dialog box, it appears with scrollbars.

Hope this helps, Do reward.

Read only

Former Member
0 Likes
1,548

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 if useful..

Read only

ak_upadhyay
Contributor
0 Likes
1,548

Hi,

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.

R/points if useful...

Regards

AK

Read only

Former Member
0 Likes
1,548

With SET SCREEN the current screen simply specifies the next screen in the chain , control branches to this next screen as sonn as th e 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 (screen chain) is called .The called can then return to the suspended chain with the statement LEAVE SCREEN TO SCREEN 0 .Sometime we might want to let an user call a pop up screen from the main application screen to let him enter secondary information.After they have completed their enteries, 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 intp the current one.

Regards

Giridhar

Read only

Former Member
0 Likes
1,548

Hi Praveena,

In the screen attriutes there is field for NEXT SCREEN.This means the next screen for thr current screen.

This SET SCREEN is used to dynamically set the NEXT SCREEN.

See this code

SET SCREEN 9000.

LEAVE SCREEN.

This means it will leave current screen and got SCREEN 9000.

If we directly call CALL SCREEN 9000, it will also got screen 9000, but will internally create a new session inside

Please reward if useful

Thanks Arjun