Tutorial de programação de diálogo: pool de módulos em SAP ABAP
SAP-ABAP suporta dois tipos de programas – Programa de Relatório e Programa de Diálogo.
Se o seu programa ABAP exigir entrada do usuário, a programação em diálogo será usada.
Neste tutorial você vai aprender:
- Diferença entre programas de relatório e diálogo
- Exemplo de processamento de transação na programação de diálogo
- Componentes do Programa de Diálogo
Uma caixa de diálogo do usuário é qualquer forma de interação entre o usuário e o programa e pode ser qualquer uma das seguintes
- Inserindo dados
- Escolhendo um item de menu
- Clicando em um botão
- Clicar ou clicar duas vezes em uma entrada
O programa de diálogo também é usado quando precisamos navegar entre as telas
Os programas de diálogo são criados com o tipo 'M' – Module Pool. Eles não podem ser executados de forma independente e devem estar anexados a pelo menos um código de transação no qual você especifica uma tela inicial.
Diferença entre programas de relatório e diálogo
Programa de relatórios:
Um relatório é um programa que normalmente lê e analisa dados em tabelas de banco de dados sem alterar o banco de dados.
Programa de diálogo:
Um programa de diálogo permite trabalhar interativamente com o sistema e alterar o conteúdo das tabelas do banco de dados. Cada programa de diálogo possui uma determinada sequência de telas que são processadas pelo sistema uma após a outra.
Um exemplo de processamento de transação na programação de diálogo
Componentes do Programa de Diálogo
Diferentemente dos que geralmente envolve a criação de um programa autônomo que pode ser executado independentemente de outros objetos, o desenvolvimento de programas de diálogo envolve o desenvolvimento de vários objetos, nenhum dos quais pode ser executado por si só. Em vez disso, todos os objetos são vinculados hierarquicamente ao programa principal e são executados em uma sequência ditada pelo Dialog Main Program..
Os componentes de um programa de diálogo são:
Código de transação
- O código da transação inicia uma sequência de telas.
- Você cria códigos de transação no Navegador de Repositório no ABAP Workbench ou usando a Transação SE93.
- Um código de transação está vinculado a um programa ABAP e a uma tela inicial.
- Você pode iniciar uma sequência de telas a partir de qualquer programa ABAP usando a instrução CALL SCREEN.
Peneiras
- Cada diálogo em um SAP o sistema é controlado por uma ou mais telas.
- Você cria telas usando o Screen Painter no ABAP Workbench através da transação SE51
- Cada tela pertence a um Programa ABAP.
- Estas telas consistem em uma “máscara de tela” ou “layout” e sua lógica de fluxo. A tela possui um layout que determina as posições dos campos de entrada/saída e outros elementos gráficos como caixas de seleção e botões de opção. Uma lógica de fluxo determina o processamento lógico na tela.
Status da GUI
- Cada tela possui status de GUI que são componentes independentes de um programa.
- Controla as barras de menu, barra de ferramentas padrão, barra de ferramentas da aplicação, com as quais o usuário pode escolher funções na aplicação.
- Você os cria no ABAP Workbench usando o Menu Painter.
Programa ABAP
- Cada status de tela e GUI no sistema R/3 pertence a um programa ABAP.
- O programa ABAP contém os módulos de diálogo que são chamados pela lógica de fluxo de tela e também processam a entrada do usuário a partir do status da GUI.
- Os programas ABAP que usam telas também são conhecidos como programas de diálogo.
- Em um pool de módulos (programa tipo M); o primeiro bloco de processamento a ser chamado é sempre um módulo de diálogo. Entretanto, você também pode usar telas em outros programas ABAP, como programas executáveis ou módulos de função. O primeiro bloco de processamento recebe então um nome diferente; por exemplo, pelo ambiente de tempo de execução ou por uma chamada de procedimento. A sequência de telas é então iniciada usando a instrução CALL SCREEN.
Lógica de fluxo de tela
A lógica do Screen Flow é dividida principalmente em quatro componentes.
- Processar antes da saída (PBO) evento: que é processado antes da tela ser exibida
- Processo após entrada (PAI) evento: que é processado após uma ação do usuário na tela
- Processar solicitação de ajuda (P.O.H.): que é processado quando F1 é pressionado
- Processar na solicitação de valor (POV):que é processado quando F4 é pressionado
Dynpro
- Uma tela junto com sua lógica de fluxo é chamada de Dynpro (“Programa Dinâmico”, pois a lógica de fluxo da tela influencia o fluxo do programa)
- Cada dynpro controla exatamente uma etapa do seu Programa de Diálogo.
- As telas pertencentes a um programa são numerada. A sequência de fluxo da tela pode ser linear ou cíclica. De dentro de uma cadeia de telas, você pode até chamar outra cadeia de telas e, após processá-la, retornar à cadeia original. Você também pode substituir a próxima tela definida estaticamente nos módulos de diálogo do programa ABAP.
Conjunto de módulos ABAP
- Em um evento PBO ou PAI, um Dynpro chama um programa de diálogo ABAP. A coleção de tais programas é chamada de pool de módulos ABAP.
- Por exemplo, módulos chamados no evento PAI são usados para verificar a entrada do usuário e para acionar etapas de diálogo apropriadas, como a tarefa de atualização.
- Todos os dynpros serão chamados de dentro um transação referem-se a um conjunto de módulos comum.
Estrutura de um programa de diálogo
Fluxo de processo para um programa de diálogo