Tudo sobre programação de relatórios ABAP

Índice:

Anonim

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.
Portanto, um programa de relatório ideal deve começar com:
Relatório  sem 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

  1. Parâmetros
  2. Selecione as opções

Sintaxe

A tela de seleção começa na tela tela 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.

  1. It offers check conditions to see whether the input is correct, complete and plausible
  2. It contains central authorization checks for database access
  3. 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