O SAP HANA Deployment Infrastructure (HDI) é um conjunto de serviços que permite a implementação de objetos de banco de dados em containers HDI isolados.
Os containers HDI são simplesmente esquemas de banco de dados, mas incluem recursos adicionais, como um proprietário dedicado do container, mais metadados, para gerenciar seus objetos de banco de dados. Pense em um container como um esquema inteligente.
Os objetos incluídos nos containers são definidos nos módulos HDB do seu projeto, usando arquivos de origem e, durante a implementação, os objetos de tempo de execução são criados e adicionados ao container.
O HDI cuida do gerenciamento de dependências e determina a ordem de implementação; ele também fornece suporte para atualizar artefatos de tempo de execução existentes quando seus artefatos de tempo de design correspondentes são modificados.
Um conceito-chave de containers HDI é o fato de que todo o ciclo de vida (criação, modificação e exclusão) de objetos de banco de dados é executado exclusivamente pelo HDI. Portanto, você não pode criar diretamente artefatos de banco de dados, como tabelas ou visões, com instruções DDL (Data Definition Language) usando SQL.
Fontes de dados para visões de cálculo
Quando você desenvolve visões de cálculo, as fontes de dados escolhidas devem existir como arquivos de tempo de design no container do módulo HDB. Por isso, eles devem ser de um dos seguintes tipos:
- Objetos de banco de dados "reais" (tabela, visão, função de tabela, tabelas virtuais etc.) existentes dentro do container e com um arquivo de tempo de design correspondente no módulo HDB
- Sinônimos que referenciam objetos de banco de dados localizados em qualquer outro esquema que não o próprio container. Você aprenderá sobre sinônimos mais tarde.
Cuidado
1The file requires "db://HA300::TABLE_SQL" which is not provided by any filePrincipais propriedades de containers HDI
Um container é criado automaticamente quando você implementa o módulo de banco de dados pela primeira vez.
Um container gera um esquema de banco de dados no momento em que um container é criado pela primeira vez.
Os objetos do banco de dados são implementados nesse esquema.
As definições do arquivo de origem devem ser escritas de forma livre de esquemas.
Não são permitidas referências diretas a objetos fora do seu container. Você deve usar sinônimos.
Arquivo de configuração de container HDI
Dentro de cada módulo HDB de um projeto, você encontrará um arquivo muito importante e obrigatório que existe na pasta src com o sufixo: .hdiconfig. Este é o arquivo de configuração de container HDI usado para vincular os arquivos de tempo de design do seu projeto ao plug-in de compilação instalado correspondente.

Sem o plug-in de criação, não é possível implementar os objetos de tempo de execução dos arquivos de tempo de design. Esse arquivo de configuração direciona cada arquivo de origem em seu projeto para o plug-in de compilação correto.
Normalmente, há apenas um arquivo .hdiconfig em um módulo HDB, e isso deve estar localizado na pasta src do módulo HDB. Este arquivo contém uma lista de todas as ligações para todos os tipos de arquivo de origem.
A entrada minimum_feature_version deste arquivo está lá para evitar a criação de seus objetos de módulo HDB com uma versão do HANA Cloud inferior ao que é especificado e/ou o que seu código requer. Por exemplo, se você projetou e testou seu módulo HDB com a versão 1004 dos plug-ins de criação, isso não será implementado em uma instância do SAP HANA Cloud em que a versão 1002 esteja em vigor.
Dentro do arquivo de configuração de container, você encontrará, para cada tipo de arquivo de origem, duas entradas:
Nome do sufixo, por exemplo, "hdbcalculationview"
Nome do plug-in, por exemplo, "com.sap.hana.di.calculationview"
É muito importante lembrar que quando você importa um projeto para sua estrutura, ele traz com ele seu próprio arquivo .hdiconfig que se refere à versão de recurso que foi usada quando foi desenvolvido pela primeira vez. Se planejar atualizar o arquivo de origem usando recursos mais recentes do SAP HANA (por exemplo, você deseja adicionar um novo recurso a uma visão de cálculo que acabou de ficar disponível com a versão mais recente do SAP HANA), não verá o novo recurso no editor de origem se o arquivo .hdiconfig não tiver sido ajustado para usar a versão mais recente do recurso.
Cuidado
A visão PROJETOS SAP HANA
No SAP Business Application Studio, quando um projeto inclui um módulo de BD SAP HANA, uma visão dedicada SAP HANA PROJECTS está disponível (juntamente com a visão Explorer).

A visão/painel Projetos do SAP HANA é a materialização dos módulos HDB definidos em seus projetos. A parte superior representa a estrutura de pastas do módulo HDB. O elemento raiz corresponde ao caminho para o módulo HDB no projeto. Para criar os objetos de tempo de execução dentro do esquema de container HDI conectado, você pode executar uma implementação. Esta implementação pode ser acionada em diferentes níveis: um único arquivo, uma pasta ou todo o módulo HDB.
Nota
Na estrutura do arquivo, a Implantação pendente identifica onde é necessária uma implementação para arquivos novos ou modificados. Para arquivos de tempo de design excluídos, você precisa ativar a exclusão do objeto de tempo de execução implementando a pasta que os continha.
A parte inferior representa as Conexões ao banco de dados entre o módulo HDB e os containers ou serviços HDI que fornecem acesso a recursos externos.
Um projeto com um módulo de banco de dados SAP HANA precisa, pelo menos, de um container HDI correspondente para implementar seus objetos de tempo de execução. Isso é o que é mostrado na imagem, a visão SAP HANA PROJECTS.
Na parte da conexão, você pode vincular um módulo HDB existente a um container HDI novo ou existente. Você também pode adicionar novas conexões (por exemplo, a outro container) e
Explorador de banco de dados
A partir do SAP Business Application Studio, você pode iniciar a aplicação Explorador de banco de dados para visualizar os artefatos do banco de dados (tabelas, visões, procedimentos, visões de coluna) de um ou vários containers.
Quando você faz isso, mesmo que esteja conectado ao SAP Business Application Studio com seu usuário habitual do SAP Business Application Studio, o acesso ao container é efetuado por um usuário técnico SBSS (Service Broker Security Support) criado de forma transparente quando você adiciona o container ao Database Explorer. Este usuário técnico interage com os objetos de banco de dados em seu nome, por exemplo, para visualizar o conteúdo de uma tabela ou visualizar os dados de uma visão de cálculo.
Se o seu container consumir dados de um esquema externo, o usuário técnico também deve receber autorizações para os objetos de esquema externo, por exemplo, para visualizar os dados de uma tabela externa referenciada por um sinônimo. Você aprenderá mais sobre isso na unidade Segurança na modelagem do SAP HANA.
