Professional Documents
Culture Documents
ABAP ACADEMY
Mdulo ABAP Advanced 40 horas
www.trainning.com.br
1
Tpicos
Classe de Desenvolvimento
Requests
Dicionrio de Dados
Criao de Tabela
ABAP Editor
ABAP Report
Construo de Programa
Tela de Seleo
Mdulo Pool
Bacth Input
Call Transactions
-4
-5
- 111
- 152
- 193
- 198
- 221
- 227
- 277
- 316
- 347
3
Classe de Desenvolvimento
As classes de desenvolvimento so importantes
para o transporte entre sistemas de produo e
desenvolvimento.
Todos os objetos pertencentes ao
desenvolvimento so combinados em uma classe
de desenvolvimento, o qual atribudo em uma
request.
Todos os objetos associados classe de
desenvolvimento $TMP so locais e no so
transportados
4
Customizing
Workbench
Transporte de cpias
Relocao objetos s/mudana de pacote
Relocao objetos c/mudana de pacote
Relocao de um pacote completo
5
Workbench
So utilizadas para transportar objetos do
repositrio tais como programas, objetos do
dicionrio de dados tais como tabelas e vises
6
Change Requests
As change requests possuem uma ou mais
tarefas
As tarefas podem ser atribudas a diferentes
usurios
As tarefas contm os objetos que sero
transportados entre os sistemas
As transaes de change requests so: SE01,
SE09 e SE10
11
12
13
Change Requests
Ambiente
Projeto
Proprietrio
Request
Descrio
Tarefas
Objeto
14
15
Debug
Debug
O debug uma ferramenta que permite a
execuo do programa linha a linha, permitindo
assim visualizar os dados conforme o programa
executado.
H dois modos de ativar o debug:
Atravs do comando /H, no campo de comando.
16
Debug
Atravs dos botes Definir/Eliminar ponto de parada
externo e Definir/Eliminar ponto de parada de sesso.
necessrio entrar no cdigo do programa, inserir o ponto de parada
na linha desejada e executar o programa.
17
Debug - Funcionalidades
1. Ponteiro
2. Caixa de Variveis
3. Boto para alterar o valor
da varivel
4. Exibir instruo atual
5. Etapa Individual (F5)
6. Executar rotina *(F6)
7. Retornar da Rotina (F7)
8. Avanar at o cursor (F8)
6 7 8
2
3
18
19
Tpicos
Tipos de Dados
Declarao dos tipos de dados
Variveis
Constantes
Tipos de dados elementares
Estruturas
Tabelas internas
Campos de sistema
20
Tipos de Dados
A tabela abaixo mostra os tipos ABAP prdefinidos:
Tipo
b
c
cursor
d
f
i
n
p
string
s
t
x
Tamanho
Tamanho padro
1 Byte
1 a 65,535 caracteres
Igual ao i
8 caracteres
8 bytes
4 bytes
1 a 65,535 characters
1 a 16 bytes
Varivel
1 caracteres
Igual ao i
1 caracteres
8 bytes
2 bytes
6 caracteres
1 a 65,535 bytes
xstring Varivel
Descrio
Inteiro de 1 byte (interno)
Campo texto
Cursor de banco de dados
Campo data
Nmero de ponto flutuante
Inteiro de 4 bytes
Texto numrico
Nmero packed
String de texto
Inteiro de 2 bytes (internal)
Campo de tempo
1 byte
Campo de byte
String de byte
21
Tipos de Dados
A tabela abaixo apresenta os valores permitidos
e os valores iniciais
Tipo
b
c
d
i
n
Valores
Valor Inicial
De 0 a 255
0
Qualquer caractere alfanumrico
" " para cada posio
8 caracteres alfanumricos definidos pelo usurio; Somente valores no
"00000000"
formato AAAAMMDD, os quais so permitidos como entrada de data de
acordo com as regras de calendrio: AAAA(ano): 0001 a 9999, MM(ms): 01 a
12, DD(dia): 01 a 31
Os pontos de nmero flutuante so apresentados internamente com 16 casas
0
decimais de acordo com o padro IEEE-754 (dupla preciso). Os valores
permitidos so -1,7976931348623157EE+308 a -2,2250738585072014EE-308
para a rea negativa, o valor zero, e +2,2250738585072014EE-308 a
+1,7976931348623157EE+308 para a rea positiva. A validade de ambas as
reas so estendidas na direo do zero atravs de nmeros "denormalized"
depois do IEEE-754.
-2.147.483.648 to +2.147.483.647
0
Qualquer caractere alfanumrico, entretanto, os valores vlidos so somente "0" para cada posio
os dgitos de 0 a 9.
22
Valores
Valor Inicial
0
O tamanho vlido para os nmeros "packed" est entre 1 e 16 bytes; duas
casas decimais so embaladas em um byte, onde o ltimo byte contm
somente uma posio e o sinal de positivo e negativo. Depois do
separador de decimal, at 14 casas decimais so permitidas. Dependendo
do tamanho do campo len e do nmero de casas decimais dec, aplica-se
as seguintes reas de valores: (-10^(2len -1) +1) / (10^(+dec)) a (+10^(2len
-1) -1) /(10^(+dec)) em passos de 10^(-dec). Valores dentro desse
intervalo so arredondados.
string igual ao tipo c
string vazia de tamanho 0
s
-32.768 to +32.767
0
t
6 caracteres alfanumricos definidos pelo usurio; o nico valor vlido so
"000000"
os nmeros que so interpretados como especificao de tempo nas 24
horas do formato do relgio HHMMSS. A SAP recomenda a utilizar
exclusivamente 00 a 23 para HH(horas) e 00 a 59 para MM (minutos) e 00
a 59 para SS (segundos).
x
Caracteres hexadecimais 0-9, A-F
hexadecimal 0
xstring Igual ao tipo x
string vazia de tamanho 0
p
23
Variveis
A declarao das variveis se d atravs da
sintaxe:
DATA { {var[(len)] TYPE abap_type [DECIMALS dec]}
| {var TYPE abap_type [LENGTH len] [DECIMALS dec]} }
[VALUE val|{IS INITIAL}]
[READ-ONLY].
Exemplo:
DATA v_char1(10)
DATA v_int1
DATA v_dec1
DATA v_char2(2)
TYPE
TYPE
TYPE
TYPE
25
DATA: v_msg
v_coment
Tipos estruturados
TYPES: BEGIN OF ty_mara,
matnr
TYPE mara-matnr,
mtart
TYPE mara-mtart,
zeinr TYPE mara-zeinr,
END OF ty_mara.
DATA: wa_mara
TYPE
ty_mara. Work-area
27
28
Constantes
O comando CONSTANTS cria um objeto do tipo
constante, ou seja, um objeto que no pode ter o
valor alterado.
Exemplo:
CONSTANTS: c_mtart
29
Estrutura
A estrutura pode ser criada de trs formas:
Referncia a uma tabela transparente
Referncia a uma estrutura do dicionrio de dados
Referenciado a um tipo de dados local
30
31
32
33
Tabela Interna
A tabela interna fornece um meio de armazenar
dados de uma estrutura fixa e armazen-la em
memria.
Os dados so armazenados linha por linha na
memria e cada linha tem a mesma estrutura.
No ABAP, as tabelas internas substituem as
funcionalidades de arrays.
O tipo de dados de uma tabela interna definido
pelo tipo de linha, chave e tipo de tabela interna.
34
35
37
38
40
ZEINR
234545
122212
534213
234545
112221
41
DATA: ti_mara
DATA: ti_mara
42
43
44
Campo
INDEX
PAGNO
TABIX
TFILL
DBCNT
FDPOS
COLNO
LINCT
LINNO
LINSZ
PAGCT
MACOL
MAROW
TLENG
LILLI
SUBRC
CUCOL
CUROW
LSIND
LISTI
STEPL
SROWS
SCOLS
LOOPC
TZONE
Descrio
Contador de loops
Pgina da lista atual
ndice de tabelas internas
Nmero de linhas de tabelas internas
Entradas de tabela de banco de dados processadas
Ocorrncia em cadeia de bytes ou caracteres
Coluna atual na lista
Comprimento das pginas da lista
Linha atual na lista
Largura da linha da lista
Campo do sistema obsoleto
N de colunas na margem esquerda de uma lista de impresso
N de colunas na margem superior de uma lista de impresso
Comprimento das linhas de uma tabela interna
Linha da lista selecionada
Cdigo de retorno de instrues ABAP
Posio do cursor horizontal em PAI
Posio do cursor vertical no PAI
ndice da lista de ramificao
ndice da lista exibida
ndice da linha step loop atual
Telas, nmero de linhas
Telas, nmero de colunas
Linhas visveis de um step loop
Data e hora, diferena de horas para hora de referncia UTC
Campo
Descrio
DAYST Flag de horrio de vero
FDAYW Calendrio de fbrica-dia da semana
LANGU Cdigo de idioma do ambiente de texto atual
MODNO ndice do modo externo
BATCH Programa corre em background
BINPT O programa corre em batch input
CALLD Programa ABAP, modo de chamada do programa ABAP
DYNNR N da tela atual
DYNGR Grupo de telas da tela atual
WTITL Marcao para cabealho da pgina standard
CPAGE N da pgina atual de uma lista
DBNAM Banco de dados lgico de um programa executvel
MANDT Identificao do mandante do usurio atual
PEXPI Perodo de reteno spool (parmetro de impresso)
PRINI
Campo do sistema interno
PRIMM Sada imediata (parmetro de impresso)
PRREL Eliminar aps sada (parmetro de impresso)
PRBIG Falso-rosto da seleo (parmetro de impresso)
PRNEW Nova ordem spool (parmetro de impresso)
PDEST Dispositivo de sada (parmetro de impresso)
PLIST
Nome da ordem spool (parmetro de impresso)
PRDSN Nome do spool file
CALLR Local de incio de impresso da lista
RTITL
Ttulo do progr.a imprimir (parmetro de impresso)
PRREC Destinatrio (parmetro de impresso)
PRTXT Texto para falso-rosto (parmetro de impresso)
PRABT Departamento no falso-rosto (parmetro de impresso)
48
Descrio
Preparao para impresso (parmetro de impresso)
Nmero de expresses (parmetro de impresso)
Sistema de banco de dados central
Nome do sistema SAP
Sistema operacional do servidor de aplicao
Status GUI atual
Release do sistema da SAP
Cdigo de transao atual
Cdigo de funo que acionou o PAI
N spool na sada de listagem
Data atual do servidor de aplicao
Variante utilizada
Hora atual do servidor de aplicao
Nome do usurio
Campo do sistema obsoleto
Alfabeto latino
Contedo da linha de ttulo
Campo do sistema interno
Contedo de uma linha da lista selecionada
Trao horizontal
Programa de chamada
Programa de banco de dados de um banco de dados lgico
Varivel txt.p/caractere preenchimento em ttulos da lista
Varivel txt.p/caractere preenchimento em ttulos da lista
Varivel txt.p/caractere preenchimento em ttulos da lista
Varivel txt.p/caractere preenchimento em ttulos da lista
Campo
Descrio
TVAR4
TVAR5
TVAR6
TVAR7
TVAR8
TVAR9
MSGID
Classe de mensagem
MSGTY
Tipo de mensagem
MSGNO N mensagem
MSGV1 Varivel mensagens
MSGV2 Varivel mensagens
MSGV3 Varivel mensagens
MSGV4 Varivel mensagens
VLINE
Trao vertical
STACO
STARO
DATAR
HOST
DATLO
TIMLO
ZONLO
49
50
Linguagem ABAP
Operadores Lgicos
Operadores simples
Igual
Diferente
Maior que
Maior ou igual a
Menor que
Menor ou igual a
Intervalo de valores
inicial
EQ =
NE <> ><
GT >
GE >=
LT
LE
BETWEEN val1 AND val2
IS INICIAL
NOT val1 {operador}
51
Operadores Lgicos
Operadores para string
CONTAINS ONLY
CONTAINS NOT ONLY
CONTAINS ANY
CONTAINS NOT ANY
CONTAINS STRING
CONTAINS NO STRING
COVERS PATTERN
NOT PATTERN
str1
str1
str1
str1
str1
str1
str1
str1
CO
CN
CA
NA
CS
NS
CP
NP
str2
str2
str2
str2
str2
str2
str2
str2
52
Instrues de Controle
Condio IF-ELSE-ENDIF
IF condio.
BLOCO 1
ELSE.
BLOCO 2
ENDIF.
ELSEIF condio.
Condio CASE
CASE varivel.
WHEN valor1.
BLOCO 1
WHEN valor2.
BLOCO 2
WHEN OTHERS.
BLOCO n
ENDCASE.
53
Instrues de Controle
Loops
DO n TIMES.
BLOCO
ENDDO.
CHECK condio.
CONTINUE.
DO.
IF condio.
EXIT.
ENDIF.
BLOCO.
ENDDO.
WHILE condio.
BLOCO.
ENDWHILE.
54
55
Open SQL
SQL Nativo
57
58
Open SQL
O Open SQL tem os seguintes comandos:
Comando
SELECT
INSERT
UPDATE
MODIFY
DELETE
OPEN CURSOR,
FETCH,
CLOSE CURSOR
Funo
Seleciona os dados das tabelas do banco de dados
Adiciona registros em uma tabela do banco de dados
Altera o contedo de um registro da tabela do banco de dados
Insere um novo registro ou altera o contedo de um registro
existente
Exclui registros da tabela do banco de dados
L os registros de uma tabela do banco de dados utilizando o cursor
59
Open SQL
Cdigo de Retorno
Todos os comandos do Open SQL retornam os
valores para os seguintes campos de sistema:
SY-SUBRC
Aps cada comando SQL, o campo de sistema SYSUBRC recebe o valor 0 se a operao foi realizada com
sucesso, caso contrrio, o valor retornado ser diferente
de 0.
SY-DBCNT
Aps a execuo do comando SQL, o campo do sistema
SY-DBCNT contm o nmero dos registros
processados.
60
62
Exemplo:
SELECT MAX( AUART ) FROM...
63
64
Inserir em variveis
DATA: v_matnr
v_auart
v_menge
TYPE mara-matnr,
TYPE mara-auart,
TYPE mara-menge.
Inserir em work-area
DATA: BEGIN OF wa_mara,
v_matnr
TYPE mara-matnr,
v_auart
TYPE mara-auart,
v_menge
TYPE mara-menge.
END OF wa_mara.
SELECT matnr auart menge FROM mara
INTO wa_mara
OCCURS 0,
mara-matnr,
mara-auart,
mara-menge.
65
<dbtab>
Exemplo:
SELECT m~matnr t~maktx
FROM mara as m INNER JOIN makt as t
ON m~matnr = t~matnr
INTO wa_mat_desc
WHERE m~matnr = 08D8
AND t~spras = SY-LANGU.
67
68
69
70
73
74
78
80
82
Open
SQL
Delete
Uma tabela interna hashed definida com a estrutura das chaves primrias da
tabela SPFLI. Depois do preenchimento da tabela interna, os registros da
tabela do banco de dados sero excludos de acordo com os valores das chaves
internas da tabela interna.
DATA: BEGIN OF WA,
CARRID TYPE SPFLI-CARRID,
CONNID TYPE SPFLI-CONNID,
END OF WA,
ITAB LIKE HASHED TABLE OF WA
WITH UNIQUE KEY CARRID CONNID.
WA-CARRID = 'UA'. WA-CONNID = '0011'.
INSERT WA INTO TABLE ITAB.
WA-CARRID = 'LH'. WA-CONNID = '1245'.
INSERT WA INTO TABLE ITAB.
WA-CARRID = 'AA'. WA-CONNID = '4574'.
INSERT WA INTO TABLE ITAB.
...
DELETE SPFLI FROM TABLE ITAB.
83
85
Tabela Interna
A tabela interna utilizada para armazenar um
ou mais registros em memria e pode ser
acessado e manipulado de forma similar a uma
tabela de banco de dados.
Os dados da tabela interna podem ser inseridos,
removidos, modificados, ordenados,
comparados e lidos.
O comando SELECT no pode ser utilizado para
obter os registros de tabela interna.
86
88
Limpa
Limpa
Limpa
Limpa
o
o
o
o
89
91
92
95
97
Sada
0
10
98
Sada
1000
10
DO 1000 TIMES.
LINE-COL1 = SY-INDEX.
LINE-COL2 = SY-INDEX ** 2.
INSERT LINE INTO TABLE ITAB.
ENDDO.
DESCRIBE TABLE ITAB LINES LIN OCCURS INI KIND
KND.
WRITE: / LIN, INI, KND.
99
103
104
Tabela
Interna
Inserir
Linhas
Exemplo: Duas tabelas internas so criadas com os mesmos
componentes, mas com tipo de tabelas diferente. Cada um
preenchido com trs linhas.
DATA: BEGIN OF LINE,
COL1 TYPE I,
COL2 TYPE I,
END OF LINE.
DATA: ITAB LIKE STANDARD TABLE OF LINE,
JTAB LIKE SORTED TABLE OF LINE
WITH NON-UNIQUE KEY COL1 COL2.
DO 3 TIMES.
LINE-COL1 = SY-INDEX. LINE-COL2 = SY-INDEX ** 2.
APPEND LINE TO ITAB.
LINE-COL1 = SY-INDEX. LINE-COL2 = SY-INDEX ** 3.
APPEND LINE TO JTAB.
ENDDO.
INSERT LINES OF ITAB INTO TABLE JTAB.
LOOP AT JTAB INTO LINE.
WRITE: / SY-TABIX, LINE-COL1, LINE-COL2.
ENDLOOP.
105
106
107
LINE-COL3 = 7.
COLLECT LINE INTO ITAB.
WRITE / SY-TABIX.
109
110
111
Objetivo
O dicionrio de dados permite a descrio
centralizada de todos os dados utilizados no
sistema sem redundncia.
Informaes novas ou modificadas so
fornecidas automaticamente para todos os
componentes do sistema, garantindo assim, a
integridade, consistncia e segurana dos dados.
112
Transao SE11
115
116
TABELAS
Tabelas
As tabelas podem ser definidas
independentemente do banco de dados no
dicionrio de dados.
Quando a tabela ativada, uma definio fsica
da tabela criada no banco de dados de acordo
com a tabela criada no dicionrio de dados.
As definies das tabelas so convertidas do
dicionrio de dados para a definio de um
determinado banco de dados.
117
Ativao de tabelas
Dicionrio de Dados
TAB1
TAB2
TAB3
TAB4
TAB...
Banco de Dados
Tipos de tabelas
Existem trs tipos de tabelas no dicionrio de dados. So elas:
Tabelas Transparentes
Para cada tabela transparente no dicionrio de dados h uma tabela
correspondente no banco de dados com o mesmo nome, campos e
definies.
Tabelas Pool
Para cada tabela no banco de dados, h vrias tabelas no dicionrio de
dados. O R/3 utiliza o pool de tabelas uma grande quantidade (dezenas a
milhares) de pequenas tabelas (de 10 a 100 registros cada). As tabelas
pool reduzem a quantidade de recursos necessrios do banco de dados
quando vrias tabelas pequenas necessitam ser acessadas ao mesmo
tempo.
Tabelas Cluster
As tabelas cluster so similares as tabelas pool. Eles so utilizados para
armazenar poucas tabelas (de 2 a 10) mas com grande quantidade de
dados. A vantagem de utilizar tabelas cluster no caso de acessar dados de
mltiplas tabelas simultaneamente, reduzindo o nmero de acesso ao
banco de dados aumentando a performance.
119
Classe de Entrega
A classe de entrega controla o transporte de
dados da tabela, no caso de instalao, mudana
de release, cpia de mandante, e no caso de
transporte entre sistemas de cliente. A classe de
entrega tambm considerada na Atualizao
ampliada de tabelas.
120
Classe de Entrega
Existem as seguintes classes de entrega:
A
Tabela de cliente, a SAP pode inserir registros novos, mas no pode sobregravar ou eliminar
aqueles que j existem. necessrio que o conjunto de nomes de cliente seja definido na
tabela TRESC (utilizar o report RDDKOR54).
Tabela de sistema com conjuntos de nomes prprios para entradas de cliente. necessrio
que o conjunto de nomes de cliente seja definido na tabela TRESC (utilizar o report
RDDKOR54).
121
Definio de tabelas
A definio de tabelas possuem os seguintes
componentes:
Campos da tabela
Chave Externa
Configuraes Tcnicas
ndice
122
Campos da Tabela
rea de definio dos campos da tabela
123
125
Chave Externa
O relacionamento de tabelas no dicionrio de
dados realizado atravs de chave externa
Verificao de valores para campos de entrada
Associar vrias tabelas numa viso ou objetos de
bloqueio
126
Chave Externa
127
Configuraes Tcnicas
Define como a tabela ser manuseada quando
for criada no banco de dados, tais como o tipo de
buffer da tabela e criar log de alterao de
registros da tabela
Os parmetros da configurao tcnica so:
Categoria de dados
Categoria de tamanho
Buffer
Log
128
Categoria de Dados
A categoria de dados define o tablespace ou Dbspace do banco
de dados quando ele criado.
As categorias de dados so:
APPL0 (dados mestre)
So dados raramente atualizados como dados de um cliente
(nome, telefone, endereo)
USR1 e USR2
So categorias para uso do cliente para testes de desenvolvimento.
129
Categoria de tamanho
O parmetro categoria de tamanho define o
espao necessrio esperado para a tabela no
banco de dados.
As categorias de tamanho variam de 0 a 4.
Para cada categoria, atribudo um tamanho
fixo de memria no banco de dados, o qual
depende do tipo do banco de dados utilizado
130
Categoria de tamanho
Configuraes Tcnicas
Categoria de Tamanho
Extenso
Inicial
Primeira
Extenso
Segunda
Extenso
TAB_A
TAB_B
TAB_C
1
2
3
TAB_A
TAB_B
TAB_C
131
Buffer
O tipo de buferizao define quais os registros
sero armazenados no buffer do servidor de
aplicao quando o registro acessado.
Somente os campos chaves podem ser
buferizados.
Os tipos de buferizao so:
Armazenar em buffer registros individuais
Armazenar em buffer reas genricas
Armazenamento em buffer completo
132
133
280806160
280806160
280808120
M400
M400
M400
MD40
MD42
MD40
Contedo do Buffer
208014400 M400
MD40
134
Contedo do Buffer
280806160 M400
280806160 M400
280806160 M400
MD40
MD42
MD43
136
Buffer Completo
Com a buferizao completa, todos os registros
da tabela so carregados no buffer a partir do
primeiro acesso tabela.
As tabelas que devem ser buferizadas so as
tabelas com poucos dados, lidos frequentemente
e raramente atualizados.
137
Buffer Completo
No exemplo abaixo, o registro marcado lido pelo
programa. Se a tabela possuir buffer completo, todos os
registros so gravados no buffer.
SELECT *
FROM MARD
WHERE MATNR = 208014400
AND WERKS = M400
AND LGORT = MD40.
Contedo do Buffer
208014180 M400
208014180 M400
208014400 M400
208014400 M400
280806160 M400
280806160 M400
280806160 M400
MD40
MD42
MD40
MD42
MD40
MD42
MD43
138
Log
O uso do flag de Log utilizado quando h a
necessidade de saber quais registros foram
alterados.
Se o log estiver ativo, cada alterao nos dados da
tabela (com os comandos UPDATE e DELETE) pelo
usurio ou pelo programa registrado na tabela de
log DBTABPRT.
O log deve ser usado com cuidado pois pode
impactar a performance do sistema e se houver
acesso de vrios usurios simultaneamente pode
causar a situao de Lock.
139
ndice
O ndice utilizado para aumentar a eficincia
na busca do registro em determinada tabela.
O ndice pode ser considerado um cpia
reduzida de uma tabela contendo determinados
campos. Essa cpia sempre ordenada.
O ndice contm um ponteiro ao registro
correspondente da tabela selecionada,
permitindo que os campos no contidos no
ndice sejam lidos.
140
ndice
Existem dois tipos de ndice:
ndice Primrio
O ndice primrio possui os campos chaves da tabela e o ponteiro
para os campos no-chave da tabela. criado automaticamente.
ndice Secundrio
O ndice secundrio necessrio se a tabela acessada
freqentemente de um modo que no aproveita os campos chaves
da tabela
ndice
ndice Primrio
ndice Primrio para SCOUNTER
MANDT CARRID COUNTNUM P
100
AA
00000001 7
100
BA
00000001 9
100
BA
00000002 12
100
BA
00000003 5
100
BA
00000004 2
100
LH
00000001 10
100
LH
00000002 4
100
LH
00000003 8
100
LH
00000004 11
100
LH
00000005 1
100
LH
00000006 13
100
LH
00000007 6
100
LH
00000008 14
100
UA
00000001 3
Tabela SCOUNTER
MANDT CARRID COUNTNUM AIRPORT
100
LH
00000005
ACA
100
BA
00000004
ACE
100
UA
00000001
BER
100
LH
00000002
LCY
100
BA
00000003
LHR
100
LH
00000007
BER
100
AA
00000001
DEN
100
LH
00000003
FRA
100
BA
00000001
LCY
100
LH
00000001
LGW
100
LH
00000004
LHR
100
BA
00000002
MUC
100
LH
00000006
RTM
100
LH
00000008
HAM
Campos chaves
142
ndice
ndice Secundrio
SELECT *
FROM SCOUNTER
WHERE AIRPORT =LCY.
Binary
Search
ndice Secundrio
AIRPORT
P
ACA
1
ACE
2
BER
3
BER
6
DEN
7
FRA
8
HAM
14
LCY
4
LCY
9
LGW
10
LHR
5
LHR
11
MUC
12
RTM
13
Tabela SCOUNTER
MANDT CARRID COUNTNUM AIRPORT
100
LH
00000005
ACA
100
BA
00000004
ACE
100
UA
00000001
BER
100
LH
00000002
LCY
100
BA
00000003
LHR
100
LH
00000007
BER
100
AA
00000001
DEN
100
LH
00000003
FRA
100
BA
00000001
LCY
100
LH
00000001
LGW
100
LH
00000004
LHR
100
BA
00000002
MUC
100
LH
00000006
RTM
100
LH
00000008
HAM
143
Categoria de Ampliao
A seleo de uma categoria de ampliao
necessria, uma vez que nas ampliaes de
tabelas e de estruturas em programas sem
verificao unicode ativa, principalmente nas
verificaes de tipo e em conjunto com
estruturas profundas, podem ocorrer erros de
sintaxe e em tempo de execuo.
Em funo da definio de estrutura, os botes
de rdio permitidos da caixa de dilogo esto
prontos para entrada
144
no classificada
Esta categoria pode ser selecionada, por exemplo, para um
status de transio, mas no ao criar estruturas.
145
146
Domnio
O domnio um objeto que contm as
informaes tcnicas de um campo, como o tipo
de dados e o tamanho do campo.
No domnio tambm definido o intervalo de
valores, os quais podem ser valores individuais
ou um conjunto de valores ou uma tabela de
verificao.
No domnio definido as rotinas de converso.
147
DESCRIO
Perodo contbil AAAAMM
Cadeias de caracteres com no mximo 255 caracteres
Mandante
Cdigo da moeda, referido por campos CURR
Campo de moeda (divisa), arquivado como DEC
Campo de data (AAAMMDD), arquivado como carac(8)
Campo de clculo ou montante com vrgula e sinal pos./neg.
Nmero em ponto flutuante com preciso de 8 bytes
1 byte n inteiro 0 a 255
2 byte n inteiro 32767 a 32767
4-byte n inteiro -2177483647 a 2177483647
Cdigo de idioma sempre 1 caracter
Seq. longa de caracteres maior que 255 e necessita campo INT2
Seq. longa de bytes, necessita campo INT2
Campo de caracteres s com dgitos mximo de 255 dgitos
Preciso de um campo QUAN
Campo quantidade, aponta p/campo de unidades de formato UNIT
Seqncia de bytes no interpretada
Campo de hora (hhmmss), arquivado como caract.(6)
Seq. longa caracteres, no suportada a partir da verso 3.0
Cdigo de unidades para campos QUAN
148
Elemento de Dados
O elemento de dados um objeto que contm as
possveis descries utilizadas na telas dos
programas e ajudas de pesquisa.
No elemento de dados, especificado o domnio
a ser utilizado.
O elemento de dados atribudo aos campos das
tabelas, estruturas e programas ABAP.
149
TABELA 2
Elemento de Dados 1
TABELA 3
Elemento de Dados 2
Domnio
151
152
Criao de Tabela
153
154
Criao do Domnio SE11
1.
2.
3.
1
2
155
Criao do Domnio - Definio
4.
5.
6.
7.
4
5
6
156
Criao do Elemento de Dados SE11
8.
9.
10.
11.
8
9
11
10
157
Criao do Elemento de Dados Ctg.dds
12. Inserir a descrio
13. Inserir o nome do domnio criado
14. Clicar na aba Denomin.campo para inserir os textos do campo
12
14
13
158
Criao do Elemento de Dados Denomim.campo
15. Inserir a descrio
16. Ativar o elemento de dados
16
15
159
Criao da Tabela SE11
17. Marcar o boto de rdio Tab. Banco dados
18. Inserir o nome da tabela (sempre comea com a letra Z)
19. Clicar no boto Criar
17
18
19
160
Criao da Tabela Entrega e atualizao
20.
21.
22.
23.
20
23
21
22
161
Criao da Tabela Campos
24.
25.
26.
27.
28.
28
25
27
24
26
162
Criao da Tabela Opes tcnicas
29.
30.
31.
32.
33.
33
29
30
31
32
163
Criao da Tabela ndice
34. Clicar no boto ndices... para abrir a janela de ndice
35. Clicar no boto Criar e selecionar a opo desejada para abrir a janela de identificao do
ndice
36. Inserir o cdigo de identificao do ndice
34
35
36
164
Criao da Tabela ndice
37)
38)
39)
40)
40
37
38
39
165
Criao da Tabela Categoria de Ampliao
41) No menu Suplementos, selecionar a opo Categoria de ampliao...
42) Selecionar a categoria de ampliao pretendida
43) Clicar em Aceitar
41
42
43
166
Viso
Os dados de uma viso so derivadas de uma ou
mais tabelas, mas no so armazenadas fisicamente.
Uma viso pode ser utilizado por um programa
ABAP para a seleo de dados.
O primeiro passo definir as tabelas bases
No segundo passo, essas tabelas devem ser
associadas atravs de condies Join
O terceiro passo definir os campos das tabelas base
que devero estar presentes na viso
O quarto passo definir as condies de seleo que
restringem os registros a serem apresentados na
viso
167
Viso
Existem quatro tipos de viso:
168
F2
F3
F5
F8
F1
F2
F3
F5
F8
Definio da viso no
banco de dados
F1
F2
F3
Tabela 1
F4
F5
Tabela 2
F6
F7
F8
Tabela 3
170
Viso de projeo
Viso de projeo utilizado para ocultar
campos de uma tabela.
A viso de projeo contm apenas uma tabela
base. No possvel definir condies de
seleo.
No h um objeto correspondente no banco de
dados para a viso de projeo.
possvel acessar tabelas clusters e pool com a
viso de projeo
171
Viso de atualizao
A viso de atualizao fornece um meio fcil de
atualizar objetos de aplicaes complexas.
Todas as tabelas de uma viso de atualizao devem
estar associadas com chaves estrangeiras, pois as
condies de join na viso de manuteno so
derivadas das chaves estrangeiras.
No possvel entrar as condies de join como a
viso de banco de dados.
O mecanismos de manuteno fornecido atravs
da transao SE54, para criar o programa de
manuteno e a transao SM30 para executar o
programa de atualizao.
172
Viso de atualizao
Objeto da
Aplicao
Viso de manuteno
nas tabelas
F1
F2
F3
F5
F8
F1
F2
F3
Tabela 1
Chave Estrangeira
F4
F5
F6
Tabela 2
F7
F8
Tabela 3
Chave Estrangeira
173
Viso de ajuda
A viso de ajuda utilizada na ajuda de
pesquisa.
O mtodo de seleo de uma ajuda de pesquisa
tabela ou viso.
Se for necessrio utilizar uma viso de banco de
dados, ser implementado a condio inner join.
Se for necessrio a condio outer join, a soluo
a viso de ajuda.
Todas as tabelas definidas na viso de ajuda
deve estar associadas com chave estrangeira.
174
175
Criao - Viso de banco de dados
1.
2.
3.
4.
4
1
176
Criao - Viso de DB tabelas/condies join
5.
6.
7.
8.
5
8
6
7
177
Criao - Viso de DB Campos Viso
9.
178
Criao - Viso de DB condio de seleo
10. Definir a condio de seleo
11. Ativar a viso
11
10
Estruturas
As estruturas so utilizadas para definir os
dados da interface dos module pools e telas e
para definir os tipo de parametros dos mdulos
de funo.
As estruturas possuem componentes que podem
referenciar a um tipo elementar (via elemento de
dados ou diretamente especificando o tipo de
dados e tamanho), outra estrutura ou uma
categoria de tabela.
As estruras podem possuir vrios nveis.
179
Ajudas de Pesquisa
A ajuda de pesquisa (F4) uma funo standard
do SAP.
Ele permite apresentar ao usurio uma lista de
possveis entradas para um determinado campo.
til quando um campo requer a entrada de um
valor formal.
180
182
183
Objeto de bloqueio
O R/3 sincroniza simultaneamente o acesso de
vrios usurios aos mesmos registros atravs de
mecanismos de bloqueio.
Os bloqueios so ativados e desativados atravs de
mdulos de funo.
Os mdulos de funo de bloqueio so criados
automaticamente pelo dicionrio de dados.
O objeto de bloqueio pode ter uma ou mais tabelas.
O nome do objeto de bloqueio deve comear com a
letra E.
184
CH1
Tabela 1
D1
Chave estrangeira
CH2
Tabela 2
CH3
Chave estrangeira
CH4
CH5
CH6
D3
Tabela 2
185
Tabela 2
CH2 CH3
1
1
2
1
2
2
3
1
3
3
D2
...
...
...
...
...
Tabela 3
CH4 CH5 CH6
1
1
A
2
1
A
2
1
B
2
1
C
2
3
A
2
3
B
3
1
A
D3
...
...
...
...
...
...
...
D4
...
...
...
...
...
...
...
186
187
188
189
Transaes
190
Exerccios
a) Criar as seguintes tabelas no SAP
Notas Fiscais de Entrada de Material para
Agrupamento com o nome: (Z##NFKGR)
Campo
Elemento de Dados
NUMDOC
J_1BDOCNUM
NFNUM
LIFNR
CGC_CPF
PRPRIO
Domnio
NUM 6
LIFNR
PRPRIO
PRPRIO
Elemento de Dados
NUMDOC
J_1BDOCNUM
ITNUM
J_1BITMNUM
MATNR
MATNR
MENGE
J_1BNETQTY
MEINS
PRPRIO
VALOR
J_1BNETPRI
MOEDA
PRPRIO
Domnio
CUKY 3
PRPRIO
191
Exerccios
b) Criar os relacionamentos entre as duas tabelas
do exerccio anterior e as tabelas SAP
c) Criar uma viso para listar os fornecedores e os
respectivos materiais comercializados pelos
mesmos.
192
193
Tpicos
ABAP Editor
ABAP Report
194
ABAP Editor
O ABAP Editor a ferramenta para a criao de
programas ABAP
A transao do ABAP Editor SE38
No ABAP Editor possvel:
Criar/Modifica/Visualizar o programa
Copiar e renomear o programa
Excluir o programa do sistema
Ativar o programa
Alterar as caractersticas do programa
Documentar o programa
Criar/Modificar/Visualizar os elementos de texto do
programa
195
10
196
4 5 6 7
9 10
11
12
1.
2.
3.
4.
Exibir/Modificar cdigo
Ativar/Desativar programa
Carregar outro programa
Pesquisar onde o programa
utilizado
5. Excluir o programa do
sistema
6. Copiar o programa
7. Renomear o programa
8. Depurar o programa
9. Depurar o programa com
variante
10.Gerenciar variante do
programa
197
198
ABAP Report
Caractersticas
As principais caracterticas de um ABAP Report
so:
um programa executvel
Possui tela de seleo, a qual definida atravs de
comandos ABAP
199
Texto fonte
Variantes
Caractersticas
Documentao
Elemento de Texto
200
201
Ttulo
Tipo de programa
Status
Aplicao
Grupo de autorizaes
Pacote
Banco de dados lgico
Verso tela seleo
Bloqueio do editor
Verificao unicode ativas
Aritmtica em ponto fixo
Incio com variante
203
204
Ttulo
Tipo de programa
Status
Aplicao
Grupo de Autorizaes
Pacote
Bloqueio do Editor
Report - Criao
1. Inserir o nome do programa
2. Selecionar Texto Fonte
3. Clicar no boto Criar
211
Report - Criao
1. Inserir uma descrio breve do programa
2. Determinar o tipo de programa
3. Clicar no boto Gravar
212
Report - Criao
4.
5.
6.
7.
Inserir o pacote
Clicar no boto Salvar
Inserir o nmero da change request
Clicar no boto Confirmar
4
5
6
213
214
Editor ABAP
1.
2.
3.
4.
5.
6.
Exibir/Modificar (CTRL+F1)
Ativar/Desativar o programa
(SHIFT+F8)
Verificar o cdigo (CTRL+F2)
Ativar o programa (CTRL+F3)
Executar o programa (F8)
Lista de Utilizao (CTRL+SHIFT+F3)
7.
8.
9.
10.
11.
12.
10
11
12
215
217
Modelo
O boto modelo uma ferramenta para inserir determinados
comandos como modelo, a modo de facilitar a codificao pelo
desenvolvedor.
219
Importar/Exportar cdigo
Importa/Exporta o cdigo fonte de/para um
arquivo texto.
220
221
Comando REPORT
Todo programa ABAP Report iniciado com o
comando REPORT.
A sintaxe do comando REPORT :
REPORT rep [list-options]
[MESSAGE-ID mid]
[DEFINING DATABASE ldb]
Comando REPORT
LINE-SIZE largura
Esta opo define a largura da linha da listagem com
a quantidade de caracteres definido em largura.
A largura mxima de 1023 caracteres.
Quando a opo LINE-SIZE no especificada, a
largura da listagem se ajustar automaticamente ao
tamanho da janela.
223
Comando REPORT
LINE-COUNT page_lines [(footer_lines)]
Esta opo define a altura da pgina em nmero de
linhas.
Se a opo LINE-COUNT no for especificada, a
altura definida internamente em 60.000 linhas
O parmetro footer_lines define o nmero de linhas
reservadas para o rodap da pgina.
224
Comando Report
MESSAGE_ID
A opo MESSAGE-ID para especificar a classe de
mensagens, a qual permite facilitar o uso do comando
MESSAGE, na qual somente o tipo e o nmero da
mensagem so especificados.
226
227
Tela de Seleo
Tela de seleo
A tela de seleo fornece uma interface
padronizada para os usurios.
Os usurios podem inserir valores simples ou
complexos.
As opes de entrada so campos, radio-buttons
e check-boxes.
228
230
232
Exemplo
PARAMETERS: VALUE TYPE I DEFAULT 100,
NAME LIKE SY-UNAME DEFAULT SY-UNAME,
DATE LIKE SY-DATUM DEFAULT 20090127'.
233
234
235
236
237
F4
238
239
240
241
243
244
245
247
LOW
O tipo de dados do campo LOW do mesmo tipo do tipo de
coluna da tabela de banco de dados a qual a tabela de seleo
est associada.
Se o campo HIGH estiver vazio, o contedo do campo LOW
define uma simples comparao de campo. Em combinao
com o operador especificado no campo OPTION,
especificado uma condio para a seleo do banco de dados.
248
249
250
SIGN
I
OPTION
EQ
LOW
AA
HIGH
SIGN
I
OPTION
EQ
LOW
AA
HIGH
LH
OPTION
EQ
GE
BT
BT
LOW
AA
AF
DL
AS
HIGH
LH
UA
253
OPTION
EQ
BT
LOW
FC
SQ
HIGH
SR
254
255
256
257
258
259
260
261
262
263
264
265
267
268
269
Eventos
Eventos
Quando um programa
executvel acionado, o
fluxo do programa
controlado pelos eventos
externos no ambiente de
execuo ABAP.
O diagrama apresenta a
seqncia dos eventos:
Incio
INITIALIZATION
AT SELECTION-SCREEN
START-OF-SELECTION
END-OF-SELECTION
270
Eventos
O evento AT SELECTION-SCREEN s
processado se uma tela de seleo definido no
programa. Os outros eventos so acionados
quando qualquer programa executvel
acionado.
Bem como esses eventos, h outros eventos que
podem ser acionados quando quando uma
listagem criada (TOP-OF-PAGE, END-OFPAGE) e em listas interativas (AT LINESELECTION, AT USER-COMMAND)
271
Eventos - Descrio
INITIALIZATION
Esse evento acionado antes do processamento da
tela de seleo. Pode ser utilizado para inicializar
os valores dos parameters e select-options da tela
de seleo.
272
Eventos - Descrio
AT SELECTION-SCREEN
Esse evento a forma bsica de toda
uma srie de eventos que ocorrem
enquanto a tela de seleo est sendo
processada
A tela de seleo em um programa
executvel automaticamente
chamado entre os eventos
INITIALIZATION e START-OFSELECTION. Quando a tela de
seleo chamada e o usurio
interage com ela, o ambiente de
execuo ABAP cria os eventos de
seleo, os quais ocorrem entre os
eventos INITIALIZATION e STARTOF-SELECTION.
273
Eventos - Descrio
START-OF-SELECTION
Este evento executado depois do processamento
da tela de seleo. Pode ser utilizado para
preparar a leitura e preparao dos dados para a
criao de uma lista.
END-OF-SELECTION
Este o ltimo evento chamado pelo ambiente de
execuo. ativado depois que todos os dados
tenham sido lidos e processados e antes que o
processador de listagem seja iniciado.
274
EXIT
Ao utilizar o comando EXIT, o ambiente de execuo no
chama mais nenhum evento e chama o processador de
listagem para apresentar a listagem bsica.
275
CHECK
O comando check utilizado junto com uma lgica
de teste. Se a condio for falsa, o evento
finalizado.
276
277
Module Pool
Module Pool so programas que funcionam online, ou seja, instantaneamente
Maior capacidade de customizao de telas e
maior flexibilidade de criao de interface para o
usurio
til na criao de aplicaes que necessitam de
subtelas ou fornecer informao de forma
diferente de um relatrio.
278
Estrutura do programa
Modulo PBO Screen 1
Screen 1
Modulo PAI Screen 1
Screen 2
Modulo PAI Screen 2
279
Screen
Desenho da Tela
Lista de campos para tratamento de erros
Definio dos mdulos PBO e PAI relacionados
com a tela
280
Screen - Caractersticas
Definio do nome
da tela, tipo de tela e
tamanho
281
282
Flow Logic
O Flow Logic a rea responsvel pelo controle
do fluxo da tela
Nessa rea especificado os eventos PBO, PAI e
POV
rea
Flow Logic
283
Flow Logic
Comandos do Flow Logic
O flow logic s aceita os comandos abaixo
CALL
CHAIN
ENDCHAIN
ENDLOOP
FIELD
LOOP
MODIFY
MODULE
ON
PROCESS
SELECT
VALUES
284
Flow Logic
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
PROCESS ON VALUE-REQUEST.
MODULE USER_COMMAND_0100.
285
Screen Painter
O screen-painter uma ferramenta do ABAP
Workbench que permite a criao de telas para
uma transao
utilizado para criar telas com campos ou outro
elemento grfico e codificar a lgica do fluxo por
trs da tela
286
Screen Painter
Janela de
Atributos
Barra de
Elementos
rea de trabalho
Palheta de
Elementos
287
Palheta de Elementos
Campo Texto
Insere um campo de sada de texto, o qual
utilizado como ttulo de um objeto como um
campo de entrada e sada
288
Palheta de Elementos
Campo de Entrada/Sada
um campo utilizado para a entrada de dados
pelo usurio
289
Palheta de Elementos
Campo de Entrada/Sada
Pode ser utilizado como um campo de texto
dinmico, ou seja, atravs de programao o valor
do texto atribudo dinamicamente.
Campo de Sada
Campo de Entrada
290
Palheta de Elementos
Campo de Seleo
Campo utilizado para o usurio escolher uma ou
mais opo
Quando o campo estiver marcado, o valor
transferido varivel atribuda ao campo de
seleo X. O tipo de varivel CHAR de uma
posio.
291
Palheta de Elementos
Boto de Rdio
Utilizado para fornecer ao usurio opes. Ex.:
Sim/No, Aprovado/Reprovado
O usurio s pode escolher uma opo
Os campos devem ser agrupados para que o boto
funcione
O tipo de dado da varivel atribuda ao campo
CHAR de uma posio
292
Palheta de Elementos
Boto
O boto um objeto para a execuo de uma
rotina
Para que o processador ABAP reconhea que um
boto foi pressionado, o boto tem uma
propriedade chamada cdigo de funo.
O cdigo de funo transferido para a varivel de
sistema SY-UCOMM para que o programador
possa criar uma rotina
O evento acionado pelo boto o evento PAI da
tela onde o boto foi criado
293
Palheta de Elementos
Controle de Fichas
Os campos podem ser organizados por
fichas(abas, guias)
O nico objeto que pode ser inserido nas fichas
subtela
Cada ficha um boto, o qual assume as mesmas
caractersticas do boto (cdigo de funo), com a
adio do campo de referncia, que o nome
tcnico da subtela a ser adicionada na ficha
294
Palheta de Elementos
Controle de Fichas
Boto
Subtela
SCR_01
295
Palheta de Elementos
Controle de Fichas (Wizard)
O controle de fichas pode ser criado atravs de um
assistente
De acordo com as opes escolhidas pelo
desenvolvedor, o sistema ir criar
automaticamente as rotinas nos eventos PAI e
PBO
296
Palheta de Elementos
Quadro
O quadro ou moldura uma ferramenta para que
o usurio possa organizar a tela
O quadro pode ter ttulo ou no
Quadro
297
Palheta de Elementos
rea de Subtela
rea de subtelas so reas que podem conter uma
determinada subtela
A vantagem a reutilizao de subtelas entre
vrias telas
298
Palheta de Elementos
Table Control
Table Control uma tabela que permite que os
dados sejam mostrados e manipulados na forma
de uma tabela
299
Palheta de Elementos
Table Control (Wizard)
O table control pode ser criado atravs de um
assistente
De acordo com as opes escolhidas pelo
desenvolvedor, o sistema ir criar
automaticamente as rotinas nos eventos PAI e
PBO
300
Palheta de Elementos
Container
Container uma rea de tela onde pode ser
adicionado uma caixa de texto ou uma tabela ALV
atravs de ABAP Objects
301
Palheta de Elementos
cone Status
um elemento de tela utilizado para representar o
estado de um programa graficamente.
O nome tcnico deve ser o mesmo do texto do tipo
ICONS do dicionrio de dados
302
Status GUI
303
Title GUI
304
Evento PBO
Evento executado antes da exibio da tela para
o usurio:
Definio do GUI Status e GUI Title para a tela
correspondente
Seleo inicial de dados e atribuio de valores a
serem exibidos na tela
305
Evento PBO
*&---------------------------------------------------------------------*
*&
Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*
Mdulo PBO
*
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'TELA100'.
SET TITLEBAR 'Z10'.
ENDMODULE.
306
Evento PAI
Evento executado aps um comando do usurio
(enter, click de um boto, etc...)
Verificao do cdigo de comando executado
(definido no GUI Status)
Cdigo ABAP para execuo da lgica do comando
307
Evento PAI
*&---------------------------------------------------------------------*
*&
Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*
Mdulo PAI
*
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'EXIT'.
SET SCREEN 0.
LEAVE SCREEN.
ENDCASE.
ENDMODULE.
" USER_COMMAND_0100 INPUT
308
309
Subtela
A Subtela uma rea na Tela onde podemos variar
os campos conforme a necessidade, no deixando
fixo os campos numa tela e no havendo
necessidade de replicar alguns campos e vrias
telas.
Podemos dividir a definio da Subtela em 2 Partes:
Tela de Origem: onde definimos uma rea especfica
para chamada da Subtela
Subtela: Tela onde sero definidos os campos da
Subtela
310
Subtela
Na criao da Tela em que ser feita a referncia
Subtela, criamos uma rea especfica para esta
Subtela.
rea para Subtela
311
Subtela
Definies da Subtela
A Subtela (ou
Subscreen)
definida nas
caractersticas da
Tela.
312
Subtela
Tela de Origem
Na PBO (PROCESS BEFORE OUTPUT) dever existir um comando para a execuo desta subtela, sendo:
PROGRAMA Nome do Programa onde se encontra a Subtela. Normalmente, se refere ao mesmo programa da
Tela Normal
Quando este comando executado, a PBO desta Subtela executada, com todas as rotinas definidas nela.
Na PAI (PROCESS AFTER INPUT) dever existir um comando para a execuo desta subtela, sendo:
Onde:
Quando este comando executado, a PAI desta subtela executada, com todas as rotinas definidas nela.
A Subtela no tem PF-STATUS definido, utiliza-se as definies da Tela de Origem, de onde est sendo executada
a Subtela.
313
TabStrip
O Tabstrip apropriado para estruturar
aplicaes complexas e exibir as respectivas
possibilidades de navegao. Este deve ser usado
onde seja possvel acessar livremente diferentes
subobjetos de uma aplicao.
O Tabstrip no pode ser definido se:
O processamento dos subobjetos so concebidos
como aplicaes independentes;
O ambiente do TabStrip (menus, botes, dados de
cabealho, etc.) no pode ser mantido constante.
314
Tabstrip
Definies na tela
rea para Tabstrip
Boto para
Criar Tabstrip
Subtela da
Tabstrip
315
316
Processo
O processo de batch input dividido em duas
partes:
O programa de transferncia de dados cria uma
sesso batch input que possui todos os dados
relevantes
A sesso batch input processada e o dado
transferido para o sistema R/3
318
Tipo de processamento
A sesso de batch input pode ser processada de
trs tipos:
Primeiro plano (foreground)
Plano de fundo (background)
Em plano de fundo, mas apresenta a tela com o
erro ocorrido
319
Sistema R/3
Banco de
Dados SAP
Dados
Externos
X
Sistema R/3
Verificaes
Banco de
Dados SAP
Dados
Externos
320
X
Sesses
Batch Input
Transao
Sesses
Batch Input
321
Queue
SAP R/3
Clientes
Fornecedores
Material
322
Estrutura
BDCDATA
Dicionrio
ABAP
Tabela BDC
INCLUDE STRUCTURE
CALL
FUNCTION
Queue
323
Banco de
dados SAP
Queue
Batch Input
Transao 1
Tela 1
Tela 2
Transao 2
Tela 1
Arquivo de
Log
Tela 2
SAP R/3
Clientes
Fornecedores
Material
324
Cabealho da Sesso
Transao
Fechar Sesso
325
Inserir os dados
das transaes
Fechar a sesso de
Batch Input
326
CLIENT
GROUP
HOLD
KEEP
USER
BDC_INSERT
Cdigo da Transao
Tabela BDC
TCODE
DYNPROTAB
BDC_CLOSE_GROUP
327
329
Tabela BDC
Nome do programa Nmero da tela ID Incio
PROGRAM
DYNPRO
DYNBEGIN
SAPLMGMM
0060
X
SAPLMGMM
0070
Nome do campo
FNAM
Contedo do campo
FVAL
BDC_CURSOR
BDC_OKCODE
RMMG1-MATNR
RMMG1-MBRSH
RMMG1-MTART
RMMG1-MATNR
/00
MH00046468111
M
ERSA
BDC_CURSOR
BDC_OKCODE
MSICHTAUSW-KZSEL(01)
MSICHTAUSW-KZSEL(04)
MSICHTAUSW-DYTXT(17)
=ENTR
X
X
330
331
Estrutura BDCDATA
332
333
334
336
337
338
339
340
Defeituosa
A ser
processada
Em criao
Em processamento
Background
Bloqueado
341
342
343
344
OK code
/n
/bdel
/bend
/bda
/bde
345
Sumrio
Batch Input um procedimento automtico
adequado para processamento de dados de massa.
usando primariamente na instalao do sistema SAP
e na transferncia do sistema legado (sistema
externo).
No desenvolvimento, o dado a ser transferido deve
existir no formato apropriado da tela. Tambm
necessrio utilizar os mdulos de funo
apropriados para criar uma sesso executvel em
um arquivo intermedirio (queue).
As sesses so executadas atravs da transao
SM35.
346
347
348
Overview
Batch Input
Arquivo
Sequencial
Call Transaction
Arquivo
Sequencial
Tabela BDC
QUEUE
Tabela BDC
Call
Transactio
n
Funo da Aplicao
Funo da Aplicao
Banco de
Dados SAP
Banco de
Dados SAP
349
Permite o debug
Tcnica de Atualizao
S
Sncrono - No continua o
processamento at que a atualizao
seja finalizada
Assncrono - Continua o
processamento imediatamente
350
Significado
Sucesso
<1000
>1000
Campos de sistema
Nome do campo
SY-MSGID
SY-MSGTY
SY-MSGNO
SY-MSGV1
SY-MSGV2
SY-MSGV3
SY-MSGV4
Significado
ID da mensagem
Tipo da Mensagem
Nmero da Mensagem
Varivel da mensagem 1
Varivel da mensagem 2
Varivel da mensagem 3
Varivel da mensagem 4
351
Sada da mensagem
REPORT ZMMR0001.
...
CALL TRANSACTION MM01
USING TI_BDCDATA
MODE N
UPDATE S
MESSAGES INTO TI_MESSAGES.
MESSAGE ID SY-MSGID
TYPE SY_MSGTY
NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2
SY-MSGV3 SY-MSGV4.
...
352
Sumrio
O call transaction uma alternativa ao batch
input. A transferncia de dados
particularmente mais rpido pois o arquivo de
queue evitado (sem gerao de sesso).
353