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

call screen and set screen

Former Member
0 Likes
1,984

hi experts ,

whts the practical diff b/.w call screen and set screen in module pool?

hi experts ,

whts the practical diff b/.w call screen and set screen in module pool?

7 REPLIES 7
Read only

Former Member
0 Likes
1,412

call screen will load the screen and it occupies the memory.

set screen it just move from one to another screen

Read only

Former Member
0 Likes
1,412

Call Screen: Calling a single screen can be used for embedding a screen sequence. If you want to prevent the called screen from covering the current screen completely (say u want 2 display both screen) you can use the CALL SCREEN statement with the STARTING AT and ENDING AT

CALL SCREEN 500

If we write this statement in screen 100 ,it will goto screen 500 and it will retain screen 100(ie u can come back)

and moreover u have options using this

CALL SCREEN 200 STARTING AT x1 y1 ENDING AT x2 y2

If we use set screen first the processing blocks in the present screen will be executed and control goes to the screen which is called.

in this control remains in that calling screen only, it doesnt come back to our screen.

In screen 100,we call screen 500.The PBO and PAI of screen 500 is processed.Now in screen 500,if we use leave to screen 100,the processing starts from screen 100 after the call screen 500 statement.The PBO and the PAI of screen 100 need not be processed again from the beginning in this case.

That is if we use leave to screen,the control goes back to the screen from which the present screen was called and continues with the processing.

SET SCREEN 500

With the above statement , it will goto screen 500 and screen 100 no more remains

Screen No 0 : This special screen number causes the screen to jump back to the calling screen.

set screen 0 used to go back to the previous screen.

Reward All Helpfull answers

Read only

Former Member
0 Likes
1,412

Hi Ramesh,

Call Screen <Scr no> : save the current scr no into memory and go to that particular screen and get back after completing execution on that screen.

<b>Set Screen <scr no>.

leave screen. : These to statement work together.</b>

set screen 200 : to go screen 100.

leave screen : to get back to screen 100.

In call screen command , no need to give any other command to get back to original screen

Reward points if helpful.

Regards,

Hemant

Read only

Former Member
0 Likes
1,412

hi

good

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.

thanks

mrutuyn^

Read only

Former Member
0 Likes
1,412

hi

set screen 200

this means after processing the PAI the control shifts to screen 200.

call screen 200 means

we are calling the screen 200 before completly executing the PAI.

and again the control returns to the next line of the program after processing the screen 200.

Read only

Former Member
0 Likes
1,412

Hi ramesh,

<b>For set screen</b>

Every screen has a static next screen attribute that specifies the next screen to be called 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 SCREEN statement to overwrite the statically-defined next screen dynamically:

SET SCREEN <next screen>.

<b>For call screen</b>

The static value for the next screen, as defined in the Screen Painter, is always retained.

If you specify the value 0 for <next screen>, the current screen becomes the last in the screen chain. After the screen has been processed, control returns to the point from which the screen sequence was called. If the screen sequence was embedded, the system returns to the previous screen sequence containing the relevant CALL SCREEN statement. If the screen sequence was not embedded, the application program terminates.

plz reward points if helpful.

Thanks,

Suma.

Read only

Bema
Active Participant
0 Likes
1,412

CALL SCREEN - After the screen is processed. it will come back to the stmt at which it is called and processing starts from the next statement after CALL SCREEN.

SET SCREEN - it will not come back to the point at which it is called.

Reward points if helpful