ALV Simples – Usando a classe CL_SALV_TABLE

Problema

Implementar um relatório ALV, para mostrar todos os dados e todos os campos da tabela SFLIGHT.

Solução

Passo 1: Criar um programa executável, sem TOP include, ZSALV_ALV_SIMPLE.

Passo 2: Criar as referências para os objetos do grid:

DATA: r_table     TYPE REF TO cl_salv_table,
r_functions TYPE REF TO cl_salv_functions.

Passo 3: Criar uma tabela interna sem header line e fazer a seleção de todos os dados da tablea SFLIGHT.

DATA: it_sflight TYPE TABLE OF sflight.

START-OF-SELECTION.

SELECT * FROM sflight INTO TABLE it_sflight.

Passo 4: Criar a referência com o método FACTORY para o objeto ALV:

CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = r_table
CHANGING
t_table = it_sflight.

Passo 5: Chamar o método DISPLAY para mostrar os grid:

CALL METHOD r_table->display.

Agora você pode ativar o seu programa e testar.

Execução e Teste

Para executar e testar o programa, apenas pressione F8 ou :

Discussão

Na versão Netweaver 04, a SAP introduziu a família de classes CL_SALV*, que basicamente encapsula as operações que fizemos no post ALV Simples – Usando a Técnica “Pura”. Podemos dizer que essa família de classes veio para substituir as técnicas baseadas nas Function Modules da família REUSE*.

Esse exemplo que usei é muito simples. Apenas criei a referência do grida (classe CL_SALV_TABLE) e chamei o método DISPLAY para mostrar o grid. Hoje, é a maneira mais fácil de se criar um ALV Grid.

Veja Também

ALV Output Display
Introdução ao ALV – Série Especial

You may also like...

2 Responses

  1. simon says:

    Nice post about…..ALV grid .will help many surfers looking for information. http://www.learnabapprogramming.com

  2. Eduardo says:

    Mas como faz pra mostrar os menus da alv? o set-status??