Escolar Documentos
Profissional Documentos
Cultura Documentos
Ver. 1.1.1107
agosto de 12
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
O que ?
O ALV um tipo de relatrio que padroniza e simplifica a exibio e operao de listas no SAP. Permite que criemos relatrios sem termos que nos preocupar muito com a impresso desse relatrio na tela. O ALV atravs de suas funes e estruturas torna o desenvolvimento mais simples na medida que economiza significativas linhas de cdigo, como por exemplo, no tratamento de quebras, totais, subtotais, cores e outras vantagens que veremos a seguir. O Relatrio ALV chamado por um Mdulo de Funo.
agosto de 12
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
ALV List
Lista bsica comum
ALV Hierrquico
Lista com dados de cabealho e itens
ALV Grid
Lista onde pode-se trabalhar com algumas partes grficas. Formato mais elaborado de tela, onde possvel colocar logo, fundo de cabealho, etc.
agosto de 12
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
ALV List
agosto de 12
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
ALV Hierrquico
agosto de 12
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
ALV Grid
agosto de 12
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Grupo de Tipos
necessrio a declarao do grupo de tipos SLIS onde se encontram os tipos fundamentais para a sada de um relatrio ALV.
Ex: type-pools: slis.
Variantes de Exibio
Mais a frente, veremos que o usurio poder escolher as colunas que ele deseja exibir em seu relatrio e com isso salv-los (na prpria tela do relatrio) com um nome desejado. Chamamos de variantes de exibio em ALV esses layouts (colunas desejadas) que o usurio poder salvar no relatrio
agosto de 12
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 2
Passo 3
Para o evento INITIALIZATION faremos a chamada de uma funo que nos retornar a variante default do relatrio. Mas para isso precisaremos declarar algumas estruturas do tipo disvariant (Variant.exibio) e variveis no seguinte padro: variant_exit(1)type c, v_variante TYPE disvariant e def_variante TYPE disvariant.
Exemplo
clear gs_variante.
gc_repid = sy-repid. gs_variante-report = gc_repid.
agosto de 12
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 3 (cont.)
* Buscar variante default gs_def_variante = gs_variante. A funo a seguir retornar a variante que foi salva como default na exibio do relatrio ALV. Lembrando que quando executamos o relatrio pela primeira vez , no existe variante default. Veremos depois que gerarmos nosso primeiro ALV, que quando salvarmos uma variante de exibio existir um flag chamado CONFIGURAO PRELIMINAR, que sendo marcado quando salvamos estamos definindo conseqentemente esta variante como default do relatrio.
call function 'REUSE_ALV_VARIANT_DEFAULT_GET' exporting i_save = A changing cs_variant = gs_def_variante exceptions wrong_input = 1 not_found = 2 program_error = 3 others = 4. if sy-subrc = 0. pc_vari = gs_def_variante-variant. endif.
agosto de 12
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 4
Report com as Variantes Salvas Tabela interna saida Tabela de formatao Dispara POPUP em ALV
agosto de 12
10
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 5
Sabendo que existe a possibilidade do usurio entrar com uma variante de exibio no existente, usaremos em todos os nossos relatrios ALV uma funo que checar se a mesma existe. No evento at selection-screen faremos esta verificao:
if not p_vari is initial. gs_def_variante = gs_variante. Nome do report def_variante-variant = pc_vari. O que foi digitado call function 'REUSE_ALV_VARIANT_EXISTENCE' exporting i_save = A changing cs_variant = gs_def_variante. gs_variante = gs_def_variante. else. clear gs_variante. gs_variante-report = gc_repid. endif.
agosto de 12
11
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 6
Passo 7
agosto de 12
12
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
Passo 8
Preencher a estrutura de Layout com os parmetros solicitados. Abaixo uma lista dos mais utilizados:
gs_layout-box_fieldname = 'BOX'. Campo checkbox p/tab_saida
gs_layout-get_selinfos
gs_layout-detail_popup
= 'X'.
= 'X'.
agosto de 12
13
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 9
agosto de 12
14
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 10
Campo
sp_group text
Descrio
Cd. do grupo que ser utilizado na fieldcat Descrio dos grupos
agosto de 12
15
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 10 (cont.)
agosto de 12
16
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 11
Parmetros de Ordenao.
Declarar uma estrutura do tipo slis_t_sortinfo_alv.
gs_sort type slis_t_sortinfo_alv with header line.
Passo 12
agosto de 12
17
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 13
Passo 14
agosto de 12
18
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Definir o Cabealho
Declarar a estrutura do tipo slis_t_listheader.
gs_top type slis_t_listheader.
Passo 16
Dados do Cabealho
Criar uma chamada de perform da seguinte forma:
PERFORM zf_top USING gs_top.
agosto de 12
19
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 16 (cont.)
Codificao do Form
form zf_top using pu_s_top type slis_t_listheader. data: ls_line type slis_listheader.
clear ls_line. ls_line-typ = 'H'. ls_line-info = 'Treinamento ALV'. append ls_line to pu_s_top.
clear ls_line. ls_line-typ = 'S'. ls_line-key = 'Aspen RS'. ls_line-info = 'Treinamento ALV'. append ls_line to pu_s_top. clear ls_line. ls_line-typ = 'A'. ls_line-key = Sonda Procwork'. ls_line-info = 'Treinamento ALV'. append ls_line to pu_s_top. endform.
agosto de 12
20
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 17
form top_of_page
O nome deste form ser passado para a funo de impresso do ALV.
call function 'REUSE_ALV_COMMENTARY_WRITE' exporting it_list_commentary = gs_top
i_logo
= 'figura'.
agosto de 12
21
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
ALV GRID
agosto de 12
22
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
necessrio definir as ligaes entre as tabelas de cabealho e de itens para fazer as quebras no momento da visualizao.
Passo 18
Passo 19
gs_keyinfo-header01 = 'Campo_tabela_header'. gs_keyinfo-item01 = Campo da tabela de item'.
agosto de 12
23
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 20
Parmetros de Impresso.
Declarar a estrutura do tipo slis_print_alv Exemplo:
data: gs_print type slis_print_alv. gs_print-no_print_selinfos = 'N'.
prnt_info
print Prnt_title no_coverpage no_new_page reserve_lines no_print_listinfos
Informaes de Impresso
Linhas reservadas para o final da pgina No imprimir pgina com nmero de registros selecionados
no_change_print_params
no_print_selinfos
24
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 21
Tabela de Sada.
Devemos popular nossa tabela de sada com todos os dados que mostraremos na tela.
Passo 22
Chamar o Relatrio
Como existem trs tipos de relatrios, teremos trs funes diferentes.
Observao
Enquanto no criamos os forms set_pf_status e user_command, deixaremos comentados os seguintes itens nas funes:
i_callback_pf_status_set
i_callback_user_command
agosto de 12
25
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
agosto de 12
26
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
agosto de 12
27
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
28
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
User-Command e PF-Status
Com o ALV gerado, reparamos em sua barra de botes que ele trs botes default pelas funes de sada, mas haver a necessidade em algumas vezes de criaes de novos botes para o usurio como exemplo abaixo.
agosto de 12
29
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 23
PF-STATUS
Criao de um form como no modelo abaixo:
form set_pf_status using pu_extab type slis_t_extab. set pf-status 'NOME' excluding pu_extab. endform.
Para criao do pf-status, ns iremos repetir alguns botes que vinham atravs das funes. Para que esses botes continuem no precisando de tratamento necessrio que se saiba o nome da funo standard de cada boto.
agosto de 12
30
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 24
Variveis de Controle
Declarao de uma estrutura do tipo slis_selfield para o Drill Down e uma varivel do tipo syucomm.
Exemplo
ls_selfield type slis_selfield. lc_ucomm like sy-ucomm.
Nome da tabela interna de sada do ALV ndice do clique na tabela interna de sada Tabela-interna-campo do clique Valor da clula do clique
REFRESH
FIELDNAME
Reexecuta o ALV
Campo do clique(coluna)
agosto de 12
31
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
Passo 25
Tratamento
Devemos criar um form para tratamento do user-command e do drill-down. Exemplo: perform user_command using lc_ucomm ls_selfield.
agosto de 12
32
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
ALV
agosto de 12
33
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
Exerccio
Criar um Relatrio ALV LIST utilizando as tabelas EKKO e EKPO. Buscar os seguintes campos:
EKKO > EBELN, BEDAT, LIFNR EKPO > EBELP, MATNR, MENGE, NETPR, LOEKZ
Mostrar todos os campos na tela. Utilizar um cone para identificar o LOEKZ Ordenar pelos campos EBELN, EBELP
agosto de 12
34
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
Exerccio
Criar um Relatrio ALV Hierrquico utilizando as tabelas VBAK e VBAP. Buscar os seguintes campos:
VBAK > VBELN, AUDAT, NETWR, WAERK VBAP > POSNR, MATNR, MATKL, ARKTX, NETWR
Mostrar todos os campos na tela. Ordenar pelos campos VBELN, POSNR Observao: No esquecer de relacionar as tabelas para visualizao no relatrio.
agosto de 12
35
Argentina Brasil Chile Colmbia Costa Rica Equador Mxico Peru Uruguai
Exerccio
agosto de 12
36