Die SAP HANA Deployment Infrastructure (HDI) ist eine Reihe von Services, die das Deployment von Datenbankobjekten in isolierte HDI-Container ermöglichen.
HDI-Container sind einfach Datenbankschemas, aber sie enthalten zusätzliche Funktionen wie einen dedizierten Eigentümer des Containers sowie Metadaten, um ihre Datenbankobjekte zu verwalten. Betrachten Sie einen Container als Smart Schema.
Die in den Containern enthaltenen Objekte werden in den HDB-Modulen Ihres Projekts mithilfe von Quelldateien definiert. Während des Deployments werden die Laufzeitobjekte angelegt und dem Container hinzugefügt.
HDI kümmert sich um das Abhängigkeitsmanagement und bestimmt die Reihenfolge des Deployments; es bietet auch Unterstützung für das Upgrade vorhandener Laufzeitartefakte, wenn ihre entsprechenden Design-Zeit-Artefakte geändert werden.
Ein Schlüsselkonzept von HDI-Containern ist die Tatsache, dass der gesamte Lebenszyklus (Anlegen, Ändern und Löschen) von Datenbankobjekten ausschließlich von der HDI durchgeführt wird. Daher können Sie Datenbankartefakte wie Tabellen oder Views nicht direkt mit DDL-Anweisungen (Data Definition Language) mithilfe von SQL anlegen.
Datenquellen für Calculation Views
Wenn Sie Calculation Views entwickeln, müssen die von Ihnen ausgewählten Datenquellen als Designzeitdateien im Container Ihres HDB-Moduls vorhanden sein. Daher müssen sie einen der folgenden Typen aufweisen:
- "Echte" Datenbankobjekte (Tabelle, View, Tabellenfunktion, virtuelle Tabellen usw.), die im Container vorhanden sind und eine entsprechende Designzeitdatei im HDB-Modul haben
- Synonyme, die Datenbankobjekte referenzieren, die sich in einem anderen Schema als dem Container selbst befinden. Später erfahren Sie mehr über Synonyme.
Achtung
1The file requires "db://HA300::TABLE_SQL" which is not provided by any fileSchlüsseleigenschaften von HDI-Containern
Ein Container wird automatisch angelegt, wenn Sie Ihr Datenbankmodul zum ersten Mal deployen.
Ein Container generiert ein Datenbankschema in dem Moment, in dem ein Container zum ersten Mal angelegt wird.
Datenbankobjekte werden in diesem Schema deployt.
Quelldateidefinitionen müssen schemafrei geschrieben werden.
Direkte Referenzen auf Objekte außerhalb Ihres Containers sind nicht zulässig. Sie müssen Synonyme verwenden.
HDI-Container-Konfigurationsdatei
In jedem HDB-Modul eines Projekts finden Sie eine sehr wichtige und obligatorische Datei, die im Ordner src mit dem Suffix .hdiconfig vorhanden ist. Dies ist die HDI-Container-Konfigurationsdatei, die verwendet wird, um die Designzeitdateien Ihres Projekts an das entsprechende installierte Build-Plug-In zu binden.

Ohne das Build-Plug-In ist es nicht möglich, die Laufzeitobjekte aus den Designzeitdateien zu deployen. Diese Konfigurationsdatei leitet jede Quelldatei in Ihrem Projekt an das richtige Build-Plug-In weiter.
In der Regel gibt es nur eine .hdiconfig-Datei in einem HDB-Modul, die sich im Ordner src des HDB-Moduls befinden muss. Diese Datei enthält eine Liste aller Bindungen für alle Quelldateitypen.
Der minimum_feature_version-Eintrag dieser Datei ist vorhanden, um zu verhindern, dass Ihre HDB-Modulobjekte mit einer Version von SAP HANA Cloud erstellt werden, die niedriger ist als das, was angegeben ist und/oder was Ihr Code erfordert. Wenn Sie beispielsweise Ihr HDB-Modul mit Version 1004 der Build-Plug-Ins entwickelt und getestet haben, wird dies nicht auf einer SAP-HANA-Cloud-Instanz deployt, in der Version 1002 vorhanden ist.
In der Container-Konfigurationsdatei finden Sie für jeden Quelldateityp zwei Einträge:
Suffixname, z.B. "hdbcalculationview"
Plug-In-Name, z.B. „com.sap.hana.di.calculationview"
Beachten Sie, dass beim Importieren eines Projekts in Ihre Landschaft eine eigene .hdiconfig -Datei enthalten ist, die sich auf die Funktionsversion bezieht, die bei der ersten Entwicklung verwendet wurde. Wenn Sie dann planen, die Quelldatei mit neueren Funktionen von SAP HANA zu aktualisieren (z.B. wenn Sie einer Calculation View, die erst mit der neueren Version von SAP HANA verfügbar wurde, eine neue Funktion hinzufügen möchten), wird die neue Funktion im Quelleditor nicht angezeigt, wenn die .hdiconfig-Datei nicht für die Verwendung der späteren Funktionsversion angepasst wurde.
Achtung
Die Sicht „SAP HANA PROJECTS"
Wenn ein Projekt in SAP Business Application Studio ein SAP-HANA-DB-Modul enthält, ist eine dedizierte Sicht SAP-HANA-Projekte verfügbar (neben der Explorer-Sicht).

Die SAP-HANA-Projects-View bzw. der SAP-HANA-Projects-Bereich ist die Materialisierung der HDB-Module, die in Ihren Projekten definiert sind. Der obere Teil stellt die Ordnerstruktur des HDB-Moduls dar. Das Wurzelelement entspricht dem Pfad zum HDB-Modul im Projekt. Um die Laufzeitobjekte innerhalb des verbundenen HDI-Container-Schemas anzulegen, können Sie ein Deployment ausführen. Dieses Deployment kann auf verschiedenen Ebenen ausgelöst werden: eine einzelne Datei, ein Ordner oder das gesamte HDB-Modul.
Notiz
In der Dateistruktur identifiziert Implementierung ausstehend, wo eine Implementierung für neue oder geänderte Dateien erforderlich ist. Für gelöschte Designzeitdateien müssen Sie die Löschung von Laufzeitobjekten aktivieren, indem Sie den Ordner deployen, in dem sie enthalten sind.
Der untere Teil stellt die Datenbankverbindungen zwischen dem HDB-Modul und den HDI-Containern oder -Services dar, die Zugriff auf externe Ressourcen bieten.
Ein Projekt mit einem SAP-HANA-Datenbankmodul benötigt mindestens einen entsprechenden HDI-Container, um seine Laufzeitobjekte zu deployen. Dies wird in der Abbildung „The SAP HANA PROJECTS View" dargestellt.
Im Verbindungsteil können Sie ein vorhandenes HDB-Modul an einen neuen oder vorhandenen HDI-Container binden. Sie können auch neue Verbindungen hinzufügen (z.B. zu einem anderen Container) und
Datenbank-Explorer
Von SAP Business Application Studio aus können Sie die Anwendung Datenbank-Explorer starten, um die Datenbankartefakte (Tabellen, Views, Prozeduren, Spaltensichten) eines oder mehrerer Container anzuzeigen.
Wenn Sie dies tun, erfolgt der Zugriff auf den Container über einen technischen SBSS-Benutzer (Service Broker Security Support), der transparent angelegt wird, wenn Sie den Container zum Datenbank-Explorer hinzufügen, auch wenn Sie mit Ihrem üblichen SAP-Business-Application-Studio-Benutzer an SAP Business Application Studio angemeldet sind. Dieser technische Benutzer interagiert in Ihrem Auftrag mit den Datenbankobjekten, z.B. um den Inhalt einer Tabelle anzuzeigen oder eine Vorschau der Daten einer Calculation View anzuzeigen.
Wenn Ihr Container Daten aus einem externen Schema konsumiert, muss der technische Benutzer auch Berechtigungen für die externen Schemaobjekte erhalten, z.B. um die Daten einer externen Tabelle anzuzeigen, die von einem Synonym referenziert wird. Weitere Informationen hierzu finden Sie im Kapitel Sicherheit in der SAP-HANA-Modellierung.
