2016 Mar 16 4:46 PM
Hi guys,
I have created a report with screen 1000 as start screen and selection screen (this is automatic). I would like to have the selection screen and the result list on one transaction. To achieve this I have created a subscreen and a container for the result. I dont know how to change screen 1000 to a subscreen. When i create another screen as subscreen and add to my selection fields the name of the new screen as a subscreen everything get confused. How do I get only my main screen and the contain of screen 1000 as a subscreen. Can I deactivate screen 1000?
Thanks
Hi guys,
I have created a report with screen 1000 as start screen and selection screen (this is automatic). I would like to have the selection screen and the result list on one transaction. To achieve this I have created a subscreen and a container for the result. I dont know how to change screen 1000 to a subscreen. When i create another screen as subscreen and add to my selection fields the name of the new screen as a subscreen everything get confused. How do I get only my main screen and the contain of screen 1000 as a subscreen. Can I deactivate screen 1000?
Thanks
2016 Mar 16 5:19 PM
Hi Maria,
that works. You Need to do the following:
1. Do not define a "normal" selection Screen in your ABAP as this just eliminates the Standard selection Screen.
2. Define your Selection Screen with:
SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
Just as example: SELECT-OPTIONS: s_aufnr FOR caufv-aufnr.
SELECTION-SCREEN END OF SCREEN 100.
3. Create a normal Screen with 2 subscreen Areas (SUB1 and SUB2)
4. Create a normal Subscreen (e.g. 9001)
5. Add the following logic to the PBO area of the normal Screen created in 3.
CALL SUBSCREEN SUB1 INCLUDING sy-cprog '0100'.
CALL SUBSCREEN SUB2 INCLUDING sy-cprog '9001'.
It Needs to be explored how the PBO and PAI Events get triggered. But the Screen should as a starting Point look like you have described it.
Regards
Oliver
2016 Mar 16 6:12 PM
Hi,
I have managed to have a subscreen and and container for the result on one screen. On the first screen I see them both but when I fill some fill and execute, I dont see what I need. I wanted to still see my selection subscreen and the result in the container. The result are not in a container. To display I use following lo_alv_table->display( ). I am using ALV OM.
Thanks
2016 Apr 06 4:28 PM
2016 Mar 16 6:32 PM
Hi,
you can define your own selection screen in SE38 using following steps..
step 1
SELECTION-SCREEN BEGIN OF SCREEN 9001 AS SUBSCREEN.
put your selection screen parameters here.....
SELECTION-SCREEN END OF SCREEN 9001.
step 2..
Create a normal screen 9003 with two subscreen areas and call that screen
IN PBO OF 9003
CALL SUBSCREEN <SUBAREA1> INCLUDING <SY-REPID> <SCREEN 9001>.
CALL SUBSCREEN <SUBAREA1> INCLUDING <SY-REPID> <SCREEN 9002>
IN PAI OF 9003
CALL SUBSCREEN <SUBAREA1>.
CALL SUBSCREEN <SUBAREA1>.
AND USING OOALV..
USE MODULE POOL PROGRAMMING TECHNIQUE..
CREATE ONE SCREEN.. AND ADD SELECTION SCREEN PARAMETER FIELDS ON IT..
THEN CREATE CUSTOM CONTAINER USING ELEMENT OF THE SCREEN..
WRITE LOGIC IN PAI WHICH EXECUTE IN PAI
AND AFTER PAI (GETTING DATA FOR RESULT) , PBO WILL TRIGGER THEN CREATE CUSTOMER CONTAINER OBJECT AND GRID OBJECT IN PBO AND USE SET_TABLE_FOR_FIRST_DISPLAY METHOD TO DISPLAY ALV .
OR
you can make use of docking container to achieve you requirement...
follow the code..
IN PBO
* Create a Docking container and dock the control at right side of screen
CHECK r_dock_container IS INITIAL.
CREATE OBJECT r_dock_container
EXPORTING
side = cl_gui_docking_container=>dock_at_right
extension = 780
caption = 'Materials'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6.
****To Create the Grid Instance
CREATE OBJECT r_grid
EXPORTING
i_parent = r_dock_container
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
OTHERS = 5.
* Formatted Output Table is Sent to Control
CALL METHOD r_grid->set_table_for_first_display
CHANGING
it_outtab = t_mara
it_fieldcatalog = t_fieldcat
* it_sort =
* it_filter =
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4
thanks!!
2016 Mar 16 6:44 PM
Hi
I am using the following logic in my main screen:
PROCESS BEFORE OUTPUT.
MODULE XXXXXX.
MODULE XXXXX.
CALL SUBSCREEN ZZZZ INCLUDING sy-cprog 'xxxxx'.
MODULE YYYYYY.
*
PROCESS AFTER INPUT.
CALL SUBSCREEN ZZZZ.
MODULE DDDDDDD.
something is not working because I dont have my main screen as the last screen and I dont see my subscreen after the input anymore.
The result appears on a screen create by the system.
Where should I look?
Thanks
2016 Mar 16 6:50 PM
hi,
give the current screen number as the next screen number in screen attributes..
you have to create two subscreen areas.. one for input subscreen and one for output subscreen..
easiest way is use docking container..
ALV - Docking Container Releated | SCN
thanks!!
2016 Mar 17 2:17 PM
Hey Maria,
Do you want the output of your report inside a subscreen and also selection-screen inside a subscreen?
2016 Mar 17 3:08 PM
Hi guys,
I have managed to display the selection screen (as subscreen) and the output (in a docking container) in one screen. My issue now is that I have to refresh all my selections fields and may be the result table before doing another execution. What I want to achieve is to only edit fields and then execute.
2016 Apr 06 12:20 PM