Sunteți pe pagina 1din 3

*&-----------------------------------------------------------*

*& Report Z_DUMMY_ATG


*&-----------------------------------------------------------*

REPORT Z_DUMMY_ATG NO STANDARD PAGE HEADING.

TABLES: SPFLI.

*============================================================
* Variables
*============================================================

DATA: OK_CODE TYPE SY-UCOMM,


L_MODE TYPE RAW4,
W_TABIX TYPE SY-TABIX.

*============================================================
* Tablas internas
*============================================================
DATA: L_S_LAYO TYPE LVC_S_LAYO.

DATA: WA_EDIT TYPE LVC_T_STYL WITH HEADER LINE.


DATA: IT_EDIT TYPE LVC_T_STYL WITH HEADER LINE.

DATA: BEGIN OF G_WA_SFLIGHT.


INCLUDE STRUCTURE SPFLI.
DATA: CELL_TAB TYPE LVC_T_STYL.
DATA: END OF G_WA_SFLIGHT.

TYPES: BEGIN OF SPFLI_TAB.


INCLUDE STRUCTURE SPFLI.
TYPES: CELL_TAB TYPE LVC_T_STYL.
TYPES: END OF SPFLI_TAB.

TYPES: SPFLI_TABS TYPE STANDARD TABLE OF SPFLI_TAB.

DATA: GI_SFLIGHT TYPE SPFLI_TABS.

DATA: BEGIN OF AUX_TAB OCCURS 0,


CARRID LIKE SPFLI-CARRID,
CONNID LIKE SPFLI-CONNID,
CITYFROM LIKE SPFLI-CITYFROM,
AIRPFROM LIKE SPFLI-AIRPFROM,
CITYTO LIKE SPFLI-CITYTO,
AIRPTO LIKE SPFLI-AIRPTO,
END OF AUX_TAB.

DATA: SPFLI_TAB_WA LIKE G_WA_SFLIGHT.


FIELD-SYMBOLS: <SF> STRUCTURE G_WA_SFLIGHT
DEFAULT SPFLI_TAB_WA.

*============================================================
* Objetos
*============================================================

DATA: CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,


ALV_LIST TYPE REF TO CL_GUI_ALV_GRID.

*============================================================
* Selecci�n de Datos
*============================================================

SELECT *
FROM SPFLI
INTO CORRESPONDING FIELDS OF TABLE AUX_TAB .

LOOP AT AUX_TAB.
MOVE-CORRESPONDING AUX_TAB TO <SF>.
APPEND <SF> TO GI_SFLIGHT.
ENDLOOP.

*============================================================
* Instancimiento de Objetos
*============================================================

CREATE OBJECT CONTAINER


EXPORTING CONTAINER_NAME = 'LIST_AREA'.

CREATE OBJECT ALV_LIST


EXPORTING I_PARENT = CONTAINER.

*============================================================
* Procesamiento
*============================================================

LOOP AT GI_SFLIGHT INTO G_WA_SFLIGHT.


W_TABIX = SY-TABIX.
IF G_WA_SFLIGHT-CITYTO EQ 'SAN FRANCISCO'.
L_MODE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
MOVE 'CITYTO' TO WA_EDIT-FIELDNAME.
MOVE L_MODE TO WA_EDIT-STYLE.
INSERT WA_EDIT INTO IT_EDIT INDEX W_TABIX.
G_WA_SFLIGHT-CELL_TAB[] = IT_EDIT[].
ENDIF.
MODIFY GI_SFLIGHT FROM G_WA_SFLIGHT.
ENDLOOP.

MOVE 'CELL_TAB' TO L_S_LAYO-STYLEFNAME.

CALL METHOD ALV_LIST->SET_READY_FOR_INPUT


EXPORTING I_READY_FOR_INPUT = 1.

CALL METHOD ALV_LIST->SET_TABLE_FOR_FIRST_DISPLAY(


EXPORTING I_STRUCTURE_NAME = 'SPFLI'
IS_LAYOUT = L_S_LAYO
CHANGING IT_OUTTAB = GI_SFLIGHT ).

*============================================================
* Dynpro
*============================================================

CALL SCREEN 100.

*&-----------------------------------------------------------
*& Module STATUS_0100 OUTPUT
*&-----------------------------------------------------------
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS '100'.
ENDMODULE.

*&-----------------------------------------------------------
*& Module USER_COMMAND_0100 INPUT
*&-----------------------------------------------------------
MODULE USER_COMMAND_0100 INPUT.
OK_CODE = SY-UCOMM.
IF OK_CODE = 'BACK'.
SET SCREEN 0.
LEAVE SCREEN.
CLEAR OK_CODE.
ENDIF.
ENDMODULE.

S-ar putea să vă placă și