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 800.

Former Member
0 Likes
2,644

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

24 REPLIES 24
Read only

Former Member
0 Likes
2,587

hi,

do mention subscreen :CALL SUBSCREEN SUB

thanks

Read only

Former Member
0 Likes
2,587

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.

Read only

0 Likes
2,587

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.

Read only

0 Likes
2,587

Hi

use Call screen 800 starting at 10 20 ending at 60 70.

try with different cordinates

Read only

Former Member
0 Likes
2,587

Swapnika,

Please change 'Details' to 'DETAILS'.

Please send exact error is coredump so that i try to help you.

Read only

Former Member
0 Likes
2,587

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

Read only

Former Member
0 Likes
2,587

Hi,


call subscreen screen name including 'program name' '800'

Thanks

Arun Kayal

Edited by: Arun Kayal on Feb 4, 2009 6:27 AM

Read only

Former Member
0 Likes
2,587

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.

Read only

faisalatsap
Active Contributor
0 Likes
2,587

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

Read only

I355602
Product and Topic Expert
Product and Topic Expert
0 Likes
2,587

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

Read only

Former Member
0 Likes
2,587

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

Read only

0 Likes
2,587

Hi,

Goto attributes of of screen 800.

select screen type as subscreen.

Thanks & REgards

Read only

Former Member
0 Likes
2,587

i have done friend.

i set attribute 1000 is normal, 800 is sub-screen.

Read only

I355602
Product and Topic Expert
Product and Topic Expert
0 Likes
2,587

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

Read only

Former Member
0 Likes
2,587

i have done friend.

i set attribute normal for 1000, sub-screen for 800.

Read only

0 Likes
2,587

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

Read only

Former Member
0 Likes
2,587

i have not used sub (subscreen name).

Its giving error.

Read only

0 Likes
2,587

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

Read only

Former Member
0 Likes
2,587

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.

Read only

Former Member
0 Likes
2,587

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.

Read only

Former Member
0 Likes
2,587

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

Read only

Former Member
0 Likes
2,587

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

Read only

0 Likes
2,587

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

Read only

Former Member
0 Likes
2,587

This message was moderated.