Alle virtuellen Tabellen sind in Semiramis im Unterkatalog „VIRTUAL“ eingeordnet. Diese Dokumentation beschreibt im Folgenden die virtuelle Tabelle „Vertriebs-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 „Vertriebs-Artikel“ kann auf Daten eines Vertriebs-Artikels zugegriffen werden. Dabei werden Organisationsabhängigkeit und spezielle Kunden- bzw. Kundenklassifikationsdaten berücksichtigt. Als Eingabeparameter stehen die Spalten „in_item_“, „in_organizationalUnit_“, „in_customer_“ zur Verfügung.
Die implementierende Java-Klasse ist com.cisag.app.general.item.log.SalesItemDataVirtualTable.
Die Tabelle hat folgende Spalten, zuerst die Eingabeparameter, danach die restlichen Attribute in alphabetischer Ordnung:
app_sales_SalesItemDataTable | |
Spaltenname | Beschreibung |
in_item_ | Diesem Eingabeparameter muss die GUID des Vertriebs-Artikels zugewiesen werden. |
in_organizationalUnit_ | Diesem Eingabeparameter muss die GUID der Vertriebsorganisation zugewiesen werden. |
in_customer_ | Diesem Eingabeparameter muss die GUID des Kunden zugewiesen werden. |
availabilityCheckActivated | Über den Wert in dieser Spalte ist definiert, ob eine Verfügbarkeitsprüfung für den Artikel ausgeführt wird.
Ist die Verfügbarkeitsprüfung für einen Artikel aktiv, wird bei Eingabe in einem Vertriebsauftrag geprüft, ob der Artikel in der gewünschten Menge verfügbar ist. |
bonusClassification_ | Über den Wert dieser Spalte kann ein Artikel einer Bonus-Klassifikation zugeordnet sein. In der Anwendung Bonusvereinbarungen können Sie diese Klassifikation nutzen um Artikel in der Bonusberechnung ein- oder auszuschließen. |
classificationDiscountsEnabled | Über den Wert dieser Spalte wird gesteuert, ob positionsübergreifende Rabatte zur Anwendung kommen oder nicht. |
commissionClassification_ | In dieser Spalte kann eine Provisions-Klassifikation für den Artikel hinterlegt sein.
Provisions-Klassifikationen fassen bestimmte Artikel zu einer Provisionsgruppe zusammen. In der Anwendung Provisionsvereinbarungen können Sie diese für die Anlage von Provisionsvereinbarungen nutzen. |
costCentre_ | Die in dieser Spalte zugeordnete Kostenstelle wird bei Erfassung des Artikels im Vertriebsauftrag im Feld Kostenstelle vorbelegt. |
costObjective_ | Der in diesem Feld zugeordnete Kostenträger wird bei Erfassung des Artikels im Vertriebsauftrag 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 Vertriebsangebot und -auftrag erfasst wird, dann wird der hier hinterlegte Lagerort vorbelegt. |
description | Falls Kunden- oder Kundenklassifikations-Artikeldaten gefunden werden, so wird in dieser Spalte die hinterlegte Kunden-Artikelbezeichnung zurückgegeben. |
detailAndHeaderDiscountsEnabled | Über den Wert dieser Spalte wird gesteuert, ob Positions- und Basisrabatte zur Anwendung kommen oder nicht. |
freightCostPackagingUnit_ | Die in dieser Spalte hinterlegte Frachtkosten-Verpackungseinheit wird bei der Frachtberechnung im Vertriebsprozess benutzt, wenn von Verpackungseinheiten abhängige Frachtkosten in der gleichnamigen Anwendung definiert werden. |
minMargin | In dieser Spalte ist der Deckungsbeitrag für den Artikel in Prozent vom Wareneinsatz hinterlegt.
Als Vorschlagswert zeigt das System den Wert „0,00 %“ an, das bedeutet der Deckungsbeitrag wird bei der Positionserfassung in Vertriebsbelegen nicht geprüft. |
number | Falls Kunden- oder Kundenklassifikations-Artikeldaten gefunden werden, so wird in dieser Spalte die hinterlegte Kunden-Artikelnummer zurückgegeben.
Die Kunden-Artikelnummer wird in der Kommunikation mit dem Kunden verwendet, in der Regel auf den Belegdokumenten des Vertriebs. |
orderValueDiscountsEnabled | Über den Wert dieser Spalte wird gesteuert, ob Auftragswert-Rabatte zur Anwendung kommen oder nicht. |
overDeliveryLimit | In dieser Spalte kann ein Prozentsatz für die erlaubte Überlieferung hinterlegt sein. Der Überlieferungsprozentsatz legt fest, um welchen Prozentwert die Menge des Artikels überliefert werden kann.
Beispiel: Für einen Artikel ist ein Überlieferungsprozentsatz von 10 % hinterlegt. Bei einer Auftragspositionsmenge von 100 St. und einer Liefermenge ab 111 St. erhält der Benutzer beim Rückmelden der Kommission in der Ansicht Lieferaufträge die Fehlermeldung, dass die maximale Auftragsmenge überschritten wurde. |
packagingSizeDiscounts | Über den Wert dieser Spalte wird gesteuert, ob Verpackungsgrößen-Rabatte zur Anwendung kommen oder nicht. |
priceClassification_ | 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. |
pricingUom_ | In dieser Spalte ist die Vertriebs-Preiseinheit angegeben.
Die gültigen Einheiten sind die für diesen Artikel erfassten Vertriebseinheiten |
purchasingReferenceAllowed | In dieser Spalte wird die Beschaffungsanbindung ausgegeben. Über diese wird gesteuert, ob in den Anwendungen “Vertriebsanfragen”, “Vertriebsangebote”, “Vertriebsaufträge” in der Position ein Lieferant angegeben werden kann oder muss.
· “Nicht erlaubt”: Lieferant darf nicht eingetragen werden. · “Pflicht”: Lieferant muss eingetragen werden. · “Optional”: Lieferant kann eingetragen werden. |
splittingAllowed | Über den Wert dieser Spalte wird gesteuert, ob die Gesamtmenge einer Lieferauftragsposition nur aus einer einzigen Charge oder einem einzigen Los kommissioniert werden. |
text_ | Diese Spalte enthält die Referenz auf die Texte, die für den Vertriebs-Artikel bzw. den Kunden-Artikel Datensatz angelegt wurden. |
underDeliveryLimit | In dieser Spalte kann ein Prozentsatz für die erlaubte Unterlieferung hinterlegt sein. Der Unterlieferungsprozentsatz legt fest, um welchen Prozentwert die Menge des Artikels unterliefert werden kann.
Beispiel: Für einen Artikel ist ein Unterlieferungsprozentsatz von 10 % hinterlegt. Die Positionsmenge für einen Artikel beträgt 100 Stück. In einer Auftragsposition werden diese 100 Stück abgerufen. Werden nun mindestens 90 Stück geliefert, so wird bei der Buchung der Lieferung des Artikels der Status „Komplett geliefert“ zugeordnet und geliefert. |
4 Virtuelle Funktion
Durch die virtuelle Funktion „Vertriebs-Artikeldaten“ kann auf Daten eines Vertriebs-Artikels zugegriffen werden. Dabei werden Organisationsabhängigkeit und spezielle Kunden- bzw. Kundenklassifikationsdaten berücksichtigt. Als Eingabeparameter stehen die Spalten „in_item_“, „in_organizationalUnit_“, „in_supplier_“ zur Verfügung.
Die implementierende Java-Klasse ist com.cisag.app.general.item.log.SalesItemDataVirtualFunction.
Die Tabelle hat dieselben Spalten wie oben beschrieben. Zusätzliche Spalten sind:
app_sales_SalesItemData | |
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. |