Академический Документы
Профессиональный Документы
Культура Документы
*--------------------------------------------------------------------*
* Objetos: (O_...)
*--------------------------------------------------------------------*
DATA:
* Referenciando o obejto 'O_ALV' com a classe de ALV.
o_alv
TYPE REF TO cl_gui_alv_grid,
* Referenciando o objeto 'O_CONTAINER' com a classe de Container customizado.
o_container TYPE REF TO cl_gui_docking_container.
2 Em seguida ns precisamos definir as caratersticas do ALV, como alinhamento de texto,
eventos. Para isso iremos configurar o Fieldcat.
Vamos declarar a seguinte tabela interna e work rea.
t_fieldcat
FORM f_add_fieldcat
USING
p_campo
p_alinhamento
p_icone
p_texto
TYPE
TYPE
TYPE
TYPE
lvc_s_fcat-ref_field
lvc_s_fcat-just
lvc_s_fcat-icon
lvc_s_fcat-coltext.
do fieldcat.
p_campo
.
p_campo
.
p_alinhamento.
p_icone
.
p_texto
.
c_tab
.
" ADD_FIELDCAT
Observe a declarao DATA wa_fcat TYPE lvc_s_fcat. A estrutura lvc_s_fcat possui os campos
com as caractersticas que utilizaremos para nosso ALV OO neste exemplo. Porm no existem
somente estes tipos.
Quando entramos na estrutura lvc_s_fcat
Podemos ver todos os tipos que podemos utilizar na passagem de parmetros do ALV.
A primeira coluna Campo indica o nome do campo que ser utilizado para referncia em
nosso ALV OO. Lembre-se que esta coluna dever conter os nomes dos campos em caixa alta
(maisculas).
Neste exemplo set pf-status nomeado como satatus_9000 e set titlebar como main, ambos em
maisculas.
5 - Agora precisamos instanciar o objeto do tipo Container.
PERFORM f_cria_container.
FORM f_cria_container .
IF o_container IS INITIAL.
CREATE OBJECT o_container
EXPORTING
side
= cl_gui_docking_container=>dock_at_top
repid
= sy-repid
dynnr
= sy-dynnr
extension = 1000
EXCEPTIONS
others
= 6.
ENDIF.
ENDFORM.
Como o nome do perform diz, aqui configuramos o layout. Deixando a clula proporcional ao
contedo e a saida zebrada.
FORM f_layout_alv .
"Define a estrutura do layout do ALV.
wa_layout-cwidth_opt = c_marc.
wa_layout-zebra
= c_marc.
ENDFORM.
*
ENDFORM.
A tabela de sada corresponde a tabela com o contedo que ser passado para o ALV.