Escolar Documentos
Profissional Documentos
Cultura Documentos
Dicionário de Dados
Ambiente de Desenvolvimento
Objetivos do Curso
Este curso tem por objetivos dar uma visão geral do Dicionário de Dados.
Dicionário de Dados
Ambiente de Desenvolvimento
Índice
• Visão Geral do Dicionário de Dados................................................................................................................ Pag. 004
• Transação SE11 – Dicionário de Dados e seus Data Objects ..................................................................... Pag. 008
• Observações técnicas a serem feitas quando se acessa uma tabela......................................................... Pag. 106
• O que acontece quando alteramos uma Tabela do Banco de Dados ......................................................... Pag. 163
Dicionário de Dados
Ambiente de Desenvolvimento
Visão Geral
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Visão Geral
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Visão Geral
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Visão Geral
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Dicionário de Dados – SE11
Dicionário de Dados
Ambiente de Desenvolvimento
Dicionário de Dados – SE11
Para Criarmos
Domínios
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Dicionário de Dados – SE11
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Dicionário de Dados – SE11
Nesta coluna
entramos com nomes
de campos.
Nesta coluna
entramos com os
respectivos Data
Element.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Dicionário de Dados
Dicionário de Dados
Ambiente de Desenvolvimento
Dicionário de Dados
Dicionário de Dados
Ambiente de Desenvolvimento
Dicionário de Dados
Dicionário de Dados
Ambiente de Desenvolvimento
Dicionário de Dados
Dicionário de Dados
Ambiente de Desenvolvimento
Dicionário de Dados
Dicionário de Dados
Ambiente de Desenvolvimento
Dicionário de Dados
Portanto Definições de
Estruturas, assim como de
Tabelas poderão ser
utilizados em programas
para definirmos campos,
áreas de trabalho para
manipulação de dados.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura
Sub-estruturas, ou
seja, uma estrutura
onde uma campo é
outra estrutura.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura
Dicionário de Dados
Ambiente de Desenvolvimento
Na SE11, poderemos
também definir um Pool de
Tipos, Atributos Técnicos.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura
Uma Tabela
definida no
Dicionário de
Dados, possui
campos chave
primária que
identificam uma
informação e é o
principal acesso
para os demais
campos que serão
secundários.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura
Todo Data
Element
Toda tabela opcionalmente
possui poderá ter um
campos e o domínio onde
definimos seu
conjunto
atributo, ele se
de campos torna
determina obrigatório se
seu layout desejarmos
definir valores
Todo campo, possíveis para
obrigatoriamente possui um um campo.
Data Element, através do
qual definimos a sua
descrição e seus atributos
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura
Layout
Todo campo
possui um
Data Element,
obrigatoriamente,
que é um objeto
independente e
que pode ser
compartilhado
por outros
campos de outras
tabelas.
O Domínio é um objeto independente , onde definimos os atributos de uma campo e suas
possíveis entradas, este objeto poderá ser compartilhado por outros Data Elements.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura
Diferença entre Tabela e Estrutura definidos no Dic. de Dados, ao ativarmos uma definição,
quando se tratar de uma tabela o R3 vai no Banco de Dados e cria fisicamente um arquivo para
acomodar os registros enquanto que uma estrutura é apenas uma sequência de campos ,Layout.
Ambas as definições poderão ser usadas em um programa ABAP como sequencia de campos.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura
Data Element
Como podemos observar, tanto uma Tabela quanto uma Estrutura são uma sequencia
de campos, Layout, onde casa campo tem seu Data Element obrigatoriamente, mas a
diferença gritante é que quando se trata de uma tabela, temos que definir ao menos
um campo como sendo chave primária e uma outra observação que podemos fazer é
que toda tabela que tem como primeiro campo um MANDT, esta tabela é dependente
de Client e se não possuir este campo , a tabela é independente de Client .
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura
Dicionário de Dados
Ambiente de
Tabela e Estrutura - Exemplos
Desenvolvimento
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura - Exemplo
Na composição do
layout, temos um include
de uma estrutura.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura - Exemplo
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura - Exemplo
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura - Exemplo
Descrições, pequena,
média, grande ou do
tamanho que necessitar
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura - Exemplo
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura - Exemplo
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura - Exemplo
Retornar
tela
anterior
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura - Exemplo
No Layout do Cad. De
Clientes, podemos
observar também que na
sua composição temos
um include, que se
clicarmos sobre ele,
veremos a sua definição.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura - Exemplo
Portanto, todos
estes campos fazem
parte do layout do
cadastro de Clinetes
KNA1
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura - Exemplo
Vamos agora
analisar o Domínio
do campo EXABL,
para isso teremos
que dar um double
click sobre seu Data
Element
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura - Exemplo
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura - Exemplo
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela e Estrutura - Exemplo
Dicionário de Dados
Ambiente de Desenvolvimento
Exercício 2 – Analise a Tabela EKKO –
Pedidos de Compras SAP, anote quais os
campos chave primária desta tabela, veja se
é uma tabela dependente de client ou não,
veja também se a tabela possui includes e
qual o nome deles. Veja quais descrições o
campo BSART utiliza e seu domínio. Veja
também, quais as possíveis entradas para o
campo LOEKZ. Anote todos os resultados e
como chegou até eles.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela – Especificações Técnicas
Academia SAP ABAP
Gplux Treinamento SAP
Sobre a
Bufferização de
Tabelas,
falaremos mais
adiante
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela – Especificações Técnicas
TableSpaces, são
as área que
temos em disco
onde
pretendemos,
acomodar
determinados
tipos de arquivos,
esta divisão pode
ser feita por
exemplo por
drives mais
lentos/rápidos ,
maior/menor
capacidade de
armazenamento
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela – Especificações Técnicas
Dentro das
tableSpaces
temos o Data
Class, que são
as áreas onde
temos
acomodados as
nossas tabelas e
aqui temos que
tomar alguns
cuidados.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela – Especificações Técnicas
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela – Especificações Técnicas
Size category
é uma campo
através do
qual
definiremos o Uma Tabela
tamanho da mal
tabela, isto dimencionada
significa que poderá
devemos fazer acarretar em
uma boa perda de
estimativa da performance
qtde de ou até
registros que desperdício de
irá comportar. espaço.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela – Especificações Técnicas
Temos também
um campo onde
poderemos
definir LOG, isto
significa que se
qualquer campo
sofrer
alterações,
haverá um log
com data,
usuário,
conteúdo
anterior e atual.
Devemos ter cuidado com isso, pois poderá ser um gargalo e teremos
problemas de performance também, o sistema gravará tudo numa tab.
Chamada CDHDR e CDPOS.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela – Especificações Técnicas
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela – Especificações Técnicas
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela – Especificações Técnicas
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela – Especificações Técnicas
Dicionário de Dados
Ambiente de Desenvolvimento
Visão Geral
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exercício 3 – Analise as Technical Selltings
das Tabelas KNA1 - Cadastro de Clientes
SAP e EKPO - Itens de um Pedido de
Compras SAP.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela – Outros Tipos de Tabelas
No SAP hoje
só podemos
Mas existem
desenvolver
ainda hoje
tabelas do
Tab. Do tipo
tipo
Clustes e Poll
Transparente
de Releases
antigos.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela – Outros Tipos de Tabelas
Cluster é
uma tabela
com layout
variável
para
diversas
tabelas.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela – Outros Tipos de Tabelas
Pooled
Table é uma
Tabela que
incorpora
outras
tabelas,
onde o
nome da
tabela faz
parte do
campo
chave.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Tabela – Outros Tipos de Tabelas
Ambos os tipos de tabelas foram abandonados pela série de deficiência que oferecem comparados
a uma Tansparent Table, como não permitir índices secundários, acessos por Join, agrupados,
ordenados e também não permitirem APPENDS de novos campos por parte do cliente.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Na sequência clicamos
na pasta FIELDS e
começamos a def. o
layout.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Na sequência o sistema
pergunta se deseja salvar o
que foi feito até então e eu
confirmo com YES, na
sequência vem o Pacote e a
Request para transporte.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Após a def.inidos os
Atributos, clicamos em
Filed Label onde
faremos a Descrição
para o campo.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Nova sequência de de
desenvolvimentos, double
click sobre o Data Element.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Após Salvar,
determinar pacote e
request, vamos
agora criar os
atributos através do
Dominio, double
Click.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Posteriormente
vem a famosa
pergunta, se Após definir a
deseja criar o descrição do objeto
objeto e eu Domínio, vamos na
respondo com sequência definir seu
YES. atributo.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Depois de definirmos
também o tamanho e
quantidade de decimais,
vamos então salvar e
ativar, determinando o
pacote e a request.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Ao retornar para a
tela do Data
Element, ativar o
objeto e Retorne
mais uma vez.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Depois de definir
todas as
descrições, Salvar,
determinar o
pacote e a
Request, vamos
dar double click
sobre o Domínio e
definí-lo.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
OPA, VERMELHO,
Erro Grave, vamos
ver do que se
trata, tudo
amarelo, então
Agora QUASE tudo está OK.
pronto, vamos
ATIVAR e ver no
que vai dar.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
No Layout da nossa tabela, temos dois campos que o sistema está criticando, um
campo Valor e um campo Quantitativo , clique em Currency/Quantity Fields.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
O sistemas quer saber, como se trata de O sistemas quer saber, como se trata de um
um campo valor monetário, dimdim, o campo QUANTIDADE, o valor dentro deste
valor dentro deste campo é referente a campo é referente a qual Unidade de Medida,
qual moeda, portanto ele deseja um portanto ele deseja um campo com o código
campo código de moeda, que poderá estar da unidade de medida, que poderá estar na
na mesma tabela ou eu uma outra tabela mesma tabela ou eu uma outra tabela do
do sistema . Como o SAP trabalha com sistema . Como o SAP trabalha com várias
várias moedas, não poderíamos somar por unidades de medida, não poderíamos somar
ex. REAL com DOLAR com EURO, etc... por ex. PEÇA com KILO com BARRA, etc...
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Agora sim,
tudo amarelo,
tudo BELEZA,
nossa tabela
foi ativada.
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Vamos preenchendo
todos os campos e
clicamos em SAVE, e
assim vamos criando
registros em nossa
tabela e vemos o
comportamento das
nossas definições
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Dicionário de Dados
Ambiente de Desenvolvimento
Exemplo para criação de Tabela
Na sequência,
aparece o
relatório com os
registros
Tela de filtro para desejados.
restringir o
processamento se
for necessário e
clique em EXECUTE.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exercício 4 – Criar uma Tabela chamada ZFOR_## - Cad. De Fornecedores
No Seus Technical Settings teremos o Data Space APPL0, Size Category 0, Sem Buffer e sem LOG.
Campos Data Element Domínio Valores Possíveis
Dicionário de Dados
Ambiente de Desenvolvimento
Exercício 5 – Criar uma Tabela chamada ZPED_## - Cad. De Pedidos de Compras
No Seus Technical Settings teremos o Data Space APPL0, Size Category 0, Sem Buffer e sem LOG.
Campos Data Element Domínio Valores Possíveis
Key MANDT MANDT
Key NumPed ZnumPed## ZnumPed## NumC. 6 111000 – 111999
CodFor LIFNR
qtdeItens ZqtdeIt## ZqtdeIt## NumC 2 01 – 10
TotPed Ztotped## Ztotped## CURR 13, 2 decimais
StatusPed ZstatusP## ZstatusP## NumC 1. 0-Ped. Pendente
1-Ped. Parc.Entregue
2-Ped. Tot. Entregue
8-Ped. Bloqueado
9-Ped. Cancelado
codcomp zcompr## zcompr## char 1 A-Mario
B-Silvana
C-José
D-Silvino
E-Raquel
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Ambiente de Desenvolvimento
Exercício 6 – Criar uma Tabela chamada ZIT_## - Cad. Itens de Pedidos de Compras
No Seus Technical Settings teremos o Data Space APPL0, Size Category 0, Sem Buffer e sem LOG.
Campos Data Element Domínio Valores Possíveis
Key MANDT MANDT
Key NumPed ZnumPed## ZnumPed## NumC. 6 111000 – 111999
Key ItemPed ZItem## ZItem## NumC. 2 01 - 10
qtdeMat ZqtdeMat## ZqtdeMat## QUAN, 6, 2 decimais
UnidMed BSTME
Preco Zpreco## Zpreco## CURR 13, 2 decimais
CodMat MATNR
langu SPRAS
StatusItem ZstatItem## ZstatItem## Char 1. A-Item. Pendente
B-Item. Parc.Entregue
C-Item. Tot. Entregue
Y-Item. Bloqueado
Z-Item. Cancelado
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Performance During Table Access
Quando se
acessa uma
tabela do banco
de Dados,
normalmente
fazemos este
acesso pelo que
definimos como
chave principal,
ou seja, chave
primária.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Performance During Table Access
Porem hoje em dia, com a modernidade
que o banco de danos nos oferece,
poderemos acessar a nossa base por
qualquer campo secundário, ou seja, campo
não declarado como chave primária, para
não termos problemas de performance,
precisamos observar algumas situações,
como;
Qual tamanho da tabela, ela possuirá mais
de 1000 registro ?
Se sim, temos um índice secundário que dê
suporte ao Banco de Dados ?
Com que frequência este programa será
executado no seu dia a dia ?
Teremos que ter respostas para todas estas
perguntas, pois índice secundário ocupa
espaço em disco e quem procura pelo
melhor acesso é o Optimizer do Banco de
Dados, se não dermos suporte, ele fará um
Full Scan, ou seja, lê a base toda.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Performance During Table Access
6 a 800 ms
2
3
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Performance During Table Access
Quando optamos em
Technical Settings por
Full Buffering, significa
que todos os registros
da tabela será
Bufferizadas e quando
isso acontece. A
Bufferização se dá no
momento que o
sistema entra no ar e as
pessoas começam a usar
os programas, no
momento que acontecer
o primeiro acesso o
sistema checa os
parâmetros da tabela e
começa a fazer a
bufferização. Pelo que
vimos, o que poderemos
então Bufferizar ?
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Performance During Table Access
Dicionário de Dados
Performance During Table Access
Dicionário de Dados
Performance During Table Access
Dicionário de Dados
Performance During Table Access
Dicionário de Dados
Performance During Table Access
Todo servidor de
aplicação, onde
roda o R3,
podemos ter
mais de um em
nossa
configuração,
tem seu próprio
Buffer.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Performance During Table Access
Dicionário de Dados
Performance During Table Access
Os Buffers então
são carregados
conforme os
usuários forem
utilizando os
aplicativos /
programas.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Performance During Table Access
Este Buffer
então ficará
desatualizado,
pois no outro
servidor houve
uma deleção.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Performance During Table Access
Neste exemplo
agora, alguém
deseja ler este
registro que no
outro servidor,
através de
programa havia
sido excluído, o
que o sistema
fará, pois o
Buffer esta
desatualizado.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Performance During Table Access
O sistema
nora então
através da
Tabela de
Sincronismo
que houve
uma
alteração de
imagem
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Performance During Table Access
Portanto o sistema
então terá que
atualizar o Buffer
deste servidor para
que todos os Buffers
estejam com a mesma
informação . Então
como vimos,
Bufferizar tabelas não
é uma coisa assim tão
simples, deve ser bem
criterioso, pois ao
invés de melhorarmos
a performance,
poderemos
comprometer ainda
mais os tempos de
resposta.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Performance During Table Access
Dicas para
seguirmos um
roteiro se
devemos ou
não bufferizar
uma tabela. Em
resumo tabelas
pequenas com
poucos
registros, com
muita leitura e
pouca
alteração.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Performance During Table Access
Exercício 7 – Verificar os Technical Settings das tabelas EKKO, T001 e T100.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Como já visto
anteriormente,
podemos definir
consistências no
domínio de um
campo, através de
Valores Fixos,
Intervalos ou contra
uma tabela.
Intervalos
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Dicionário de Dados
Input Checks
Vamos ao
exemplo, aqui
temos uma tela
onde o usuário
digitou estas
informações,
pergunta, será que
o sistema aceitará
estes dados, uma
vez que haverá
uma consistência
contra a tabela
SCOUNTER ?
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Esta informação
não será aceita,
por ser
inconsistente,
AA + 00000008
não consta na
Tabela SCOUNTER
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Como definir
então uma
consistência
assim ?
Bem, alem de
definirmos a
Value Table no
domínio do
campo COUNTER,
precisamos ainda
definir a chave
estrangeira para
este campo,
assim efetivamos
esta consistência.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Portanto é assim
que definimos
uma consistência
contra uma
tabela, alem de
preencher o
campo Value
Table no
respectivo
domínio do
campo, temos
ainda que definir
a chave
estrangeira.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Dicionário de Dados
Input Checks
Pergunta, mas se em
comum devem ter o mesmo
domínio, então só posso
consistir contra a tabela que
constar no campo
Value Table ?
Resposta, NÃO, como
neste exemplo, quando for
gerar a chave estrangeira,
posso não aceitar o Default,
posso direcionar a
consistência contra uma
outra tabela, como neste
exemplo contra a tabela
STRAVELAG, mas o pré-
requisito continua o
mesmo, ou seja,
MESMO DOMÍNIO.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Exemplo no Sistema
Posteriormente clicamos em
Foreign Keys, para efetivarmos
a consistência.
Dicionário de Dados
Input Checks
Exemplo no Sistema
Clico em YES
para aceitar a
consistência
contra a
tabela LFA1
Dicionário de Dados
Input Checks
Exemplo no Sistema
Um dos campos
que temos que
definir é a
CARDINALIDADE,
que é
representada pelo
m:n
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Exemplo no Sistema
m
1 Significa o que for ser digitado no campo
LFA1 ZTAB_EXEMPLO FORNECEDOR, obrigatoriamente deverá
existir na Tabela LFA1.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Exemplo no Sistema
m
C Significa o que for ser digitado no campo
LFA1 ZTAB_EXEMPLO FORNECEDOR, tanto faz como fez se existir
ou não na Tabela LFA1.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Exemplo no Sistema
n
LFA1 ZTAB_EXEMPLO
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Exemplo no Sistema
n
LFA1 ZTAB_EXEMPLO
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Exemplo no Sistema
n
LFA1 ZTAB_EXEMPLO
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Exemplo no Sistema
n
LFA1 ZTAB_EXEMPLO
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Exemplo no Sistema
Dicionário de Dados
Input Checks
Exemplo no Sistema outra situação
Dicionário de Dados
Input Checks
Exemplo no Sistema outra situação
Dicionário de Dados
Input Checks
Exemplo no Sistema outra situação
Dicionário de Dados
Input Checks
Exemplo no Sistema outra situação
Dicionário de Dados
Input Checks
Exemplo no Sistema outra situação
Pode acontecer que ao gerar uma chave estrangeira a
minha tabela não ter todos os campos correspondente
para fazer o acesso de verificação, daí o campo viria
em BRANCO, o que posso fazer ?
Dicionário de Dados
Input Checks
Outra Situação de Consistência
Quando temos
campos com textos
em nossas tabelas,
devemos cadastras
os textos conforme
linguagem, pois o
SAP tem a
linguagem LOGON
e os textos deverão
ser apresentados
de acordo com esta
linguagem.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Exercício 8 – Definir as chaves estrangeiras para as nossas tabelas, onde
efetivaremos uma consistência sobras as tabelas da SAP.
LFA1 ZFOR_##
CODFOR
CODMOE
TCURC
ZPED_##
NUMPED
CODFOR
ZIT_##
T006 NUMPED
MARA UNIDMED
CODMAT
LANGU
T002
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Input Checks
Exercício 9 – Após a conclusão da definição das chaves estrangeiras, vá para o
nosso utilitário SE16, elimine os registro lá existente e cadastre novos registros para
as respectivas tabelas, 5 Fornecedores, 5 Pedidos e uma média de 3 itens por
pedido. Pode cadastras 1 item para um pedido, 5 ou mais itens para outro pedido e
conforme definição, máximo de 10 itens para um pedido.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Object Dependencies
Bem, toda
alteração que
promovermos
a nível de
dicionário de
dado, só passa
a ser válido
quando
ativamos o
objeto.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Object Dependencies
QUANDO
ativamos
então, como o
ABAP por
exemplo é uma
linguagem
interpretada
ele passa a
trabalhar com
a última versão
ativa de um
objeto definido
no
Dic. de Dados.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Object Dependencies
Não podemos
então esquecer,
que um programa
pode se referenciar
a uma Tabela, uma
Estrutura ou campo
de uma Tabela,
campo de uma
Estrutura ou a um
Data Element.
Assim como um
Data Element pode
utilizar um
Domínio ou uma
campo de Tabela
ou de Estrutura
utilizar um Data
Elemet
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Object Dependencies
Porque
precisamos
saber e conhecer
estas
dependência ?
Porque temos
um utilitário
chamado SE84
através do qual
poderemos
promover
pesquisas no
sistema, afinal
não conhecemos
nada a respeito
do SAP.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Object Dependencies
Dicionário de Dados
Object Dependencies
Exemplos
Vamos então
conhecer a
SE84
Selecionaremos o
ABAP Dictionary
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Object Dependencies
Exemplos
Dicionário de Dados
Object Dependencies
Exemplos Aqui neste exemplo, estou pesquisando se
tenho no sistema alguma tabela definida
com as iniciais ZTAB*
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Object Dependencies
Exemplos
Selecionando um objeto,
posso querer saber maiores
detalhes, basta clicar em
Display.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Object Dependencies
Exemplos
Neste exemplo
vou pesquisar
todos os
data elements
que começam co
Z* e
desenvolvidos
pelo usuário
Uma observação biskampe, depois
muito IMPOSTANTE,
de preenchidos
clicando neste
ICONE, nós os campos, clico
expandimos a tela de em EXECUTE.
filtro para outros
argumentos de
pesquisa.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Object Dependencies
Exemplos
Dicionário de Dados
Object Dependencies
Exemplos
Dicionário de Dados
Object Dependencies
Exemplos
Ao clicar em
Where-used List,
aparece esta janela
onde o sistema
pergunta , onde
deseja fazer estas
pesquisas, neste meu
exemplo, selecionei
Tabela, mas poderia
ter selecionado
também programas
ou estruturas, etc...
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Object Dependencies
Exercício 10 – Responda as perguntas abaixo, não se esqueça de anotar como
chegou ao resultado.
– Quais Data Elements criados na data de hoje que começam c/a letra Z* ?
– Quais Domínios criados pelo seu colega que começam c/a letra Z* ?
– Quais Domínio que começam com letra Z* que possuem Fixed Values ?
Dicionário de Dados
Changes to Tables
Changing Tables
Dicionário de Dados
Changes to Tables
Changing Tables
Oh grande
dúvida e
agora ???
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Changes to Tables
Changing Tables
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Changes to Tables
Dicionário de Dados
Changes to Tables
Ao ATIVAMOS a
alteração, o sistema faz
o bloqueio da tabela, ou
seja, ninguém usa,
muda o nome da Tabela,
como se fosse fazer um
back-up e deleta todos
os seus índices, tanto o
primário quantos os
secundários.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Changes to Tables
Recria a
Tabela com o
novo layout.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Changes to Tables
Restaura a
tabela original,
baseado no
back-up,
restaurando
também seu
índice primário
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Changes to Tables
Depois que o
restou estiver
completo, o
sistema deleta
o back-up e
libera a tabela
para ser
utilizada.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Changes to Tables
Dicionário de Dados
Changes to Tables
Dicionário de Dados
Changes to Tables
Dicionário de Dados
Changes to Tables
Dicionário de Dados
Changes to Tables
Dicionário de Dados
Views
Em matéria
de
performance,
é 90% mais
rápido. SELECT *
VIEW ...
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Views
Através de uma
View,
poderemos
acessar uma ou
mais tabelas.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Views
No Dic. de Dados
o sistema se
utiliza do recurso
de Inner Join, ou
seja, só
disponibiliza
registros cujos
campos chave
existam em
ambas as tabelas
envolvidas.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Views
Podemos criar
Projection
views para
acessar uma
única tabela.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Views
Ao definir uma
View, poderemos
definir uma
condição de
seleção, ou seja,
disponibilizar
registros com uma
determinada
característica,
como neste
exemplo, só
disponibiliza
registros cujo
campo CURRENCY
da tabela SFLIGHT
tenha como
conteúdo USD.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Views
Dicionário de Dados
Views
Posso utilizar
todos os View
recursos de
ABAP para
acessar a base
pela view, como
selecionar
registros a partir
da tela de filtro,
ler apenas
colunas que
interessam ao
programa.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Views
Por comandos ABAP,
também poderemos
definir Joins, dois tipos
de Join, Left Outer Join
e Inner Join.
?
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Views
INNER JOIN
Clientes Duplicatas
Disponibiliza
Somente Clientes
que possuam
Duplicatas
Disponibiliza todos
os Clientes, mesmo
que não tenha
duplicatas
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Views
Exemplo
Dicionário de Dados
Views
Exemplo
Dicionário de Dados
Views
Exemplo
Dicionário de Dados
Views
Exemplo
Após a definição da
condição de JOIN, agora
tenho que definir o layout
da minha View, clicando em
VIEW FIELDS.
Dicionário de Dados
Views
Exemplo
Dicionário de Dados
Views
Exemplo
Após o COPY dos
campos de um das
tabelas, clicamos
novamente em Table
Fields para selecionar
os campos da outra
tabela envolvida.
Selecionamos os
campos e na
sequencia, COPY.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Views
Exemplo
Selecionamos
agora a outra
tabela do Join.
Selecionamos os
campos desejados e
novamente COPY.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Views
Exemplo
Dicionário de Dados
Views
Exemplo
Não tendo
nada em
VERMELHO,
está tudo OK,
Retornar.
Dicionário de Dados
Views
Exemplo
Dicionário de Dados
Views
Exemplo
Dicionário de Dados
Views
Exemplo
Retornando para a Definição da View, vamos ver
como se faz a seleção de registros, clicando na
pasta Selection Conditions
E posteriormente clicamos em
Table Fields, onde vamos selecionar
os campos que farão parte da nossa
condição de seleção.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Views
Exemplo
Com Double
Click,
selecionamos
a Tabela.
Selecionamos o
campo.
E COPY
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Views
Exemplo
Dicionário de Dados
Views
Exemplo
Após
ATIVAR,
Testar.
Tela de filtro,
EXECUTAR
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Views
Exercício 11 – Desenvolver uma View com o nome de ZVIEW1_##, Cadastro de
Clientes.
ZVIEW1_##
- CodFor - LAND1
- TotPedAno ZFOR-## LFA1
MANDT MADT - NAME1
- CodMoe CODFOR LIFNR
- ORT01
- StatusFor - PSTLZ
- REGIO
Cadastro de Clientes - STRAS
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Views
Exercício 12 – Desenvolver uma View com o nome de ZVIEW2_##, Pedidos
Pendentes.
ZVIEW2_##
- Mandt - ItemPed
- Numped ZPED-## ZIT_##
MANDT MANDT - QtdeMat
- CodFor NUMPED NUMPED
- UnidMed
- CodComp - CodMat
- StatusFor - Langu
Pedidos Pendentes
Dicionário de Dados
Views
Exercício 13 – Desenvolver uma View com o nome de ZVIEW3_##, Itens do Pedido.
ZVIEW3_##
- Mandt - MAKTX
- Numped ZIT-## MAKT
MANDT MANDT
- ItemPed CodMat MATNR
Langu SPRAS
- QtdeMat
- UnidMed
- CodMat Itens do Pedido
- StatusItem
Dicionário de Dados
Search Help
Dicionário de Dados
Search Help Portanto será o search
help que vai me auxiliar.
Ai estou eu me
deparando com
os aplicativos da
SAP, sem saber os
códigos que
foram utilizados
para os diversos
objetos.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
Exemplo
Digito como argumento de
pesquisa no campo descrição,
*parafuso*
Dicionário de Dados
Search Help
Exemplo
Dicionário de Dados
Search Help
1 4
Parâmetros a serem Parâmetros a
importados serem exportados
2 Tela de Filtro
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
Nome da Tabela ou
Data Base View
Selection Method é um
campo que temos no Search
Help, onde devemos colocar
o nome da TABELA ou Data
Base VIEW que deverá ser
acessada para obtenção das
informações que
procuramos.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
Dicionário de Dados
Search Help
Dicionário de Dados
Search Help
Depois que um
Search Help,
denominado de
Elementário estiver
pronto e testado,
devemos anexar o
mesmo a um campo
de uma Estrutura ou
Tabela, na sequência
veremos um exemplo
na prática.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
Concluindo
então, o search
help do tipo
ELEMENTÁRIO,
poderá ser
anexado a um
campo de uma
Tabela, campo
de uma
estrutura ou
ainda a um
Data Element.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
Dicionário de Dados
Search Help
Dicionário de Dados
Search Help
Exemplo
Na Transação SE11,
optamos por Search Help e
digitamos o nome que
deve começar com Z/Y,
posteriormente clicar em
Create.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
Exemplo
Dicionário de Dados
Search Help
Exemplo
Dicionário de Dados
Search Help
Exemplo
O layout
agora, será
baseado
nos
campos da
Clicando em F4, vamos nossa
agora definir o layout Tabela ou
do nosso search help.
View.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
Exemplo
Dicionário de Dados
Search Help
Exemplo
Depois que o
nosso
Search Help
estiver ATIVO.
Dicionário de Dados
Search Help
Exemplo
Dicionário de Dados
Search Help
Exemplo
ATIVAR e Testar
Dicionário de Dados
Search Help
Exemplo
Vamos Fazer o teste na SE16, clicando F4 no
campo correspondente no qual amarramos o
Search Help.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
Exemplo
Dicionário de Dados
Search Help
Exemplo
Este é o campo
que definimos
como Import
Parameter.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
Exemplo
Nesta Tela de filtro, fazemos então a restrição de
processamento, onde desejo saber, todos os
registros que tem CAR no meio da descrição e
cujo código do fornecedor comece com 1.
Clicando em ENTRE,
temos então a lista.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
Exemplo
Este é o Export
Parameter.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
Exemplo
Dicionário de Dados
Search Help Elementário
Exercício 14 – Desenvolver um Search Help Elementário com o nome ZSHLP1_##,
Pedidos por Comprador.
Dicionário de Dados
Search Help Elementário
Exercício 15 – Desenvolver um Search Help Elementário com o nome ZSHLP2_##,
Pedidos por Material.
Dicionário de Dados
Search Help Coletivo
Search Help
Coletivo é o Search Helps
interface do Elementários
interface, ou
seja, é uma
programa
também que
reúne search
Helps do tipo
Elementário.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
No SAP Standard,
temos uma série de
Search Helps
Coletivos, mas nada
impede que em
função da nossa
cultura na empresa,
tenhamos que criar
uma nova maneira
de pesquisar
códigos no sistema
SAP, portanto
poderemos criar
novos Search Helps
Elementários e
através do APPEND
acrescentar estes,
ao Search Help
Coletivo da SAP.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
Exemplo
Transação Standard
SAP, consulta Clientes,
FD03, Clicar F1 sobre o
campo.
Dicionário de Dados
Search Help
Exemplo
No Dic. De Dados,
clique nesta aba,
Currency/Quantity
Fields
Clique em
Search Help
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
Exemplo
2
1
Dicionário de Dados
Search Help
Exemplo
Dicionário de Dados
Search Help
Exemplo
Dicionário de Dados
Search Help
Exemplo
Dicionário de Dados
Search Help
Exemplo
Se estes campos
estiverem
Na sequência vem a preenchidos
pergunta se desejo
aceitar a proposta do
está tudo OK e
sistema e eu respondo clico em Copy
com YES.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
Exemplo
Se estes campos
estiverem
Na sequência vem a preenchidos
pergunta se desejo
aceitar a proposta do
está tudo OK e
sistema e eu respondo clico em Copy
com YES.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help
Exemplo
Dicionário de Dados
Search Help
Exemplo
Dicionário de Dados
Search Help
Exemplo
Dicionário de Dados
Search Help
Exemplo
Dicionário de Dados
Search Help
Exemplo
Clique em F4
Dicionário de Dados
Search Help
Exemplo
Dicionário de Dados
Search Help
Exemplo
Preenchendo a
tela de filtro,
clico em
ENTER e
recebo a lista
Na minha Lista se
constar a informação
que eu procuro, double
click sobre o registro e
o sistema transfere o
conteúdo do campo.
Academia SAP ABAP
Gplux Treinamento SAP
Dicionário de Dados
Search Help Elementário Coletivo
Exercício 16 – Desenvolver um Search Help Coletivo com o nome de
ZSHLP_COL_##, anexando os dois Search Helps Elementários que fizemos
anteriormente ZSHLP1_## e ZSHLP2_##.