Você está na página 1de 25

SAP R/3

MDULO ABAP
MODULE POOL

Treinamento

Tcnicas Bsicas de Programao de Dilogo


Componentes Bsicos de um Dilogo

Transao do Object Bowser.

Para a programao de Dilogos, voc pode usar o Screen Painter e o Menu Painter, ou
simplesmente usar a transao ( SE80 ), onde voc encontrar o Object Browser.

A lgica da programao de Dilogos continua sendo feita em ABAP/4 normalmente, apenas


a criao das telas que muda. Inclusive as estruturas encontradas no Dicionrio ABAP/4
podem ser usadas neste tipo de programao.

O Processador dos Dilogos controla a lgica de seu programa, gerando a intermediao


entre a tela e o programa em ABAP/4

Treinamento

Screen Painter

Para criar uma tela, siga os seguintes passos :


-

Defina as caractersticas bsicas da tela ( Atributos da Tela )

Desenvolva o layout da tela ( Use o Editor de Telas )

Defina os atributos dos campos ( Lista de Campos )

Construa a Lgica das Telas

Componentes principais do Programa ABAP/4


-

Variveis ou Estruturas Globais, geralmente colocados no TOP Include

Mdulo PBO ( Process Before Output ) -> Antes da tela aparecer

Mdulo PAI ( Process After Input )

Subrotinas ( Se necessrio )

-> Aps Interveno do Usurio

Abap/4 Module Pool


3

Treinamento

A lgica das telas se divide em duas partes:


-

PBO que executado antes do aparecimento da tela

PAI que executado aps a interveno do usurio

Nesta rotina, o controle do programa passa do Processador de Dilogos para o Processador


ABAP/4 e vice-versa.

Existe uma rea de trabalho nas telas onde por exemplo, aps o processamento de todos os
mdulos PBO, o contedo das variveis so copiados para esta outra rea de trabalho com os
nomes idnticos. Isto ocorre tambm antes dos mdulos PAI serem processados.

Ao criar um programa, pode-se utilizar um include para guardar os dados globais


necessrios. Para isso o sistema oferece a criao automtica deste include que ter
geralmente as ltimas cinco letras, seguidas por TOP. Ex: SAPMTALA -> MTALATOP

Layout da Tela
4

Treinamento

Para a criao e desenvolvimento da tela, pode-se usar tanto o editor mas simples como o
editor grfico, cujo contm vrias funes bem mais fceis de se trabalhar.

Para a eliminao dos elementos das telas, basta clicar duas vezes com o mouse e escolher
DELETE.

Para mover os elementos da tela, use o cursor para indicar o novo controle.

Caractersticas de Campos
-

Como pode-se ver nas figuras, existem seis diferentes vises para se editar caractersticas de

Treinamento
um campo.
-

NO caso dos campos de tela, voc deve usar os cdigos externos de um dicionrio para definilos como CHAR, NUMC, INT4 e no type C, type P ou type N. Porm no caso de o campo
indicado na tela estar criado no Dicionrio ABAP/4, as caractersticas so automaticamente
assumidas, caso contrrio deve ser posto manualmente..

Treinamento

Definindo e Processando um Mdulo


-

Os mdulos criados dentro do PBO, possuem a adio de OUTPUT, enquanto os mdulos


criados durante o PAI, possuem a adio INPUT.

Ao utilizar na lgica das tela dentro do mdulos as variveis, estas devem estar com
exatamente os mesmo nome para que haja a comunicao entre os processamentos do
Dilogo e do ABAP/4.

Treinamento

Definindo Transaes

Para inicializar um programa de dilogo, deve-se usar as transaes.

As transaes podem ser criadas de vrias formas, neste caso como transao de Dilogos,
onde ser especificado o nome da transao.

Treinamento

Checagem de Campos Automtica


-

Quando um usurio estiver utilizando uma tela, mesmo sendo transparente para ele, o
sistema estar realizando um grande quantidade de checagens automticas.

Neste caso temos trs tipos de checagens automticas como por exemplo:
-

Campos Obrigatrios, Tipo de Formato e o uso de chave estrangeira.

No caso de Campo Obrigatrio, este ser acionado apenas se o programador tiver estipulado
tal caracterstica ao campo e no caso de Chave estrangeira, isto ocorrer apenas quando o
campo tiver sido criado como tal no Dicionrio de Dados

Checagens Determinadas pelo Programador


-

Se voc quiser checar os dados inseridos pelo usurio e realizar algumas consistncias, voc
deve usar o comando FIELD primeiramente para usar o comando MODULE, pois somente
assim voc estar habilitando o campo novamente para insero de dados no caso de erro.

Aps feito isso, deve-se bolar a lgica e usar-se dos tipos de mensagens existentes como (E) de
erro, (W) de aviso e (A) de abortagem.

Treinamento

Resumo do Menu Painter


-

O Menu Painter permite a voc definir as funes que sero usadas na sua tela, alm do
status e assim designa-las uma Barra de Menus, Barra de Botes Standard e Barra de
Botes customizadas.

Em geral voc define uma Barra de Menu para cada aplicativo e o designa a Ter um Status.
Em cada Status voc consegue definir quais funes sero ativadas ou desativadas.

10

Treinamento

Definindo Interface GUI

As barras de Menu podem Ter at oito menus incluindo os dois menus que so do sistema,
sendo assim voc pode definir at seis menus.

Um menu pode Ter at 15 entradas, que seriam as funes e suas respectivas descries, alm
dos sub-menus e linhas de separao.

Voc deve especificar quais funes que esto ativas nos na barra de menu.

Na barra de Botes Standard, voc apenas deve colocar uma funo para ativ-los.

Na barra de botes customizados, voc deve primeiramente criar os botes e ento coloc-los
na barra.

Esta funes podem conter o nome que voc desejar.

11

Treinamento

Lendo Cdigos de Funes


-

Para cada boto designado um cdigo de funo, sendo assim quando um usurio pressiona
um desses botes, este cdigo disparado junto do evento PAI.

O cdigo da funo pressionada estar preenchido no campo que voc definir como formato
OK e este deve ser do tipo CHAR de tamanho 4. Este campo conhecido como o Campo de
OKCODE, usado no Batch Input.

recomendado usar um Backup para este campo, para evitar que este receba algum valor ao
mudar de telas.

Alm deste campo, pode se ler o valor da funo pressionada atravs do campo SY-UCOMM
que pertence a tabela do sistema chamada SYST.

12

Treinamento

Definindo Elementos Grficos

Para Campos de Checkbox e Radiobuttons voc deve definir uma campo de um byte de
tamanho do tipo input/output e um campo de texto.

No caso de se querer uma caixa de dilogo, voc deve especificar um Ttulo para a caixa
primeiramente. Ento posicionar o cursor sobre o ttulo e clicar em Elemento Grfico para
mudar para o modo de seleo de caractersticas grficas.

No caso de subtelas, selecione uma posio na tela que ser o canto superior esquerdo e
pressione o boto de Subtela. O modo de seleo mudar para que voc possa o tamanho da
sua subtela. Porm antes voc dever especificar o nome desta subtela.

13

Treinamento

Definindo Elementos Grficos 2a. Parte

No caso de Radiobuttons, voc deve a partir do posicionamento do cursor no boto e


pressionando a tecla de Elemento Grfico, definir um Grupo Grfico para que estes botes
escolhidos para este grupo lhe permitam apenas uma escolha por vez.

No caso de Subtelas, voc define tambm atravs deste boto de elemento grfico o fim da
rea da subtela.

14

Treinamento

Definindo cones

No momento em que voc est criando o campo, voc tem a opo de associar ao elemento
grfico um cone que o SAP tenha.

O tamanho deste campo para receber um cone deve Ter no mnimo 6 bytes de tamanho que
seria no caso sem textos de cone, ou maior para que receba os textos.

Se quiser Ter certeza que o cone vai ocupar o mnimo espao possvel na sua tela, deve-se
criar um campo tambm com um mnimo de 6 bytes de comprimento, porm com apenas 2
bytes de comprimento visvel.

15

Treinamento

Checagem Automtica: Valores Fixos


-

Estes valore fixos, podem ser definidos no Dicionrio ABAP/4

Se voc definir um campo na tela, o qual esteja criado no dicionrio de dados e este possua
um domnio com valores fixo
-

Estes valores fixos podem ser exibidos com a tecla F4

Os valores colocados neste campo sero checados quanto a existncia deles

16

Treinamento

Checagem Atravs de Mensagens


-

Se voc quiser checar valores colocados nas telas, pode-se gerar crticas atravs do comando
message que ser usado dentro de um mdulo no evento PAI. Se este erro estiver se
referenciando a um campo especfico, voc deve usar o comando FIELD para fazer esta
referncia.

No caso das mensagens de erro (E) e warning (W), a tela refeita sem passar pelos modulos
do PBO, os textos so mostrados e apenas os campos referenciados so aptos para entrada de
dados novamente.

Note que sem o uso do comando FIELD, no caso da mensagem de erro se executada, o campo
que contm o dado com problema no ser reabilitado e apenas ser mostrado a mensagem
de erro.

17

Treinamento

Controle de Mensagens de Erro


-

Quando um usurio modifica o contedo original de uma entrada resultando em um erro ou


em um aviso, os mdulos PAI no precisam necessariamente ser reprocessados inteiramente,
mas reinicializados a partir do ponto crtico do processamento. Para isto deve-se estabelecer
as seguintes coisas:
-

Determinar qual comandos CHAIN e FIELD possuem a mensagem de erro

Determinar todos os nomes de campos com o comando FIELD para o comando CHAIN

Reinicializar no exato campo ( FIELD ) do relevante ( CHAIN )

Se o usurio passa por cima de uma mensagem de Aviso, no mudando o valor dos campos, o
processamento continua a partir do mdulo aps o comando de mensagem de aviso.

18

Treinamento

Valores Padres na Memria do SAP

Na memria do SAP, voc pode guardar valores sob um Parameter iD. Estes valores so
guardados para cada sesso de usurio e levados atravs das sesses.

O comando SET PARAMETER copia o contedo durante o PAI para a memria.

O comando GET PARAMETER copia o contedo da memria para o campo em questo no


final do Mdulo PBO, isso desde que o campo esteja com seu valor inicial, ou seja, padro.

Voc pode definir estes comandos nos atributos do campo em questo, ou no caso do campo
j Ter isso como referncia no Dicionrio de Dados.

Os Parameter Ids esto localizados na tabela TPARA.

19

Treinamento

Seqncia Dinmica de Telas


-

Voc pode modificar a seqncia de telas da seguinte maneira:


-

Usando SET SCREEN para mudar o valor temporariamente


-

No caso de usar SET SCREEN, voc dever usar o comando LEAVE SCREEN que
assumir o valor da prxima tela que estiver na memria.

Pode se usar tambm o comando LEAVE TO SCREEN ##, que ir direto para a tela
designada pelo comando, independentemente do que estiver na memria.

Usando CALL SCREEN para inserir um processamento de uma ou mais telas antes da
que seria a prxima tela. O processamento continua normalmente aps a sada desta tela.
-

No caso do uso do CALL SCREEN, deve-se usar os comandos SET SCREEN 0 e


LEAVE SCREEN ou LEAVE TO SCREEN 0, para que o processamento volte
exatamente de onde foi interrompido pelo CALL SCREEN

20

Treinamento

Inserindo Telas como Caixas de Dilogos


-

No caso de se desejar incluir uma tela como uma caixa de dilogo, deve-se usar os as
seguintes adies ao comando CALL SCREEN:
-

STARTING AT e ENDING AT, pois assim voc especifica em que lugar da tela
comeara e terminara a exibio de sua tela

No caso de se usar a adio ENDING AT, o sistema a caixa de dilogo na rea


predeterminada pelas coordenadas, sendo que se esta rea for menor, a tela ser
truncada e aparecero barras de rolagem.

21

Treinamento

Execuo Condicional de Modulos


-

Se voc especificar ON INPUT depois do comando MODULE dentro de um comando FIELD,


o mdulo somente ser executado se o campo em questo tiver outro valor que no o inicial.
-

No caso do comando CHAIN, voc dever especificar ON CHAIN-INPUT. Isto far


que o mdulo somente seja processado se pelo menos um dos campos possuir um valor
diferente do inicial.

Se voc especificar ON REQUEST depois do comando MODULE dentro de um comando


FIELD, o mdulo somente ser executado se o campo em questo tiver um novo valor.
-

No caso do comando CHAIN, voc dever especificar ON CHAIN-INPUT. Isto far


que o mdulo somente seja processado se pelo menos um dos campos possuir um novo
valor.

Voc s poder usar estes comandos ON INPUT, ON REQUEST se os mdulos estiverem


associados a um campo.

Se na Interface GUI, o campo tiver sido definido como funo do tipo E, o modulo com a
adio AT EXIT COMMAND ser executado antes das checagens automticas dos campos.

22

Treinamento

Tipos de Funes
-

Os tipos de funes informam ao processador das telas como interpretar o cdigo de funo
estipulado.
-

Por exemplo, no caso do tipo E, ir executar o modulo AT EXIT COMMAND, porm no


caso do tipo T, este ir tentar executar o cdigo de funo como se fosse uma transao
no SAP.

23

Treinamento

Textos Dinmicos e Estticos


-

Ao definir um Texto para uma funo voc pode escolher entre este texto ser esttico ou
dinmico.
-

No caso do texto esttico, nunca poder ser mudado durante a execuo do programa,
porm no caso do dinmico, este texto ser determinado pelo prprio programa durante a
execuo.

Voc pode usar a opo CHANGE TEXT TYPE para converter o tipo de texto.

Alm destes dois tipos de texto, como vimos anteriormente em relao aos comandos, voc
pode definir um cone para o texto.
-

Estes cones esto em uma lista de cones que pode ser acessada pelo boto Propose Icons.

Porm estes cones so apenas mostrados na barra de botes customizados.

Definindo reas de Menu


24

Treinamento

Voc pode definir uma rea de Menu atravs da transao SE93, que criar apenas uma
interface GUI, sem lgica de processo ou amarrao a telas, apenas o menu.

Esta transao no tem nenhum cdigo em especial, apenas funciona com o comando CALL
TRANSACTION.

Estas reas de Menu podem ser adicionadas a determinados usurios para passarem a ser o
seu MENU PRINCIPAL, colocando este cdigo de transao no PROFILE do usurio.

25