Das Tag <Tables> umschließt eine beliebige Anzahl von Tabellendefinitionen in <Table>-Tags. Damit ist es möglich, alle Tabellen oder Views zu benennen, aus denen Daten für ein Einzelobjekt dieses Schematyps benötigt werden. Die grundlegend notwendigen Informationen zu einer Tabelle werden in den Attributen des <Table>-Tags definiert.
Tabelle 9: Attribute einer Tabellendefinition
Name |
Name der Tabelle (ohne Schemaname). |
Schema |
Name des Oracle Schemas. |
APK |
Name einer Spalte, die alternativer Primärschlüssel sein kann. Diese Spalte wird stets mit geladen. |
USN |
Name einer Spalte, welche die Information über die letzte Änderung der Objekte trägt. Wenn die Spalte LAST_UPDATE_DATE vorhanden ist, wird sie standardmäßig als Änderungsinformation genutzt und muss nicht explizit angegeben werden. |
WhereClause |
Where–Klausel zur Einschränkung der Ergebnismenge. |
JoinParentTable |
Name einer übergeordneten Tabelle, wenn eine Join-Operation zu einem hierarchisch übergeordneten Schematyp ausgeführt werden soll. |
JoinParentColumn |
Kommagetrennte Liste von Spalten in einer übergeordneten Tabelle, wenn eine Join-Operation zu einem hierarchisch übergeordneten Schematyp ausgeführt werden soll (vollständige Notation). |
JoinChildColumn |
Kommagetrennte Liste von Spalten in der aktuell definierten Tabelle, die in der Join-Operation mit den Spalten aus JoinParentColumn verbunden werden sollen (vollständige Notation). Die Reihenfolge der Spalten in den Listen bestimmt, welche Spalten miteinander verbunden werden. |
View |
Name der View, wenn es zur Tabelle eine View gibt, die den Tabelleninhalt auf Basis der aktuellen Datenbankedition filtert.
Beispiel: Für die Tabelle FND_RESPONSIBILITY_TL geben Sie die View FND_RESPONSIBILITY_TL# an. |
Beispiel
<Tables>
...
<Table Name="FND_RESPONSIBILITY_TL" View="FND_RESPONSIBILITY_TL#" Schema="APPLSYS" APK="" USN="APPLSYS.FND_RESPONSIBILITY_TL.LAST_UPDATE_DATE" WhereClause="APPLSYS.FND_RESPONSIBILITY_TL.LANGUAGE='$SYSLANGU$'" JoinParentColumn="APPLSYS.FND_RESPONSIBILITY.RESPONSIBILITY_ID,APPLSYS.FND_RESPONSIBILITY.APPLICATION_ID" JoinParentTable="FND_RESPONSIBILITY" JoinChildColumn="APPLSYS.FND_RESPONSIBILITY_TL.RESPONSIBILITY_ID,APPLSYS.FND_RESPONSIBILITY_TL.APPLICATION_ID" />
...
</Tables>
Die <PK>-Tags innerhalb der <Table>-Sektion benennen die Primärschlüsselspalten einer Tabelle. Der Name der Spalte wird dabei im Attribut Column angegeben. Um mehrspaltige Primärschlüssel zu definieren, geben Sie jede Spalte in einem eigenen Tag an. Es können beliebig viele <PK>-Tags in einer Tabellendefinition verwendet werden.
Tabelle 10: Attribut einer Primärschlüsseldefinition
Column |
Name der Primärschlüsselspalte (vollständige Notation). |
Beispiel
<PK Column="APPLSYS.FND_RESPONSIBILITY_TL.RESPONSIBILITY_ID" />
Die <ParentTableFK>-Tags innerhalb der <Table>-Sektion beschreiben die Spaltenpaare, die bei einer Join-Operation mit der Tabelle des hierarchisch übergeordneten Schematyps gleichzusetzen sind.
Tabelle 11: Attribute eines Spaltenpaars
Column |
Name der Spalte in der aktuell definierten Tabelle. |
ParentColumn |
Name der Spalte in der Tabelle des übergeordneten Schematyps. |
Beispiel
<ParentTableFK Column="APPLSYS.FND_RESPONSIBILITY.APPLICATION_ID" ParentColumn="APPLSYS.FND_APPLICATION.APPLICATION_ID" />
<Object SchemaName="ORA-Responsibility" ParentSchemaName="ORA-Application" DisplayPattern="%vrtDistinguishedName%" IsReadOnly="true" UseDistinct="false">
<ObjectKey>
<Key Column="APPLSYS.FND_RESPONSIBILITY.RESPONSIBILITY_ID" IsDNColumn="true" IsReferencedColumn="true" X500Abbreviation="RE" />
<Key Column="APPLSYS.FND_RESPONSIBILITY.APPLICATION_ID" />
</ObjectKey>
<Tables>
<Table Name="FND_RESPONSIBILITY" View="FND_RESPONSIBILITY#" Schema="APPLSYS" APK="" USN="" WhereClause="" JoinParentTable="" JoinParentColumn="" JoinChildColumn="" >
<PK Column="APPLSYS.FND_RESPONSIBILITY.RESPONSIBILITY_ID" />
<ParentTableFK Column="APPLSYS.FND_RESPONSIBILITY.APPLICATION_ID" ParentColumn="APPLSYS.FND_APPLICATION.APPLICATION_ID" />
</Table>
<Table Name="FND_RESPONSIBILITY_TL" View="FND_RESPONSIBILITY_TL#" Schema="APPLSYS" APK="" USN="APPLSYS.FND_RESPONSIBILITY_TL.LAST_UPDATE_DATE" WhereClause="APPLSYS.FND_RESPONSIBILITY_TL.LANGUAGE='$SYSLANGU$'" JoinParentColumn="APPLSYS.FND_RESPONSIBILITY.RESPONSIBILITY_ID,APPLSYS.FND_RESPONSIBILITY.APPLICATION_ID" JoinParentTable="FND_RESPONSIBILITY" JoinChildColumn="APPLSYS.FND_APPLICATION.APPLICATION_ID" >
<PK Column="APPLSYS.FND_RESPONSIBILITY_TL.RESPONSIBILITY_ID" />
</Table>
<Table Name="FND_APPLICATION" View="FND_APPLICATION#" Schema="APPLSYS" APK="" USN="" WhereClause="" JoinParentTable="FND_RESPONSIBILITY" JoinParentColumn="APPLSYS.FND_RESPONSIBILITY.APPLICATION_ID" JoinChildColumn="APPLSYS.FND_APPLICATION.APPLICATION_ID" >
<PK Column="APPLSYS.FND_APPLICATION.APPLICATION_ID" />
</Table>
</Tables>
</Object>
Erläuterungen
Die vorstehende Definition zeigt die Deklaration des Schematyps ORA-Responsibility, wie sie vom Oracle E-Business Suite Konnektor intern verwendet wird.
Der Schematyp ist hierarchisch dem Schematyp ORA-Application untergeordnet (ParentSchemaName). Er hat zwei Objektschlüsselspalten (APPLSYS.FND_RESPONSIBILITY.RESPONSIBILITY_ID und APPLSYS.FND_RESPONSIBILITY.APPLICATION_ID), von denen nur eine als Bestandteil in den definierten Namen aufgenommen wird IsDNColumn="true". Die Spalte APPLSYS.FND_RESPONSIBILITY.APPLICATION_ID ist Bestandteil des DistinguishedName des übergeordneten Schematyps, der automatisch hinten angefügt wird.
Zur Selektion aller Eigenschaften werden Sätze aus den Tabellen FND_RESPONSIBILITY, FND_RESPONSIBILITY_TL und FND_APPLICATION mittels Join-Operation angefragt. Die Spalten für die Join-Operation sind jeweils in den Attributen JoinParentColumn und JoinChildColumn angegeben.
Der Beschreibungstext wird in der von der Datenbank-Verbindungskonfiguration vorgegebenen Sprache aus der Tabelle FND_RESPONSIBILITY_TL gelesen. Dafür wird in der Where-Klausel die symbolische Variable $SYSLANGU$ genutzt. Weitere Informationen finden Sie unter Symbolische Variablen in Where-Klauseln.