Alle virtuellen Tabellen sind in Semiramis im Unterkatalog „VIRTUAL“ eingeordnet. Diese Dokumentation beschreibt im Folgenden die virtuelle Tabelle und die virtuelle Funktion „Lieferantenbezogene Artikeldaten“.
1 Zielgruppe
Entwickler
2 Begriffsbestimmung
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.
3 Virtuelle Tabelle
Durch die virtuelle Tabelle „Lieferantenbezogene Artikeldaten“ kann auf Lieferantendaten eines Beschaffungs-Artikels zugegriffen werden. Dabei werden die Organisationsabhängigkeit und auch allgemeine Beschaffungs-Artikeldaten berücksichtigt, wenn keine speziellen lieferantenbezogenen Artikeldaten existieren. Als Eingabeparameter stehen die folgenden Spalten zur Verfügung:
- in_item_
- in_organizationalUnit_
- in_supplier_
Die implementierende Java-Klasse ist com.cisag.app.general.item.log.PurchaseItemDataVirtualTable.
Die Tabelle hat folgende Spalten, zuerst die Eingabeparameter, danach die restlichen Attribute in alphabetischer Ordnung:
app_purchasing_PurchaseItemDataTable | |
Spaltenname | Beschreibung |
in_item_ | Diesem Eingabeparameter muss die GUID des Beschaffungsartikels zugewiesen werden. |
in_organizationalUnit_ | Diesem Eingabeparameter muss die GUID der Beschaffungsorganisation zugewiesen werden. |
in_supplier_ | Diesem Eingabeparameter muss die GUID des Lieferanten zugewiesen werden. |
bonusClassification_ | Diese Klassifikation fasst bestimmte Artikel zu einer Bonusgruppe zusammen. In der Anwendung „Bonusvereinbarungen“ können Sie diese Klassifikation nutzen, um Artikel in der Bonusberechnung ein- oder auszuschließen. |
classificationDiscountsEnabled | In den Beschaffungsauftrags- und Beschaffungsangebotspositionen wird die entsprechende Checkbox gemäß dem Eintrag in dieser Spalte vorbelegt. |
completionTolerance | Diese Spalte enthält die Erledigungstoleranz. Die Erledigungstoleranz dient zur Ermittlung der eingegangen Menge zu einer Beschaffungsauftragsposition, bei deren Erreichen der Lieferstatus der Position auf „Komplett geliefert“ gesetzt wird. |
costCentre_ | Die in dieser Spalte zugeordnete Kostenstelle wird bei Erfassung des Artikels im Beschaffungsangebot und –auftrag im Feld Kostenstelle vorbelegt. |
costObjective_ | Der in dieser Spalte zugeordnete Kostenträger wird bei Erfassung des Artikels im Beschaffungsangebot und –auftrag im Feld Kostenträger vorbelegt. |
defaultStorageArea_ | Diese Spalte enthält einen eventuell für den Artikel angegebenen Standard-Lagerort. Wenn dieser Artikel in der Positionserfassung in Beschaffungsanfrage, -angebot und -auftrag erfasst wird, dann wird der hier hinterlegte Lagerort vorbelegt. |
detailAndHeaderDiscountsEnabled | In den Beschaffungsauftrags- und Beschaffungsangebotspositionen wird die entsprechende Checkbox gemäß dem Eintrag in dieser Spalte vorbelegt. |
description | Falls Lieferanten-Artikeldaten gefunden werden, so wird in dieser Spalte die hinterlegte Lieferanten-Artikelbezeichnung zurückgegeben. |
ean | Diese Spalte enthält die EAN-Nummer des Artikels ein, die beschaffungsseitig verwendet werden soll.
Bei entsprechender Einstellung im Customizing kann die in dieser Spalte hinterlegte EAN-Nummer zur Erfassung des Artikels in einer Beschaffungsauftrags- oder –Beschaffungsangebotsposition verwendet werden. Die Nummer besteht aus folgenden Zeichen: · zweistelliges Länderkennzeichen (20, 28, 40 bis 44 für Deutschland), · Betriebsnummer des Herstellers auf nationaler Ebene, · Artikel-Identifikation, · Prüfziffer. Die EAN kann 8-, 13- oder 14-stellig sein. |
number | Falls Lieferanten-Artikeldaten gefunden werden, so wird in dieser Spalte die hinterlegte Lieferanten-Artikelnummer zurückgegeben.
Die Lieferanten-Artikelnummer wird in der Kommunikation mit dem Lieferanten verwendet, in der Regel auf den Belegdokumenten der Beschaffung. |
orderValueDiscountsEnabled | In den Beschaffungsauftrags- und Beschaffungsangebotspositionen wird die entsprechende Checkbox gemäß dem in dieser Spalte hinterlegten Eintrag vorbelegt. |
overDeliveryLimit | Diese Spalte enthält den Überlieferungsprozentsatz. Diese Angabe steuert das Verhalten des Systems bei einer Überlieferung.
Beispiel: |
packagingSizeDiscountsEnabled | In den Beschaffungsauftrags- und Beschaffungsangebotspositionen wird die entsprechende Checkbox gemäß dem Eintrag in dieser Spalte vorbelegt. |
priceClassification_ | Diese Spalte enthält eine Preisklassifikation für diesen Artikel.
Für eine Artikel-Preisklassifikation können Preiskonditionen hinterlegt werden. Über die Zuordnung des Artikels zu dieser Preisklassifikation wird der Artikel bei der Preisermittlung gegebenenfalls für diese Kondition berücksichtigt. Ein Eintrag in dieser Spalte ist obligatorisch wenn der Wert in der Spalte orderValueDiscountsEnabled auf „true„ steht. |
selfBillingExclusion | Anhand dieser Checkbox wird entschieden, ob ein Artikel vom Gutschriftsverfahren ausgeschlossen wird. |
pricingUom_ | Diese Spalte enthält die Preiseinheit der Beschaffungsdaten.
Gültige Einheiten sind die für diesen Artikel gültigen Beschaffungseinheiten. |
text_ | Diese Spalte enthält die Referenz auf die Texte, die für den Beschaffungs-Artikel bzw. den Lieferanten-Artikel Datensatz angelegt wurden. |
underDeliveryLimit | Diese Spalte enthält den Unterlieferungsprozentsatz
Diese Angabe hat eine ähnliche Bedeutung, wie der Überlieferungsprozentsatz. Beispiel: |
4 Virtuelle Funktion
Durch die virtuelle Funktion „Lieferantenbezogene Artikeldaten“ kann auf Lieferantendaten eines Beschaffungs-Artikels zugegriffen werden. Dabei werden die Organisationsabhängigkeit und auch allgemeine Beschaffungs-Artikeldaten berücksichtigt, wenn keine speziellen lieferantenbezogenen Artikeldaten existieren. Als Eingabeparameter stehen die folgenden Spalten zur Verfügung:
- in_item_
- in_organizationalUnit_
- in_supplier_
Die implementierende Java-Klasse ist com.cisag.app.general.item.log.PurchaseItemDataVirtualFunction.
Die Tabelle hat dieselben Spalten wie die virtuelle Tabelle. Zusätzliche besteht folgende Spalte:
app_purchasing_PurchaseItemData | |
Spaltenname | Beschreibung |
fullText | Falls ein Eintrag in der Spalte text vorhanden ist, wird die Referenz aufgelöst und die expliziten Daten des hinterlegten Texts als Blob in diesem Attribut abgelegt. |