Alle virtuellen Tabellen sind in Semiramis im Unterkatalog „VIRTUAL“ eingeordnet. Diese Dokumentation beschreibt im Folgenden die virtuelle Tabelle „Vertreter“.
1 Zielgruppe
Entwickler
2 Begriffsbestimmung
Im Folgenden werden die Begriffe virtuelle Tabellen, virtuelle Funktion und virtuelle Beziehungsspalte kurz erläutert. Weitere Informationen finden Sie in der Dokumentation Benutzung von Semiramis-ODBC.
Eine virtuelle Tabelle existiert nicht in der Datenbank, sondern wird vom SAS emuliert. Prinzipiell kann auf eine virtuelle Tabelle wie auf eine Datenbanktabelle zugegriffen werden. Der Inhalt einer virtuellen Tabelle wird zur Laufzeit der Abfrage bezüglich der Eingabewerte berechnet. Als Anfrageergebnis können beliebig viele Zeilen zurückgeben werden. Eine virtuelle Tabelle darf nur als einzige Tabelle in einem einfachen SQL-Statement verwendet werden.
Virtuelle Tabellen sollten verwendet werden, wenn das Anfrageergebnis mehr als eine Zeile umfassen kann. Wenn das Anfrageergebnis nur maximal eine Zeile enthält, bietet sich eine virtuelle Funktion an, da diese in Joins verwendet werden kann.
Eine virtuelle Funktion ist eine spezielle Tabelle, die zu einer Menge von Eingabewerten eine Ergebniszeile zurückgibt, welche zur Laufzeit der Abfrage berechnet wird. Sie existiert nicht auf der Datenbank, sondern wird vom SAS emuliert.
Eine virtuelle Funktion wird normalerweise über einen Join vom Typ LEFT OUTER an eine andere Datenbanktabelle verbunden. Über die Join-Bedingung oder über die WHERE-Klausel wird die Zuordnung der Werte für die Eingabeparameter der virtuellen Funktion angegeben. Wenn eine Abfrage einen Join enthält, dann wird das Abfrageergebnis zuerst ohne Berücksichtigung der virtuellen Funktion in der Datenbank ermittelt. Anschließend werden für jede Ergebniszeile die Werte der Spalten der virtuellen Funktion berechnet. Dabei berechnet der SAS für die durch die Join-Bedingung festgelegte Wertebelegung der Eingangsparameter, die Werte der Ausgabe-Spalten der virtuellen Funktion.
Eine virtuelle Beziehungsspalte erweitert die Tabelle eines Business Object um eine Spalte, deren Inhalt sich zur Laufzeit der Abfrage berechnet. Die virtuelle Beziehungsspalte basiert auf einer Beziehung des Quell-Business-Objects zu einem konkreten Ziel-Business-Object, die bestimmten Bedingungen genügen muss. Zu beachten ist, dass sie die Tabellen aller Quell-Business-Objects, die so eine Beziehung zu dem Ziel-Business-Object besitzen, um die zusätzliche Spalte erweitert.
3 Virtuelle Tabelle „Vertreter“
Durch die virtuelle Tabelle „Vertreter“ kann auf Daten eines Vertreters zugegriffen werden. Dabei wird die Organisationsabhängigkeit berücksichtigt. Als Eingabeparameter stehen die Spalten “in_number“, “in_organization“, “in_name”, “in_searchString”, “” in_street”, “in_postalCode”, “in_city”, “in_region”, “in_country”, “” in_maintainingOrganization”, “in_language”, “in_responsible”, “in_partnerType”, “in_organizationalUnitMember”, “in_deleteState”, “in_showCommunicationComponents”, “in_showContacts”, “in_showText”, “in_showTextInAllLanguages”, “in_showCustomerAllocation” und “in_orderBy” zur Verfügung.
Die implementierende Java-Klasse ist
com.cisag.app.general.partner.log.SalesRepresentativeVirtualTable
3.1 Tabellenname
In einem Bericht kann die Tabelle über den Namen app_sales_SalesRepresentativeVirtualTable angesprochen werden.
3.2 Tabellenspalten
Der Datentyp einer Spalte ist String, wenn nichts anderes angegeben ist.
app_general_SalesRepresentativeVirtualFunction | |
Spaltenname | Erläuterung |
in_organization | Inhalt des Organisationsauswahlfeldes |
in_number | Inhalt des Auswahlfeldes „Partner“ |
in_name | Inhalt des Auswahlfeldes „Name“ |
in_searchString | Inhalt des Auswahlfeldes „Suchbegriff“ |
in_street | Inhalt des Auswahlfeldes „Straße“ |
in_postalCode | Inhalt des Auswahlfeldes „PLZ“ |
in_city | Inhalt des Auswahlfeldes „Ort“ |
in_region | Inhalt des Auswahlfeldes „Region“ |
in_country | Inhalt des Auswahlfeldes „Land“ |
in_maintainingOrganization | Inhalt des Auswahlfeldes „Zuständige Organisation“ |
in_language | Inhalt des Auswahlfeldes „Korrespondenzsprache“ |
in_responsible | Inhalt des Auswahlfeldes „Zuständiger Mitarbeiter“ |
in_partnerType | Inhalt des Auswahlfeldes „Zugehörigkeit“ |
in_organizationalUnitMember | Inhalt des Auswahlfeldes „Zugeordnete Organisation“ |
in_deleteState | Inhalt des Auswahlfeldes „Löschkennzeichen“ |
in_showCommunicationComponents | Inhalt der Checkbox „Kommunikationsverbindungen ausgeben“, Datentyp Boolean. |
in_showContacts | Inhalt der Checkbox „Ansprechpartner ausgeben“, Datentyp Boolean. |
in_showText | Inhalt der Checkbox „Text ausgeben“, Datentyp Boolean. |
in_showTextInAllLanguages | Inhalt der Checkbox „Text in allen Sprachen“, Datentyp Boolean. |
in_showCustomerAllocation | Inhalt der Checkbox „Kundenzuordnung des Vertreters ausgeben“, Datentyp Boolean. |
in_orderBy | Mit dieser Spalte kann die Sortierung der Ausgabe beeinflusst werden. Im Bericht wird unter der Rubrik Datensatzauswahl die Sortierung bestimmt. Standardmäßig steht in dem Feld:{app_sales_SalesRepresentativeVirtualTable.in_orderBy} = “number asc”; Damit werden die Vertreter nach der Partnernummer aufsteigend ausgegeben. |
communicationDataDescription | Die Bezeichnung aus der Kommunikationsart. Datentyp String. |
communicationDataCommData | Die Kommunikationsverbindung der Kommunikationsart (CommData). Datentyp String. |
ContactPartnerRelation_ | Die GUID der PartnerRelation des Ansprechpartners. Datentyp Guid. |
customerAllocationToRepresentativePartnerRelation_ | Die GUID der PartnerRelation der Kundenzuordnung des Vertreters. Datentyp Guid. |
deleteUser_ | Die GUID des Benutzers, der das Löschkennzeichen im Partner gesetzt hat. Datentyp Guid. |
guid_ | Die GUID des Vertreters. Datentyp Guid. |
maintainingSales_ | Die GUID der Daten bearbeitenden Organisation. Datentyp Guid. |
organizationalUnit_ | Die GUID der Organisation. Datentyp Guid. |
orgUnitMemberPartner | Die Nummer und der Inhalt des Suchbegriffs aus dem Partner der Zugeordnete Organisation. Datentyp String. |
responsiblePartner | Die Nummer und der Inhalt des Suchbegriffs aus dem Partner des Zuständigen Mitarbeiters. Datentyp String. |
textLanguage_ | Die GUID der Sprache des Textes. |
textText | Der Inhalt des Textes. |
type | Für jeden Vertreter können mehrere Datensätze ausgegeben werden. Der type bestimmt die Satzart:
type = 0: Allgemeines zum Vertreter type = 1: Kommunikationsverbindungen type = 2: Ansprechpartner type = 3: Text type = 3: Kundenzuordnung des Vertreters
Datentyp Integer. |
validFrom | Das „Gültig ab“-Datum. Datentyp Timestamp. |
validFrom_gmt | Das „Gültig ab“-Datum als GMT-Datum. Datentyp Timestamp.
Hinweis: Das GMT-Datum entspricht dem aktuellen Zeitstempel des Application-Servers zum Zeitpunkt der Abfrage bezüglich der Zeitzone GMT. |
3.3 Datenbanktyp
Die virtuelle Tabelle „Vertreter“ steht auf Datenbanken des Typs OLTP-Datenbank zur Verfügung.
3.4 Berechtigungen
Für die Nutzung des ODBC-Treibers wird folgendes Business Entity für die Berechtigungsermittlung herangezogen:
Partner
com.cisag.app.general.obj.Partner