Virtuelle Tabelle und Funktion: Lieferantenbezogene Artikeldaten

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

Virtuelle Tabelle

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.

Virtuelle Funktion

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:
Für einen Artikel ist ein Über­liefe­rungs­prozentsatz von 10 % hinterlegt. Bei einer Auftrags­positions­menge von 100 St. und einer Liefermenge zwischen 101 und 110 St. erhält der Benutzer beim Erfassen des Wareneingangs die Warnung, dass innerhalb der zulässigen Grenzen überliefert wird. Wird jedoch eine Menge von 110 überschritten, ist die Erfassung des Wareneingangs nicht möglich.

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:
Für einen Artikel ist ein Unter­liefe­rungs­prozentsatz von 10 % hinterlegt. Bei einer Auftrags­positions­menge von 100 St. und einer Liefermenge zwischen 90 und 99 St. erhält der Benutzer beim Erfassen des Wareneingangs die Warnung, dass innerhalb der zulässigen Grenzen unterliefert wird. Wird jedoch eine Menge von 90 unterschritten, ist die Erfassung des Wareneingangs nicht möglich.

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.

 

Czy ten artykuł był pomocny?