Beruflich Dokumente
Kultur Dokumente
REUSE_ALV_GRID_DISPLAY E LIST_DISPLAY...........................................................5
I_CALLBACK_PROGRAM............................................................................................5
I_CALLBACK_PF_STATUS_SET.................................................................................5
I_CALLBACK_USER_COMMAND............................................................................... 8
I_CALLBACK_TOP_OF_PAGE.................................................................................... 9
REUSE_ALV_COMMENTARY_WRITE......................................................................9
IT_LIST_COMMENTARY.................................................................................................................................... 9
i_LOGO............................................................................................................................................................... 9
I_CALLBACK_HTML_TOP_OF_PAGE E I_CALLBACK_HTML_END_OF_PAGE.....11
I_STRUCTURE_NAME...............................................................................................13
I_BACKGROUND_ID..................................................................................................13
I_GRID_TITLE............................................................................................................ 13
I_GRID_SETTINGS....................................................................................................13
IS_LAYOUT.................................................................................................................14
IT_FIELDCAT..............................................................................................................17
Posicionamento do Campo....................................................................................17
col_pos.............................................................................................................................................................. 17
Identificação............................................................................................................17
Fazer referência ao dicionário de dados..............................................................17
Moeda........................................................................................................................17
Quantidade................................................................................................................18
Opções de saída para campo................................................................................18
tech (Campo Técnico)....................................................................................................................................... 18
emphasize......................................................................................................................................................... 18
Formatação de Campos.........................................................................................19
Textos.......................................................................................................................20
seltext_l............................................................................................................................................................. 20
seltext_m........................................................................................................................................................... 20
seltext_s............................................................................................................................................................ 20
Ddictxt............................................................................................................................................................... 20
Parâmetros relevantes p/ programas que não fazem referência ao dicionário
de dados + adicionais.............................................................................................20
datatype (Tipo de dados)................................................................................................................................... 20
Lowercase(Letra minúscula)............................................................................................................................. 20
sp_group........................................................................................................................................................... 20
Input.................................................................................................................................................................. 20
Edit.................................................................................................................................................................... 21
Tech................................................................................................................................................................... 21
IT_EXCLUDING..........................................................................................................21
IT_SPECIAL_GROUPS..............................................................................................22
IT_SORT..................................................................................................................... 23
I_SAVE(VARIANTES)......................................................................................................24
IS_VARIANT(IMPORTANTÍSSIMO PARA INTERAÇÃO DO USUÁRIO).....................................24
INITIALIZATION........................................................................................................24
At Selection-Screen On Value-Request................................................................26
at selection-screen..................................................................................................27
IS_PRINT(PARÂMETROS DE IMPRESSÃO).......................................................................27
IT_EVENTS.................................................................................................................28
REUSE_ALV_HIERSEQ_LIST_DISPLAY......................................................................30
is_keyinfo......................................................................................................................30
Introdução
O objetivo deste material é passar para o consultor que o ALV não é um “bicho de sete
Cabeças e citar as principais dificuldades de um iniciante em ALV.
Existem 3 tipos possíveis de ALV que nós faremos neste curso: ALV GRID , ALV LIST e
ALV HIERARQUICO .
Porquê da utilização de um relatório ALV?
ALV é uma ferramenta flexível para disparar listas . Esta ferramenta fornece opções
standard para melhor interação do usuário com o relatório de forma default ou que
pode ser customizada pelo ABAP ou não.
REUSE_ALV_GRID_DISPLAY
REUSE_ALV_LIST_DISPLAY
REUSE_ALV_HIERSEQ_LIST_DISPLAY
I_CALLBACK_PF_STATUS_SET
Para este parâmetro devemos passar o nome da rotina form que define o SET PF-
STATUS requerido. Com isto não será usado o Default encontrado em programa
SAPLSLVC_FULLSCREEN com o status gui nome STANDARD_FULLSCREEN .
A rotina FORM deverá ser montada usando os seguintes parâmetros como no FORM
abaixo :
Endform.
Indico que quando quisermos fazer nosso próprio status GUI mas com algumas
funções do standard , copiar SAPLSLVC_FULLSCREEN com o status GUI nome
STANDARD_FULLSCREEN na transação se41.
A rt_extab conterá algumas das funções para execução do ALV STANDARD como
abaixo.
FCODE
&VGRID Visão SAP List Viewer
&AVE Gravar layout...
&ERW Administração dos
layouts(VARIANTES)
&OAD Selecionar layout...
&OLX Modificar layout...
&CRB
&CRE
&CRR
&CRL
&SUM Subtotais
&AUF Determinar lista expandida
de totais...
&ILD Eliminar filtro
&ILT Definir Filtro
&ALL Marcar tudo
&SAL Desmarcar Tudo
P-- Page Down
P- Desce um nível de
página
P++ Page UP
P+ Sobe um nível de página
&XINT
&REFRESH Renovar/atualizar
&DATA_SAVE Gravar
Outros Códigos de Função que não vem no Form mas vem se não usa-los devido ao
standard
&RNT_PREV Visualização de Impressão
&RNT Impressão
&CRBATCH Crystal Reports impressão em
background
&AQW Processamento de texto...
&XXL Planilha eletrônica...
%PC File local...
&XINT Arquivo ampliado do SAP Query
&CRTEMPL File Crystal Reports
&URL Arquivar URL em clipboard
&OUP Ordenação crescente
&ODN Ordenação decrescente
&UMC Total
&AVR Valor médio
&MIN Mínimo
&MAX Máximo
%SC Procurar
%SC+ Continuar pesquisa
&ABC Análise ABC
&CRDESIG Crystal Reports
&VEXCEL Visão Microsoft Excel
&VLOTUS Visão Lotus 1-2-3
&VCRYSTAL Visão Crystal Reports
&OPT Largura coluna ótima
&CFI Fixar até coluna
&CDF Suspender fixação de colunas
&ETA Detalhes
%SL Destinatário do e-mail
&ABC Análise ABC
&GRAPH Visão gráfico
&F15 Inserir Linhas
&F12 Cancelar
&F03 Voltar
&INFO Informação
Endform.
Para este parâmetro devemos passar o nome da rotina form que definirá o evento
USER-COMMAND requerido.
A sua uitilação é para os fins que o ALV standard não disponibiliza . Por exemplo se
criarmos um código de função a mais no set pf-status copiado do Standard , devemos
codificar esta função para que tenha alguma ação .
A rotina FORM deverá ser montada usando os seguintes parâmetros como no FORM
abaixo :
Passamos para este parâmetro o nome da rotina form que imprimirá informações de
cabeçalho .
REUSE_ALV_COMMENTARY_WRITE
IT_LIST_COMMENTARY
i_LOGO
FORM top_of_page.
DATA : s_top TYPE slis_t_listheader .
DATA: ls_line TYPE slis_listheader.
REFRESH : s_top .
CLEAR ls_line.
ls_line-typ = 'H'.
ls_line-info = 'Bem vindo ao treinamento'.
APPEND ls_line TO s_top.
CLEAR ls_line.
CLEAR ls_line.
ls_line-typ = 'S'.
ls_line-key = 'Aspen RJ'.
ls_line-info = 'Treinamento ALV'.
APPEND ls_line TO s_top.
CLEAR ls_line.
ls_line-typ = 'A'.
ls_line-info = 'Treinamento ALV'.
APPEND ls_line TO s_top.
ENDFORM.
I_CALLBACK_HTML_TOP_OF_PAGE e I_CALLBACK_HTML_END_OF_PAGE
Criar tabela
CALL METHOD CL_DD->add_table
EXPORTING
no_of_columns = 3 " Número de Colunas
border = '1' " ESPESSURA DA BORDA
width = '100%' " ÁREA TOP UTILIZADA
IMPORTING
table = l_table.
Adicionar Texto
CALL METHOD l_column->add_text
EXPORTING
text = 'Linha1'
sap_fontsize = cl_dd_area=>large
sap_emphasis = cl_dd_area=>strong.
CL_DD_AREA
SAP_FONTSIZE LARGE , MEDIUM OU SMALL
SAP_EMPHASIS EMPHASIS OU STRONG
Passamos o nome de uma estrutura ou tabela para este parâmetro , e ele define
automaticamente a estrutura de catálogo de campos(Field Catalog) para saída do
relatório . Um pré-requesito para esta funcionalidade é a necessidade de a tabela
interna de saída estar com INCLUDE STRUCTURE (Tabela ou estrutura) ou LIKE
tabela .
Todos os campos são setados para saída default (NO_OUT = SPACE) exceto
campos do tipo CLNT. O campo mandante por exemplo é deste tipo .
I_BACKGROUND_ID
I_GRID_TITLE
I_GRID_SETTINGS
De acordo com o que passamos para os campos desta estrutura , definimos a saída do
relatório como um todo .
Posicionamento do Campo
col_pos
Podemos desconsiderar a passagem de valor para este campo . Mas com isso ele
respeitará a ordem dos registros na tabela interna (IT_FIELDCAT) . Mas querendo
definir a ordem , podemos passar de 1 a 60 para o mesmo .
Identificação
Fieldname – Nome do campo da tabela interna de saída . Parâmetro obrigatório para
saída .
Importante passarmos o nome deste campo quando o campo na tabela interna não
estiver fazendo referência na sua declaração a um campo do dicionário ou se o nome
do campo não for o mesmo do campo que ele faz referência no dicionário .
Moeda
Currency - Moeda
Cfieldname - Campo com Unidade de Moeda
Ctabname - Tabela referência para Unidade Moeda
Quantidade
Podemos definir quantas colunas chaves quisermos para saída do relatório passando X
para este campo .
Passando X para este campo , ele não sairá na saída default do relatório. Aparecerá se
houver a mudança de layout(ícone alterar layout)
emphasize
'X' = Totais são calculados para este campo da tabela interna de saída .
Formatação de Campos
icon (Campo como Ícone)
Passamos X para este campo quando quisermos que o campo em questão seja exibido
como ícone .
Passamos X para este campo quando quisermos que o campo em questão seja exibido
como símbolo .
just (justificar)
Ver documentação da instrução WRITE com opção de formatação com USING EDIT
MASK máscara.
Textos
seltext_l
seltext_m
seltext_s
Ddictxt
Indicação de Qual descrição utilizar - (S)hort (M)iddle
(L)ong ou R
Trás do elemento de dados do fieldname da ref_tabname as denominações
breve(S),média(M) e longa(L)
Lowercase(Letra minúscula)
sp_group
Input
Tech
Passando X para este campo , o campo não será disponibilizado para exibição .
IT_EXCLUDING
Uma das principais funcionalidades é a boa interface que oferece para modificação e
criação de layouts para o usuário .
Campo Descrição
Sp_group Nome do grupo e é este campo que
passamos para FIELDCAT-SP_GROUP
text Descrição do Grupo
IT_SORT
Campo Funcionalidade
Spos Prioridade de ordenação
Fieldname Nome do campo natabela interna de
saída
Tabname Nome da tabela interna de saída
Up Ordenação crescente
Down Ordenação decrescente
Subtotal A cada quebra deste campo , um
subtotal
Expa Prerequisito : IT_SORT-SUBTOT = 'X'
Obligatory Obrigatoriedade de campo
Comp Uso interno
Group OBS.:Na tabela it_sort(que é passada
como parametro da função
REUSE_ALV_LIST_DISPLAY), coloque *
no campo group no registro que deseja
fazer a quebra de página. Para traçar um
uline invés da quebra de página
coloque UL no campo group.
I_DEFAULT
I_SAVE(Variantes)
Podemos definir a variant que queremos que exiba na primeira impressão do relatório
ALV usando o parâmetro abaixo.
Sabemos que é possível criar variantes que desejamos como default na configuração
preliminar . Para esta busca , devemos utilizar a função :
REUSE_ALV_VARIANT_DEFAULT_GET .
EX:
*&---------------------------------------------------------------------*
*& Form f_buscar_variante_default
*&---------------------------------------------------------------------*
FORM f_buscar_variante_default .
wa_variant-report = v_repid .
def_variant = wa_variant .
IF sy-subrc = 0.
p_vari = def_variant-variant.
ENDIF.
*&---------------------------------------------------------------------*
*& Form f_f4_variante
*&---------------------------------------------------------------------*
FORM f_f4_variante .
DATA : vl_cancel .
IF sy-subrc = 2.
MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
IF vl_cancel = space.
p_vari = def_variant-variant. " recebe variante escolhida
ENDIF.
ENDIF.
*&---------------------------------------------------------------------*
*& Form f_validar_variante
*&---------------------------------------------------------------------*
FORM f_validar_variante .
wa_variant-variant = p_vari .
IS_PRINT(Parâmetros de impressão)
Para buscar toda a lista de eventos possíveis para o ALV , utilizamos a função :
Ex:
*&--------------------------------------------------------------------*
*& Form top_of_list
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM top_of_list .
ENDFORM. "top_of_list
*&--------------------------------------------------------------------*
*& Form end_of_list
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM end_of_list .
ENDFORM. "top_of_list
REUSE_ALV_HIERSEQ_LIST_DISPLAY
Apenas falaremos de tópicos especiais , pois muitos dos já falados neste material ,
funcionam para o chamado ALV HIERÁRQUICO .
is_keyinfo
Estrutura que define a cardinalidade entre a tabela de cabeçalho e a tabela de item .
No máximo cinco ligações .