0% acharam este documento útil (0 voto)
11 visualizações10 páginas

Module Pool Sap Bap 01

O documento descreve a estrutura e o processo de criação de um Module Pool no SAP ABAP, que permite desenvolver aplicações com interface gráfica interativa. Inclui etapas como a criação do programa, telas, módulos ABAP, e o fluxo básico de interação do usuário. Um exemplo prático é fornecido, demonstrando como consultar dados de clientes na tabela KNA1.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
11 visualizações10 páginas

Module Pool Sap Bap 01

O documento descreve a estrutura e o processo de criação de um Module Pool no SAP ABAP, que permite desenvolver aplicações com interface gráfica interativa. Inclui etapas como a criação do programa, telas, módulos ABAP, e o fluxo básico de interação do usuário. Um exemplo prático é fornecido, demonstrando como consultar dados de clientes na tabela KNA1.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

MODULE POOL – ESTRUTURA DE PROGRAMA - 1

O Module Pool no SAP ABAP é utilizado para desenvolver programas com telas
(Dynpros), ou seja, aplicações com interface gráfica interativa no SAP GUI.

Aqui vai um resumo objetivo de como ele é feito:

🔹 1. Criação do Programa

 Transação SE80 ou SE38

 Criar um programa do tipo Module Pool (M).

 O programa conterá principalmente módulos e telas (screens).

🔹 2. Criação da Tela (Screen / Dynpro)

 Dentro do programa, criar uma Screen (ex: 0100).

 Definir:

o Layout (campos, botões, labels)

o Elementos GUI

o Attributes (Next Screen, OK Code, etc.)

o Flow Logic

 3. Flow Logic da Tela

 A tela funciona com dois blocos principais:

 PROCESS BEFORE OUTPUT.

 MODULE status_0100.

 PROCESS AFTER INPUT.

 MODULE user_command_0100.

 🔹 PBO (Process Before Output)

 Executa antes da tela aparecer.

 Usado para:

 Definir status GUI


 Preencher campos

 Controlar visibilidade

 🔹 PAI (Process After Input)

 Executa após ação do usuário (Enter, botão, etc.)

 Processa comandos (OK_CODE)

 Valida dados

 🔹 4. Criação dos Módulos ABAP

 No programa principal:

 MODULE status_0100 OUTPUT.

 SET PF-STATUS 'STATUS_100'.

 ENDMODULE.

 MODULE user_command_0100 INPUT.

 CASE sy-ucomm.

 WHEN 'BACK'.

 LEAVE PROGRAM.

 ENDCASE.

 ENDMODULE.

 🔹 5. Status GUI (PF-STATUS)

 Criado no Menu Painter

 Define botões (Salvar, Voltar, Cancelar, etc.)

 Associado no PBO com SET PF-STATUS

 🔹 6. Fluxo Básico
 Programa é chamado

 Tela é exibida

 PBO executa

 Usuário interage

 PAI executa

 Pode chamar outra tela ou encerrar


🔹 6. Fluxo Básico

1. Programa é chamado

2. Tela é exibida

3. PBO executa

4. Usuário interage

5. PAI executa

6. Pode chamar outra tela ou encerrar

Vamos montar um Module Pool consultando a KNA1 (Cadastro de Clientes).

O exemplo :

 Digitar Código do Cliente (KUNNR)


 Clicar em Buscar

 Exibir Nome do Cliente (NAME1)

 Validar se cliente existe

📌 1️⃣ Criar Programa Module Pool

Nome: ZMP_KNA1

📌 2️⃣ Código Principal

PROGRAM zmp_kna1.

TABLES: kna1.

DATA: gv_kunnr TYPE kna1-kunnr,

gv_name1 TYPE kna1-name1,

ok_code TYPE sy-ucomm,

save_ok TYPE sy-ucomm.

📌 3️⃣ Criar Screen 0100

Atributos:

 Next Screen: 0

📌 4️⃣ Layout da Tela (Screen Painter)

Inserir:

 Campo entrada → GV_KUNNR

 Campo saída → GV_NAME1 (deixe como Output only)

 Botão → Function Code: BUSCAR

 Botão padrão → BACK


📌 5️⃣ Flow Logic da Screen 0100

PROCESS BEFORE OUTPUT.

MODULE status_0100.

PROCESS AFTER INPUT.

MODULE user_command_0100.

📌 6️⃣ Criar os Módulos

MODULE status_0100 OUTPUT.

SET PF-STATUS 'STATUS_100'.

ENDMODULE.

MODULE user_command_0100 INPUT.

save_ok = ok_code.

CLEAR ok_code.

CASE save_ok.

WHEN 'BUSCAR'.

IF gv_kunnr IS INITIAL.

MESSAGE 'Informe o código do cliente' TYPE 'E'.

ENDIF.

SELECT SINGLE name1

INTO gv_name1

FROM kna1
WHERE kunnr = gv_kunnr.

IF sy-subrc <> 0.

MESSAGE 'Cliente não encontrado' TYPE 'E'.

ENDIF.

WHEN 'BACK'.

LEAVE PROGRAM.

ENDCASE.

ENDMODULE.

📌 7️⃣ Criar PF-STATUS

Criar status STATUS_9000 com:

 Botão BUSCAR

 Botão BACK

📌 8️⃣ Chamada da Tela

No final do programa:

START-OF-SELECTION.

CALL SCREEN 9000.

🎯 Funcionamento

1. Usuário informa KUNNR

2. Clica em Buscar

3. Sistema executa:

4. SELECT SINGLE name1 FROM kna1


5. Se existir → mostra nome

6. Se não → mensagem de erro

🔎 Observação Importante

Se o sistema usar conversão de cliente (ALPHA), o ideal é aplicar:

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = gv_kunnr

IMPORTING

output = gv_kunnr.

Antes do SELECT, para garantir que o código fique no formato correto (ex:
0000001234).

Você também pode gostar