Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 8

Principal:

----------

REPORT zbc405_00_alv MESSAGE-ID bc405_408.


DATA: BEGIN OF gs_flights.
INCLUDE TYPE sflight.
DATA: checkfeld TYPE c LENGTH 1,
END OF gs_flights.
DATA gt_flights like TABLE OF gs_flights.
data chk_edit type c LENGTH 1.
"DATA gs_flights TYPE sflight.
DATA ok_code TYPE sy-ucomm.
SELECT-OPTIONS so_car FOR gs_flights-carrid.
SELECT-OPTIONS so_con FOR gs_flights-connid.
PARAMETERS pa_om AS CHECKBOX.
START-OF-SELECTION.
SELECT * FROM sflight INTO TABLE gt_flights
WHERE carrid IN so_car
AND connid IN so_con.
CALL SCREEN 100.
INCLUDE zbc405_00_alvo01.
INCLUDE zbc405_00_alvi01.

PBO-Module:
----------.ALV_ANZEIGEN
.CLEAR_OK_CODE
.CONTAINER_U_ALV_ERZEUGEN
.STATUS_0100

*&---------------------------------------------------------------------*
*&
Module CLEAR_OK_CODE OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE clear_ok_code OUTPUT.
CLEAR ok_code.
ENDMODULE.
" CLEAR_OK_CODE OUTPUT

*----------------------------------------------------------------------*
***INCLUDE ZBC405_00_ALVO01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&
Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'DYN'.
SET TITLEBAR 'T100'.
ENDMODULE.
" STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*&
Module CONTAINER_U_ALV_ERZEUGEN OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE container_u_alv_erzeugen OUTPUT.
DATA r_cont TYPE REF TO cl_gui_custom_container.
DATA r_alv TYPE REF TO cl_salv_table.
DATA r_grid TYPE REF TO cl_gui_alv_grid.
IF r_cont IS INITIAL.
CREATE OBJECT r_cont
EXPORTING
container_name = 'MY_CONTROL_AREA'.

IF pa_om = 'X'.
cl_salv_table=>factory(
EXPORTING
r_container
= r_cont
container_name =
IMPORTING
r_salv_table = r_alv
CHANGING
t_table
= gt_flights
).
ELSE.
CREATE OBJECT r_grid
EXPORTING
i_parent = r_cont.
"i_parent = cl_gui_custom_container=>screen0.
ENDIF.
ENDIF.

ENDMODULE.
" CONTAINER_U_ALV_ERZEUGEN OUTPUT
*&---------------------------------------------------------------------*
*&
Module ALV_ANZEIGEN OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE alv_anzeigen OUTPUT.
data gs_layo type lvc_s_layo.
gs_layo-zebra = 'X'.

gs_layo-edit = chk_edit.

*
*
*
*
*
*
*
*
*
*
*
*
*

*
*

IF pa_om = 'X'.
r_alv->display( ).
ELSE.
r_grid->set_table_for_first_display(
EXPORTING
i_buffer_active
=
i_bypassing_buffer
=
i_consistency_check
=
i_structure_name
= 'SFLIGHT'
is_variant
=
i_save
=
i_default
= 'X'
is_layout
= gs_layo
is_print
=
it_special_groups
=
it_toolbar_excluding
=
it_hyperlink
=
it_alv_graphics
=
it_except_qinfo
=
ir_salv_adapter
=
CHANGING
it_outtab
= gt_flights
"it_fieldcatalog
=
it_sort
=
it_filter
=
EXCEPTIONS
OTHERS = 8
).
if sy-subrc <> 0.
message a012.
ENDIF.

ENDIF.
ENDMODULE.

" ALV_ANZEIGEN OUTPUT

PAI-Module:
-----------

MODULE user_command_0100 INPUT.

CASE ok_code.

WHEN 'EXIT' OR 'CANCEL'.


LEAVE TO SCREEN 0.
WHEN 'BACK'.
MESSAGE 'Back wurde ausgelst ' TYPE 'I'.
*
WHEN ' '.
*
MESSAGE 'Abbruch durch Return' TYPE 'A'.
ENDCASE.
ENDMODULE.
" USER_COMMAND_0100 INPUT

Dynpros:
------.0100:

PROCESS BEFORE OUTPUT.


MODULE status_0100. "1.
MODULE container_u_alv_erzeugen.
module alv_anzeigen.

MODULE clear_ok_code. "2.


PROCESS AFTER INPUT.
MODULE user_command_0100.

GUI-Status:
----------.Dyn
en funktionstasten: BACK - EXIT - CANCEL

GUI -Titel:
----------.T100

Includes:
---------

1)
*----------------------------------------------------------------------*
***INCLUDE ZBC405_00_ALVI01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.

CASE ok_code.
WHEN 'EXIT' OR 'CANCEL'.
LEAVE TO SCREEN 0.
WHEN 'BACK'.
MESSAGE 'Back wurde ausgelst ' TYPE 'I'.
*
WHEN ' '.
*
MESSAGE 'Abbruch durch Return' TYPE 'A'.
ENDCASE.
ENDMODULE.
" USER_COMMAND_0100 INPUT

2)
*&---------------------------------------------------------------------*
*&
Module CLEAR_OK_CODE OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE clear_ok_code OUTPUT.
CLEAR ok_code.
ENDMODULE.
" CLEAR_OK_CODE OUTPUT

*----------------------------------------------------------------------*
***INCLUDE ZBC405_00_ALVO01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&
Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'DYN'.
SET TITLEBAR 'T100'.

ENDMODULE.
" STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*&
Module CONTAINER_U_ALV_ERZEUGEN OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE container_u_alv_erzeugen OUTPUT.
DATA r_cont TYPE REF TO cl_gui_custom_container.
DATA r_alv TYPE REF TO cl_salv_table.
DATA r_grid TYPE REF TO cl_gui_alv_grid.
IF r_cont IS INITIAL.
CREATE OBJECT r_cont
EXPORTING
container_name = 'MY_CONTROL_AREA'.

IF pa_om = 'X'.
cl_salv_table=>factory(
EXPORTING
r_container
= r_cont
container_name =
IMPORTING
r_salv_table = r_alv
CHANGING
t_table
= gt_flights
).
ELSE.
CREATE OBJECT r_grid
EXPORTING
i_parent = r_cont.
"i_parent = cl_gui_custom_container=>screen0.
ENDIF.
ENDIF.

ENDMODULE.
" CONTAINER_U_ALV_ERZEUGEN OUTPUT
*&---------------------------------------------------------------------*
*&
Module ALV_ANZEIGEN OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE alv_anzeigen OUTPUT.
data gs_layo type lvc_s_layo.
gs_layo-zebra = 'X'.
gs_layo-edit = chk_edit.

*
*
*
*
*

IF pa_om = 'X'.
r_alv->display( ).
ELSE.
r_grid->set_table_for_first_display(
EXPORTING
i_buffer_active
=
i_bypassing_buffer
=
i_consistency_check
=
i_structure_name
= 'SFLIGHT'
is_variant
=
i_save
=

*
*
*
*
*
*
*
*

*
*

i_default
is_layout
is_print
it_special_groups
it_toolbar_excluding
it_hyperlink
it_alv_graphics
it_except_qinfo
ir_salv_adapter
CHANGING
it_outtab
"it_fieldcatalog
it_sort
it_filter
EXCEPTIONS
OTHERS = 8
).

= 'X'
= gs_layo
=
=
=
=
=
=
=
= gt_flights
=
=
=

if sy-subrc <> 0.
message a012.
ENDIF.

ENDIF.
ENDMODULE.

" ALV_ANZEIGEN OUTPUT.

En el Include ZBC405_00_ALVO01 ha escrito despus Ejercico-7 del BC405:


---------------------------------------------------------------------

" CONTAINER_U_ALV_ERZEUGEN OUTPUT


*&---------------------------------------------------------------------*
*&
Module ALV_ANZEIGEN OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE alv_anzeigen OUTPUT.
"Layout definieren
DATA gs_layo TYPE lvc_s_layo.
gs_layo-zebra = 'X'.
gs_layo-edit = chk_edit.
gs_layo-cwidth_opt = 'X'.
gs_layo-no_hgridln = 'X'.

gs_layo-no_vgridln = 'X'.

" Layoutvariante spezifiziereb


gs_variant-report = sy-cprog.
gs_variant-variant = pa_lv.

*
*
*

*
*
*
*
*
*
*

*
*

IF pa_om = 'X'.
r_alv->display( ).
ELSE.
r_grid->set_table_for_first_display(
EXPORTING
i_buffer_active
=
i_bypassing_buffer
=
i_consistency_check
=
i_structure_name
= 'SFLIGHT'
" is_variant
= gs_variant
"
i_save
= 'A'
" i_default
= 'X'
is_layout
= gs_layo
is_print
=
it_special_groups
=
it_toolbar_excluding
=
it_hyperlink
=
it_alv_graphics
=
it_except_qinfo
=
ir_salv_adapter
=
CHANGING
it_outtab
= gt_flights
"it_fieldcatalog
=
it_sort
=
it_filter
=
EXCEPTIONS
OTHERS = 8
).
IF sy-subrc <> 0.
MESSAGE a012.
ENDIF.

ENDIF.
ENDMODULE.

" ALV_ANZEIGEN OUTPUT

You might also like