Baixe o app para aproveitar ainda mais
Prévia do material em texto
ABAP Training Data Dictionary 1. Objetivos · Apresentar conceitos de Bancos de Dados Relacionais · SAP vs Modelo Relacional · Conhecer as ferramentas básicas do Dicionário de Dados do R/3 · Criar objetos através do Dicionário de Dados 2. Conceitos de Bancos de Dados Relacionais Modelo Entidade-Relacionamento Modelo desenvolvido para facilitar o projeto de banco de dados, permitindo a especificação de um esquema que represente a estrutura lógica global de um banco de dados. Entidade: É um objeto que existe e é distinguível de outros objetos, ou seja, identifica o agrupamento de objetos do mesmo tipo. Exemplos: Clientes, Bancos, Agências, Contas-Corrente. Atributos: São os qualificadores de uma entidade, isto é, representam no modelo o que uma entidade pretende ser. Exemplos: Nome, RG, CPF, Endereço, Nro Conta, Nro Agência, Nro Banco Domínio: Conjunto de valores permissíveis para um atributo. Exemplo: Estado Civil, Sexo, Cor, Meses do Ano. Relacionamento: É a associação entre duas entidades, ou seja, representa a maneira como duas entidades estão relacionadas ou ligadas. Exemplos: Conta-Corrente de um Cliente, Agências de um Banco, Contas-Corrente de uma Agência. Restrições de Mapeamento: Representam o modo como as diferentes entidades de um modelo se relacionam. Determinadas pela cardinalidade dos relacionamentos entre as entidades. Um-para-Um: Uma ocorrência da Entidade A está relacionada com uma e apenas uma ocorrência da Entidade B. Um-para-N: Uma ocorrência da Entidade A está relacionada com uma ou várias ocorrências da Entidade B. N-para-Um: Várias ocorrências da Entidade A estão relacionadas com apenas uma ocorrência da Entidade B. N-para-N: Várias ocorrências da Entidade A está relacionada com várias ocorrências da Entidade B.Modelo Relacional Um banco de Dados Relacional é a implementação física do Modelo Entidade-Relacionamento e traduz concretamente o que o modelo conceitual procura representar. Consiste em uma coleção 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 são formadas de linhas que por sua vez são formadas por colunas. Colunas representam fisicamente os Atributos. A cada linha da tabela chamamos de Ocorrência e o conjunto de ocorrências pode ou não estar relacionado com ocorrências de outras tabelas. Como distinguir as ocorrências umas das outras? Utilizando o conceito de Chave Primária!! Chave Primária: Conjunto de atributos que garante a unicidade de cada ocorrência da tabela. Exemplos: RG, CPF, Nro Chassis. Normalização: Processo de reconhecimento da chave primária Como representar os relacionamentos entre tabelas? Transferindo a chave primária de uma tabela para a outra!! Chave Estrangeira: Quando a chave primária 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 definição e manipulação de dados em sistemas de bancos de dados relacionais. Conjunto reduzido de comandos, sem recursos de lógica, 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 específicas de cada fabricante oferecem recursos adicionais para a contrução de lógica. Outras linguagens foram adaptadas para trabalharem em conjunto com o SQL, como COBOL, C e ABAP/4. O SQL utilizado no R/3 é proprietário e segue um mínimo da regulamentação internacional para esta, estando longe de possuir os mesmos mecanismos de funcionamento. Seus comandos podem ser divididos em: DDL: Data Definition Language – Comandos específicos para definição de objetos do banco de dados. Exemplo: Create Table, Create View, Create TableSpace, Drop Table, etc. DML: Data Manipulation Language – Comandos específicos para tratamento dos dados armazenados nos objetos do banco. Exemplo: Select, Insert, Delete, Update, etc. 3. R/3 Data Dictionary O dicionário de dados do ABAP/4 (DD) é uma fonte central de informações provenientes do sistema gerenciador de dados do SAP. Sua principal função é suportar a criação e o gerenciamento das definições de dados, também conhecidas como “metadados”. Neste curso, o DD será utilizado em exercícios práticos com o seguinte objetivo: · Visualizar objetos do SAP (Tabelas, estruturas, elementos de dados, domínios, 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 dicionário. Funções desempenhadas pelo Data Dictionary: · Gerenciamento das Definições de Dados Criação e manutenção das definições de dados num repositório central · Provisão de informações para avaliações Permite obter informações sobre o modo como os objetos estão relacionados · Suporte ao desenvolvimento Diferentemente de outros dicionários de dados, está integrado ao ambiente de desenvolvimento de modo que alterações ou criação de novos objetos promovem automaticamente a geração dos outros objetos dependentes, sejam eles parte do dicionário ou programas aplicativos. · Suporte à documentação Permite obter documentação atualizada · Garantia de que as definições de dados sejam flexíveis e atualizadas Geração de objetos de runtime garantindo performance. Transação SE11 Tabelas: Definir a estrutura das tabelas transparentes onde os dados serão armazenados fisicamente. Estruturas: Definir estruturas que virão a ser utilizadas em programas para definir a estrutura de uma tabela interna, ou como include em uma estrutura de uma tabela transparente. Visões: Definir relacionamentos entre tabelas transparentes para facilitar o acesso ao banco de dados, geralmente são criadas para substituir “select join’s” que durante a execução do programa degradam a performance do mesmo. Elementos de dados: Associar os atributos técnicos e significado para um campo em uma tabela. Domínio: Definir atributos técnicos que serão atribuídos a um elemento de dados Objetos de bloqueio: Definir os bloqueio de acesso aos dados no banco de dados Ajuda p/ pesquisa: Definição dos objetos de matchcode que serão 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 domínio podem ser armazenados em um pool de tipos, para posteriormente acioná-los em uma função ou programa. Estrutura Tabela Modificar / Exibir a estrutura do objeto Verificar objeto Ativar objeto Lista de utilizações de objeto (Elemento de Dados, Domínio) Visualizar estrutura de outro objeto Chaves extrangeiras Expande todas as estruturas incluídas na tabela Expande uma estrutura incluída na tabela Comprime uma estrutura expandida da tabela Comprime todas as estrutura expandidas da tabela DER Grafico Permite anexar campos à estrutura da tabela Configuração do tipo de dado armazenado, tamanho, buffer Criação de índices na tabela Opções técnicas Criação de Índices Visões Elemento de dados Domínio 4. EXEMPLOS 4.1 Visualização da Estrutura de uma Tabela a) 1. Acessar o Dicionário de Dados (TOOLS(ABAP 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 botão “Find” ou CTRL + F e procurar o campo WRBTR b) 1. Acessar o Dicionário de Dados: Ferramentas(ABAP/4 Workbench(ABAP/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. <Avançar> 9. Click no botão <Chaves Externas> 10. <ENTER> 11. DoubleClick em sua CheckTable (TCURC) 12. <BACK> 13. Click no botão <Outra Tabela> 14. Informe BKPF <ENTER> 15. Opção GOTO ( Índices 16. DoubleClick #1 17. <BACK> 18. <CANCEL> 19. Opção Utilitários ( Administração de Versão 20. <BACK> 4.2 Visualização do Conteúdo das Tabelas a) 1. Procurar o campo ALTKT 2. Acessar UTILITIES(Table Contents -> Display (Transação 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 botão) 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. Opção Utilitários ( 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. Opção Utilitátios ( Table Contents 11. <F8> 12. Opção Opções ( Formato de Lista ( Seleção Coluna 13. Desmarcar todos os campos (terceiro botão) 14. Selecionar os campos BUKRS, BELNR, GJAHR e XBLNR 15. <ENTER> 16. Selecionar XBLNR = 000022-1 17. <F8> 18. <BACK> 19. Opção Opções ( Critérios de Seleção 20. Selecionar também WWERT e TCODE <ENTER> 21. Encerrar o DD e retornar ao menu principal do R/3 4.3 Criação de uma tabela customizada a) Tabela de Contas do Razão 1- TOOLS(ABAP/4 WORKBENCH(ABAP/4 DICTIONARY 2- Object Name: ZFLABII# (# = número do grupo) 3- <CREATE> 4- SHORT TEST: Lab DD Grupo # - Tabela de Contas do Razão 5- DELIVERY CLASS: A 6- Tab.Maint.Allowed : ( 7- Field Name: MANDT key: ( <ENTER> (Obs: o campo MANDT sempre participa dachave primária e obrigatório para tabelas Client Dependent) 8- Field Name: HKONT key: ( (copiar data-element de BSEG-HONT) 9- Repetir o processo para os seguintes campos: Campo Tabela de Origem BELNR BSEG key: ( GJAHR BSEG SGTXT BSEG PSWBT BSEG DMBTR BSEG BUDAT BKPF BKTXT BKPF TXT50 SKAT 10- Incluir um campo com as seguintes características: - Field Name: OBS - Data elem : TOBS_ACC (Double Click para criar) - Short Text: Texto de Observação do Movimento - Domain Name: TEXT50 - Data Type : CHAR - Field length: 20 - Texts: 10 : Obs 15: Observação 20: Observação sobre o movimento 11- Salvar o Data Element 12- Ativar o Data Element 13- <BACK> 14- Salvar a Tabela 15- Verificar a Tabela 16- Ativar a Tabela b) Dados Adicionais para Nota de Crédito Criar uma Tabela com as seguintes características: Nome: ZSEC# Descrição: Dados Adicionais para Nota de Crédito – Grupo # Delivery Class: A Table Maintenance Allowed: Checked Field Name Key Data Element Type Length Short Text MANDT X MANDT CLNT 3 Mandante Documento X VBELN_VF CHAR 10 Doc. Faturamento Razao ZRAZAO CHAR 40 Razão Social Emissor Endereco ZENDERECO CHAR 40 Ender. do Emissor Bairro ZBAIRRO CHAR 20 Bairro do Emissor Cidade ZCIDADE CHAR 20 Cidade do Emissor UF ZUF CHAR 2 Unid. Fed. Emissor 2.4. Criação de um Diálogo de manutenção para tabela customizada Após criar uma tabela customizada, às vezes é preciso que seja criado um Maintenance Dialog Box, para que seja possível incluir, alterar ou excluir dados de uma nova tabela através da transação SM30. Criar um Function Group: · Transação SE80 · Duplo clique na opção “Function Group”, utilizar o nome ZFG# e pressionar CRIAR · Apresentar um nome condizente ao grupo de funções 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 criação da tabela no item anterior Gerar Maintenance Dialog Box · Tools ( ABAP Workbench ( Development ( Other Tools ( General Table Maint. Dialog (ou executar diretamente a transação SE54) · Escrever o nome da tabela ZTST# · Selecionar a opção “Generated Objects” e pressionar CREATE/CHANGE · Pressionar YES no dialog de confirmação · Informar o Authorization Group &NC&, que não exige autorização · Informar o Function Group ZFG# criado no item anterior · Selecionar a opção “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 transação SM30 · Informar o nome da tabela ZTST# e pressionar MAINTAIN · Pressionar NEW ENTRIES , incluir dados e salvar · Informar o mesmo número de transporte criado para o Function Group · Selecionar uma das linhas da tabela e pressionar o botão DELETE · Confirmar a exclusão 2.5. Criação de uma Transação para o Diálogo de manutenção · Executar a transação SE93 · Pesquisar no matchcode o nome da transação desejado (de acordo com os padrões de nomenclatura) e verificar qual o próximo número válido de transação · Informar o nome da nova transação · <CRIAR> · Escolher a opção " Transação com parâmetros” · <CONTINUAR> · Informar texto de descrição da transação (Texto da transação) · No quadro “Valor proposto para”, informar código da transação SM30 · Escolher a opção “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 transação < Voltar > Testando a Transação: · Sair da transação SE93 · Digitar o código da transação criada EXERCÍCIOS DATA DICTIONARY EXERCÍCIO 1 Criar uma ESTRUTURA com as seguintes características: (Transação SE11 -> clicar em Data Type _> Create -> Selecionar Estrutura Name: ZSCRIPT# (# = número do grupo) Short Text: Estrutura de preenchimento do layout set ZM_TSTSCRIPT Field name Data elem. Type Length Short text BLDAT BLDAT DATS 8 Date of the document BELNR BELNR D CHAR 10 Accounting document number CABIERTO1 BKTXT CHAR 25 Document header text NAME1 NAME1_GP CHAR 35 Name 1 CABIERTO2 IN_WORDS CHAR 256 Amount in words SGTXT SGTXT CHAR 50 Line item text HKONT HKONT CHAR 10 G/L account TXT50 TXT50_SKAT CHAR 50 G/L account long text XBLNR XBLNR CHAR 16 Reference document number BEDAT EBDAT DATS 8 Purchasing document date EBELN EBELN CHAR 10 Purchasing document number EXERCÍCIO 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 documentode número 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 EXERCÍCIO 3 Criar uma Tabela com as seguintes características: Name: ZTBL# (# = número do grupo) Short Text: Tabela para manutenção via transação SM30 Field Name Key Data Element Type Length Short Text MANDT x MANDT CLNT 3 Client BELNR x BELNR D CHAR 10 Acc. Doc Num TXT50 TXT50_SKAT CHAR 50 G/L acct long txt Criar um diálogo de manuntenção com as seguintes características: Function Group: ZGF# Utilizar a transação SM30 para manutenção desta tabela. 1
Compartilhar