2009 Feb 04 5:15 AM
Hi Experts,
I have a button (Detail) on 1000 screen and i need, when i press on Detail button the subscreen 800 should be display.
My coding is like that.....
case sy-ucomm.
WHEN 'Details'.
call screen 800.
endcase.
But its not working properly. It is giving Dump error.
Plz help me.
Thanks in advance.
Regards,
Swapnika
Hi Experts,
I have a button (Detail) on 1000 screen and i need, when i press on Detail button the subscreen 800 should be display.
My coding is like that.....
case sy-ucomm.
WHEN 'Details'.
call screen 800.
endcase.
But its not working properly. It is giving Dump error.
Plz help me.
Thanks in advance.
Regards,
Swapnika
2009 Feb 04 5:19 AM
2009 Feb 04 5:21 AM
Hi,
U can't call as such sub screen in the selection screen. You need to cvreate the sub screen area in the selection screen and call the sub screen 800 in the subbscreen area.
Regards,
Naresh.
2009 Feb 04 5:26 AM
I m creating a module pool program. and i m creating screen on module pool only. Can u guys advice me howz can i call subscreen from the normal screen.
2009 Feb 04 5:27 AM
Hi
use Call screen 800 starting at 10 20 ending at 60 70.
try with different cordinates
2009 Feb 04 5:22 AM
Swapnika,
Please change 'Details' to 'DETAILS'.
Please send exact error is coredump so that i try to help you.
2009 Feb 04 5:26 AM
hi...
you may have any parameter or select-option in the screen so might be getting short dump
or screen 800 might not have been defined then it will give DYNPRO_NOT_FOUND.
IF you have any parameter or select-option in the screen then you can call it by
call selection-screen 800.
your quary is most welcomed.
thanks
2009 Feb 04 5:26 AM
Hi,
call subscreen screen name including 'program name' '800'
Thanks
Arun Kayal
Edited by: Arun Kayal on Feb 4, 2009 6:27 AM
2009 Feb 04 5:28 AM
Hi,
Instead of CALL Screen 800 use SUBMIT SCREEN 800. This may solve your problem or try creating a subscreen area on your screen with scr no 1000.
and then try to call screen 800 or check the attributes of the screen and check for the screen number whether it is 800 or some other number.
2009 Feb 04 5:30 AM
Hi, Swapnika
Use the following Lines of code hope will solve out your problem,
WHEN 'DETAILS'.
LEAVE TO SCREEN 800.Please Reply if any else Issue,
Kind Regards,
Faisal
2009 Feb 04 5:32 AM
Hi,
First make sure that the screen calling it must have a subscreen area.
Now use:-
CASE sy-ucomm.
WHEN 'DETAILS'.
call subscreen sub1 including sy-repid '800'. "sub 1 is the name of the sub screen area
" and 800 is the screen number on which sub screen area is used
ENDCASE.
Hope this solves your problem.
Thanks & Regards,
Tarun Gambhir
2009 Feb 04 5:57 AM
Friend problem is not solved.
Error----
The attribute screen type with the values 'Normal Screen' and
'Subscreen' determines the use of the screen. If a normal screen is used
as subscreen or vice versa, an error occurs.
The screen "ZTRUSTPF" 0800 has, in this respect, an inappropriate screen type.
-
I specified error above.
Plz help me.
Regards,
Swapnika
2009 Feb 04 5:59 AM
Hi,
Goto attributes of of screen 800.
select screen type as subscreen.
Thanks & REgards
2009 Feb 04 6:04 AM
i have done friend.
i set attribute 1000 is normal, 800 is sub-screen.
2009 Feb 04 6:05 AM
Hi,
Since you want to call a sub screen on a condition, use this code, its working:-
At screen logic:-
PROCESS AFTER INPUT.
MODULE INIT_SUBSCREEN.
CALL SUBSCREEN SUBARE INCLUDING V_PROG V_DYNNR.
In PAI,
MODULE INIT_SUBSCREEN.
CASE sy-ucomm.
WHEN 'DISPLAY'
V_PROG = sy-repid.
V_DYNNR = '800'.
ENDCASE.
ENDMODULE.
Hope this solves your problem.
Thanks & Regards,
Tarun Gambhir
2009 Feb 04 6:05 AM
i have done friend.
i set attribute normal for 1000, sub-screen for 800.
2009 Feb 04 6:09 AM
hi,
Define a field for screen number in top include.
Data : dynnr type sy-dynnr value '800'..if flow logic of screen 1000.
PROCESS BEFORE OUTPUT.
CALL SUBSCREEN sub INCLUDING sy-repid dynnr.
PROCESS AFTER INPUT.
CALL SUBSCREEN sub .Thanks
2009 Feb 04 6:18 AM
2009 Feb 04 6:22 AM
hi,
Define a subscreen area on Screen 1000.
Double Click on that .....Give name as SUB.
Declare this in top include
Data dynnr Type Sy-repid value '800'.
"flow logic of screen 1000.
PROCESS BEFORE OUTPUT.
CALL SUBSCREEN sub INCLUDING sy-repid dynnr.
PROCESS AFTER INPUT.
CALL SUBSCREEN sub .
MODULE user_command_1000
*&---------------------------------------------------------------------*
*& Module user_command_1000 INPUT
*&---------------------------------------------------------------------*
MODULE user_command_0421 INPUT.
CASE ok_code.
WHEN 'DETAILS'.
dynnr = 800.
ENDCASE.
ENDMODULE. " user_command_1000 INPUT
.Hope, it works now
Thanks.
Always Learner
2009 Feb 04 6:23 AM
Hi,
Create subscreen area which has name subscr1/as u wish and have the subscreen number, which you want to have in subscreen area as 0800 and try like below code. Not exactly like this code and check for sy-ucomm in a module and write call subscreen statement. If you are not able to have the desired result in the screen, have the same input fields and push buttons in one more screen where you will have subscreen, where you will have your screen 800. Call that screen from pervieous screen push button.
It meens From 1000(initial screen and click push button)--> Screen 9000( which imitates screen 1000 but has additional subscreen area).
In that subscreen you call 800.
PROCESS BEFORE OUTPUT.
MODULE set_pfstatus.
Module set_titlebar.
MODULE initialize.
CALL SUBSCREEN subscr1 INCLUDING sy-repid '9001'.
PROCESS AFTER INPUT.
chain.
field : v_plant, v_stdate, v_endate, v_stdocnum, v_endocnum
MODULE process_user_input.
endchain.
CALL SUBSCREEN subscr1.
Regards,
Venkat.
2009 Feb 04 5:43 AM
Hi,
The dump is due to if Screen Is Incorrectly Used Or Defined.
This may be overcome by changing the attibutes of the subscreen which ur calling (800) as Normal Screen. Check it once. Pls let me know if any queries reg this.
Thanks & Regards,
Syed.
2009 Feb 04 5:57 AM
hi,
Define subscreen and call it in screen.
SELECTION-SCREEN BEGIN OF SCREEN 800 AS SUBSCREEN.
SELECT-OPTIONS:
s_matnr FOR l_matnr. " Material Number
SELECTION-SCREEN END OF SCREEN 800.
Call screen 100.
In layout of Screen 100, define subscreen area, let's say "Subscreen"
In Flow Logic of Screen 100.
PROCESS BEFORE OUTPUT.
MODULE STATUS_PBO.
CALL SUBSCREEN subscreen INCLUDING sy-repid 800.
PROCESS AFTER INPUT.
CALL SUBSCREEN subscreen.
MODULE USER_COMMAND_PAI.
thanks
2009 Feb 04 6:11 AM
Hi Swapnika,
Selection screens as subscreens on screens.
REPORT demo_sel_screen_as_subscreen.
SELECTION-SCREEN BEGIN OF SCREEN 1100 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-010.
PARAMETERS: p1(10) TYPE c,
p2(10) TYPE c,
p3(10) TYPE c.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN END OF SCREEN 1100.
SELECTION-SCREEN BEGIN OF SCREEN 1200 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-020.
PARAMETERS: q1(10) TYPE c OBLIGATORY,
q2(10) TYPE c OBLIGATORY,
q3(10) TYPE c OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN END OF SCREEN 1200.
DATA: ok_code TYPE sy-ucomm,
save_ok TYPE sy-ucomm.
DATA: number(4) TYPE n VALUE '1100'.
START-OF-SELECTION.
CALL SCREEN 100.
MODULE status_0100 OUTPUT.
SET PF-STATUS 'SCREEN_100'.
ENDMODULE.
MODULE cancel INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE user_command_0100 INPUT.
save_ok = ok_code.
CLEAR ok_code.
CASE save_ok.
WHEN 'BUTTON1'.
number = 1100.
WHEN 'BUTTON2'.
number = 1200.
ENDCASE.
ENDMODULE.
AT SELECTION-SCREEN.
MESSAGE s888(sabapdocu) WITH text-030 sy-dynnr.
This defines two selection screens u2013 1100 and 1200 u2013 as subscreens.
The screen contains a subscreen area AREA and two pushbuttons with the function codes BUTTON1 and BUTTON2.
The screen flow logic for screen 100 is as follows:
PROCESS BEFORE OUTPUT.
MODULE status_0100.
CALL SUBSCREEN area INCLUDING sy-repid number.
PROCESS AFTER INPUT.
MODULE cancel AT EXIT-COMMAND.
CALL SUBSCREEN area.
MODULE user_command_0100.
When you run the program, a screen appears on which selection screen 1100 is displayed as a subscreen. You can display either selection screen in the subscreen area, using the pushbuttons to switch between them. Before you switch from selection screen 1200 to 1100, you must fill out the obligatory fields. The data you enter is available to the program in the parameters in the PAI event.
Hope it helps you
Regrds
Mansi
2009 Feb 04 6:22 AM
hi Mansi,
i m not Report program. I m making Module pool program. Here i can give any name to subscreen according to my knowledge. Here, 1000 is a normal screen.
One button on that screen. I need when i press this buton the another screen(800 attributes is subscreen) should be display.
Regards,
Swapnika
2009 Feb 04 12:16 PM
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |