SAP-ABAP oferece suporte a dois tipos de programas - programas de relatório e programas de diálogo. Programas de relatório são usados quando grandes quantidades de dados precisam ser exibidos
Neste tutorial, você aprenderá:
- Tela de Seleção
- Eventos em um programa de relatório ABAP
- Formatando o relatório
- Programação de relatório interativo
- Bancos de dados lógicos
Objetivo / Uso de Programas de Relatório
- Eles são usados quando os dados de uma série de tabelas precisam ser selecionados e processados antes da apresentação
- Usado quando os relatórios exigem um formato especial
- Usado quando o relatório precisa ser baixado do SAP para uma planilha Excel a ser distribuída.
- Usado quando o relatório precisa ser enviado a uma pessoa específica.
Pontos importantes a serem observados sobre o programa de relatórios
- Os programas de relatório são sempre programas executáveis. O tipo de programa é sempre 1.
- Cada programa de relatório corresponde a um tipo de aplicação específico, ou seja, com Vendas e distribuição, FI-CO etc. Também pode ser cruzada, ou seja, tipo '*'.
- A programação de relatórios é uma programação orientada a eventos.
- A primeira linha de um programa de relatório é sempre Report
. - Para suprimir o título da lista ou o nome do programa, a adição No Standard Page Heading é usada.
- O tamanho da linha para um relatório específico pode ser definido usando a adição line-size
. - A contagem de linha para uma página específica pode ser definida usando a contagem de linha de adição n (n1) . N é o número de linhas da página e N1 é o número de linhas reservadas para o rodapé da página.
- Para exibir qualquer informação ou mensagem de erro, adicionamos uma classe de mensagem ao programa usando a adição: Message-id
. As classes de mensagens são mantidas no SE91.
Relatóriosem cabeçalho de página padrãotamanho da linha contagem de linha id da mensagem .
Tela de Seleção
"Tela de seleção" é a tela onde se especifica os valores de entrada para os quais o programa deve ser executado.
A tela de seleção é normalmente gerada a partir do
- Parâmetros
- Selecione as opções
Sintaxe
A tela de seleção começa na telatela de seleção início do bloco <#> com título do quadro …… tela de seleção final do bloco <#>tela de seleção final da tela
Parâmetros Os
parâmetros ajudam a fazer a seleção dinâmica. Eles podem acomodar apenas um valor para um ciclo de execução do programa.
Sintaxe
Definindo parâmetros como um tipo de dados
Parâmetros p_id (30) digite c.
Definindo parâmetros como um campo de tabela.
Parâmetro p_id como- .
Os parâmetros podem ser caixas de seleção, bem como botões de rádio.
Parâmetros p_id como caixa de seleção.Parameters p_id1 radiobutton group.Parâmetros p_id2 radiobutton group .
Os parâmetros podem ser caixa de listagem.
Parâmetro p_id como- como caixa de listagem
Opções de seleção
Uma opção de seleção é usada para inserir uma faixa de valores ou um conjunto de valores para a
sintaxe de um programa
select-options s_vbeln para vbak-vbeln.
Você também pode definir uma opção de seleção como uma variável
select-options s_vbeln para vbak-vbeln sem intervalos sem extensão
Eventos em um programa de relatório ABAP
Os programas de relatório ABAP são programas orientados a eventos . Os diferentes eventos em um programa de relatório são:
Load-of-program
- Aciona o evento associado em uma sessão interna após carregar um programa do tipo 1, M, F ou S.
- Também executa o bloco de processamento associado uma vez e apenas uma vez para cada programa e sessão interna.
- O bloco de processamento LOAD-OF-PROGRAM tem aproximadamente a mesma função para um programa ABAP do tipo 1, M, F ou S que um construtor tem para classes em Objetos ABAP
Inicialização.
- Este evento é executado antes que a tela de seleção seja exibida.
- Inicialização de todos os valores.
- Você pode atribuir valores diferentes, além dos valores predefinidos na tela de seleção.
- Você pode preencher sua tela de seleção com alguns valores em tempo de execução.
Na tela de seleção.
- O evento é processado quando a tela de seleção é processada (no final do PAI).
- A validação e as verificações dos valores inseridos acontecem aqui
Início da seleção.
- Aqui, o programa começa a selecionar os valores das tabelas.
Fim da seleção.
- Depois que todos os dados foram selecionados, este evento grava os dados na tela.
Eventos Interativos
- Usado para relatórios interativos. É usado para criar uma lista detalhada a partir de uma lista básica.
Formatando o relatório
ABAP permite que os relatórios sejam formatados como o usuário deseja. Por exemplo, "Linhas alternativas" deve aparecer em cores diferentes e a linha "Totais" deve aparecer em amarelo.
Sintaxe
Cor do formato nFormato de cor n intensificado em
n pode corresponder a vários números
Por favor, note que existem outras adições junto com o formato também
FORMATAR COR OFF INTENSIFICADO OFF INVERSE OFF HOTSPOT OFF INPUT OFF
Programação de relatório interativo
- Usando a programação interativa, os usuários podem controlar ativamente a recuperação e exibição de dados
- Usado para criar uma lista detalhada de uma lista muito básica
- Os dados detalhados são gravados em uma lista secundária.
- A lista secundária pode se sobrepor completamente à primeira tela ou pode ser exibida em uma nova tela
- The secondary lists can be themselves interactive.
- The first list may also call a transaction.
- There are different events associated with interactive programming.
Some commands used for interactive programming
HotspotIf one drags the mouse over the data displayed in the report the cursor changes to a Hand with an Outstretched Index finger. An hotspot can be achieved using the FORMAT statement.
Syntax: Format Hotspot On (Off).
HideThis command helps you to store the field names based on which one will be doing further processing to get a detailed list. It is written directly after the WRITE statement for a field. When a row is selected the values get automatically filled in the variables for further use.
Syntax: Hide.
Logical Databases
- Instead of using "Select" queries you can use logical database to retrieve data for a program.
- Logical databases are created by transaction SE36
- The name of a logical database can be up to 20 characters long. It may begin with a namespace prefix.
- The data is selected by another program and one can access the data using GET
command which places the data in the work area .
Advantages of a logical database over normal Select queries.
- It offers check conditions to see whether the input is correct, complete and plausible
- It contains central authorization checks for database access
- Enhancements such as improvement in performance immediately apply to all reports which use logical database.
Note: Due to the complexities involved, logical databases are not used in most of the cases