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

DB Call screen / Set screen

Former Member
0 Likes
609

Hi ALL,

Can u tell me

1.the Difference between Call screen / Set screen.

2.IF I click a pushbutton in selection-screen , I should get another 2 pushbutton on the same screen.What is the event used??

Can U help me ASAP

Points will be rewarded

5 REPLIES 5
Read only

Former Member
0 Likes
585

SET SCREEN scr.

In ABAP/4 dialogs, this sets the next screen number.

The system processes the screen with the number scr immediately after the current screen.

CALL SCREEN scr.

Calls the screen scr; scr is the number of a screen of the main program. You use SET SCREEN 0. or LEAVE SCREEN. to define the return from the CALL screen.

For your second question ,

you should use dynamic screen modifications in at selection screen output event.

loop at screen.

if screen-name1 = <name>

screen-invisible = 0.

modify screen.

endif.

endloop.

REgards,

Ravi

Read only

Former Member
0 Likes
585

Hi,

Pls chek this link:

Regards,

Anjali

Read only

Former Member
0 Likes
585

Hi

1.

Command CALL SCREEN:

It's to call new screen in a new internal mode, in this way the system create a link between the called screen and the calling point and it doesn't indicate the screen when it has to back.

So if it uses: CALL SCREEN XXXX

it can use SET SCREEN 0. LEAVE SCREEN. (or LEAVE TO SCREEN 0). The system'll autimatically back to the calling point.

Problems:

the system can manage only a certain number of internal mode so a dump can occur.

All command CALL defines the end of a LUW.

Command SET SCREEN:

It actives the following screen, but the system'll go to there only by command LEAVE SCREEN.

SET SCREEN XXXX. LEAVE SCREEN.

or

LEAVE TO SCREEN 0.

In this case the new screen isn't open in an internal mode, so it needs a new command SET SCREEN.... to back.

I prefer to use SET SCREEN... if the program has to manage several screens.

2. AT SELECTION-SCREEN OUTPUT

Max

Read only

naimesh_patel
Active Contributor
0 Likes
585

Hi,

Answer of second question

Regards,

Naimesh

PS : Reward Points, if you find useful..!

****************

TABLES: SSCRFIELDS.

DATA: 1_PRESS TYPE C.

PARAMETERS: P_NUM TYPE I.

SELECTION-SCREEN PUSHBUTTON /10(20) B11 USER-COMMAND B1 MODIF ID GP1.

SELECTION-SCREEN PUSHBUTTON /10(20) B12 USER-COMMAND B1 MODIF ID GP2.

SELECTION-SCREEN PUSHBUTTON /10(20) B13 USER-COMMAND B1 MODIF ID GP2.

INITIALIZATION.

B11 = 'test'.

B12 = 'but 2'.

B13 = 'but 3'.

AT SELECTION-SCREEN.

CASE SSCRFIELDS-UCOMM.

WHEN 'B1'.

1_PRESS = 'X'.

ENDCASE.

AT SELECTION-SCREEN OUTPUT.

IF 1_PRESS = 'X'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'GP1'.

SCREEN-ACTIVE = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ELSE.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'GP2'.

SCREEN-ACTIVE = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

Read only

vinod_gunaware2
Active Contributor
0 Likes
585

In any ABAP program that can have its own screens (type 1, M, or F), you can use the

<b>CALL SCREEN <dynnr>.</b>

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.

<b>set screen</b> Sets the next screen.

Syntax SET SCREEN <scr>.

Temporarily overwrites the statically-defined next screen with <scr>. <scr> is processed after the current screen.

3 for third answer u have to use

u have to use modication id all threee button

and event

at selection screen at output.

loop at screen.

check modification id if matches

screen-active = '1'.

screen-input = '1'

else.

screen-active = '0'.

screen-input = '0'

modify screen.

endloop.