Professional Documents
Culture Documents
htm
http://www.saptechnical.com/Tutorials/ALV/ALVMainPage.htm
Splitter Container - cl_gui_splitter_container
NOTE: As part of screen design create a screen with screen numbers 0100. Also create a menu named
MYMENU with Functional Keys BACK, CANCEL, and EXIT with respective function codes.
To the screen 0100:
Add the menu MYMENU and in the PAI section of the screen provide appropriate code to handle the
functionality for BACK, CANCEL, and EXIT. See MODULE user_command_0100 INPUT in the
code below. To the layout of this screen add a customer control and name it CCONT.
Flow logic of screen 0100:
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
REPORT yalv_oop_split.
TYPES: BEGIN OF ty_kna1,
kunnr TYPE kna1-kunnr,
name1 TYPE kna1-name1,
ort01 TYPE kna1-ort01,
land1 TYPE kna1-land1,
pstlz TYPE kna1-pstlz,
END OF ty_kna1,
BEGIN OF ty_vbak,
kunnr TYPE vbak-kunnr,
vbeln TYPE vbak-vbeln,
netwr TYPE vbak-netwr,
END OF ty_vbak,
BEGIN OF ty_vbap,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
netwr TYPE vbap-netwr,
END OF ty_vbap.
DATA: r_ccontainer TYPE REF TO cl_gui_custom_container,
r_splitter1 TYPE REF TO cl_gui_splitter_container,
r_splitter2 TYPE REF TO cl_gui_splitter_container,
r_container1 TYPE REF TO cl_gui_container,
r_container2 TYPE REF TO cl_gui_container,
r_container3 TYPE REF TO cl_gui_container,
r_grid_kna1 TYPE REF TO cl_gui_alv_grid,
r_grid_vbak TYPE REF TO cl_gui_alv_grid,
r_grid_vbap TYPE REF TO cl_gui_alv_grid,
t_kna1 TYPE TABLE OF ty_kna1,
t_vbak TYPE TABLE OF ty_vbak,
CHANGING
it_outtab
= t_kna1
it_fieldcatalog = t_fcat_kna1.
*populating t_vbak internal table to the r_container2
PERFORM populate_vbak_fcat.
CREATE OBJECT r_grid_vbak
EXPORTING
i_parent = r_container2.
CALL METHOD r_grid_vbak->set_table_for_first_display
CHANGING
it_outtab
= t_vbak
it_fieldcatalog = t_fcat_vbak.
*populating t_vbap internal table to the r_container3
PERFORM populate_vbap_fcat.
CREATE OBJECT r_grid_vbap
EXPORTING
i_parent = r_container3.
CALL METHOD r_grid_vbap->set_table_for_first_display
CHANGING
it_outtab
= t_vbap
it_fieldcatalog = t_fcat_vbap.
ENDFORM.
" display_alv
*&---------------------------------------------------------------------*
*&
Form populate_kna1_fcat
*&---------------------------------------------------------------------*
FORM populate_kna1_fcat .
DATA: ls_fcat TYPE lvc_s_fcat.
REFRESH t_fcat_kna1.
ls_fcat-fieldname = 'KUNNR'.
ls_fcat-coltext = 'Customer'.
APPEND ls_fcat TO t_fcat_kna1.
CLEAR ls_fcat.
ls_fcat-fieldname = 'NAME1'.
ls_fcat-coltext = 'Customer Name'.
APPEND ls_fcat TO t_fcat_kna1.
CLEAR ls_fcat.
ls_fcat-fieldname = 'ORT01'.
ls_fcat-coltext = 'City'.
APPEND ls_fcat TO t_fcat_kna1.
CLEAR ls_fcat.
ls_fcat-fieldname = 'LAND1'.
ls_fcat-coltext = 'Country'.
APPEND ls_fcat TO t_fcat_kna1.
CLEAR ls_fcat.
ls_fcat-fieldname = 'PSTLZ'.