capitulo03 - Grupos.com.br

Propaganda
Dicionário de Dados(DDIC)
O R/3 Data Dictionary (ou DDIC para abreviar) é um utilitário para definir objetos de dados.
Para utilizar o DDIC, você pode criar e armazenar objetos como tabelas, estruturas e
visualizações. Para chamar o Data Dictionary, execute os seguintes passos:

Digite na caixa de texto Command, na barra de ferramenta Standard na parte
superior da janela do minisap: /NSE11.
O DDIC está dentro do sistema R/3, Você pode pensar nele como estando acima de um
banco de dados como Oracle ou Informix e agindo como um controle remoto, que gera e
envia instruções de SQL para ele. Por exemplo, você pode criar uma definição de tabela
no DDIC. Quando você ativa a definição de tabela, as instruções de SQL são geradas e
enviadas para o RDBMS, fazendo com que ele crie a tabela real no banco de dados.
Quando quiser modificar a tabela, você deve modificar a definição de tabela no DDIC.
Quando ativar a tabela novamente, mais SQL é gerado, fazendo com que o RDBMS
modifique a tabela.
Utilize o DDIC para criar e modificar todos os objetos de banco de dados. Não modifique
uma tabela ou qualquer coisa no nível de RDBMS. A definição Data Dictionary não pode
atualizar a si própria e ela estará fora de sincronia com o banco de dados. Isso pode
causar erros de aplicativo e até levar a uma perda de integridade dos dados.
No R/3 uma tabela é uma coleção de linhas. Cada linha contém campos, também
chamados de colunas. Normalmente, dentro de uma tabela, cada linha tem o mesmo
número de colunas, como as outras linhas da tabela.
Uma tabela armazena dados persistentes. Em outras palavras, se você coloca dados em
uma tabela, eles permanecem aí depois que seu programa finalizar. Eles permanecerão
até serem alterados ou excluídos por seu programa ou outro. O nome de uma tabela é
único dentro do sistema R/3 inteiro. Quando você olha uma tabela no DDIC, está
visualizando a descrição de uma tabela no banco de dados subjacente. Você não está
olhando diretamente a própria tabela de banco de dados. ´
Curso de ABAP – Capitulo 3
1/29
Há no dicionário de dados do R/3 três tipos de tabelas: Transparentes, Pool e Cluster. O
primeiro tipo é o mais comum e provavelmente sempre será o tipo a ser utilizado ao se
criar uma nova tabela em customizações do sistema. Pool e cluster são tipos de
armazenamentos proprietários da SAP. Segue abaixo uma comparação entre os três tipos
de tabela:

Transparente: Uma tabela transparente no dicionário tem relacionamento umpara-um com uma tabela no banco de dados. Sua estrutura no dicionário de dados do
R/3 corresponde a uma única tabela de banco de dados. Para cada definição de tabela
transparente no dicionário, há uma tabela associada no banco de dados. A tabela de
banco de dados tem o mesmo nome, o mesmo número de campos e os campos têm
os mesmos nomes que a definição de tabela do R/3. Quando examinar a definição de
uma tabela transparente do R/3, você pode achar que está olhando para a própria
tabela de banco de dados.

Pool: Uma tabela de pool no R/3 tem um relacionamento muitos-para-um com
uma tabela no banco de dados. Para uma tabela no banco de dados, há muitas tabelas
no dicionário de dados do R/3. A tabela no banco de dados tem um nome diferente do
das tabelas no dicionário de dados, tem um número de campos diferente e os campos
também têm nomes diferentes. O R/3 utiliza pools de tabela para armazenar um
grande número (dezenas a milhares) de tabelas muito pequenas (aproximadamente de
10 a 100 linhas cada uma). Os pools de tabela reduzem a quantidade de recursos de
banco de dados necessários quando muitas tabelas pequenas têm de ser abertas ao
mesmo tempo. A SAP os utiliza para dados de sistema.

Cluster: São utilizadas para armazenar dados de algumas (aproximadamente
de 2 a 10) tabelas muito grandes. As tabelas de cluster seriam utilizadas quando essas
tabelas tivessem uma parte de suas chaves primárias em comum e se os dados
nessas tabelas fossem todos acessados simultaneamente. Os clusters de tabela
contêm menos tabelas que os pools de tabela e, diferente dos pools de tabela, a chave
primária de cada tabela dentro do cluster de tabelas começa com o mesmo campo ou
campos. As linhas das tabelas de cluster são combinadas em uma única linha no
cluster de tabelas. As linhas são combinadas com base na parte da chave primária que
elas têm em comum. Assim, quando uma linha é lida de qualquer uma das tabelas no
cluster, todas as linhas relacionadas em todas as tabelas de cluster também são
recuperadas, mas apenas uma única operação de I/O é necessária. Um cluster é
vantajoso no caso em que os dados são acessados a partir de múltiplas tabelas
simultaneamente e essas tabelas têm pelo menos um de seus campos de chave
primária em comum. As tabelas de cluster reduzem o número de leituras do banco de
dados e assim melhoram o desempenho.
As tabelas de pool e de cluster são normalmente utilizadas somente pela SAP e não pelos
desenvolvimentos dos clientes, provavelmente por causa do formato proprietário dessas
tabelas dentro do banco de dados e por causa das restrições técnicas colocadas sobre
sua utilização dentro dos programas ABAP/4, como a seguir:

Não se pode criar índices secundários;

Não se pode utilizar select distinct ou group by;

Não se pode utilizar SQL nativo;

Não se pode especificar nomes de campos depois da cláusula order by. A única
variação permitida é order by primary key.
Curso de ABAP – Capitulo 3
2/29

No caso específico das tabelas de cluster, não é possível realizar leitura através
de joins, nem a criação de views.
Explorando os componentes de tabela
Uma tabela é composta de campos. Para criar um campo você precisa de um elemento de
dados. O elemento de dados contém rótulos de campo e a documentação on-line(também
chamada ajuda F1) para o campo. Ele é puramente descritivo; contém as características
semânticas para o campo, também conhecidas como “contexto do negócio”. Os rótulos
que você oferece dentro de um elemento de dados serão exibidos na tela ao lado de um
campo de entrada. O elemento de dados também contém documentação que é exibida
quando o usuário pede ajuda nesse campo pressionando a tecla F1.
Uma definição de elemento de dados exige um domínio. O domínio contém a
característica técnica de um campo, como o comprimento do campo e o tipo de dado.
Os domínios e os elementos de dados são reutilizáveis. Um domínio pode ser utilizado em
mais de um elemento de dados, e um elemento de dados pode ser utilizado em mais de
um campo e em mais de uma tabela.
Por exemplo, imagine que você precise projetar uma tabela de informações de cliente
chamada ZCLIENTE que deve conter os números de telefone comercial, fax e residencial.
Para criar um campo, você normalmente inicia criando um domínio para ele. Neste caso,
você pode criar um domínio genérico de número de telefone, chamado zfone e dar a ele
um tipo de dado de CHAR e um comprimento de 12. Isso seria um domínio genérico de
número de telefone; a maioria dos tipos de números de telefone poderia ser armazenada
utilizando-se esse domínio. Como esse, ele pode ser utilizado para definir tipos
específicos de números de telefone, como fax ou números de telefone residencial.
Depois de criar o domínio para armazenar a descrição puramente técnica de um campo,
você então cria um elemento de dados para armazenar os atributos descritivos do campo.
No elemento de dados para armazenar os atributos descritivos do campo. No elemento de
dados, você deve digitar o nome de um domínio para dar-lhe a característica técnica.
Então, você insere os rótulos e a documentação(ajuda F1) para descrever os dados que
você armazenará. Nesse exemplo, você provavelmente criaria três elementos de dados,
um para cada número de telefone residencial, comercial e fax. Em cada elemento de
dados, você digitaria rótulos de campo descrevendo o tipo de número de telefone que
você armazenará com ele e a ajuda F1 para o usuário final.
Tendo Criado os elementos de dados, você agora pode criar a tabela. Você poderia criar
três campos de número de telefone na tabela(residencial, comercial e fax) e atribuir o
elemento de dados correspondente a cada campo. Um elemento de dados é atribuído a
cada campo. Isso oferece informações descritivas do campo do elemento de dados e
informações técnicas do domínio a que ele faz referência. Quando o campo é utilizado em
uma tela, ele obtém um rótulo e a documentação de ajuda F1 do elemento de dados e seu
comprimento e tipo de dado formam o domínio dentro do elemento de dados.
Se você precisa alterar o comprimento do campo depois que criou uma tabela, você
apenas precisa alterá-lo no domínio. Se o domínio é utilizado em mais de uma tabela, a
alteração é automaticamente propagada para todos os campos que utilizam esse domínio.
Curso de ABAP – Capitulo 3
3/29
Criar ou reutilizar domínios e elementos de dados existentes?
Cada sistema R/3 vem com mais de 12.000 domínios preexistentes criados pela SAP.
Quando você cria um novo campo, você deve decidir se cria um novo domínio ou reutiliza
um existente. Para tomar essa decisão, determine se o tipo ou comprimento de dados de
seu campo deve ser dependente de um campo existente da SAP. Se seu campo precisa
ser independente, crie um novo domínio. Se seu campo deve ser dependente, reutilize um
domínio de SAP existente. De forma similar, você deve reutilizar elementos de dados se
seus rótulos de campo e documentação alterarem quando a SAP alterar os dela.
Convenções para atribuição de nome para tabelas e seus componentes
Tipo de Objeto
Tabela
Elemento de dados
Domínio
Campo
Comprimento máx. de
nome
16
30
30
16
Primeiro caractere
permitido
Y, Z
Y, Z
Y, Z
Qualquer caractere
Os nomes de todas as tabelas, domínios e elementos de dados ou demais objetos criados
no minisap, devem iniciar com Y ou Z. Você não pode utilizar qualquer outro caractere no
começo; todos os outros são reservados pela SAP. O sistema R/3 impõe essa convenção;
você obterá uma mensagem de erro se tentar criar um objeto que tem um nome que não
se adapte a essas convenções.
Os nomes de campos podem começar cm qualquer caractere. Entretanto, certas palavras
são reservadas e não podem ser utilizadas como nomes de campo.
A tabela TRESE contêm a lista completa das palavras reservadas. Para acessá-la, digite a
transação SE11.
Abordagens para criar tabelas
Há duas abordagens que você pode utilizar quando criar tabelas:


Botton-up
Top-down
Botton-up
Top-down
Primeiro você cria os domínios, depois os
elementos de dados e por fim a tabela.
Primeiro você cria a tabela, depois os elementos
de dados e os domínios à medida que você
avança.
Depois de criar um objeto Data Dictionary, você o ativará. Ativar um objeto é simples –
você simplesmente deve pressionar o botão Active. Isso altera o status do objeto para
ativo.
Um objeto deve estar ativo antes de poder ser utilizado. Por exemplo, se tentar utilizar um
elemento de dados inativo ao criar um campo, você obterá uma mensagem dizendo que o
elemento de dados não existe nem está ativo. Sua resposta seria ativar o elemento de
dados.
Curso de ABAP – Capitulo 3
4/29
Se alterar um objeto, deve ativá-lo novamente para as alterações tornarem-se efetivas. Se
você salvar as alterações, mas não ativar o objeto, os objetos que se referem a ele não
”saberão” das alterações.
Criando Domínios
Para exercitarmos a criação de domínios, estaremos usando a tabela de domínios,
existentes no apêndice A da apostila.

Execute a transação SE11;

Na tela do Abap Dictionary, selecione a opção Domain, e digite o nome do
domínio a ser criado;

Clique o botão Create;
Curso de ABAP – Capitulo 3
5/29
Na tela Dictionary: Maintain Domain, você especifica o texto curto, o tipo de dado(você
poderá digitar o tipo desejado ou pressionar a tecla de função F4), um comprimento de
campo e opcionalmente um comprimento de saída. Estes itens são explicados nas seções
seguintes.
Após digitar essa informações pressione o botão salvar;
Aparecerá um janela de diálogo solicitando a classe de desenvolvimento, em nosso
treinamento estaremos utilizando a classe temporária $TMP, para isso basta clicar no
botão, LOCAL OBJECT.
Em seguida clique no botão Activate, na barra de ferramenta Standard, na parte superior
da janela, ou pressione CTRL + F3.
O campo Data Type
O campo Data Type especifica a representação utilizada internamente pelo banco de
dados para armazenar o valor desse campo. Para alguns tipos de dados, ele também
determina a validação de formato de entrada e formato de saída do campo. Por exemplo,
Curso de ABAP – Capitulo 3
6/29
campos do tipo de dados DATS(data) e TIMS(hora) são automaticamente formatados com
separadores em uma lista de saída ou quando são exibidos na tela. Na entrada, eles
também devem estar no formato de data ou hora ou uma mensagem de erro é emitida
para o usuário.
Os tipos de dados mais comumente utilizados são listados na tabela abaixo:
Tipo
CHAR
DEC
DATS
TIMS
INT1, INT2, INT4
NUMC
Descrição
Strings de caractere(máximo de 255 caracteres)
Valores decimais(comprimento máximo de 31)
Campo Date
Campo Time
Valores inteiros
Campo de caractere que pode conter apenas numéricos
Uma dica, você sempre deve pressionar a tecla Enter depois de preencher o campo tipo
de dados. Pressionar Enter causa a alteração da tela baseada no tipo de dado que você
especificou. Se o tipo de dado é um tipo numérico com sinal, uma caixa de seleção Sign
aparecerá. Para campos que permitem decimais, um campo Decimal Places aparecerá.
Para campos de caractere, uma caixa de seleção LowerCase.
Os campos Output Length, Decimal Places e Lowercase.
O campo Output length indica o número de bytes necessários para dar saída ao campo
para um alista ou para um tela, incluindo vírgulas, ponto decimal, sinal e quaisquer outros
caracteres de formatação. Por exemplo, na saída, os campos de data e hora são
automaticamente formatados com separadores. Internamente, uma data é armazenada
com oito caracteres(sempre YYYYMMDD), mas o comprimento de saída no domínio deve
ser especificado como 10 para permitir que dois separadores sejam inseridos. Se o campo
Output Length estiver em branco, seu valor automaticamente será calculado pelo sistema
quando você pressionar Enter.
Para campos decimais, você pode especificar o número de decimais colocado no campo
Decimal Places.
Os campos decimais, você pode especificar o número de decimais colocados no campo
Decimal Places.
Os campos de caractere são normalmente convertidos em letras maiúsculas antes de
serem armazenados no banco de dados. Você pode desativar essa conversão
desmarcando a caixa de seleção lowercase.
A posição do ponto decimal nos campos decimais é frequentemente um campo de
confusões, por isso descreveremos esse assunto.
Para campos de tipo DEC, o ponto decimal não é armazenado no banco de dados.
Somente a parte numérica é armazenada, não o decimal. Na saída, a posição do decimal
é determinada pelo valor que você coloca no campo Decimal Places do domínio.
A fim de que o campo seja adequadamente exibido, você deve especificar um
comprimento de saída que inclua um byte para o ponto decimal e outro para cada
separador de milhar que possa ser exibido. Entretanto, o sistema calculará o comprimento
de saída se você simplesmente deixar em branco o campo Output length e pressionar
Enter.
Curso de ABAP – Capitulo 3
7/29
Criando Elementos de Dados

Para criar um elemento de dados, digite a transação SE11;

Selecione a opção Data Type e digite o nome do elemento de dados e pressione
create.
Na caixa de diálogo que aparecerá em seguida, selecione a opção Data Element, e
pressione ENTER.
Na tela do Dictionary: Maintain Data Element, você especificará um texto curto, nome de
domínio para o elemento de dados, rótulos na aba Field Label e um cabeçalho, que são
explicados abaixo. A documentação também pode ser criada depois que o elemento de
dados foi salvo.
Curso de ABAP – Capitulo 3
8/29
O Campo Short Text
O campo Short Text descreve um contexto de negócio para um domínio. Por exemplo, um
“código de bairro” é um contexto de negócio específico para um domínio Z01_DO_NUM4,
então ele seria uma descrição apropriada para um elemento de dados. O usuário final
verá essa descrição se solicitar ajuda F1 para um campo que foi criado utilizando esse
elemento de dados.
Os campos Field Label e Header
A aba Field label contém quatro campos de texto. Os primeiros três são rótulos de campo.
Quando qualquer campo aparece em uma tela(como um campo de entrada em uma tela
de entrada), um dos campos curtos, médios ou longos aparecerão à esquerda dele como
um rótulo de campo. O programador escolhe um desses rótulos de campo quando ele cria
uma tela. O conteúdo do campo Header aparecerá como um cabeçalho de coluna no topo
das listas.
A documentação de elemento de dados
Depois que você salva os elementos de dados, um botão Documentation aparece na barra
de ferramentas Application, de modo que você possa armazenar texto na forma livre. O
usuário vê esse texto quando solicita ajuda F1. Em outras palavras, quando um campo de
tabela que utiliza esse elemento de dados é exibido em uma tela, o usuário pode colocar o
cursor nesse campo e pressionar F1 para exibir a documentação que você digitou aqui.
Quando você vê a tela de Documentation, a primeira linha conterá os caracteres
&DEFINITION&. Isso é um título; não altere essa linha. Digite sua documentação
começando na linha dois.
Criando Tabelas

Para criar uma tabela transparente, digite a transação SE11;

Selecione a opção Tables e digite o nome da tabela, em seguida pressione
create(F5).
Curso de ABAP – Capitulo 3
9/29
Nesta tela especifica o texto curto, a classe de remessa, os nomes dos campo, um nome
de elemento de dados para cada campo e seleciona os campos de chave primária.
Curso de ABAP – Capitulo 3
10/29
O Campo Short Text
O campo short Text é utilizado para os mesmos propósitos que os campos Short Text de
domínio. O usuário final não verá essa descrição em qualquer lugar, mas o desenvolvedor
verá quando trouxer à tona uma lista de tabelas.
O campo Delivery Class
O valor no campo Delivery Class identifica o “proprietário” dos dados nesta tabela. O
proprietário é responsável pela manutenção do conteúdo da tabela. Nas tabelas de
cliente, você deve sempre inserir um A aqui, que indica que a tabela contém dados de
aplicativo possuídos apenas pelo cliente. Outros valores inseridos no campo são úteis
somente para a SAP e indicam que ele possui os dados.
O Campo Tab. Maint. Allowed
Marcar a caixa de seleção Tab. Maint. Allowed faz com que o caminho de menu Utilities>Create Entries seja ativado. Depois de ativar a tabela e escolher esse caminho de menu,
a tela Table Insert é exibida, permitindo que você digite dados em sua tabela. É útil para
teste e entrada manual de quantidades pequenas de dados. Se a caixa de seleção
Tab.Maint.Allowed estiver em branco, o caminho de menu Utilities->Create Entries estará
acinzentado.
A coluna Field Name
Na metade inferior da tela você pode inserir nomes de campo na coluna Field Name. Os
campos de chave primária devem aparecer primeiro nesta lista e devem ser indicados por
uma marca de verificação na coluna Key. Um nome de elemento de dados deve ser
inserido à direita de cada nome de campo.
Ao criar uma tabela, você deverá inserir como primeiro registro o campo MANDT, na
coluna Field e MANDT na coluna field Type.
Para definir um campo como chave primária, basta marcar o checkbox em frente ao
campo desejado, na coluna Key. Se o campo deve ser preenchido , marque o checkbox
na coluna Init.
Para ativar a tabela criada, clique no botão salvar.
Para checar se existem erros na tabela, clique no botão Check.
Para ativar a tabela , clique no botão Activate.
Após adicionar os campos de sua tabela, você deverá salvar a tabela, clicando no botão
SAVE(CTRL+S) e configurar o TECHNICAL SETTINGS.
Clique no botão Tecchnical Settings, na barra de ferramentas na parte superior da tela.
Curso de ABAP – Capitulo 3
11/29
Após preencher os campos Data Class e Size category, clique em salvar e pressione a
tecla de função F3, ou clique no botão BACK.
Ative a tabela clicando no ícone Activate.
Classe de dados
A classe de dados determina o tablespace a que a tabela é atribuída.(O termo
“tablespace” se aplica a banco de dados Oracle. Para informix, substitua pelo termo “DBS
space”.) Um tablespace é um arquivo físico no disco que é utilizado para armazenar
tabelas. Cada tabela é atribuída a um tablespace. As tabelas com características
semelhantes normalmente são agrupadas em um tablespace, assim tablespaces são as
unidades administrativas utilizadas pelo DBA para gerenciar o banco de dados. Por
exemplo, as tabelas que crescem rapidamente estarão agrupadas em um tablespace em
um disco com muito espaço livre.
Cada classe de dados tem um tablespace associado. Quando você ativa uma tabela, ela é
criada no tablespace associado a essa classe de dados. Se você altera a classe de dados
quando a tabela está ativa, nada acontece; ela não se move para outro tablespace.
As classes de dados importantes são:
- APPL0 ou dados mestres. Escolhendo APPL0(dado-mestres), significa que a tabela
não é atualizada com freqüência e cresce lentamente. Ela será colocada em um
tablespace com tabelas semelhantes. O mestre do fabricante e as tabelas-mestres do
cliente são bons exemplos de dados-mestres.
- APPL1 ou dados de transação. Escolher APPL1(dados de transação), significa que a
tabela se destina a ser atualizada com freqüência e crescer rapidamente. Pedidos feitos a
fabricantes e pedidos recebidos de clientes são bons exemplos de dados de transações.
As tabelas que contêm essas ordens terão uma classe de dados de APPL1.
Curso de ABAP – Capitulo 3
12/29
APPL2 ou dado de personalização. Escolher APPL2(dados de personalização), significa
que os conteúdos da tabela são determinados antes da implementação e não alteram com
freqüência depois disso.
Categoria de tamanho
O campo size Category permite que você especifique o número máximo de registros que
espera que essa tabela armazene. Você irá configurar o tamanho da extensão inicial e das
próximas, assim como o número máximo de extensões permitidas por essa tabela. Uma
extensão é a quantidade de espaço alocado para uma tabela quando é criada. Se uma
tabela consome esse espaço, outra extensão será alocada, fazendo com que o espaço da
tabela seja estendido.
As categorias de tamanho são sempre de 0 a 4, mas o número de registros esperados em
cada categoria de tamanho mudará de acordo com cada tabela baseada no comprimento
de uma linha. Escolha uma categoria apropriada baseada no número máximo de registros
que você espera que a tabela armazene.
Quando escolher uma categoria de tamanho, seja generoso. No R/3 é muito melhor
superestimar, que subestimar esse parâmetro. Se a categoria de tamanho é muito
pequena e a tabela cresce mais que a alocação inicial, o RDBMS aloca outra extensão.
Extensões secundárias reduzem o desempenho e exigem uma reorganização do
tablespace para serem removidas. As reorganizações podem ser muito difíceis de
executar em um banco de dados grande, especialmente em um que exija alta
disponibilidade. É muito mais fácil reduzir uma categoria de tamanho excessivamente
generoso do que aumentar uma subestimada.
Para exibir o número de extensões alocadas para uma tabela utilize a transação DB02.




Digite na caixa de comand /nDB02;
Pressione o botão Detailed analysis;
Digite o nome da tabela desejada;
Selecione a opção Extents
Modificando Tabelas.
Depois que você criou uma tabela, você pode:

Copiá-la

Excluí-la

Adicionar mais campos nela

Excluir os campos dela

Alterar os campos dentro dela
Essa seção descreve como executar estas funções.
Copiando uma tabela
Se uma tabela estiver ativa no DDIC, você pode copiá-la. Você pode querer fazer isso se
a tabela que você quer criar for muito semelhante a uma que já existe no banco de dados.
Ou, você pode querer experimentar alguma funcionalidade de dicionário que é pouco
conhecida para você, sem querer modificar uma tabela existente.
Curso de ABAP – Capitulo 3
13/29
Para copiar uma tabela, siga os seguintes passos.

Vá para a tela do Dicionário de dados (SE11)

Selecione o menu Dictionary Objects, comando Copy... ou clique no ícone
Copy(CTRL+F5), na barra de ferramentas na parte superior da tela.
Uma tabela não pode ser renomeada. Para alterar o nome de uma delas, você deve copiála para uma tabela diferente com o nome desejado e então excluir a tabela original. Se
você precisar fazer isso, certifique-se de copiar tanto a estrutura como os dados da tabela.
Excluindo uma tabela
Você pode excluir tabelas existentes de DDIC. Você pode querer fazer isso quando uma
tabela existente não for mais necessária ou se você tiver criado uma tabela para os
propósitos de experimentar funcionalidade de dicionário que é pouco conhecida para
você.
Para excluir uma tabela, siga os seguintes passos.

Vá para a tela do Dicionário de dados (SE11)

Selecione o menu Dictionary Objects, comando Delete ou clique no ícone
Delete(Shifit+F12), na barra de ferramentas na parte superior da tela.
Adicionando campos
Inserir um campo permite que você posicione um campo antes de outro existente.
Acrescentar um campo permite que você adicione novos campos no fim da tabela, depois
de todos os campos existentes.
Excluindo campos
Você pode excluir campos existentes de uma tabela. Você pode desejar fazer isso se o
campo não for mais necessário na tabela ou ser você tiver criado um campo para os
propósitos de experimentar funcionalidade de dicionário que é pouco conhecido por você.
Trabalhando com dados
Se você já não fez isso, crie sua tabela agora e ative-a antes de prosseguir.
Você pode utilizar os utilitários de navegador de dados para exibir ou modificar dados
dentro de tabelas das seguintes maneiras:




Procurando e exibindo as linhas que encontram critérios especificado
Adicionando novas linhas
Modificando linhas existentes
Excluindo linhas
Curso de ABAP – Capitulo 3
14/29
Utilitários gerais de navegadores de dados
No sistema R/3, há quatro utilitários gerais de navegação de dados: SE16, SM30 e SM31.
Eles são similares sob alguns aspectos e ainda oferecem vários tipos de funcionalidade
Utilizando o SE16
O SE16 é o mais utilizado programa de utilitário de navegador de dados com propósito
geral. Com ele, você pode pesquisar tabelas para linhas específicas e exibi-las, excluí-las,
copiá-las, adicionar novas linhas e fazer outras tarefas. Ele pode ser acessado de
qualquer uma destas duas maneiras:

Da Tela Dictionary: Tables/Structure: Change, escolha o caminho de menu
Utilities-> Table Contents ou display or creates entrada(botão).

Digite /nSE16 no campo Command.
A Se16 possui vários parâmetros de configuração para exibição de campos.
Utilizando SM31 e SM30
SM31 e SM30 também podem ser utilizados para exibir e atualizar dados de tabela. SM31
é uma versão mais antiga de SM30 que tem menos funcionalidade. O campo de entrada
na primeira tela de SM30 é suficientemente longo para acomodar qualquer nome de
tabela; no SM31 ele tem apenas cinco caracteres de comprimento. Antes que você possa
utilizar qualquer um, um programa especial chamado diálogo de manutenção padrão deve
ser gerado para a tabela que você quer exibir.
Um diálogo de manutenção padrão é um programa ABAP/4 que você gera. Quando você
chama SM31 ou SM30, o navegador de dados automaticamente localiza e carrega esse
programa gerado. Ele oferece uma interface mais complexa e mais funcionalidade do que
o SE16. Em tópicos posteriores veremos como criá-los.
A maneira mais simples de dizer se você deve utilizar SE16 ou SM31 é simplesmente
experimentantá-los. Se um deles não funcionar, então o outro provavelmente resolverá.
Se nenhum funcionar, recorra ao SM30.
Curso de ABAP – Capitulo 3
15/29
Gerando programa para manutenção de tabelas




Vá para o Dictionary: Initial Screen(SE11);
Digite o nome de sua tabela no campo Database Table;
Pressione o botão Display
Escolha o menu utilities -> Table Maintenance Generator.
Siga os seguintes passos:

Preencha o campo Autorization Groups com &NC&, isso quer dizer que não
utilizaremos grupo de autorização;

Preencha o campo Function Group com o nome de função que você possa
trabalhar, por exemplo ZF01.

Em seguida clique no botão FIND SCR. NUMBER(S) na parte superior da tela.
Uma caixa de diálogo aparecerá. Selecione a opção Propose screen number(s), para
que o próprio programa de manutenção em tabelas, lhe sugira os número de telas
possíveis. Para confirmar a seleção, pressione ENTER.

Clique no botão Create na barra de ferramentas na parte superior da tela ou
pressione a tecla de função F6, para iniciar a criação das telas para manutenção na
tabela desejada.

Depois de concluída a geração do programa de manutenção , digite a transação
SM30 para execução do mesmo.
Curso de ABAP – Capitulo 3
16/29

Clique no botão Maintain.
Chaves Estrangeiras
Uma chave estrangeira é um campo em uma tabela que é chave primária na outra tabela
que está relacionado. O propósito do relacionamento de chave estrangeira é validar os
dados sendo inseridos em uma tabela de verificação contra um conjunto válido de valores
em outra tabela. A tabela que contém a chave estrangeira é chamada tabela de chave
estrangeira. A tabela que contém o conjunto válido de valores é chamado tabela de
verificação.
A verificação de chave estrangeira é executada pelo usuário da interface do R/3. Quando
você digita um valor em um campo e pressiona a tecla Enter, nos bastidores a interface
com o usuário formula uma instrução select para validar o campo de chave estrangeira e
envia-la ao banco de dados. Se uma linha coincidente, não foi localizada na tabela de
verificação, o usuário vê uma mensagem padrão indicando que o valor que ele digitou é
Curso de ABAP – Capitulo 3
17/29
inválido. Se uma linha coincidente existe na tabela de verificação os valores inseridos na
tela têm permissão para passar para o programa em ABAP/4 subjacente. Assim, as
chaves estrangeiras já são verificadas antes de o programa receber os valores. Além da
tecla Enter, as chaves estrangeiras também são verificadas quando uma tecla de função,
um botão ou um item de menu é selecionado.
As chaves estrangeiras são verificadas apenas pela interface com o usuário. Elas não
existem no banco de dados e não são verificadas se você simplesmente emitir uma
instrução update de banco de dados. Nenhuma referência à limitação de integridade são
mantidas no banco de dados. Portanto, um programa em ABAP/4 incorretamente escrito
pode violar a integridade referencial; ele pode inserir valores inválidos nas tabelas de
banco de dados. Por essa razão, programas em ABAP/4 que precisam atualizar o banco
de dados com dados provenientes de uma outra fonte que não a interface com o usuário
normalmente passam esses dados por uma interface com o usuário a fim de validá-los.
Para criar uma chave estrangeira:

A verificação deve ocorrer em relação a um campo dentro da chave primária da
tabela de verificação;

Os nomes de domínio do campo de chave estrangeira e o campo de tabela de
verificação devem ser os mesmos.
Criando chaves estrangeiras





Comece na Dictionary: Initial Screen (SE11);
Digite o nome da tabela no campo Database Name;
Escolha o botão Change;
Posicione no campo que será a chave estrangeira na sua tabela;
Clique no ícone Foreign Key;
Curso de ABAP – Capitulo 3
18/29

No campo Check Table, digite o nome da tabela que fará o relacionamento, ou
seja, o nome da tabela quer será de verificação;

Pressione o botão Generate proposal;

Em seguida clique no botão Copy.

Ative a tabela, clicando no ícone Activate ou pressionando as teclas CTRL + F3.
Entendendo a cardinalidade
A cardinalidade do relacionamento de chave estrangeira descreve, para cada valor na
tabela de verificação, quantas linhas de dados são permitidas na tabela de chave
estrangeira. Ela é inserida na tela Create Foreign Key. A cardinalidade é descrita como
X:Y, onde X se refere à tabela de verificação e Y se refere à tabela de chave estrangeira.
X pode apenas ter os valores 1 ou C e Y pode ser 1, C, N ou CN.
Os valores de X significam:

1: Se o programa aplicativo exclui uma linha da tabela de verificação, também
excluirá as linhas correspondentes da tabela de chave estrangeira. Por exemplo, se o
programa de aplicação remover o valor 1 da tabela de verificação, ele excluirá todas as
linhas da tabela de chave estrangeira onde COD_BAIRRO = 1. Em outras palavras, se
houver um valor na tabela de chave estrangeira, haverá sempre apenas uma linha
tendo esse valor na tabela de verificação.

C: É possível excluir da tabela de verificação sem excluir as linhas
correspondentes na tabela de chave estrangeira. Em outras palavras, pode haver
valores na tabela de chave estrangeira sem valores correspondentes na tabela de
verificação.
Os valores de Y significam:

1: Há sempre uma e, somente uma, linha na tabela de chave estrangeira para
cada linha na tabela de verificação.

C: Há, no máximo, uma linha na tabela de chave estrangeira para cada linha na
tabela de verificação.

N: Há sempre pelo menos uma linha na tabela de chave estrangeira para cada
linha na tabela de verificação.

CN: Pode ou não haver linhas na tabela de chave estrangeira para cada linha na
tabela de verificação.

A cardinalidade não é imposta pelo sistema R/3. Especificar a cardinalidade é
opcional e o sistema não verificará a cardinalidade para determinar se essa tem
permissão para acontecer quando um programa em ABAP/4 atualiza uma tabela. A
única vez que a cardinalidade é utilizada é quando você cria um objeto agregado no
DDIC.
Um objeto agregado é um objeto DDIC composto de mais de uma tabela. Um exemplo de
um objeto agregado é uma VIEW.
Principais Tabelas de CO e FI
BKPF
BSAD
BSAK
Cabeçalho de Documentos Gerais de FI
Itens de Partidas Compensadas de Clientes
Itens de Partidas Compensadas de Fornecedores
Curso de ABAP – Capitulo 3
19/29
BSAS
BSEG
BSID
BSIK
BSIS
COBK
COEP
COSP
CSKS
CSKT
GLT0
GLT1
J_1AT059Z
J_1AWITH
J_1AWTOFF
SKA1
T001S
T011
T030A
T894
TBSL
TBSLT
TGSB
TGSBT
TKA01
TKA09
TKA50
TKO08
TKO09
Itens de Partidas Compensadas de Contas do Razão
Itens de Documentos Gerais de FI
Itens de Partidas em Aberto de Clientes
Itens de Partidas em Aberto de Fornecedores
Itens de Partidas em Aberto de Contas do Razão
Cabeçalho do Documento Nº. CO Referente ao Período
Partidas no CO Referente ao Período
Valores das Ordens de Investimento e Outras Ordens
Mestre de Centro de Custo
Texto de Centro de Custo
Mestre da Conta do Razão (Movimentação no Período)
Totais para General Ledger Local
Códigos de IRF (Nova Funcionalidade)
Dados de Operações de IRF
Código Oficial de Imposto de Renda na Fonte
Mestre das Contas do Razão
Encarregado da Contabilidade
Estrutura de Balanço L/P
Operações (Ex. "WIT" Operações de IRF)
Versões de Ledger
Mestre da Chave de Lançamento
Denominação das Chaves de Lançamento
Divisões
Denominação das Divisões
Área de Contabilidade de Custos
Opções Básicas Versões de Ordens
Perfis de Planejador - Tabela de Entidades
Área de Apropriação de Custo para Ordem
Texto para Área de Apropriação de Custo para Ordem
Principais Tabelas de MM
EKBE
EKKN
EKKO
EKPO
MAKT
MARA
MARC
MARM
MBEW
MKPF
MSEG
T134T
Histórico de Documento de Compras
Classificação Contábil de Documento de Compras
Cabeçalho de Documento de Compras
Item de Documento de Compras
Textos breves de Materiais
Mestre de Materiais
Segmento C do Mestre de Materiais
Unidades de Medida
Avaliação do Material
Cabeçalho de Documento de Materiais (Movimentações)
Item de Documento de Materiais (Movimentações)
Denominação dos Tipos de Material
AFKO
AFPO
AUFK
MAST
PLAF
STKO
STPO
T003P
Cabeçalho da Ordem PCP
Item da Ordem PCP
Mestre de Ordens
Ligação entre Materiais (Lista Técnica)
Ordem Planejada
Cabeçalho da Lista Técnica
Item da Lista Técnica
Textos de Tipos de Ordens
Principais Tabelas de PP
Curso de ABAP – Capitulo 3
20/29
Relacionamento de Algumas Tabelas SAP
KONV-Knumv = VBAK-Knumv
KONV-Kposn = VBAP-posnr
Knumv
Kposn
Kschl
Kbetr
VBAK ( Header Pedido )
Auart
Vbtyp
Vbeln
KONV ( Condição do Item do Pedido)
: tipo da ordem
: tipo documento
: número da ordem
: número da condição
: item do pedido
: tipo de condição
: montante ou perc. da condição
VBRK ( Header Doc. Faturamento/Billing )
Vbeln
Zukri+7(10)
VBAK-Vbeln = VBAP-Vbeln
: número doc.faturamento
: número fornecimento
VBAP ( Item Pedido )
Vbeln : número da ordem
Posnr : número do item
Matnr : material
Arktx : descrição
Pstyv : tipo do item
VBAP-Vbeln = LIPS-Vgbel
VBAP-Vposnr = LIPS-Vgpos
VBRK-Vbeln = VBRP-Vbeln
VBAP-Vbeln = VBRP-Aubel
VBAP-Posnr = VBRP-Aupos
VBAP-Vbeln = VBRP-Vgbel
VBAP-Posnr = VBRP-Vgpos
No caso de faturamento
antecipado
LIPS ( Item Remessa/Delivery/Fornecimento )
Vbeln : número da remessa
Posnr : número do item
Vgbel : número do documento origem
Vgpos : número do item origem
VBRP ( Item Doc. Faturamento/Billing )
Vbeln
Vgbel
Vgpos
Aubel
Aupos
Vgtyp
Matnr
Fkimg
LIPS-Vbeln = VBRP-Vgbel
LIPS-Posnr = VBRP-Vgpos
: número doc.faturamento
: número da remessa (doc.origem)
: número do item da remessa
: número do pedido
: número do item do pedido
: tipo do documento de origem
: material
: qtd. faturada
VBRP-Vbeln = J_1BNFLIN-Refkey
VBRP-Posnr = J_1BNFLIN-Refitm
VBRP-Vbeln = M_J1BAB-Refkey
MSEG-Mblnr = J_1BNFLIN-refkey(10)
MSEG-Mjahr = J_1BNFLIN-refkey+10(04)
J_1BNFLIN ( Item Nota Fiscal )
RefKey
Refitm
MSEG ( Item do Documento de Material )
Mblnr
Mjahr
: documento de origem
: item do documento de origem
Verificar chave do índice
OU PARA MELHOR PERFORMANCE
: número do doc. material
: ano do documento do material
M_J1BAB ( Índice por Nº referencia )
RefKey
: documento de origem
BKPF-Awkey = J_1BNFLIN-RefKey
BKPF ( Documento Contábil )
VBFA ( Relacionamento entre os
documentos de venda )
Vbelv
Posnv
Vbeln
Posnn
Awkey
: documento referência
: Documento precedente
: Item doc.precedente
: Documento Subsequente
: Item doc.subsequente
Curso de ABAP – Capitulo 3
21/29
Maurício Mião
01/09/98
VBRK ( Header Doc. Faturamento/Billing )
Vbeln
Zukri+7(10)
Relacionamentos entre as
tabelas SAP
: número doc.faturamento
: número fornecimento
EKKO ( Header Pedido de Compra )
VBRK-Vbeln = VBRP-Vbeln
Ebeln :número do pedido de compra
Knumv :número da condição
VBRP ( Item Doc. Faturamento/Billing )
Vbeln
Vgbel
Vgpos
Aubel
Aupos
Vgtyp
Matnr
Fkimg
EKPO-Ebeln = VBRP-Aubel
EKPO-Ebelp = VBRP-Aupos
: número doc.faturamento
: número da remessa (doc.origem)
: número do item da remessa
: número do pedido
: número do item do pedido
: tipo do documento de origem
: material
: qtd. faturada
EKPO-Ebeln = EKKO-Ebeln
KONV ( Condição do Item do Pedido)
Knumv
Kposn
Kschl
Kbetr
EKPO ( Item do Pedido de Compra )
Ebeln
Ebelp
: número da condição
: item do pedido
: tipo de condição
: montante ou perc. da condição
:número do pedido de compra
:número do item do ped.de compra
KONV-Knumv = EKKO-Knumv
KONV-Kposn = EKPO-Ebeln
VBRP-Vbeln = J_1BNFLIN-Refkey
VBRP-Posnr = J_1BNFLIN-Refitm
KONH-VAKEY = EKPO-EBELN + EKPO-EBELP
VBRP-Vbeln = M_J1BAB-Refkey
J_1BNFLIN ( Item Nota Fiscal )
RefKey
Refitm
: documento de origem
: item do documento de origem
Verificar chave do índice
KONH ( Condição do Programa de
Remessa )
Knumh
: número da condição
KONP ( Condição do Programa de
Remessa Item )
KNUMH
OU PARA MELHOR PERFORMANCE
Knumh
Kschl
Kbetr
: número da condição
: tipo de condição
: montante ou perc. da condição
M_J1BAB ( Índice por Nº referencia )
RefKey
: documento de origem
BKPF-Awkey = J_1BNFLIN-RefKey
BKPF ( Documento Contábil )
Awkey
MR1M / MR3M Rev.fatura logística
RBKP ( Header Doc.revisão fatura
logistica )
Belnr
Xblnr
: número documento contabil
: número nota fiscal fatura
: documento referência
EKBE ( Historico do pedido de compras )
Ebeln
Ebelp
Vgabe
Belnr
Buzei
:número do pedido de compra
: item pedido
: 2 - entrada de fatura (valores fixos)
: número documento contabil
: item doc
RSEG (Item Doc.revisão fatura logistica)
Belnr
: número documento contabil
Buzei : item doc.fatura
Menge : quantidade faturada
Curso de ABAP – Capitulo 3
22/29
MM01 - Visão de Classificação
CABN ( Característica do produto )
Atinn
Atnam
CAW N
( Valores possíveis da característica )
: código interno
: descrição
Atinn
Atwrt
Atzhl
: código interno
: valor ( código externo )
: numerador ( número do item )
AUSP-Atinn = CABN-Atinn
AUSP-Objek = MARA-matnr por exemplo
CAWNT-Atinn = CAWN-Atinn
CAWNT-Spras = Sy-langu
CAWNT-Atzhl = CAWN-Atzhl
AUSP ( Valores das Características )
Objek
Atinn
Atwrt
Atflv
Klart
: objeto ( Ex. Cód. Material )
: código interno caract.
: valor da característica
: valor interno em pto.flutuante
: tipo de classe
AUSP-Atinn = CAWN-Atinn
AUSP-Atwrt = CAWN-Atwrt
CAW NT
( Descrição da Característica )
Atinn
Atzhl
Spras
Atwtb
: código interno característica
: númerador da característica
: idioma
: descrição da característica
KSSK ( Tipos de classe por material )
Objek
Klart
Clint
: Código do material
: Tipo de classe
: Código interno do tipo de classe
UMA ENTRADA PARA CADA CLASSE
DE CADA TIPO
KLAH ( Classes do material )
KLAH-Clint = KSSK-Clint
Clint
Class
Klart
: Código interno do tipo de classe
: código da classe
: Tipo de classe
TVBUR ( Agência de Vendas )
Vkbur
Adrnr
: código agência
: código do endereço
SADR-Adrnr = TVBUR-Adrnr
SADR
( Endereço da Agência de Vendas )
TVKBT-Vkbur = TVBUR-Vkbur
Adrnr
Name1..4
Natio
: código do endereço
: descrição do endereço
: versão do endereço
TVKBT
( Descrição da Agência de Vendas )
Vkbur
Spras
Bzei
: código da agência
: idioma
: descrição
Curso de ABAP – Capitulo 3
23/29
M_ORDNA
( Ordem Pai - Filho )
Lead_aufnr
Aufnr
Maufnr
: ordem pai
: ordem filho
: ordem superior com
relação a filho
CAUFV
( Ordem de Produçao Header )
M_ORDNA-Aufnr
=
CAUFV-Aufnr
Aufnr
Objnr
Plnbez
Stlbez
: número da ordem
: objeto da ordem
: material da ordem
: material da ordem pai
COSP-Objnr = CAUFV-Objnr
COSP
( Custos Externos da Ordem Pr )
Objnr
: objeto custo
W rttp
: categoria do valor ( Plan/Real)
Kstar
: classe do custo ( GGP/MOD)
W og999 : valor em moeda
Hrkft
: chave custo
COSP-Objnr =
AUFK-Objnr
AUFK
( Ordem de Produçao Header
Dados mestre )
Aufnr
Objnr
Auart
: número da ordem
: objeto da ordem
: tipo da ordem
AUFK-Aufnr = AFPO-Aufnr
AFPO
( Ordem de Produçao Item )
COSS
( Custos Internos da Ordem Pr )
Objnr
W rttp
Kstar
W og999
: objeto custo
: categoria do valor ( Plan/Real)
: classe do custo
: valor em moeda
COSP-Objnr =
AUFK-Objnr
Aufnr
Posnr
: número da ordem
: item da ordem
COKEY-Hrkft = COSP-Hrkft
JEST
( Status individual por objeto )
Objnr
: número do objeto
Curso de ABAP – Capitulo 3
COKEY
( Header Custos )
AUFK-Aufnr = JEST-Objnr
Hrkft
Matnr
W erks
: chave custo
: código do material
: centro
24/29
ME11 / ME12 / ME13 Info Record Compras
EINA ( Info Record Compras Dados
Gerais )
A017 ( Info record Material Condições )
Infnr
Matnr
Lifnr
Lifnr : fornecedor
Matnr : material
Ekorg : organização compras
W erks : centro
Datbi : fim validade
Datab : inicio validade
Knumh : código da condição
: n. registro
: material
: fornecedor
EINA-Infnr = EINE-Infnr
EINE ( Info Record - Dados
Organização Compras )
Infnr
: n. registro
Ekorg : organização compras
W erks : centro
KONH-Knumh = A017-Knumh
A017-Lifnr = EINA-Lifnr
A017-Matnr = EINA-Matnr
A017-Ekorg = EINE-Ekorg
A017-Werks = EINE-Werks
KONH ( Condições Header )
Knumh : código da condição
Datbi : fim validade
Datab : inicio validade
KONP-Knumh = KONH-Knumh
KONP ( Condições Item )
Knumh : código da condição
Kbetr : valor
Kschl : tipo condição
Curso de ABAP – Capitulo 3
25/29
PLKO ( Planos ou Roteiros Header )
PLNTY
PLNNR
PLNAL
LOEKZ
STATU
: tipo do plano
: número do plano
: numerador
: código de eliminação 'x' - del
: status do plano
PLPO-PLNTY = PLKO-PLNTY
PLPO-PLNNR = PLKO-PLNNR
PLPO-PLNAL = PLKO-PLNAL
MAPL-PLNTY = PLKO-PLNTY
MAPL-PLNNR = PLKO-PLNNR
MAPL-PLNAL = PLKO-PLNAL
MAPL ( Roteiros por material )
PLNTY
PLNNR
PLNAL
LOEKZ
MATNR
W ERKS
: tipo do plano
: número do plano
: numerador
: código de eliminação 'x' - del
: material
: centro
PLPO ( Planos ou Roteiros para
Material Item )
PLNTY
PLNNR
PLNAL
LOEKZ
ZAEHL
VPLTY
VPLNR
VPLAL
: tipo do plano
: número do plano
: numerador
: código de eliminação 'x' - del
: numerador
: tipo plano de referencia
: número do plano referencia
: numerador plano referencia
TVBVK
( Grupo de Vendedores/Ag.Vendas )
Vkbur
Vkgrp
: Agência de vendas
: Grupo de Vendedores
TVKGR-Vkgrp = TVBVK-Vkgrp
TVKGR ( Grupo de Vendedores )
Vkgrp
: grupo de vendedores
TVGRT-Vkgrp = TVKGR-Vkgrp
TVGRT-Spras = Sy-langu
TVGRT
( Descrição do Grupo de Vendedores )
Vkgrp
Spras
Bezei
Curso de ABAP – Capitulo 3
: grupode vendedores
: idioma
: descrição do grupo de vend.
26/29
VTTK ( Transporte Header )
Tknum
Tdlnr
Dtmeng
Dtmev
VTTK-Tknum =
LTAK-Tanum
: transporte
: transportadora
: unidade peso
: unidade volume
Lgnum
Tanum
Kquit
Refnr
Vbeln
VTTK-Tknum =
VTTP-Tknum
LTAK-Vbeln =
VTTP-Vbeln
: depósito
: N.ordem transferencia
: confirmado
: Referência
: Fornecimento
LTAK-Lgnum = LTAP-Lgnum
LTAK-Tanum = LTAP-Tanum
VTTP ( Transporte Item )
Tknum
Tpnum
Vbeln
LTAK ( Ordem de Transferencia
Header )
LTAP (Ordem de transferência
Item)
: transporte
: item
: fornecimento
VTTP-Tknum =
LTAP-Tanum
VTTP-Tpnum =
LTAP-Orpos
Lgnum
Tanum
Tapos
Orpos
: depósito
: N. ordem transferencia
: item
: item OT que originou este
item
VTTP-Vbeln = LIKP-Vbeln
LIKP ( Fornecimento Header )
Vbeln
: fornecimento
VBAK ( Header Pedido )
Auart
Vbtyp
Vbeln
: tipo da ordem
: tipo documento
: número da ordem
VBKD-Vbeln = VBAK-Vbeln
VBKD-posnr = 00000000
VBKD ( Dados comerciais )
Vbeln : número da ordem
Posnr : número do item
VBAP ( Item Pedido )
Vbeln : número da ordem
Posnr : número do item
Matnr : material
Arktx : descrição
Pstyv : tipo do item
VBKD-Vbeln = VBAK-vbeln
VBKD-posnr = VBAP-posnr
Dados comerciais do pedido de vendas - VA03
Curso de ABAP – Capitulo 3
27/29
VK13 - Condições do material - Preço de venda
A004 ( Condições para
determinação preços do material )
Matnr : material
Vkorg : organização de vendas
Vtweg : canal de distribuição
Datbi : fim validade
Datab : inicio validade
Knumh : código da condição
Kschl : tipo de condição
KONH-Knumh = A004-Knumh
KONH ( Condições Header )
Knumh : código da condição
Datbi : fim validade
Datab : inicio validade
KONP-Knumh = KONH-Knumh
KONP ( Condições Item )
Knumh : código da condição
Kbetr : valor
Curso de ABAP – Capitulo 3
28/29
Resumo

O Data Dictionary é uma ferramenta utilizada por programas em ABAP/4 para
criar e manter tabelas. Há três tipos de tabelas: transparente, de pool e de cluster. As
tabelas transparentes são as mais comuns e são utilizadas para armazenar dados de
aplicativo. As tabelas de pool e de cluster são principalmente utilizadas pela SAP para
armazenar dados do sistema.

Para criar uma tabela, você primeiro precisa de domínio e de elementos de
dados. Os domínios oferecem as características técnicas de um campo; os elementos
de dados oferecem os rótulos de campo e a ajuda F1. Os dois são reutilizáveis.

Os objetos de dicionário devem estar ativos antes de poderem ser utilizados. Se
fizer uma alteração para um objeto de dicionário, você deve reativar o objeto para que
as alterações tornem-se efetivas.

Os navegadores de dados permitem que você exiba e modifique os dados
dentro de tabelas. O SE16 é o navegador mais geral de dados. O SM30 e o SM31 são
os outros navegadores que oferecem capacidades variadas.

Você pode criar ajuda F1 dentro de um elemento de dados pressionando o
botão documentation. Dentro dessa ajuda F1, você pode criar vínculos de hipertexto
para outros documentos de ajuda F1.

As chaves estrangeiras asseguram a integridade de dados executando
validações na tela e oferecem ajuda F4 para o usuário com lista de valores
permissíveis.

A tabela de valor oferece uma proposta para a tabela de verificação e oferece
ajuda F4.

As tabelas de texto oferecem suporte de diversos idiomas para descrições no
R/3 e especialmente para ajuda F4.

Dentro de uma tabela, cada campo monetário deve ser vinculado com um
campo-chave monetário e cada campo de quantidade deve ser vinculado com um
campo que contém as unidades de medida.
Curso de ABAP – Capitulo 3
29/29
Download