Você está na página 1de 27

ABAP Training

Data Dictionary

ABAP Training

1.

Objetivos

Apresentar conceitos de Bancos de Dados Relacionais


SAP vs Modelo Relacional
Conhecer as ferramentas bsicas do Dicionrio de Dados
do R/3
Criar objetos atravs do Dicionrio de Dados

ABAP Training

2.

Conceitos de Bancos de Dados Relacionais

Modelo Entidade-Relacionamento
Modelo desenvolvido para facilitar o projeto de banco de
dados, permitindo a especificao de um esquema que
represente a estrutura lgica global de um banco de dados.
Entidade: um objeto que existe e distinguvel de outros
objetos, ou seja, identifica o agrupamento de objetos do
mesmo tipo. Exemplos: Clientes, Bancos, Agncias, ContasCorrente.
Atributos: So os qualificadores de uma entidade, isto ,
representam no modelo o que uma entidade pretende ser.
Exemplos: Nome, RG, CPF, Endereo, Nro Conta, Nro Agncia,
Nro Banco
Domnio: Conjunto de valores permissveis para um
atributo. Exemplo: Estado Civil, Sexo, Cor, Meses do Ano.
Relacionamento: a associao entre duas entidades, ou
seja, representa a maneira como duas entidades esto
relacionadas ou ligadas. Exemplos: Conta-Corrente de um
Cliente, Agncias de um Banco, Contas-Corrente de uma
Agncia.
Restries de Mapeamento: Representam o modo como
as diferentes entidades de um modelo se relacionam.
Determinadas pela cardinalidade dos relacionamentos entre
as entidades.

ABAP Training
Um-para-Um: Uma ocorrncia da Entidade A est
relacionada com uma e apenas uma ocorrncia da Entidade
B.
Um-para-N: Uma ocorrncia da Entidade A est
relacionada com uma ou vrias ocorrncias da Entidade B.
N-para-Um: Vrias ocorrncias da Entidade A esto
relacionadas com apenas uma ocorrncia da Entidade B.
N-para-N:
Vrias ocorrncias da Entidade A est
relacionada com vrias ocorrncias da Entidade B.Modelo
Relacional
Um banco de Dados Relacional a implementao fsica do
Modelo Entidade-Relacionamento e traduz concretamente o que o
modelo conceitual procura representar. Consiste em uma coleo
de tabelas cada uma das quais associada a um nome nico e que
possuem relacionamentos entre si. Tabelas representam
fisicamente as Entidades.
Cada tabela possui uma estrutura similar quilo que
pretende a representar, isto , tabelas so formadas de linhas que
por sua vez so formadas por colunas. Colunas representam
fisicamente os Atributos.
A cada linha da tabela chamamos de Ocorrncia e o conjunto
de ocorrncias pode ou no estar relacionado com ocorrncias de
outras tabelas.
Como distinguir as ocorrncias umas das outras?
Utilizando o conceito de Chave Primria!!

ABAP Training
Chave Primria: Conjunto de atributos que garante a
unicidade de cada ocorrncia da tabela. Exemplos: RG, CPF, Nro
Chassis.
Normalizao: Processo de reconhecimento da chave
primria
Como representar os relacionamentos entre tabelas?
Transferindo a chave primria de uma tabela para a outra!!
Chave Estrangeira: Quando a chave primria de uma
tabela um atributo em outra(s) tabela(s).
Como definir todos esses elementos num BD?
Utilizando linguagens especiais para cada Sistema Gerenciador de
BD.
SQL:
Structured Query Language Linguagem desenvolvida nos
anos 70 para definio e manipulao de dados em sistemas de
bancos de dados relacionais. Conjunto reduzido de comandos,
sem recursos de lgica, unica e exclusivamente para criar objetos
no banco de dados e permitir que os dados possam ser mantidos,
de acordo com as necessidades funcionais. Nos gerenciadores de
BD, ferramentas especficas de cada fabricante oferecem recursos
adicionais para a contruo de lgica. Outras linguagens foram
adaptadas para trabalharem em conjunto com o SQL, como
COBOL, C e ABAP/4. O SQL utilizado no R/3 proprietrio e segue
um mnimo da regulamentao internacional para esta, estando
longe de possuir os mesmos mecanismos de funcionamento. Seus
comandos podem ser divididos em:

ABAP Training
DDL:
Data Definition Language Comandos especficos
para definio de objetos do banco de dados. Exemplo: Create
Table, Create View, Create TableSpace, Drop Table, etc.
DML:
Data Manipulation Language Comandos especficos
para tratamento dos dados armazenados nos objetos do banco.
Exemplo: Select, Insert, Delete, Update, etc.

ABAP Training

3. R/3 Data Dictionary


O dicionrio de dados do ABAP/4 (DD) uma fonte central
de informaes provenientes do sistema gerenciador de dados do
SAP. Sua principal funo suportar a criao e o gerenciamento
das definies de dados, tambm conhecidas como metadados.
Neste curso, o DD ser utilizado em exerccios prticos com o
seguinte objetivo:
Visualizar objetos do SAP (Tabelas, estruturas, elementos de
dados, domnios, etc)
Observar a estrutura e atributos dos dados armazenados nas
bases de dados do SAP.
Fazer consultas (query) de dados.
Descobrir os relacionamentos entre diferentes objetos (tabelas e
estruturas de dados).
Criar objetos (Tabelas, estruturas e elementos de dados) a partir
do dicionrio.
Funes desempenhadas pelo Data Dictionary:
Gerenciamento das Definies de Dados

Criao e manuteno das definies de dados num repositrio


central

Proviso de informaes para avaliaes

Permite obter informaes sobre o modo como os objetos esto


relacionados

Suporte ao desenvolvimento

Diferentemente de outros dicionrios de dados, est integrado ao


ambiente de desenvolvimento de modo que alteraes ou criao
de novos objetos promovem automaticamente a gerao dos
outros objetos dependentes, sejam eles parte do dicionrio ou
programas aplicativos.

Suporte documentao

Permite obter documentao atualizada

Garantia de que as definies de dados sejam flexveis e


atualizadas
7

ABAP Training
Gerao de objetos de runtime garantindo performance.

ABAP Training

Transao SE11

Tabelas: Definir a estrutura das tabelas transparentes onde os dados sero


armazenados fisicamente.
Estruturas: Definir estruturas que viro a ser utilizadas em programas para
definir a estrutura de uma tabela interna, ou como include em uma
estrutura de uma tabela transparente.
Vises: Definir relacionamentos entre tabelas transparentes para facilitar o
acesso ao banco de dados, geralmente so criadas para substituir select
joins que durante a execuo do programa degradam a performance do
mesmo.

ABAP Training
Elementos de dados: Associar os atributos tcnicos e significado para um
campo em uma tabela.
Domnio: Definir atributos tcnicos que sero atribudos a um elemento de
dados
Objetos de bloqueio: Definir os bloqueio de acesso aos dados no banco de
dados
Ajuda p/ pesquisa: Definio dos objetos de matchcode que sero
utilizados nas telas do SAP
Grupos de tipos: Os tipos de dados que definem a estrutura de uma
tabela, o tipo do campo em um domnio podem ser armazenados em um
pool de tipos, para posteriormente acion-los em uma funo ou programa.

Estrutura Tabela

10

ABAP Training

Modificar / Exibir a estrutura do objeto


Verificar objeto
Ativar objeto
Lista de utilizaes de objeto (Elemento de Dados, Domnio)
Visualizar estrutura de outro objeto
Chaves extrangeiras
Expande todas as estruturas includas na tabela
Expande uma estrutura includa na tabela
Comprime uma estrutura expandida da tabela
Comprime todas as estrutura expandidas da tabela
DER Grafico
Permite anexar campos estrutura da tabela
Configurao do tipo de dado armazenado, tamanho, buffer
Criao de ndices na tabela

11

ABAP Training

Opes tcnicas

12

ABAP Training

Criao de ndices

13

ABAP Training

Vises

14

ABAP Training

Elemento de dados

15

ABAP Training

Domnio

16

ABAP Training
4. EXEMPLOS
4.1 Visualizao da Estrutura de uma Tabela
a)
1. Acessar o Dicionrio de Dados (TOOLSABAP Workbench
Development ->ABAP Dictionary)
2. Entrar com o nome da tabela de Accounting Document
Segment (BSEG)
3. DoubleClick na coluna Field Type ()
4. Click no matchcode da coluna Data Type ()
5. Click no boto Find ou CTRL + F e procurar o campo WRBTR
b)
1. Acessar o Dicionrio de Dados:
FerramentasABAP/4 WorkbenchABAP/4 Dictionary (SE11)
2. Informar o nome da Tabela BSEG <Display>
3. DoubleClick na coluna Data Elem BUKRS
4. <BACK>
5. Click no matchcode da coluna Ctg
6. <Cancel>
7. <Find> o campo PSWSL
8. <Avanar>
9. Click no boto <Chaves Externas>
10. <ENTER>
11. DoubleClick em sua CheckTable (TCURC)
12. <BACK>
13. Click no boto <Outra Tabela>
14. Informe BKPF <ENTER>
15. Opo GOTO ndices
16. DoubleClick #1
17. <BACK>
18. <CANCEL>
19. Opo Utilitrios Administrao de Verso
20. <BACK>

17

ABAP Training
4.2 Visualizao do Contedo das Tabelas
a)
1. Procurar o campo ALTKT
2. Acessar UTILITIESTable Contents -> Display (Transao SE16)
3. Click em executar (F8)
4. DoubleClick em uma linha da tabela
5. Acessar Settings -> List Format -> Choose Fields
6. Desmarcar todos os campos (terceiro boto)
7. Checar () os campos: BUKRS , BELNR , WRBTR , HKONT,
LIFNR
8. Click Transfer
9. Acessar Settings -> User Parameters ->
10. Selecionar Field Text
11. Click em Transfer
b)
1. Procurar o campo WAERS
2. DoubleClick em sua CheckTable (TCURC)
3. Opo Utilitrios Table Contents (SE16)
4. <F8>
5. DoubleClick na coluna WAERS com valor ADP
6. Click no campo WAERS e <F1>
7. Veja o help e depois <F9>
8. <Cancel> / <Cancel> / <Back> (Table Contents)
9. Voltar tela de estrutura de tabela (<BACK> 3x)
10. Opo Utilittios Table Contents
11. <F8>
12. Opo Opes Formato de Lista Seleo Coluna
13. Desmarcar todos os campos (terceiro boto)
14. Selecionar os campos BUKRS, BELNR, GJAHR e XBLNR
15. <ENTER>
16. Selecionar XBLNR = 000022-1
17. <F8>
18. <BACK>
19. Opo Opes Critrios de Seleo
20. Selecionar tambm WWERT e TCODE <ENTER>
21. Encerrar o DD e retornar ao menu principal do R/3

18

ABAP Training
4.3 Criao de uma tabela customizada
a) Tabela de Contas do Razo
1- TOOLSABAP/4 WORKBENCHABAP/4 DICTIONARY
2- Object Name: ZFLABII# (# = nmero do grupo)
3- <CREATE>
4- SHORT TEST: Lab DD Grupo # - Tabela de Contas do Razo
5- DELIVERY CLASS: A
6- Tab.Maint.Allowed :
7- Field Name: MANDT
key:
<ENTER>
(Obs: o campo MANDT sempre participa dachave primria e
obrigatrio para tabelas Client Dependent)
8- Field Name: HKONT key: (copiar data-element de BSEGHONT)
9- Repetir o processo para os seguintes campos:
Campo

Tabela de Origem

BELNR
GJAHR
SGTXT
PSWBT
DMBTR
BUDAT
BKTXT
TXT50

BSEG
BSEG
BSEG
BSEG
BSEG
BKPF
BKPF
SKAT

key:

10- Incluir um campo com as seguintes caractersticas:


- Field Name: OBS
- Data elem : TOBS_ACC (Double Click para criar)
- Short Text: Texto de Observao do
Movimento
- Domain Name: TEXT50
- Data Type : CHAR
- Field length: 20
- Texts: 10 : Obs
15: Observao

19

ABAP Training
20: Observao sobre o
movimento
111213141516b)

Salvar o Data Element


Ativar o Data Element
<BACK>
Salvar a Tabela
Verificar a Tabela
Ativar a Tabela

Dados Adicionais para Nota de Crdito


Criar uma Tabela com as seguintes caractersticas:

Nome:
ZSEC#
Descrio:
Dados Adicionais para Nota de Crdito
Grupo #
Delivery Class: A
Table Maintenance Allowed:
Field Name

Key Data Element

MANDT
X
Documento X
Razao
Endereco
Bairro
Cidade
UF

MANDT
VBELN_VF
ZRAZAO
ZENDERECO
ZBAIRRO
ZCIDADE
ZUF

Checked
Type

Length

Short Text

CLNT
3
Mandante
CHAR 10
Doc. Faturamento
CHAR 40
Razo Social Emissor
CHAR 40
Ender. do Emissor
CHAR 20
Bairro do Emissor
CHAR 20
Cidade do Emissor
CHAR 2
Unid. Fed. Emissor

20

ABAP Training
2.4. Criao de um Dilogo de manuteno para tabela
customizada
Aps criar uma tabela customizada, s vezes preciso que
seja criado um Maintenance Dialog Box, para que seja possvel
incluir, alterar ou excluir dados de uma nova tabela atravs da
transao SM30.
Criar um Function Group:
Transao SE80
Duplo clique na opo Function Group, utilizar o nome ZFG# e pressionar
CRIAR
Apresentar um nome condizente ao grupo de funes e pressionar SAVE
Ativar a Function Group
Informar a Development Class utilizada at o momento e pressionar SAVE
Utilizar o mesmo transporte criado para a criao da tabela no item anterior
Gerar Maintenance Dialog Box
Tools ABAP Workbench Development Other Tools General Table
Maint. Dialog (ou executar diretamente a transao SE54)
Escrever o nome da tabela ZTST#
Selecionar a opo Generated Objects e pressionar CREATE/CHANGE
Pressionar YES no dialog de confirmao
Informar o Authorization Group &NC&, que no exige autorizao
Informar o Function Group ZFG# criado no item anterior
Selecionar a opo One Step para maintenance type
<Procurar n Tela> e <Continuar>
Pressionar CREATE
Informar a Development Class utilizada at o momento e pressionar SAVE
Alterar a tabela criada
Executar a transao SM30
Informar o nome da tabela ZTST# e pressionar MAINTAIN
Pressionar NEW ENTRIES , incluir dados e salvar
Informar o mesmo nmero de transporte criado para o Function Group
Selecionar uma das linhas da tabela e pressionar o boto DELETE
Confirmar a excluso

21

ABAP Training
2.5. Criao de uma Transao para o Dilogo de
manuteno
Executar a transao SE93
Pesquisar no matchcode o nome da transao desejadbo (de acordo com
os padres de nomenclatura) e verificar qual o prximo nmero vlido de
transao
Informar o nome da nova transao
<CRIAR>
Escolher a opo " Transao com parmetros
<CONTINUAR>
Informar texto de descrio da transao (Texto da transao)
No quadro Valor proposto para, informar cdigo da transao SM30
Escolher a opo omitir 1 tela
Na primeria linha do quadro "Valores Propostos" :
"Nome do campo da Tela" atribuir
"VIEWNAME"
"Valor"
atribuir
< Nome da Tabela >
Na segunda linha do quadro "Default Values" :
"Nome do campo da Tela" atribuir
"SHOW"
"Valor"
atribuir
X
<SALVAR>
Informar classe de desenvolvimento
Indicar o request equivalente da atividade
Sair da transao < Voltar >

22

ABAP Training

Testando a Transao:
Sair da transao SE93
Digitar o cdigo da transao criada

23

ABAP Training

EXERCCIOS
DATA DICTIONARY

24

ABAP Training
EXERCCIO 1

Criar uma ESTRUTURA com as seguintes caractersticas:


(Transao SE11 -> clicar em Data Type _> Create -> Selecionar
Estrutura
Name:
ZSCRIPT# (# = nmero do grupo)
Short Text: Estrutura de preenchimento do layout set
ZM_TSTSCRIPT
Field name

Data elem.

BLDAT
BLDAT
document
BELNR
BELNR D
document number
CABIERTO1
BKTXT
text
NAME1
NAME1_GP
CABIERTO2
IN_WORDS
SGTXT
SGTXT
HKONT
HKONT
TXT50
TXT50_SKAT
text
XBLNR
XBLNR
document number
BEDAT
EBDAT
document date
EBELN
EBELN
document number

Type

Length

Short text

DATS

Date of the

CHAR

10

Accounting

CHAR

25

Document header

CHAR
35
CHAR
256
CHAR
50
CHAR
10
CHAR
50
CHAR
DATS
CHAR

16

Name 1
Amount in words
Line item text
G/L account
G/L account long
Reference

Purchasing

10

Purchasing

25

ABAP Training

EXERCCIO 2
Tabela BSEG
1 - Dado uma GL account HKONT = 50014001. Encontrar todos os
documentos associados, selecionar apenas os campos BUKRS,
BELNR, GJAHR, DMBTR, WRBTR, HKONT, DMBE2 e imprim-los.
2 - Dado o documento de nmero 1200000005. Verificar quais
contas incluem este documento (imprimir).
3 - Encontrar a GL account que inclui o documento do ex 2 e
possui o campo de line item (BUZEI) igual a 2.

Tabela BKPF
4 - Encontrar documentos que possuam:
Company Code = RP01
Document Date = 28.12.2000
Posting Date
= 28.12.2000

26

ABAP Training

EXERCCIO 3
Criar uma Tabela com as seguintes caractersticas:
Name: ZTBL# (# = nmero do grupo)
Short Text: Tabela para manuteno via transao SM30
Field Name

Key Data Element

MANDT
BELNR
TXT50
txt

MANDT
BELNR D
TXT50_SKAT

x
x

Type

CLNT
CHAR
CHAR

Length

3
10
50

Short Text

Client
Acc. Doc Num
G/L acct long

Criar um dilogo de manunteno com as seguintes


caractersticas:
Function Group: ZGF#
Utilizar a transao SM30 para manuteno desta tabela.

27

Você também pode gostar