SSAP AG BC430 ABAP Dictionary SAP AG 1999 Copyright 2000 SAP AG. Todos os direitos reservados. proibida a cpia ou reproduo deste manual de treinamento ou de qualquer parte dele, por qualquer forma ou meio, bem como sua traduo para qualquer outro idioma, sem o consentimento expresso da SAP AG. As informaes contidas neste documento esto sujeitas a alteraes e complementaes sem prvio aviso.
Todos os direitos so reservados. Copyright SAP AG 1999 Captulo 5 Dependncias de objetos do ABAP Dictionary Captulo 6 Modificaes de tabelas Captulo 7 Vises Captulo 8: Ajudas para pesquisa Captulo 1 Introduo Captulo 2: Tabelas no ABAP Dictionary Captulo 3: Desempenho durante acesso a tabelas Captulo 4: Consistncia por verificao de entradas Prefcio Exerccios Solues Anexos Contedo do curso SAP AG 1999 Funo do ABAP Dictionary no sistema R/3 Definio de objetos de banco de dados Tipos definidos pelo usurio Servios no ABAP Dictionary Ligao com os ambientes de desenvolvimento e tempo de execuo Introduo SAP AG 1999 Objetivos do curso No final deste captulo, o aluno estar apto a: Conhecer a funo do ABAP Dictionary no sistema R/3. Saber como definir objetos e tipos de dados. Conhecer os servios fornecidos pelo ABAP Dictionary. Saber como o ABAP Dictionary est ligado aos ambientes de desenvolvimento e de tempo de execuo. SAP AG 1999 Funo do ABAP Dictionary Tabela BD Servios Tela Valores possveis Definies de tipos Estrutura Tipo de tabela Elementos de dados F4 Objetos BD Tabela SAP AG 1999 Banco de dados Objetos de banco de dados no ABAP Dictionary Tabela 1 ABAP Dictionary Tabela 2 Viso Objetos so criados automaticamente no BD e ajustados s modificaes SAP AG 1999 Definio de tipos no ABAP Dictionary CEP Cidade Rua N o casa Nmeros Empregado Nome Endereo Telefone Nome Sobrenome Cidade Endereo SAP AG 1999 Servios do ABAP Dictionary Companhia area Nmero do vo . . . Atualizao de vos LH LLH N o Cidade part. Cidade chegada Companhia area 0400 Frankfurt Nova Iorque 0402 Frankfurt Nova Iorque LH LH LH LH LH 2402 Frankfurt Berlim ... ... ... Cdigo da conexo de vo Cdigo que define a conexo de vo entre duas cidades, por exemplo, 0400 Frankfurt - Nova Iorque. F1 F4 SAP AG 1999 Ligao do ABAP Development Workbench e do ambiente para o tempo de execuo. ABAP Dictionary Ler definies de tipos L a estrutura dos objetos de banco de dados Ambiente de tempo de execuo Ambiente de desenvolvimento Interpretador ABAP Interpretador de tela Ferramentas ABAP Screen Painter Interface de banco de dados SAP AG 1999 Sumrio do captulo O ABAP Dictionary gerencia as definies de dados. No ABAP Dictionary podem ser criados tipos definidos pelo usurio. Eles podem ser usados, por exemplo, em programas ABAP. Tabelas e vises de bancos de dados so definidas no ABAP Dictionary e automaticamente criadas com essa definio no banco de dados subjacente. O ABAP Dictionary oferece vrios servios que aceitam o desenvolvimento de programas. O ABAP Dictionary est ativamente integrado nos ambientes de desenvolvimento e no tempo de execuo. SAP AG 1999 Conceito de domnio de dois nveis Mapeamento no SABD relacional Estruturas de tabela Opes tcnicas Tipo de dados Categoria tamanho Armazenamento em buffer Log Tabelas no ABAP Dictionary SAP AG 1999 Ao final deste captulo, o aluno estar apto a:
Criar tabelas. Usar o conceito de domnio em dois nveis. Definir as opes tcnicas de uma tabela. Criar e usar estruturas include.
Objetivos do curso SAP AG 1999 Tabelas e campos Chave Campos de funo Linha Tabela Chave 1
. . . Chave2
. . . Chave n
. . . F 1
. . . F 2
. . . F n
. . . SAP AG 1999 Basic Objects of the ABAP Dictionary uses uses Table Table field Data element Domain SAP AG 1999 Conceito de domnio de dois nveis: Exemplo Tabela SPFLI MANDT Elemento de dados S_FROMAIRP Elemento de dados S_TOAIRP Domnio S_AIRPID CARRID ... AIRPFROM CONNID ... AIRPTO SAP AG 1999 Estruturas e tabelas transparentes Tabela Camp.1 Camp.2 Camp. 3 Camp.4 Estrutura Camp.1 Camp.2 Camp.3 Camp.4 ABAP Dictionary Definio fsica da tabela Tabela Camp.1 Camp.2 Camp.3 Camp.4 Banco de dados SAP AG 1999 Estruturas include Tabela 2 Tabela 1 Campo 1 Campo 2 Campo A Campo B Campo 4 Campo 3 Campo A Campo B Campo A Campo B Banco de dados Campo 1 Campo 2 Campo A Campo B Campo A Campo B Campo 3 Campo 4 Estrutura include SAP AG 1999 Opes tcnicas Armazenamento em buffer Buffer de tabela R/3 Em que rea fsica do banco de dados esta tabela deve ser gravada? Registro em log Os registros da tabela devem ser armazenados em buffer? Realizar o log das modificaes dos registros de dados? Quantos registros a tabela provavelmente ter? Categoria tamanho Tipo de dados SAP AG 1999 Tipo de dados Tabelas no ABAP Dictionary Tablespace Dados organiz. Tablespace Dados-mestre Tablespace Dados de movimento Tablespace Dados de sistema Banco de dados Dados organizacionais Dados de movimento Dados de sistema Dados- mestre Tabela 1 Tabela 3 Tabela 4 Tabela 2 Tabela 6 Tabela 5 Tabela 9 Tabela 7 Tabela 8 Tabela 1 Tabela 3 Tabela 4 Tabela 2 Tabela 6 Tabela 5 Tabela 9 Tabela 7 Tabela 8 SAP AG 1999 Categoria de tamanho Extenso inicial Primeira Extenso Segunda Extenso Opes tcnicas Categoria tamanho TABA TABB TABC 1 3 4 TABA TABB TABC Banco de dados SAP AG 1999 Registro em log Aplicao transao Modificar um registro Perfis do sistema rec/mandante = TODOS ... ... TAB Camp.2 Camp.3 Camp.5 TAB Tabela de log Camp.1 Camp.2 Camp.3 Banco de dados ABAP Dictionary TAB de log SAP AG 1999 Sumrio do captulo Todos os dados orientados empresa so administrados sob a forma de tabelas, cuja definio gravada no ABAP Dictionary. Para definir as tabelas, utiliza-se o conceito de domnio de dois nveis. A definio semntica implementada com elementos de dados, e a definio tcnica implementada com domnios. Os campos de estruturas include podem ser includos em tabelas. As opes tcnicas de uma tabela definem como a tabela deve ser gravada no banco de dados (tablespace, tamanho de extenso), e se as modificaes dos registros de dados devem ser registradas em log.
SAP AG 1999 ndices ndice primrio e ndice secundrio. Estrutura de um ndice. Acesso a dados por meio de ndice. Armazenamento de tabelas em buffer Vantagens do armazenamento em buffer. Buffers de tabelas locais. Tipos de armazenamento em buffer. Sincronizao de buffers. Que tabelas devem ser armazenadas em buffer? Desempenho durante o acesso a tabelas SAP AG 1999 Course Objectives At the end of this unit, you will be able to: Judge when table accesses can be speeded up by using indexes Create indexes in the ABAP Dictionary Explain the different buffering types Judge when it makes sense to buffer a table and which buffering type you should choose Buffer a table using the technical settings SAP AG 1999 Tabela SCOUNTER ndice em AIRPORT MANDT CARRID COUNTNUM AIRPORT 001 001 001 001 001 001 001 001 001 001 001 001 001 001 LH BA UA LH BA LH AA LH BA LH LH BA LH LH 00000005 00000004 00000001 00000002 00000003 00000007 00000001 00000003 00000001 00000001 00000004 00000002 00000006 00000008 ACA ACE BER LCY LHR BER DEN FRA LCY LGW LHR MUC RTM HAM AIRPORT P ACA ACE BER BER DEN FRA HAM LCY LCY LGW LHR LHR MUC RTM 1 2 3 6 7 8 14 4 9 10 5 11 12 13 Pesqui sa binria Estrutura de um ndice SELECT * FROM SCOUNTER WHERE AIRPORT = 'LHR'. SAP AG 1999 TAB ndice A F2 Z F1 F2 F3 10 A3 10 Text. Acesso com ndices ndice 0 F1 Z Otimizador SELECT * FROM TAB WHERE F2 = `9. Programa SAP AG 1999 Sistema comunicao Banco de dados Acesso a dados usando o buffer Interface de banco de dados SELECT * FROM SBOOK WHERE... Programa ABAP Buffer tabela R/3 Processos do banco de dados Buffer do banco de dados SAP AG 1999 Table Buffering Application server 2 Application server 1 Table buffer Table buffer Program Program Program reads data from a buffered table Records are loaded into the buffer Database TAB SAP AG 1999 Servidor de aplicao SELECT * FROM SCOUNTER WHERE MANDT = '001' AND CARRID = 'LH' AND COUNTNUM = '00000004'. Contedo do buffer 00000001 00000001 00000002 00000003 00000004 00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 00000001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 ACA ACE BER LCY LHR BER DEN FRA LCY LGW LHR MUC RTM HAM Tabela bco.dados SCOUNTER AIRPORT MANDT CARRID COUNTNUM 00000001 00000001 00000002 00000003 00000004 00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 00000001 AA BA BA BA BA LH LH LH UA 001 001 001 001 001 001 001 001 001 001 001 001 001 001 ACA ACE BER LCY LHR BER DEN FRA LCY LGW LHR MUC RTM HAM Armazenamento completo em buffer AA BA BA BA BA LH LH LH UA SAP AG 1999 Servidor de aplicao Contedo do buffer
Tabela banco dados SCOUNTER MANDT CARRID COUNTNUM 00000001 00000001 00000002 00000003 00000004 00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 00000001 AA BA BA BA BA LH LH LH LH LH LH LH LH UA 001 001 001 001 001 001 001 001 001 001 001 001 001 001 ACA ACE BER LCY LHR BER DEN FRA LCY LGW LHR MUC RTM HAM AIRPORT SELECT * FROM SCOUNTER WHERE MANDT = '001' AND CARRID = 'LH' AND COUNTNUM = '00000004'. Armazenamento genrico em buffer Chave genrica SAP AG 1999 Contedo do buffer 00000004
LH LH LH 001
LCY
Tabela banco dados SCOUNTER MANDT CARRID COUNTNUM 00000001 00000001 00000002 00000003 00000004 00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 00000001 AA BA BA BA BA LH LH LH LH LH LH LH LH LH UA 001 001 001 001 001 001 001 001 001 001 001 001 001 001 ACA ACE BER LCY LHR BER DEN FRA LCY LGW LHR MUC RTM HAM AIRPORT Servidor de aplicao SELECT SINGLE * FROM SCOUNTER WHERE MANDT = '001' AND CARRID = 'LH' AND COUNTNUM = '00000004'. Registro individual SAP AG 1999 Serv. 2 Buffer TAB SELECT * FROM TAB WHERE FIELD = 'X'. Serv. 1 Buffer Tabela de sincronizao 1 2 TAB Sincronizao de buffers 1 SAP AG 1999 SELECT * FROM TAB WHERE FIELD = 'Y'. Serv. 2 Buffer TAB Serv. 1 Buffer Tabela de sincronizao 3 4 TAB TAB Sincronizao de buffers 2 SAP AG 1999 Serv. 2 Buffer TAB DELETE * FROM TAB WHERE FIELD = 'X'. Serv. 1 Buffer Tabela de sincronizao TAB TAB TAB modificada pelo Servidor 1 5 6 7 Sincronizao de buffers 3 SAP AG 1999 TAB Tabela de sincronizao TAB modificada pelo Servidor 1 SELECT * FROM TAB WHERE FIELD = 'X'. Servidor 2 Buffer Servidor 1 Buffer TAB TAB 8 Sincronizao de buffers 4 SAP AG 1999 Serv. 2 Buffer TAB Serv. 1 Buffer Tabela de sincronizao TAB TAB TAB modificada pelo Servidor 1 9 9 10 Sincronizao Sincronizao de buffers 5 SAP AG 1999 TAB Tabela de sincronizao SELECT * FROM TAB WHERE FIELD = 'Y'. Serv. 2 Buffer Serv. 1 Buffer TAB TAB 11 12 Sincronizao de buffers 6 SAP AG 1999 Resumo do captulo Os ndices ajudam a agilizar o acesso de leitura de uma tabela. Um ndice pode ser considerado uma cpia ordenada da tabela, reduzida aos campos de ndice. Os buffers de tabelas residem localmente nos servidores de aplicao. O armazenamento em buffer pode melhorar significativamente o desempenho durante o acesso aos registros da tabela. importante selecionar o tipo de armazenamento correto. Os buffers de tabelas so ajustados s modificaes das entradas da tabela em intervalos de tempo fixos. Quanto mais a tabela for lida e quanto menos o seu contedo for modificado, mais vantajoso ser armazen- la em buffer. SAP AG 1999 Valores fixos Tabela de valores O que uma chave externa? Atribuio de campos usando o campo de verificao Tabela de chave externa/tabela de verificao Atributos semnticos da chave externa Tabelas de textos Coerncia nas verificaes de entrada SAP AG 1999 Objetivos do curso Ao final deste captulo, o aluno estar apto a: Criar e usar valores fixos. Definir o que uma chave externa. Aplicar as condies para a atribuio do campo da chave externa. Saber a diferena entre uma tabela de valor e uma tabela de verificao. Criar uma chave externa. SAP AG 1999 Domain Short description S_CLASS Flight class Dictionary: Display domain S_CLASS: Fixed values Fixed value Short description C Y F Business Class Economy Class First Class Lower limit Upper limit Short description Fixed Values SAP AG 1999 Value Table Dictionary: Display domain S_CARR_ID Domain Short description S_CARR_ID Short description of the carrier Format Valid values Value table SCARR Data type No. of places CHAR 3 Character strings MANDT CARRID CARRNAME CURRCODE 401 AA American Airlines USD 401 BA British Airways GBP 401 LH Lufthansa DEM 410 UA United Airlines USD Table SCARR SAP AG 1999 Tabela banco dados SCOUNTER (balco de vendas) CARRID (companhia area) CONNID (conexo) FLDATE (data do vo) COUNTER (balco) CUSTOMID (cliente) Este vo pode aceitar reservas no balco de vendas nmero 8? Entradas de campos da tabela SBOOK (reservas de vo): MANDT CARRID COUNTNUM 00000001 00000001 00000002 00000003 00000004 00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 00000001 AA BA BA BA BA LH LH LH LH LH UA 001 001 001 001 001 001 001 001 001 001 001 001 001 001 ACA ACE BER LCY LHR BER DEN FRA LCY LG W LHR MUC RTM HAM AIRPORT Insero de um registro de dados AA 0017 00000008 00000148 25.07.2000 SAP AG 1999 Tabela banco dados SCOUNTER MANDT CARRID COUNTNUM 00000001 00000001 00000002 00000003 00000004 00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 00000001 AA BA BA BA BA LH LH LH UA 001 001 001 001 001 001 001 001 001 001 001 001 001 001 ACA ACE BER LCY LHR BER DEN FRA LCY LG W LHR MUC RTM HAM AIRPORT CARRID (companhia area) CONNID (conexo) FLDATE (data do vo) COUNTER (balco) CUSTOMID (cliente) Entradas em campos da tabela SBOOK: Insero no permitida! Violao da verificao de chave externa Efeito da definio de chave externa: No existe um registro de dados com o contedo: MANDT = '001', CARRID = 'AA', COUNTNUM = '000000009' no existe na tabela SCOUNTER. AA 0017 00000148 25.07.2000 000000008 SAP AG 1999 Campos de chave externa / campos de verificao Campos-chave MANDT CARRID COUNTNUM AIRPORT Tabela de chave externa SBOOK MANDT CARRID CONNID FLDATE CUSTOMID CANCELED Campos de chave externa Campo de verificao COUNTER ... Tabela de verificao SCOUNTER SAP AG 1999 Coerncia de dados por meio de chaves externas MANDT CARRID CONNID ... 800 800 800 800 AA AA Roma Roma 0017 0064 0555 0788 MANDT CARRID ... 800 800 800 800 AA AC AF Roma SCARR: Tabela de verificao = obj.ref. SPFLI: Tabela de chave externa = obj.dep. SPFLI-CARRID SPFLI-MANDT Companhia area Nmero do vo Atualiz.detalhada AB 0020 Campo de verificao Campos de chave externa STOP SAP AG 1999 Definies de chave externa no campo de verificao Campos-chave Tabela SPFLI MANDT ... ... Aeroporto de partida com a tabela de verificao: SAIRPORT Tabela SAIRPORT MANDT ...... Aeroporto Domnio S_AIRPID Tabela de valor SAIRPORT Elemento de dados S_AIRPORT Elemento de dados S_FROMAIRP Relao entre a chave externa e o campo de verificao Aeroporto de partida SAP AG 1999 Tabela de verificao que no se iguala tabela de valor Tabela SBUSPART MANDT BUSPARTNUM ... Domnio S_BUSPARTNUM Tabela de valor SBUSPART MANDT AGENCYNUM ... Tabela STRAVELAG Tabela de chave externa SBOOK MANDT CARRID CANCELED ... AGENCYNUM ... SAP AG 1999 Atributos semnticos 1:C 1:N 1:1 1:CN Cardinalidade C C C C F F F F SAP AG 1999 Text Table Text table SMEALT MEAL- NUMBER MANDT CARRID LANGUAGE TEXT Table SMEAL MANDT CARRID MEAL- TYPE MEAL- NUMBER Key fields Key fields Foreign Key Relationship with Check Table SMEAL Type of foreign key fields: key fields of a text table SAP AG 1999 Sumrio Neste captulo, foram apresentadas duas maneiras de verificar a coerncia de dados: Valores fixos (estticos) Chaves externas (dinmico) Os valores fixos so armazenados no domnio. A chave externa permite verificar os valores de entrada em relao aos dados existentes. A relao da chave externa atualizada para o campo de verificao (campo da tabela de chave externa). O campo de verificao deve ser atribudo a um campo-chave da tabela de verificao com o mesmo domnio. SAP AG 1999 Ativao de objetos do ABAP Dictionary Processamento de objetos dependentes Lista de utilizaes e Sistema de informao do R/3 Repository do ponto de vista do ABAP Dictionary
Dependncias de objetos do ABAP Dictionary SAP AG 1999 Course Objectives At the end of this unit, you will be able to: Differentiate between the active and inactive version of an ABAP Dictionary object. Describe the mechanism for handling dependent objects in the ABAP Dictionary Explain how the Repository Information System and the Where-used list for ABAP Dictionary objects function SAP AG 1999 Verses ativa e inativa Verso ativa Verso inativa Verso ativa Verso ativa Camp.1 Camp.2 Camp.3 Camp.1 Camp.2 Camp.3 Camp.4 Camp.1 Camp.2 Camp.3 Camp.4 Ativar Adicionar campo 4 no ABAP Dictionary Camp.2 Camp.3 Camp.1 SAP AG 1999 Objetos de tempo de execuo Estrutura Informaes sobre a estrutura Informaes do campo Objeto de tempo de execuo da estrutura Elementos de dados Campo 2 Campo 3 Campo 1 Interpretador ABAP Elemento de dados 1 Elemento de dados 2 Elemento de dados 3 Domnio 1 Domnio 2 Domnio 3 SAP AG 1999 Processamento de objetos dependentes Estrutura 3 Tabela 1 Estrutura 2 Estrutura 1 Tabela 2 inclui Domnio Elemento de dados 1 Elemento de dados 2 Elemento de dados 3 SAP AG 1999 Listas de utilizaes Uso Listas de utilizaes Programa 1 Programa 2 Estrutura 3 Tabela 1 Estrutura 2 Estrutura 1 Domnio Tabela 2 Elemento de dados 1 Elemento de dados 2 Elemento de dados 3 SAP AG 1999 Mostrar todos os objetos da categoria X com atributo Y Mostrar todos os objetos da categoria X que usam objeto Y Informaes sobre relaes entre tabelas Comprovao de modificao Pesquisar por atributo
ABAP Dictionary ? ? ? ? O ABAP Dictionary do Sistema de informao R/3 Repository Listas de utilizaes Mostrar todos os campos de tabela com tabela de verificao X Mostrar todos os objetos do tipo X modificados pelo usurio no horrio DDMMAAAA SAP AG 1999 No ABAP Dictionary, h uma verso ativa e inativa de um objeto. O sistema de tempo de execuo usa a verso ativa e o processo de desenvolvimento edita a verso inativa. Na ativao de um objeto, a verso inativa se torna a verso ativa (depois de verificada). A verso ativa antiga sobregravada. Quando um objeto efetivamente ativo for ativado, todos os demais objetos ativos dependentes tambm sero ativadas. Os objetos de tempo de execuo e de banco de dados, destes objetos dependentes, tambm so atualizados. A lista de utilizaes pode ser usada para encontrar todos os objetos do Repository que usam um objeto do ABAP Dictionary. possvel encontrar objetos do ABAP Dictionary por meio dos atributos no Sistema de informao R/3 Repository. Sumrio do captulo SAP AG 1999 Modificaes em tabelas de banco de dados Efeito de modificaes na estrutura de tabela Converso de tabela Problemas possveis durante converses Estruturas Append Modificaes em tabelas de banco de dados SAP AG 1999 Ao final deste captulo, o aluno estar apto a:
Fazer modificaes em tabelas. Avaliar o efeitos das modificaes no banco de dados. Converter tabelas. Retomar converses canceladas. Adicionar campos de cliente s tabelas SAP standard usando as estruturas Append sem modificaes. Objetivos do curso SAP AG 1999 ABAP Dictionary Modificaes de tabelas Verso ativa Verso inativa Cmp.1 Cmp.2 Cmp.3 Cmp.2 Cmp.3 Cmp.1 Cmp.4 Cmp.2 Cmp.3 Cmp.1 Banco de dados SAP AG 1999 Como a estrutura ajustada? Cmp. 1 Cmp. 2 Cmp. 3 Verso ativa Verso inativa Eliminar, criar novamente ou Modificar catlogo para o BD (ALTER TABLE) ou Converter a tabela Cmp. 2 Cmp. 3 Cmp. 1 Cmp. 2 Cmp. 3 Cmp. 1 Cmp. 4 A tabela contm dados? Qual o sistema de banco de dados usado? Que modificao foi feita? SAP AG 1999 Processo de converso 1 TAB ~ 0 TAB ~ A11 Cmp. 1 NUMC, 6 Cmp. 2 CHAR, 8 Cmp. 3 CHAR, 60 000100 001200 003000 1111A00 0222B10 0030B20 Texto1... Texto2 ... Texto3 ... TAB Verso ativa de TAB Cmp. 2 CHAR, 8 Cmp. 3 CHAR, 60 Cmp. 1 NUMC,6 Verso inativa de TAB Cmp. 2 CHAR, 8 Cmp. 1 NUMC,6 Cmp. 3 CHAR, 30 SAP AG 1999 Processo de converso 2 QCMTAB Renomear TAB para QCMTAB Eliminar ndices Cmp. 1 NUMC, 6 Cmp. 2 CHAR, 8 Cmp. 3 CHAR, 60 1111A00 0222B10 0030B20 Texto1... Texto2 ... Texto3 ... TAB est bloqueada TAB ~ A11 TAB ~ 0 Cmp. 1 NUMC, 6 Cmp. 2 CHAR, 8 Cmp. 3 CHAR, 60 000100 001200 003000 1111A00 0222B10 0030B20 Texto1... Texto2 ... Texto3 ... 2 Verso ativa de TAB Cmp. 2 CHAR, 8 Cmp. 3 CHAR, 60 Cmp. 1 NUMC,6 Verso inativa de TAB Cmp. 2 CHAR, 8 Cmp. 1 NUMC,6 TAB bloqueada 1 TAB Cmp. 3 CHAR, 30 000100 001200 003000 SAP AG 1999 Processo de converso 3 Ativar no ABAP Dictionary Cmp. 2 CHAR, 8 Cmp. 1 NUMC, 6 Cmp. 2 CHAR, 8 Cmp. 3 CHAR, 60 000100 001200 003000 1111A00 0222B10 0030B20 Texto1... Texto2 ... Texto3 ... QCMTAB TAB Cmp. 1 NUMC, 6 Cmp. 3 CHAR, 30 3 Verso ativa de TAB Cmp. 2 CHAR, 8 Cmp. 3 CHAR, 60 Cmp. 1 NUMC,6 Verso inativa de TAB 3 TAB acabou de ser criada no BD Cmp. 2 CHAR, 8 Cmp. 1 NUMC,6 Cmp. 3 CHAR, 30 TAB bloqueada TAB ~ 0 SAP AG 1999 Processo de converso 4 Os dados so carregados de volta em TAB 4 QCMTAB Cmp. 1 NUMC, 6 Cmp. 2 CHAR, 8 Cmp. 3 CHAR, 60 000100 001200 003000 1111A00 0222B10 0030B20 Texto1... Texto2 ... Texto3 ... Cmp. 1 NUMC, 6 Cmp. 2 CHAR, 8 Cmp. 3 CHAR, 30 000100 001200 003000 1111A00 0222B10 0030B20 Texto1... Texto2 ... Texto3 ... TAB Verso ativa de TAB Cmp. 2 CHAR, 8 Cmp. 3 CHAR, 30 Cmp. 1 NUMC,6 TAB bloqueada TAB ~ 0 SAP AG 1999 Processo de converso 5 Remover bloqueio 7 Eliminar tabela temporria Cmp. 1 NUMC, 6 Cmp. 2 CHAR, 8 Cmp. 3 CHAR, 60 000100 001200 003000 1111A00 0222B10 0030B20 Texto1... Texto2 ... Texto3 ... QCMTAB 6 Cmp. 1 NUMC, 6 Cmp. 2 CHAR, 8 Cmp. 3 CHAR, 30 000100 001200 003000 1111A00 0222B10 0030B20 Texto1... Texto2 ... Texto3 ... TAB ~ 0 TAB ~ A11 TAB Criar ndices 5 Verso ativa de TAB Cmp. 2 CHAR, 8 Cmp. 1 NUMC,6 Cmp. 3 CHAR, 30 TAB bloqueada SAP AG 1999 Problemas possveis durante converses Estouro de tablespace Perda de dados se reduzir o tamanho da chave Modificao de tipo invlida SAP AG 1999 Continuar converses concludas Faa isso! Syslog Log de objeto Dumps No faa isso! SAP AG 1999 Estruturas Append 1 Cmp. 1 Cmp. 2 Cmp. 3 Cmp.A Cmp.B Tabela Cmp. 2 Cmp. 3 Cmp. 1 Estrutura Append Cmp.A Cmp.B SAP AG 1999 Estruturas Append 2 Nova verso do sistema da SAP importada Cmp. 1 Cmp. 2 Cmp. 3 Cmp.A Cmp.B Estrutura Append Cmp.A Cmp.B Tabela Cmp. 2 Cmp. 3 Cmp. 1 Cmp. 2 Cmp. 3 Cmp. 1 Cmp. 4 SAP AG 1999 Estruturas Append 3 Anexar o campo no banco de dados Tabela Ativar Cmp. 1 Cmp. 2 Cmp. 3 Cmp.A Cmp.B Cmp4 Estrutura Append Cmp. 1 Cmp.B Cmp. 2 Cmp. 3 Cmp. 1 Cmp. 4 SAP AG 1999 Resumo O objeto de tempo de execuo e a definio de banco de dados de uma tabela devem estar sempre consistentes. Por esta razo, a tabela de BD correspondente deve ser ajustada quando for modificada no ABAP Dictionary. O sistema sempre tenta fazer modificaes na estrutura das tabelas alterando o catlogo de banco de dados (ALTER TABLE). Se isso for impossvel, ocorrer uma converso. Em uma converso, os dados so armazenados temporariamente em uma tabela e ento copiados de volta tabela com sua nova estrutura. Os campos do cliente devem ser sempre adicionados s tabelas SAP standard usando as estruturas Append. SAP AG 1999 Por que as vises so necessrias? Criao de uma viso mediante juno, projeo e seleo Condies de juno e chaves externas Seleo de dados com vises Vises de banco de dados Vises de atualizao Junes interiores e exteriores
Vises SAP AG 1999 Objetivos do curso Ao final deste captulo, o aluno estar apto a: Avaliar como uma viso criada em tabelas, mediante juno, projeo e seleo. Criar vises de banco de dados. Preparar uma ligao entre chaves externas e condies de juno. Usar vises em programas de seleo de dados. Avaliar quando usar vises de atualizao. Reconhecer as diferenas entre uma juno interior e uma juno exterior. SAP AG 1999 F3 F2 F1 F4 F5 F6 F7 F8 Tabela 3 Tabela 2 Tabela 1 Viso de tabelas Viso de dados distribudos em mais de uma tabela. Por que as vises so necessrias? F1 F2 F3 F5 F8 SAP AG 1999 Tabela TABA Tabela TABB 1 1 1 2 2 2 Texto 1 Texto 3 Texto 4 Texto 5 Texto 2 Texto 6 A A B B Camp.1 Camp.2 Camp.3 Camp.4 Camp.5 Camp.1 Camp.2 Camp.3 Camp.4 Camp.5 1 Texto 1 1 Texto 1 1 Texto 1 1 Texto 1 2 Texto 2 2 Texto 2 2 Texto 2 2 Texto 2 1 1 2 2 Texto 3 Texto 4 Texto 5 Texto 6 A A B B 1 1 2 2 Texto 3 Texto 4 Texto 5 Texto 6 A A B B Produto cruzado das tabelas TABA e TABB Estrutura de uma viso - situao inicial SAP AG 1999 Condio de juno: TABA - Campo 1 = TABB - Campo 3 Camp.1 Camp.2 Camp.3 Camp.4 Camp.5 1 Texto 1 1 Texto 1 1 Texto 1 1 Texto 1 2 Texto 2 2 Texto 2 2 Texto 2 2 Texto 2 1 1 2 2 Texto 3 Texto 4 Texto 5 Texto 6 A A B B 1 1 2 2 Texto 3 Texto 4 Texto 5 Texto 6 A A B B Reduo do produto cruzado Estrutura de uma viso - condio de juno SAP AG 1999 Camp.1 Camp.2 Camp.4 Camp.5 1 Texto 1 1 Texto 1 2 Texto 2 2 Texto 2 Texto 3 Texto 4 A B Texto 5 Texto 6 A B Camp.1 Camp.2 Camp.5 1 Texto 1 1 Texto 1 2 Texto 2 2 Texto 2 Texto 3 Texto 4 Texto 5 Texto 6 Projeo Estrutura de uma viso - seleo de campo (projeo) SAP AG 1999 Condio de seleo: TABB - Campo 4 = 'A'. Camp.1 Camp.2 Camp.5 1 Texto 1 1 Texto 1 2 Texto 2 2 Texto 2 Texto 3 Texto 4 Texto 5 Texto 6 Camp.1 Camp.2 Camp.5 1 Texto 1 1 Texto 1 2 Texto 2 2 Texto 2 Texto 3 Texto 4 Texto 5 Texto 6 Estrutura de uma viso - Condio de seleo Camp.4 A B A B SAP AG 1999 MANDT CARRID CONNID FLDATE BOOKID CUSTOMID ... SBOOK MANDT CARRID CONNID CITYFROM CITYTO SPFLI ... ... ... 001 001 SCUSTOM MANDT ID CIDADE NOME ... 122356 Smith Nova Iorque 001 ... 122356 122356 ... ... 001 001 Nova York Tquio Berlim Berlim AA AA LH LH LH LLH 48 324 324 48 ... ... ... ... 3689 3690 ... ... ... ... Como as tabelas so ligadas s vises? SAP AG 1999 MANDT ID NOME CIDADE CARRID CONNID FLDATE BOOKID CITYFROM CITYTO 001 001 122356 Smith Nova Iorque AA 48 3689 Nova Iorque Berlim 122356 Smith Nova Iorque LH LLH 324 3690 Berlim Tquio Viso de SCUS_BOOK para reservas de clientes Estrutura da viso 4.9.1999 9.9.1999 SAP AG 1999 REPORT CUSBOOK1.
PARAMETERS: CUSTOMID LIKE SBOOK-CUSTOMID. DATA: BOOKINGS TYPE SCUS_BOOK.
WRITE: / Reservas existentes para o cliente, CUSTOMID, :.
SELECT * FROM SCUS_BOOK INTO BOOKINGS WHERE CUSTOMID = CUSTOMWHERE CUSTOMID = CUSTOMID. BOOWRITE: / CUSTOMER, BOOKINGS-NAME, reservado para, BOOKINGS-CARRID,BOOKINGS-CONNID, Wfrom,BOOKINGS-CITYFROM, Ito,BOOKINGS-CITYTO, on,BOOKINGS-FLDATE.SENDSELECT. SIF SY-SUBRC <> 0.RITWRITE: / 'Nenhuma reserva existente'.IENDIF. Seleo de dados com vises SAP AG 1999 O que exibido com a viso? Juno interior Juno exterior Tabela TABA Tabela TABB Condio de juno Camp.1 Camp.2 Camp.4 A Texto 1 B Texto 2 Texto 3 Texto 4 Camp.1 Camp.2 Camp.4 A Texto 1 B Texto 2 Texto 3 Texto 4 C Texto 5 A B Texto 1 Texto 2 Camp.1 Camp.2 C Texto 5 A B Texto 3 Texto 4 Camp.3 Camp.4 Junes interiores e exteriores SAP AG 1999 F6 F7 F8 Tabela 3 F4 F5 Tabela 2 F3 F2 F1 Tabela 1 Definio de vises no ABAP Dictionary Definio de vises no banco de dados. Criada no BD durante a ativao. Programa ABAP F1 F2 F3 F5 F8 F1 F2 F3 F5 F8 Vises de banco de dados Interface de banco dados SAP AG 1999 Includes em vises de banco de dados F 8 F 7 TABB includa na viso Viso de banco de dados em TABA, TABB e TABC TABB TABA TABC F 1 F 3 F 1 F4 F 5 F 6 F F 83 F 1 F 2 F 3 F 1 F 5 F 6 F 4 SAP AG 1999 F6 F7 F8 Tabela 3 F3 F2 F1 Tabela 1 Tabela 2 F4 F5 Viso de atualizao nas tabelas. Intercmbio de dados com a viso de atualizao. Chave externa Chave externa F1 F2 F3 F5 F8 Vises de atualizao Objeto de aplicao SAP AG 1999 Unit Summary Data records that are distributed on different tables can be combined using a view. A view is derived from the tables involved using the relational operators join, projection, and selection. ABAP programs can select data using a view. Selection with a database view is usually faster than direct table selection with a nested SELECT statement. You can maintain data records from several tables together using a maintenance view. SAP AG 1999 Entradas possveis no sistema R/3 Ajuda para pesquisa de objeto no ABAP Dictionary Mtodo de seleo de ajuda para pesquisa Comportamento do dilogo de ajuda para pesquisa. Interface de ajuda para pesquisa Anexar ajudas para pesquisa aos campos Ajudas para pesquisa composta e ajudas para pesquisa elementar Ajudas para pesquisa append Ajudas para pesquisa SAP AG 1999 Course Objectives At the end of this unit, you will be able to: Define an input help process with a search help Define a search help with several alternative search paths Use the different mechanisms for the search help attachment to assign a search help to a screen field Determine whether a screen field has an input help and determine its form Enhance a collective search help using an append search help without modifications SAP AG 1999 Funo standard do sistema R/3: Entradas possveis Companhia erea Nmero do vo . . . Atualizao de vos LH N o Cidade part. Cidade chegada Companhia erea 0400 Frankfurt Nova Iorque 0402 Frankfurt Nova Iorque LH 2402 Frankfurt Berlim ... ... ... F4 SAP AG 1999 Performance das entradas possveis Determinar os valores Dilogo com o usurio Levar o contexto em considerao Retornar valores SAP AG 1999 ABAP Dictionary Object Search Help Search help Selection method Dialog behavior Interface SAP AG 1999 SPFLI SELECT * FROM SPFLI WHERE CARRID = 'LH'. Mtodo de seleo de uma ajuda para pesquisa Companhia erea Nmero do vo . . . Atualizao de vos LH F4 SAP AG 1999 Companhia erea Nmero da conexo Cidade partida Cidade chegada Limitar exibio para 500 0* LH N o limite Descrio de comportamento do dilogo N o Cidade part. Cidade chegada Companhia erea 0400 Frankfurt Nova Iorque 0402 Frankfurt Nova Iorque LH 2402 Frankfurt Berlim ... ... ... F4 = [*] SAP AG 1999 Interface de ajuda para pesquisa N o Cidade part. Cidade chegada Companhia erea 0400 Frankfurt Nova Iorque 0402 Frankfurt Nova Iorque LH Companhia erea Nmero do vo . . . 0* LH Importar e exportar Exportar F4 F4 SAP AG 1999 Como usar ajudas para pesquisa?
Campo de pesquisa Campo 1 Mscara de entrada Campo 3 Tabela/estrutura Campo 1 Campo 3 Campo de pesquisa ... Definies no Screen Painter Ligao em DDIC Comportamento interno Interface F4 Ajuda para pesquisa SAP AG 1999 Conexo de ajuda para pesquisa no ABAP Dictionary Tabela/estrutura MANDT Campo 1 Campo 3 Campo de pesquisa ... Ajuda para pesquisa Tabela de verificao MANDT Chave 1 Chave 2 Diviso de dados Comportamento interno Interface Elemento de dados SAP AG 1999 Sntese: Mecanismos de entradas possveis no existe existem PROCESS ON VALUE-REQUEST Entradas possveis na tela Verificao da lgica de processamento FIELD SELECT FIELD VALUES Ajuda para pesquisa de rea de tela Ajuda para pesquisa de campo Ajuda para pesquisa de elemento dados Ajuda para pesq. De tabela de verificao Valores fixos Horrio ou ajuda para calendrio Tabela de verificao com tabelas de texto Valores chave da tabela de verificao Ajuda para tabela de verificao redirecionada SAP AG 1999 Performance das entradas possveis Companhia erea Nmero do vo . . . Atualizao de vos LH F4 SAP AG 1999 Caminhos de pesquisa alternativos Qual era o nmero da reserva do meu vo para Nova Iorque? Quais foram as reservas feitas pela nossa agncia de viagem?
SAP AG 1999 Ajuda para pesquisa composta e ajuda para pesquisa elementar Ajuda para pesquisa includa Ajuda para pesquisa composta Comportamento interno Interface Interface Interface Comportamento interno SAP AG 1999 Ajudas para pesquisa append Ajuda para pesquisa includa . . . anexo (cliente) ajuda para pesquisa Ajuda para pesquisa includa . . . Ajuda para pesquisa composta (SAP) anexos SAP AG 1999 Entradas possveis (ajuda F4) representam uma funo standard do sistema R/3. As ajudas para pesquisa permitem uma descrio fcil e flexvel das entradas possveis. As tabelas e vises podem ser usadas como o mtodo de seleo da ajuda para pesquisa. A aparncia das entradas possveis controlada pelos parmetros da ajuda para pesquisa. As ajudas para pesquisa podem ser anexadas a campos, tabelas e elementos de dados. Entradas possveis com caminhos de pesquisa alternativos so implementadas com ajudas para pesquisa compostas. Com a ajuda para pesquisa append, a ajuda para pesquisa composta standard pode ser adicionada ou ocultada sem modificaes. Resumo do captulo SAP AG 1999 Anexo Modelo do vo rvore de deciso para armazenamento em buffer Outras informaes sobre ajudas para pesquisa Caminhos de menu importantes ndice SAP AG 1999 Modelo de dados de vo para cursos de formao ABAP Ponto de partida Aeroporto partida Aeroporto de chegada Destino Tarefas da agncia de viagens: Aeroportos possveis Possveis companhias areas no horrio solicitado Possveis vos no horrio solicitado Outras informaes sobre vos: preo, reservas, ... SAP AG 1999 Modelo de dados Aeroporto BC_AIRPORT T Cliente do vo BC_CUSTOM T Companhia area BC_CARRIER T Vo BC_SFLIGHT T Cidade- aeroporto atribuio BC_CITAIRP T CIDADE BC_GEOCITY T Programao do vo BC_PLANFLI T Agncia BC_TRAVLAG T Reservas BC_BOOKING T Vendas balco BC_COUNTER T Horrio H A A CR CR H R R H H SAP AG 1999 Implementao no ABAP Dictionary SPFLI Programao vo ..... SBOOK Reserva vo ..... MANDT CARRID CONNID FLDATE BOOKID CUSTOMID COUNTER AGENCYNUM SFLIGHT Vo ..... MANDT CARRID CONNID FLDATE SEATSMAX SEATSOCC SCARR Companhia area MANDT CARRID CARRNAME ..... Companhia area 11001 Vo 11001 Programao vo 11001 Reservas 11001 Horrio H H H H MANDT CARRID CONNID AIRPFROM AIRPTO DEPTIME SAP AG 1999 No Sim Sim Sim Sim No Sim No No No rvore de deciso para armazenamento em buffer Tabela no deve ser armazenada em buffer. Incio Armazenamento completo em buffer Registro individual em buffer
Armazenamento em buffer dependente instalao requer mais consideraes: Armazenamento em buffer total ou genrico?ndices secundrios ou armazenamento em buffer? Armazenamento em buffer tabela possvel. Armazenamento genrico em buffer com nmero apropriado de campos-chave genricos Inconsistncias temp. so aceitveis nos dados de leitura? A maioria dos acessos somente leitura? O tamanho esperado da tabela menor do que 8KB? Em geral a tabela tem mais acesso c/ SELECIONAR SIMPLES? O tamanho esperado tabela maior que 1MB (>> 1000 registros)? Parte alinhada esquerda da chave normal/ especificada ao acessar a tabela? Armazenamento completo em buffer SAP AG 1999 Tabela base 1 Tabela base 2 Viso de BD Tabela secundria Viso de ajuda Tabela primria Viso como mtodo de seleo de uma ajuda para pesquisa SAP AG 1999 Ajuda para pesquisa Outras opes de ajudas para pesquisa
Valores propostos Teclas de atalho Ocultar includas ajudas para pesquisa Exibir campos na exibio caixa p/ restringir valores SAP AG 1999 Data do vo F4 Comp. area . . . Atualizao de reservas Nmero vo Cidade part. Cidade cheg. . . . SELECT * FROM SFLIGHT... Exit de ajuda para pesquisa SAPBC_GLOBAL_F4_SFLIGHT N o Cidade part. Livre Companhia area
0555 Roma
147 0555 Roma 198 Alitalia . . . Roma AZ . . . . . . . . . . . . . . . . . . No-standard: Exit de ajuda para pesquisa SAP AG 1999 Migrao de ajudas para entradas existentes Aj. pesq. elem. H_NAME Seleo mtodo Tabela T Ajuda pesq. anexo Viso ajuda H_NAME Tabela prim. T Tabela sec. 1 ... ou Viso ajuda H_NAME Tabela prim. T Tabela sec. 1 ... Aj. pesq. col. ABCD Ajuda pesq. incluses Aj. pesq. elem. ABCDA Seleo mtodo Viso BD M_ABCDA Aj. pesq. elem. ZABCD1 Seleo mtodo Viso BD M_ABCD1 Viso BD M_ABCDA Objeto MC ABCD MC ID A gera Viso BD M_ABCD1 MC-Id 1 gera Release 3.x Release 4.x pertence a pertence a SAP AG 1999 Aternativa de exibies das entradas possveis Controle de entradas possveis Caixa de listagem