‎2006 Apr 04 1:16 PM
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
‎2006 Apr 04 1:20 PM
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
‎2006 Apr 04 1:25 PM
‎2006 Apr 04 1:30 PM
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
‎2006 Apr 04 1:34 PM
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.
‎2006 Apr 04 1:41 PM
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.