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
- Parâmetros Técnicos
- 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.
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.
- Oferece condições de verificação para ver se a entrada está correta, completa e plausível
- Ele contém verificações centrais de autorização para acesso ao banco de dados
- 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