Você está na página 1de 4

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

*& Report ZTESTE18


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTESTE18.
TABLES: USR01.
*&---------------------------------------------------------------------------*
*& Definio de tipos de estruturas
*&---------------------------------------------------------------------------*
TYPES: BEGIN OF LS_USR01,
LS_USR01 TYPE USR01,
COUNT
TYPE I,
END OF LS_USR01.
*&---------------------------------------------------------------------------*
*& Definio de tabelas internas
*&---------------------------------------------------------------------------*
DATA: IT_USR01 TYPE TABLE OF LS_USR01.
*&---------------------------------------------------------------------------*
*& Definio de workareas
*&---------------------------------------------------------------------------*
DATA: WA_USR01 TYPE LS_USR01.
*&---------------------------------------------------------------------------*
*& Definio de objetos
*&---------------------------------------------------------------------------*
DATA: GO_ALV TYPE REF TO CL_GUI_ALV_GRID.
START-OF-SELECTION.
PERFORM SELECIONA_DADOS.
CALL SCREEN '0100'.
*&---------------------------------------------------------------------*
*&
Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS '0100'.
SET TITLEBAR '0100'.
PERFORM EXIBE_ALV.
ENDMODULE.
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK' OR 'EXIT'.

LEAVE TO SCREEN 0.
WHEN 'CANCEL'.
EXIT.
WHEN OTHERS.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*&
Form EXIBE_ALV
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM EXIBE_ALV .
DATA: LT_FIELDCAT
LT_SORT
LS_LAYOUT
LO_CONTAINER

TYPE
TYPE
TYPE
TYPE

LVC_T_FCAT,
LVC_T_SORT,
LVC_S_LAYO,
REF TO CL_GUI_CONTAINER.

CLEAR: LT_SORT.
IF GO_ALV IS INITIAL.
*** cria Grid
CREATE OBJECT GO_ALV
EXPORTING
I_PARENT
EXCEPTIONS
ERROR_CNTL_CREATE
ERROR_CNTL_INIT
ERROR_CNTL_LINK
ERROR_DP_CREATE
OTHERS

= LO_CONTAINER
=
=
=
=
=

1
2
3
4
5.

*** monta fieldcat


PERFORM F_FIELDCAT CHANGING LT_FIELDCAT.
*** monta layout
PERFORM F_MONTA_LAYOUT CHANGING LS_LAYOUT.
*** exibe ALV gt_saida
CALL METHOD GO_ALV->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_SAVE
= 'U'
IS_LAYOUT
= LS_LAYOUT
CHANGING
IT_OUTTAB
= IT_USR01
IT_FIELDCATALOG
= LT_FIELDCAT
IT_SORT
= LT_SORT
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR
= 2
TOO_MANY_LINES
= 3
OTHERS
= 4.

*** se Grid j criado atualiza


CALL METHOD GO_ALV->REFRESH_TABLE_DISPLAY
EXCEPTIONS
FINISHED = 1
OTHERS = 2.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*&
Form SELECIONA_DADOS
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM SELECIONA_DADOS .
CLEAR: WA_USR01-COUNT.
SELECT *
INTO WA_USR01
FROM USR01.
WA_USR01-COUNT = WA_USR01-COUNT + 1.
APPEND WA_USR01 TO IT_USR01.
ENDSELECT.
IF SY-SUBRC IS NOT INITIAL.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*&
Form F_FIELDCAT_TOT
*&---------------------------------------------------------------------*
FORM F_FIELDCAT CHANGING P_FIELDCAT TYPE LVC_T_FCAT.
DATA: LS_FIELDCAT TYPE LVC_S_FCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME
LS_FIELDCAT-TABNAME
LS_FIELDCAT-SCRTEXT_M
APPEND LS_FIELDCAT TO

= 'COUNT'.
= 'IT_USR01'.
= 'Posio'.
P_FIELDCAT.

CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME
LS_FIELDCAT-TABNAME
LS_FIELDCAT-SCRTEXT_M
APPEND LS_FIELDCAT TO

= 'LS_USR01-BNAME'.
= 'IT_USR01'.
= 'Nome Usurio'.
P_FIELDCAT.

CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME
LS_FIELDCAT-TABNAME
LS_FIELDCAT-SCRTEXT_M
APPEND LS_FIELDCAT TO

= 'LS_USR01-STCOD'.
= 'IT_USR01'.
= 'Menu Inicial'.
P_FIELDCAT.

ENDFORM.

*&---------------------------------------------------------------------*
*&
Form F_MONTA_LAYOUT
*&---------------------------------------------------------------------*
FORM F_MONTA_LAYOUT CHANGING P_LAYOUT TYPE LVC_S_LAYO.
P_LAYOUT-SEL_MODE = 'D'.
P_LAYOUT-ZEBRA
= 'X'.
P_LAYOUT-CWIDTH_OPT = 'X'.
ENDFORM.

" F_MONTA_LAYOUT

Você também pode gostar