Академический Документы
Профессиональный Документы
Культура Документы
ABAP Workbench
7 de Julho de 2011
Dicionrio de Dados
Objectivos
Este workshop permitir obter o conhecimento da utilizao das funcionalidades do Dicionrio ABAP, aprender as diferentes maneiras de definir objectos de dados e tipos, conhecer os servios fornecidos pelo Dicionrio ABAP e entender como se realiza a ligao com os ambientes de desenvolvimento e execuo.
Contedo
BC0301 Introduo
Introduo
BC0301 Introduo
Contedo
Funo do Dicionrio ABAP Objectos Bsicos do Dicionrio ABAP Conceito de Domnio a dois nveis Elemento de dados Domnio
Definio de tipos
Estrutura
Objectos da BD
Tabela/Vista
Tabela/ vista BD
Servios
Valores Possveis Ecr F4
TABELA
CAMPO
CHAVE PRIMRIA
ELEMENTO DE DADOS
DESCRIO TCNICA:
FORMATO EXTERNO LONGITUDE N DE CASAS DECIMAIS VALORES POSSVEIS TABELA DE VALORES ( Chave Estrangeira )
DOMNIO
Usa
Elemento de dados
Usa Domnio
Exemplo: Tabela UPERS EUNR EUNA ADRE Tabela UKURS FABNR KRSNR PRFNR KNAME
Domnio UPENUM
Domnio
VALORES POSSVEIS
VALORES FIXOS
VALORES FIXOS
VALORES FIXOS
Tabelas e estruturas
Contedo
Tabelas transparentes e estruturas Ecr de manuteno Include estrutura Parmetros tcnicos Definio de Buffer Tipos de Buffer
Totalmente armazenado
rea de armazenamento genrica Registo individual
Contedo
ABAP Dictionary
Estrutura
Cpo 1 Cpo 2 Cpo 3 Cpo 4
Base de Dados
Table Cpo 1 Cpo 2 Cpo 3 Cpo 4
Ecr de manuteno
Include structure
Include Structures
Tabela 1
Cpo 1 Cpo 2 Cpo A Cpo B Cpo 3
Tabela 2
Cpo A Cpo B Cpo 4
Cpo A
Cpo B
Include structure
Base de dados
Cpo 1 Cpo 2 Cpo A Cpo B Cpo 3 Cpo A Cpo B Cpo 4
Parmetros tcnicos
Dados Mestre Dados de Transaco Dados Organizacionais Dados de Sistema 0a4
Em que espao da BD deve a tabela ser criada ? Sero os dados da tabela alterados frequentemente ?
Tipo de Dados
Categ. Tamanho
Tipo de Buffer
Buffering
Log
Definio de Buffer
Dados de buffered tables so lidos directamente do buffer local.
Buffer Local
Application server 1 Program Table buffer
Servidor
Select *from tab where f1 = 9.
TAB
F1 F2 F3
Base de Dados
Armazenamento em buffer
Armazenamento em Buffer no permitido
A tabela no pode ser armazenada em buffer uma vez que inconsistncias, ainda que temporrias, no podem ser toleradas ou h demasiados acessos tabela.
Em principio, a tabela pode ser armazenada em buffer. Inconsistncias temporrias podem ser toleradas.
Buffer activo
A tabela deve ser armazenada em buffer. Deve ser especificado um tipo de buffer para definir como deve o buffer ser feito.
Tipos de Buffer
Registo Individual
Apenas o registo que foi acedido deve ser passado para o buffer
Num acesso de leitura a um registo da tabela, todos os registos que correspondem a uma certa parte da chave deste registo so passados para o buffer.
Totalmente armazenado
Quando um registo da tabela acedido, todos os registos da tabela so passados para o buffer.
Contedo do Buffer
001 001 001 001 001 001 001 001 001 001 001 001 001 001 AA BA BA BA BA LH LH LH LH LH LH LH LH UA 00000001 00000001 00000002 00000003 00000004 00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 00000001 ACA ACE BER LCY LHR BER DEN FRA LCY LGW LHR MUC RTM HAM
001 001 001 001 001 001 001 001 001 001 001 001 001 001
AA BA BA BA BA LH LH LH LH LH LH LH LH UA
00000001 00000001 00000002 00000003 00000004 00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 00000001
ACA ACE BER LCY LHR BER DEN FRA LCY LGW LHR MUC RTM HAM
Servidor de aplicao
SELECT * FROM SCOUNTER WHERE MANDT = '001' AND CARRID = 'LH' AND COUNTNUM = '00000004'.
Contedo do Buffer
ACA ACE BER LCY LHR BER DEN FRA LCY LGW LHR MUC RTM HAM 001 001 001 001 001 001 001 001 LH LH LH LH LH LH LH LH 00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 BER DEN FRA LCY LGW LHR MUC RTM
001 001 001 001 001 001 001 001 001 001 001 001 001 001
AA BA BA BA BA LH LH LH LH LH LH LH LH UA
00000001 00000001 00000002 00000003 00000004 00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 00000001
Servidor de aplicao
Chave genrica
SELECT * FROM SCOUNTER WHERE MANDT = '001' AND CARRID = 'LH' AND COUNTNUM = '00000004'.
Contedo do Buffer
001 LH 00000004 LCY
001 001 001 001 001 001 001 001 001 001 001 001 001 001
AA BA BA BA BA LH LH LH LH LH LH LH LH UA
00000001 00000001 00000002 00000003 00000004 00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 00000001
ACA ACE BER LCY LHR BER DEN FRA LCY LGW LHR MUC RTM HAM
Servidor de aplicao
SELECT SINGLE * FROM SCOUNTER WHERE MANDT = '001' AND CARRID = 'LH' AND COUNTNUM = '00000004'.
Activao de Tabelas
verso activa
campo1 campo2 campo3
adicionar campo4 verso activa campo1 campo2 campo3 verso revista campo1 campo2 campo3 campo4
activar
Tabela UPERS
Informao de Tabela
Number Name
Elemento de Dados
Address
UPERSN
Domnio
UNAMU UTX20
UADRES
Informao de Campo
UPENUM
ndices
Chave
TAB
campo1 campo2 ndice Primrio campo1 campo2 campo3 campo4 campo5 campo6 ndice Secundrio campo3 campo4 campo6
Dicionrio ABAP
Base de Dados
TAB
campo1 campo2 campo3 campo4 campo5 campo6
TAB__0
campo1 campo2
TAB__1
campo3 campo4 campo6
Critrios de seleco de registos por valores dos campos Seleco dos campos a visualizar Ordenao dos campos Contagem dos registos seleccionados Facilidades de impresso
Operadores de seleco :
Contedo
Valores Fixos
Tabela de Valores
Chave estrangeira Tabela de verificao Campo de Chave estrangeira / Campo de verificao Atributos Tabela de texto
Valores fixos
Tabela SBOOK
MANDT CARRID 401 401 401 AA LH UA CONNID 017 400 941 FLDATE 13.06.2000 25.07.2000 14.08.2000 BOOKID ......... ........ ........ ........ CLASS C Y F .......... .......... .......... ..........
Classe de Voo
Classe C Y F
Descrio
Business Class Economy Class First Class
Tabela de valores
Value Table
Create Foreign Key Chave estrangeira no existe
Crear proposta com tabela de valores SCARR como tabela de verificao?
Sim
No
Cancelar
Tabela SCARR
MANDT CARRID CARRNAME 401 401 401 410 AA BA American Airlines British Airways Lufthansa United Airlines CURRCODE USD GBP DEM USD
LH UA
Chave estrangeira
O que uma Chave Estrangeira ?
Num Modelo Relacional de Dados, as chaves estrangeiras consubstanciam as relaes entre as tabelas de dados Suporte integridade dos dados Funo de help Tabela de Telefones Extens.Telefnica Local Nr.Utilizador
Chave primria
CHAVE PRIMRIA
CHAVE ESTRANGEIRA
TABELA 1
TABELA 2
1:1
1:N
1:C
1:CN
Tabela de textos
Tipo de campo chave estrangeira: Campo chave para uma tabela de texto
Table SMEAL
MANDT CARRID MEAL NUMBER MEAL TYPE MANDT
Key fields
Key fields
Dicionrio de Dados
Contedo
Sistema de Informao
Perguntas tpicas Ecr de pesquisa Convenes de entrada para as pesquisas Lista de utilizaes
Tabela 1
Tabela 2
Tabela 3
Tabela 4
Tabela 5
Elem. Dados 1
Elem. Dados 2
Elem. Dados 3
Domnio
Dicionrio ABAP
CONVENES DE ENTRADA - CAMPOS DATA E NUMRICOS numrico date < > <> & , entrada de um nmero AAAAMMDD menor do que maior do que negao operador lgico AND ( ex. >5&<20 ) operador lgico OR
Lista de utilizaes
Where
Use Programa 1 Programa 2 Tabela 2
Estrutura 1
Estrutura 2
Tabela 1
Estrutura 3
Elem. Ddos 1
Elem. Ddos. 2
Elem. Ddos. 3
Dominio
Lista de - utilizaes
Modificaes em tabelas
Contedo
Verso Activa
campo1 campo2 campo3 campo4
Verso Revista
campo1
campo2
campo3
Base de Dados
Base de Dados
Tipos de ajustamento
Cpo 1
Cpo 2
Cpo 3
Verso activa
Cpo 1 Cpo 2 Cpo 3 Cpo 4
Verso Inactiva
ou Converter a tabela
Cpo 1
Cpo 2
Cpo 3
Pode estar contido em mais do que uma tabela ou estrutura Nome comea por CI_ Manuteno por transaces de parametrizao
Cpo A Cpo B
Tabela
Cpo 1 Cpo 2 Cpo 3 Cpo 4
Append structure
Cpo 1
Cpo 2
Cpo 3
Cpo A
Cpo B
Cpo 4
Vistas
BC0306 Vistas
Contedo
Selection
Projection Vistas em BD
Vistas
Vistas de tabelas
F1
F2
F3
F5
F8
TABA F1 F2 F3 F4 F5 F6 F7 F8
TABB
Tabela 1
Tabela 2
Tabela 3 Field 1 Field 2 Field 3 Field 4 Field 5 1 1 1 1 2 2 2 2 Text 1 Text 1 Text 1 Text 1 Text 2 Text 2 Text 2 Text 2 1 1 2 2 1 1 2 2 A B A B A B A B Text 3 Text 4 Text 5 Text 6 Text 3 Text 4 Text 5 Text 6 Informao cruzada
Tipos de vistas
VISTAS DE DADOS S PARA TABELAS TRANSPARENTES DEFINIO DA VISTA CRIADA NA BD VISTAS DE PROJECES SOBRE UMA NICA TABELA VISTAS DE HELP PROCESSADOR DE AJUDA UMA TABELA S PODE TER UMA VISTA DE HELP VISTAS DE MANUTENO ACESSO CONJUNTO A VRIAS TABELAS MANUTENO VIA TRANSACO SM30
UKURS
UNAMA
UPERS
JOIN :
ADRE
k v k s
Selection :
ADRE
k k
k v k s
Projection:
ADRE
Vistas em BD
Interface com BD
F1
F2
F3
F5
F8
Vista definida na BD
F1
F2
F3
F4
F5
F6
F7
F8
Tabela 1
Tabela 2
Tabela 3
Ajudas de Pesquisa
Contedo
F4 help Viso Geral Definio de Ajuda de pesquisa no Dicionrio ABAP Ajudas de pesquisa colectivas Mecanismos para obter ajudas de pesquisa
F4 - Viso Geral
Entradas possveis especiais para campos de tempo ou data; Valores Fixos; Tabela de Verificao; Help Views; Entradas possveis.
Manuteno de Voos
Aerolinha N Voo LH
0400
Aerolinhar
LH
No Cd. Partida Cd. Chegada . Frankfurt New York 0402 Frankfurt 2402 Frankfurt New York Berlin
...
...
...
F4
...
Voos
Aerolinha N Voo
.
LH
New York Berlin
No Partida Chegada
0400 Frankfurt 2402 Frankfurt
...
...
...
...
Sem limite
Ajuda de Pesquisa
Interface
Aerolinha
LH
New York Berlin
No Partida Chegada
0400 Frankfurt 0402 Frankfurt
Aerolinha N voo
LH
... F4
...
...
0*
...
Parmetros Export
Interface
no existe redireccionado
Aj. em tab. verificao Aj. Pesquisa para Campo de ecr Aj. pesquisa para tab. Verific. Aj. pesquisa para Elemento de dados
Valores Fixos
Exerccios
BC0309 Exerccios
Exerccios 1
Sistema de Informao do D.D. - (Repository Infosystem)
a) Listar os Data Elements que tenham como domnio WAERS e contenham na descrio o termo "currency". b) Pesquisar todas as tabelas com a designao comum CSK* c) Visualizar os campos da tabela CSKS. d) Visualizar todos os campos nas vrias tabelas existentes que sejam validados contra a tabela CSKS.
Exerccios 2
Implementao duma tabela na Base de Dados
a) Criar uma tabela transparente com a designao Z#ACE , destinada a servir de lista de telefones internos da empresa e a ser mantida e visualizada com as funes standard do R/3. b) Os campos da tabela sero: EXTENSO NUMC(3) GABINETE NUMC(4) UTILIZADOR CHAR(25) c) Como nome dos elementos de dados e dos domnios utilizar strings de 10 caracteres (mx.) iniciados por Z#. Para todos os campos da tabela deve usar exclusivamente os elementos de dados e domnios anteriormente criados. d) Os nmeros dos gabinetes devero estar compreendidos entre: 1000 a 1999 1.andar 2000 a 2999 2.andar 9000 a 9999 Rs-do-cho e anexos e) Activar aps verificar a consistncia da estrutura da tabela. f) Definir caractersticas tcnicas. e) Gerar dilogo de actualizao.
Exerccios 3
Implementao duma tabela na Base de Dados
a) A administrao do sistema necessita de implementar uma funo adicional no R/3 tendo em vista o controlo da manuteno das impressoras Laser disponveis. Como informao de base desse controlo, necessrio ter por cada tipo de impressora dos seguintes dados: N Serie (Char25) Tipo de impressora (Char8) Fornecedor de Consumveis (Char15) Telefone do Fornecedor (Numc7) Mudana de Tonner (Numc5, Val.possveis: 3000-7000) Mudana de Fuser (Numc5, Val.possveis: 30000-70000) Preo do Tonner (Curr8) Preo do Fuser (Curr8) Moeda (Cuky, Tabela de Validao : TCURC) b) Pesquisar no sistema (spool administration) a tabela onde se encontram definidos os tipos de impressoras e verificar que o domnio do campo correspondente ao tipo de impressora validado contra a prpria tabela.
Exerccios 3
(continuao)
c) Implementar no dicionrio de dados uma tabela transparente Z#IMP com a informao de base acima referida, comeando por implementar os domnios e elementos de dados apropriados a cada um dos campos, com excepo do "tipo de impressora" para o qual se utilizaro os elementos da tabela antes analisada. d) Assegurar que esse campo ser validado contra a referida tabela. e) Implementar a tabela na Base de Dados e mante-la com a funo standard do sistema f) Verificar as ajudas disponveis em cada campo.
Exerccios 4
Chaves estrangeiras
a) Criar uma tabela com a designao Z#EMP, destinada definio dos empregados da empresa. b) Os campos da tabela sero: NOME_EMPREGADO CHAR(25) FUNO_ACTUAL CHAR(25) c) Esta tabela vai servir de tabela de validao de outra. Ter em conta este facto na sua criao. Activa-la aps a criao. d) Copiar a definio da tabela feita no exerccio anterior (Z#ACE) para uma nova tabela com a designao Z#TEL. e) Definir o campo UTILIZADOR como chave estrangeira relativamente tabela Z#EMP, alterando por conseguinte o respectivo domnio. f) Activar aps verificar a consistncia da estrutura da tabela. g) Pela opo de menu Utilities->Create Entries introduza dados em ambas as tabelas e verifique a ajuda que pode obter com a tecla F4 no campo da chave estrangeira.
Exerccios 5
Gesto de verses
a) Inserir na tabela Z#ACE um novo campo, PISO CHAR(2) Usar um domnio standard.
b) Para o novo campo, deve activar o elemento de dados correspondente. A tabela dever ficar no estado revised. c) Fazer uma comparao entre a verso activa e a verso revista anotando as diferenas.
d) Na comparao de verses, executar os vrios tipos de visualizao disponveis (Full, Delta, Paralelo).
e) Eliminar a verso revista, repondo a verso activa.
Exerccios 6
Exerccio completo Na empresa X, pretende-se desenvolver uma pequena aplicao de
registo/controlo da correspondncia com os clientes. Toda a correspondncia recebida (cartas, faxes e telexes ) deveria ficar registada com indicao do tipo, data de entrada, origem (cdigo do cliente) e servio da empresa a que se destina
Mais tarde esta informao introduzida pelo secretariado da Direco ser complementada com a data de resposta/despacho e o cdigo do empregado que tratou do assunto.
Exerccios 6
(continuao)
O objectivo deste exerccio iniciar a referida aplicao, implementando desde j as estruturas de dados necessrios e testando-as com a utilizao de ferramentas disponveis no sistema. Mais tarde sero desenvolvidas funes especificas. ( Para os clientes considerar a tabela j existente no sistema.) 1) Implementar no DD os objectos que materializam esse modelo. 2) Implementar as tabelas necessrias e introduzir dados na tabela 3) Implementar uma vista que permita visualizar simultaneamente a data de entrada do documento / nome do cliente / data de despacho / nome de empregado. 4) Implementar uma help view que permita visualizar com F4 sobre o campo cdigo de servio o nome dos servios existentes.
Exerccios 6
(continuao)
5) Como ir ser implementada uma funo de pesquisa de todos os documentos por cdigo de cliente, criar e implementar j um ndice secundrio para o acesso tabela dos documentos por cdigo de cliente.
6) Fazer alguma documentao on-line orientada para os campos cdigo de correspondncia , cdigo de servio e data de despacho.