Explorando o ABAP Dictionary

Objectives

After completing this lesson, you will be able to:
  • Descreva as tarefas básicas do ABAP Dictionary.
  • Nomeie os objetos Dictionary mais importantes.

Funções do ABAP Dictionary

ABAP Dictionary no mundo ABAP clássico

Assista ao vídeo para saber mais sobre as tarefas do ABAP Dictionary.

Vejamos mais de perto essas tarefas.

Uma definição de tabela de banco de dados no ABAP Dictionary é uma representação da tabela no banco de dados. Ele é independente dos detalhes do banco de dados. Como exemplo, ele usa seus próprios tipos integrados e não os tipos específicos de BD. A definição contém a lista de campos da tabela e características de tabela adicionais.

Quando o código ABAP acessa a tabela de banco de dados em uma instrução ABAP SQL, a verificação de sintaxe ABAP analisa a definição no ABAP Dictionary. Entre outras coisas, ele garante que a tabela e os campos de tabela existem.

No momento da execução, o banco de dados Interface converte a instrução ABAP SQL na sintaxe SQL específica do banco de dados e envia a mesma para o banco de dados. Para isso, ele também consulta a definição de tabela no ABAP Dictionary.

Nota

No passado, as visões de banco de dados eram tratadas da mesma forma. Mas essas visões do ABAP Dictionary estão desatualizadas e, em vez disso, são utilizadas as visões do ABAP Core Data Services (consulte a próxima lição).

A segunda tarefa do ABAP Dictionary é o fornecimento de tipos de dados para a codificação ABAP. As categorias de dados definidas no ABAP Dictionary são visíveis em todo o sistema. Isso os distingue dos tipos de dados definidos com a palavra-chave ABAP TYPES.

Os tipos Dictionary podem ser tipos escalares (elementos de dados), tipos de estrutura (estruturas) e tipos de tabela. As definições de tabelas de banco de dados têm uma função dupla: em primeiro lugar, elas definem um objeto de banco de dados, mas também podem servir como tipos de dados na codificação ABAP.

Nota

Em geral, a utilização de definições de tabela de banco de dados como tipos de dados não é recomendada. Em vez disso, use tipos de estrutura dedicados.

Nas tecnologias clássicas de IU do ABAP, o ABAP Dictionary cumpriu uma terceira tarefa. Os objetos Dictionary, principalmente tipos de estrutura e definições de tabela de banco de dados, foram enriquecidos com informações semânticas, como relações de chave externa e ligações de ajuda de pesquisa. Quando os elementos da IU referenciavam os objetos Dictionary, as informações adicionais eram utilizadas para fornecer textos do usuário final, entradas possíveis, verificações de entrada, etc.

Esta tarefa do ABAP Dictionary não é relevante para tecnologias IU modernas, nomeadamente o ABAP RESTful Application Programming Model. O modelo de programação de aplicativos RESTful ABAP usa metadados em entidades CDS para fornecer serviços para a interface do usuário.

Neste curso de treinamento, não discutiremos os recursos do ABAP Dictionary relacionados à programação clássica da interface do usuário do ABAP. As técnicas clássicas da IU ABAP estão obsoletas e não são suportadas no ABAP Cloud.

Objetos ABAP Dictionary

Vamos fornecer uma síntese dos objetos ABAP Dictionary mais importantes.

  • Os domínios não definem objetos do banco de dados nem são tipos de dados ABAP. Eles só são usados indiretamente, dentro de elementos de dados.

  • Elementos de dados, estruturas e tipos de tabela definem tipos de dados ABAP. Eles não definem objetos de banco de dados próprios.

  • O objetivo principal das definições de tabela de banco de dados e visões de banco de dados é a definição de um objeto de banco de dados correspondente. Você também pode utilizá-los como tipos de dados, mas isso não é recomendado. As visões Dictionary estão obsoletas e, em vez disso, você deve usar visões CDS.

No Explorador de projetos do ADT, você encontra os objetos Dictionary no pacote de desenvolvimento, em um nó dedicado Dicionário.