Você está na página 1de 2

TYPE-POOLS: slis.

" a 'library' da funo ALV GRID


DATA: report_id LIKE sy-repid, "Varivel para carregar nome do programa
i_skb1
LIKE skb1 OCCURS 0, "Tabela interna para receber os
*dados da tabela do dicionrio de dados
i_layout TYPE slis_layout_alv. "Tabela interna que contm as
*propriedades para configurar o layout do ALV
SELECT * FROM skb1 INTO TABLE i_skb1. "Seleciona os dados da tabela do
*dicionrio e joga na tabela interna
report_id = sy-repid. "Passa o nome do programa para uma varivel que
*ser utilizada na funo do ALV
PERFORM f1000_layout_init CHANGING i_layout. "Faz o PERFORM do FORM
**limpa o layout e 'seta' suas propriedades
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' "Funo que cria o ALV
EXPORTING
i_callback_program = report_id
i_structure_name

= 'SKB1'

is_layout

= i_layout

i_save

= 'A'

TABLES
t_outtab

= i_skb1

EXCEPTIONS
program_error

= 1

OTHERS

= 2.

IF sy-subrc <> 0. "IF para checar se a funo foi bem sucedida


MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*&---------------------------------------------------------------------*
*&

Form f1000_layout_init

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

text

*----------------------------------------------------------------------*
*

-->I_LAYOUT

text: Limpa a tabela interna de layout e

'seta' suas propriedades

*----------------------------------------------------------------------*
FORM f1000_layout_init USING i_layout TYPE slis_layout_alv.
CLEAR i_layout.
i_layout-colwidth_optimize = 'X'.
ENDFORM.

"f1000_layout_init

Você também pode gostar