Dicas On-line
Dicas ON-LINE
1. Os Componentes Principais de um Dialog Program (On-line)
• Você usa o Screen Paiter e o Menu Painter para criar e
desenhar telas modelas e programas de telas.
• Você define o processamento lógico no module pool do programa
ABAP/4 .
• Estruturas de dados são definidas no icion!rio ABAP/4. Você
pode acessar esses estruturas do programa ABAP/4 e "uando
define campos de tela.
• # processador de di!logo controla o flu$o do seusdos seus
programa di!logo.
2. Screen Painter - !P"#
• Para criar uma tela% siga os seguintes passos&
o efina as caracter'sticas (!sicas da tela )screen
atri(utes*
o Pro+ete um la,out de tela )in full screen editor*
o efina os atri(utos dos campos )field list*
o Escre-a o flu$o lógico da tela )programa*
• #s componentes do programa ABAP/4 mais importantes são
encontrados nos seguintes o(+etos&
o .lo(al data ou Estruturas do icion!rio no programa
include /#P )declara01es data*
o Module PB# )Process Before #utput 2 Processos antes de
Apresentar a /ela*
o Module PA3 )Process After 3nput 2 Processos após Entrada
de ados*
o Su(4rotinas )se necess!rio*
ROP – Consultor ABAP/4 São Paulo, 08 de Março de 2002.
Dicas On-line
$. Comunica%&o' (ela !P"# module Pool
• # flu$o lógico da tela 5 di-idido em dois e-entos&
o # e-ento PB# 5 e$ecutado antes da tela ser apresentada.
o # e-ento PA3 5 e$ecutado após pressionar E6/E7.
• # sistema processa os módulos de e-ento numa se"8ência
• Em cada módulo% o controle passa do processador de di!logo
para o processador ABAP/4. epois do processamento% o
controle 5 retornado para o processador de di!logo.
• 9uando todos os módulos do PB# forem processados% o conte:do
dos campos da !rea de tra(alho );or< !rea* ABAP/4 são
copiados para os campos de mesmo nome da !rea de tra(alho
);or< !rea* da tela.
• Antes do módulo PA3 5 processado. # conte:do dos campos na
!rea de tra(alho da tela );or< !rea* são copiados para campos
de mesmo nome na !rea de tra(alho );or< !rea* ABAP/4.
#. De)inindo o La*out (+rap,ical Screen Painter)
• Para pro+etar telas% -ocê usa o Screen Painter.
• A interface do .raphical Screen Painter cont5m fun01es f!ceis
de usar para definir os -!rios elementos da tela )e$.& campos
de entrada e sa'da% campos te$tos% cai$as% etc.*. Você
escolhe cada elemento da tela e posiciona na tela usando o
mouse.
• Para deletar elementos da tela% -ocê seleciona o elemento com
o mouse e então escolhe Delete.
• Para mo-er elementos da tela% -ocê usa o mouse para arrastar
o elemento para a posi0ão dese+ada.
ROP – Consultor ABAP/4 São Paulo, 08 de Março de 2002.
Dicas On-line
-. .isuali/a%0es de Listas de Campo (1ield List .ie2s)
=ield t,pes
/e$ts/templates
.eneral attri(utes
ispla, attri(utes
Modification groups
Matchcode/reference
• >! seis -isuali?a01es de listas de campos para manuten0ão
dos atri(utos dos campos da tela. Alternati-amente% -ocê pode
defini4los de uma das listas. Manuten0ão de atri(utos para um
campo tam(5m 5 poss'-el no fullscreen editor.
• Você pode desco(rir o correspondente do tipo de dado e$terno
para o tipo de dado interno )e$.& tipos de dados ABAP/4* pela
referida documenta0ão da pala-ra cha-e /AB@ES no ABAP/4.
E$emplos são os seguintes&
/ipo de dados do dicion!rio /ipo de dados no ABAP/4
A>A7 A
6BMA 6
3. De)inindo o controle do )lu4o
P#7AESS BE=#7E #B/PB/.
M#B@E 363/3A@3CE.
P7#AESS A=/E7 36PB/.
M#B@E 7EADSP=@3.
• Você especifica a defini0ão de seus Módulos de comandos na
lógica do flu$o.
• Se -ocê escolhe um módulo com duplo cli"ue% o sistema cria os
comandos ade"uados M#B@E ... E6M#B@E no programa include
apropriado. Este 5 conhecido como na-ega0ão adiantada.
• Se não e$iste o programa include% o sistema criar! um se -ocê
permitir. Ele tam(5m insere um comando 36A@BE no programa
principal.
ROP – Consultor ABAP/4 São Paulo, 08 de Março de 2002.
Dicas On-line
5. Processando o 6OD7LE POOL
M#B@E 363/3A@3CE
#B/PB/.
A@EA7 SP=@3.
E6M#B@E.
M#B@E 7EADSP=@3 36PB/.
SE@EA/ S36.@E E =7#M SP=@3
F>E7E AA773 G SP=@34AA773
A6 A#663 G SP=@34
A#663.
.
.
.
E6M#B@E.
• #s comandos do ABAP/4 do M#B@E para PB# cont5m uma adi0ão
#B/PB/% "uando os comandos do módulo for do módulo PA3 cont5m
uma adi0ão 36PB/.
8. De)inindo campos no 6OD7LE POOL
/op include
M/A@A/#P
P7#.7AM SAPM/A@A.
/AB@ES& SP=@3.
A/A& ... .
#B
.@#BA@ A/A
A/A& ... .
• 6o processamento de di!logo% o dado 5 passado entre as telas
e o processamento do programa ABAP/4. # sistema e$ecuta esta
comunica0ão automaticamente% mas -ocê de-e usar nomes
idênticos nas telas e no M#B@E P##@.
• efina os campos rele-antes como dados glo(ais no programa
include /#P. Para fa?er isso% -ocê processa o programa
include como um todo ou relacionando se01es de dados glo(ais
ou estruturas do icion!rio. Mesmo "ue% o programa include
/#P est! implicitamente no controle.
ROP – Consultor ABAP/4 São Paulo, 08 de Março de 2002.
Dicas On-line
9. De)inindo c,amadas (C:digos de (ransa%&o)
S/MP
Programs
SAPM/A@A
Areate
/ransactions
Escolher
Aódigo de /ransa0ão TALA
/ipo de /ransa0ão X Dialog transaction
Aontinue
/ransaction code TALA
/ransaction te$t Test
Program SAPMTALA
Screen num(er 100
• Você pode iniciar um programa de di!logo ABAP/4 )transa0ão*
com um espec'fico código de transa0ão.
• /ansa01es customi?adas de-em come0ar com C ou H.
• # sistema cria suas especifica01es na ta(ela /S/A )ao in-5s
de criar uma transa0ão na lista de o(+etos% -ocê pode dar
manuten0ão na ta(ela -ocê mesmo*
1;. C,ecagem autom<tica de campo de Entrada
• Após o usu!rio ter finali?ado uma tela )e$. ter entrado dados
e pressionado a tecla E6/E7 ou ter acionado alguma outra
fun0ão*% mas antes dos módulos do PA3 serem processados% o
processador de di!logo e$ecuta um n:mero de checagens
autom!ticas.
• # primeiro destes s ser certificado são os campos re"ueridos
na entrada de dadops.
• Bma cha-e estrangeira 5 e$ecutada somente se um campo da tela
se referir a um campo do icion!rio pela "ual a checagem da
ta(ela tem de estar definida e o atri(uto apropriado tem de
estar selecionado.
• Em alguim momento% a funcionalidade =4 5 ati-ada. 3sso
significa "ue 5 poss'-el a entrada de dados para um campo.
E$.& a cha-e de -alores da ta(ela de checagem 2 são
apresentadas.
ROP – Consultor ABAP/4 São Paulo, 08 de Março de 2002.
Dicas On-line
11. C,ecando campo de entrada no 6OD7LE POOL com di<logo de erro
P7#AESS A=/E7 36PB/.
=3E@ Iscreen fieldJ
M#B@E ImoduleJ.
M#B@E module 36PB/.
.
.
.
MESSA.E E... .
E6M#B@E.
• Se -ocê "uer checar -alores de entrada no M#B@E P##@ e
iniciar um di!logo de erro de um resultado negati-o% -ocê usa
o comando =3E@ com a adi0ão M#B@E. 3sto significa "ue o
rele-ante módulo 5 e$ecutado somente para o campo
especificado no comando =3E@.
• Se o módulo resulta numa mensagem de erro )E* ou ;arning )F*%
a tela 5 reapresentada sem o processamento dos módulos PB#. #
te$to da mensagem 5 apresentado e somente o campo checado por
este módulo 5 apresentado para entrada de dados no-amente.
• 6ote "ue somente o comando =3E@ 5 respons!-el por fa?er a
leitura do campo para entrada no-amente. Se -ocê formular
uma mensagem num módulo sem chamar o módulo no comando =3E@%
a mensagem 5 apresentada% mas o campo não 5 lido para entrada
de dados no-amente.
12. C,ecando +rupo de Campos
P7#AESS A=/E7 36PB/.
A>A36.
=3E@& screen fieldK%
screen fieldL%
...
screen fieldn.
M#B@E module.
E6A>A36.
M#B@E module 36PB/.
...
MESSA.E E ... .
E6M#B@E.
• Se -ocê "uer checar muitos campos para entrada de dados
no-amente no e-ento de um erro de di!logo% -ocê de-e
especificar todos no comando =3E@ e concatenar estes +unto
com o comando M#B@E para checagem no A>A36.
• Bm campo pode ser usado em diferentes A>A36s.
• 6ote "ue o comando =3E@ não somente fa? a leitura para
entrada de dados no-amente. 9ual"uer um dos campos modificado
ROP – Consultor ABAP/4 São Paulo, 08 de Março de 2002.
Dicas On-line
durante o processamento do PA3 somente se torna -is'-eis no
e-ento do erro se eles são tam(5m especificados no camando
=3E@ do referido A>A36.
1$. Lendo C:digos de 1un%&o em Programas
• Aada (otão de-e ter um código de fun0ão
• 9uando o usu!rio pressionar o (otão% o módulo PA3 5 acionado.
• 9uando o usu!rio chama uma fun0ão )pelo significado do (otão%
menu de entrada ou tecla de fun0ão*% o código de fun0ão
aparece no campo "ue -ocê entra no na lista de campo "ue os
atri(utos pr54definidos de tamanho 4 e formato #M. 3sto 5
conhecido como campo de #M code.
• Poder reagir a um código de fun0ão no module pool do ABAP/4%
-ocê define um identificador nomeado #< code. Este cont5m o
código da fun0ão atual depois do campo ter sido transportado.
• Você est! recomendado a usar uma -ersão de (ac<up do campo de
o<code para e-itar en-iar uma tela "ue +! tem um código de
fun0ão.
1#. Se=>?ncia Din@mica de (ela' OAerAie2
• Você pode modificar uma se"8ência de tela dinamicamente&
o Bsando SE/ SA7EE6 para atuali?ar a pró$ima tela
temporariamente
o Bsando AA@@ SA7EE6 para inserir um processamento de uma
ou mais telas antes da tela atual. # processamento da
tela atual continua com os comandos após esta chamada.
1-. Bustando a Pr:4ima (ela Dinamicamente
• # comando SE/ SA7EE6 nnnn altera temporariamente a pró$ima
tela.
• A tela nnnn de-e ter uma tela no mesmo module pool.
• A pró$ima tela 5 processada depois da tela atual% a menos "ue
-ocê termine a tela atual com o comando @EAVE SA7EE6.
ROP – Consultor ABAP/4 São Paulo, 08 de Março de 2002.
Dicas On-line
• Se -ocê "uer encerrar a tela atual e ir diretamente para a
pró$ima tela num :nico passo% -ocê pode usar o comando LEAVE
TO SCREEN nnn.
13. 6enu Painter - OAerAie2
• Você usa o Menu Painter para definir fun01es na tela no
stautus particular e determina4as para a (arra de menus
própria. Para cada status% -ocê define "ue as fun01es de menu
estão ati-as ou inati-as.
15. De)inindo a Inter)ace I
• 6uma re"uest% o sistema prop1e -alores padr1es par a (arra de
menu e define a tecla de fun0ão% mas -ocê pode modificar
isso.
• Barras de menu podem contger at5 oito menus. Você pode
definir at5 seis destes -o-ê mesmo% mas os menus S,stem e
>elp são adicionados automaticamente pelo sistema.
• Bm :nico menu cont5m at5 KN entradas% incluindo as fun01es e
suas descri01es% nomes de su(4menus e linhas separadoras.
• Você poderia especificar tam(5m todas as fun01es "ue são
ati-adas num status como ati-a na (arra de menu.
18. De)inindo a Inter)ace II
• Você determina as fun01es ati-as "ue um usu!rio pro-a-elmente
mais precisa no situa0ão atual para a (arra de (ot1es. Antes
de -ocê fa?er iss% o código de fun0ão de-e ser determinado
para uma tecla de fun0ão.
• Você determina códigos de fun0ão para teclas de fun0ão pelas
entradas destas em “Con!"uraç#es Re$o%endadas de &e$las de
'unç#es( ou “Seç#es de &e$las de 'unção De!n!das
)!*re%ente( .
• # sistema automaticamente define as teclas de fun0ão no
padrão (arra de ferramentas para teclas de fun0ão especial.
19. De)ini%&o utom<tica de Ccones para (eclas de 1un%&o
(ecla de 1un%&o Signi)icado Icon (SDmEolo)
ROP – Consultor ABAP/4 São Paulo, 08 de Março de 2002.
Dicas On-line
Enter Enter “ticao!
"11 Sal#ar Pasta
"$ Voltar Seta p% a es&'era
S(i)t*"$ Sair +programa, Seta p% cima
"1- Cancelar +tela, “X!
Ctrl*P .mprimir .mpressora
Ctrl*" Pes&'isar /in0c'lo
Ctrl*1 Contin'ar Pes&'isano /in0c'lo “*!
Ctrl*Screen 'p Primeira P2gina P2gina c% seta 'pla
Screen 'p P2gina Anterior P2gina c% seta p% cima
Screen o3n Pr04ima P2gina P2gina c% seta p% 5ai4o
Ctrl*Screen o3n 6ltima P2gina P2gina c% seta 'pla
"1 7elp .nterroga89o
• # sistema define automaticamente códigos de fun0ão "ue -ocê
define na (arra de ferramentas padrão para teclas de fun0ão
especial.
• Para desco(rir "uais defini01es aplicadas para as fun01es no
status atual% cli"ue no termo “Barra de 'erra%entas Padrão(.
2;. De)inindo 6enus de Frea
• 9uando for dar manuten0ão em Menus de Orea )"ue são
desen-ol-imentos de o(+etos de classes*% -ocê usa uma -ersão
especial do Menu Painter. A"ui% -ocê define os códigos de
transa0ão para programas di!logos chamados ao in-5s de
especificar códigos de fun0ão.
• Esses códigos de transa0ão não têm tipos especiais de fun0ão.
Eles tra(alham como AA@@ /7A6SAA/3#6.
ROP – Consultor ABAP/4 São Paulo, 08 de Março de 2002.