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:

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

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

Um exemplo de processamento de transação

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

Estrutura de um programa de diálogo

Fluxo de processo para um programa de diálogo

Fluxo de processo para um programa de diálogo