Tudo sobre programação de relatórios ABAP

SAP-ABAP suporta 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 exibidas

Finalidade/Uso de Programas de Relatórios

  • Eles são usados ​​quando dados de diversas tabelas precisam ser selecionados e processados ​​antes de serem apresentados.
  • Usado quando os relatórios exigem um formato especial
  • Usado quando o relatório precisa ser baixado do SAP para uma planilha Excel para ser distribuída.
  • Usado quando o relatório precisa ser enviado para 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 Aplicação 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 Relatório .
  • Para suprimir o título da lista ou o nome do programa, a adição Nenhum título de página padrão é usado.
  • O tamanho da linha para um relatório específico pode ser definido usando a adição tamanho da linha .
  • A contagem de linhas para uma página específica pode ser definida usando a adição contagem de linhas 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: ID da mensagem . As classes de mensagens são mantidas no SE91.

Portanto, um programa de relatório ideal deve começar com:

Report <report name> no standard page heading

line-size <size>

line-count <n(n1)>

message-id <message class>.

Tela de Seleção

“Tela de seleção” é a tela onde se especificam 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 Técnicos
  2. Selecione as opções

Sintaxe

Selection-screen begin of screen <screen #>
selection-screen begin of block <#>  with frame title <text>
.........
.........
selection-screen end of block <#>
selection-screen end of screen <screen #>

Parâmetros Técnicos

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

Parameters p_id(30) type c.

Definir parâmetros como um campo de tabela.

Parameter p_id like <table name>-<field name>.

Os parâmetros podem ser caixas de seleção e também botões de opção.

Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>.
Parameters p_id2  radiobutton group <group name>.

Os parâmetros podem ser uma caixa de listagem.

Parameter p_id like <table name>-<field name> as listbox

Selecione as opções

Uma opção de seleção é usada para inserir um intervalo de valores ou um conjunto de valores em um programa

Sintaxe

select-options s_vbeln for vbak-vbeln.

Tela de Seleção

Você também pode definir uma opção de seleção como uma variável

select-options s_vbeln for vbak-vbeln no intervals no-extension

Eventos em um programa de relatórios ABAP

Os programas de relatórios ABAP são programas orientados a eventos. Os diferentes eventos em um programa de relatório são:

Carregamento do programa

  • 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 como construtor possui para classes em Objetos ABAP

Inicialização.

  • Este evento é executado antes da exibição da tela de seleção.
  • Inicialização de todos os valores.
  • É possível atribuir valores diferentes dos valores propostos 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 for processada (no final do PAI).
  • Validação e verificações dos valores inseridos acontecem aqui

Início da seleção.

  • Aqui o programa começa a selecionar valores das tabelas.

Fim da seleção.

  • Após todos os dados terem sido 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” devem aparecer em cores diferentes e a linha “Totais” deve aparecer em Amarelo.

Sintaxe

Format Color n

Format Color n Intensified On

n pode corresponder a vários números

Observe que também existem outras adições junto com o formato

FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF

Programação de relatórios interativos

  • 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 a partir de uma lista muito básica
  • Os dados detalhados são escritos em uma lista secundária.
  • A lista secundária pode se sobrepor completamente à primeira tela ou pode exibi-la em uma nova tela
  • As listas secundárias podem ser interativas.
  • A primeira lista também pode chamar uma transação.
  • Existem diferentes eventos associados à programação interativa.

Alguns comandos usados ​​para programação interativa

hotspot

Se arrastarmos o mouse sobre os dados exibidos no relatório, o cursor mudará para uma mão com o dedo indicador estendido. Um hotspot pode ser alcançado usando a instrução FORMAT.

Syntax:      Format Hotspot On (Off).

Esconder

Este comando ajuda você a armazenar os nomes dos campos com base em qual deles será processado posteriormente para obter uma lista detalhada. É escrito diretamente após a instrução WRITE para um campo. Quando uma linha é selecionada, os valores são preenchidos automaticamente nas variáveis ​​para uso posterior.

Syntax:     Hide <field-name>.

Bancos de Dados Lógicos

  • Em vez de usar consultas “Select”, você pode usar um banco de dados lógico para recuperar dados de um programa.
  • Bancos de dados lógicos são criados por transação SE36
  • O nome de um banco de dados lógico pode ter até 20 caracteres. Pode começar com um prefixo de namespace.
  • Os dados são selecionados por outro programa e pode-se acessá-los usando GET comando que coloca os dados na área de trabalho .

Vantagens de um banco de dados lógico em relação às consultas Select normais.

  1. Oferece condições de verificação para ver se a entrada está correta, completa e plausível
  2. Ele contém verificações centrais de autorização para acesso ao banco de dados
  3. Aprimoramentos como melhoria no desempenho aplicam-se imediatamente a todos os relatórios que usam banco de dados lógico.

Nota: Devido às complexidades envolvidas, bancos de dados lógicos não são utilizados na maioria dos casos