Virtuelle Tabellen: Offene Werte zum Vertriebsauftrag

1                     Kurzbeschreibung

Zur Ausgabe der offenen Werte von Vertriebsaufträgen stehen drei virtuelle Tabellen zur Verfügung:

  • Die virtuelle Tabelle „Vertriebsauftrag: Offene Werte“ ermittelt alle Vertriebsaufträge, die über offene Liefer- oder Rechnungswerte verfügen.
  • Die virtuelle Tabelle „Vertriebsauftrag: Offene Lieferwerte“ ermittelt alle Vertriebsaufträge, die über offene Lieferwerte verfügen.
  • Die virtuelle Tabelle „Vertriebsauftrag: Offene Rechnungswerte“ ermittelt alle Vertriebsaufträge, die über offene Rechnungswerte verfügen.

Optional werden jeweils die dazugehörigen Belegreferenzen (Lieferaufträge, Ausgangsrechnungen) angezeigt. Sie können durch einen Filter eingeschränkt werden.

2                     Zielgruppe

  • Berater
  • Entwickler

3                     Begriffsbestimmung

Virtuelle Tabelle

Eine virtuelle Tabelle existiert nicht in der Datenbank, sondern wird vom SAS emuliert. Prinzipiell kann auf 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.

4                     Virtuelle Tabelle

Zur Ausgabe der offenen Werte von Vertriebsaufträgen stehen drei virtuelle Tabellen zur Verfügung:

  • Die virtuelle Tabelle „Vertriebsauftrag: Offene Werte“ ermittelt alle Vertriebsaufträge, die über offene Liefer- oder Rechnungswerte verfügen.
  • Die virtuelle Tabelle „Vertriebsauftrag: Offene Lieferwerte“ ermittelt alle Vertriebsaufträge, die über offene Lieferwerte verfügen.
  • Die virtuelle Tabelle „Vertriebsauftrag: Offene Rechnungswerte“ ermittelt alle Vertriebsaufträge, die über offene Rechnungswerte verfügen.

Optional werden jeweils die dazugehörigen Belegreferenzen (Lieferaufträge, Ausgangsrechnungen) angezeigt. Sie können durch einen Filter eingeschränkt werden.

Beachten Sie bitte, dass bei diesen virtuellen Tabellen im Gegensatz zum Karteireiter in der Anwendung „Vertriebsaufträge“ die instanzbezogene Berechtigung laut Customizing nicht auf die Ergebniszeilen wirkt.

4.1               Offene Werte

Die virtuelle Tabelle „Vertriebsauftrag: Offene Werte“ ermittelt alle Vertriebsaufträge, die über Offene Liefer- oder Rechnungswerte verfügen.

Die virtuelle Tabelle wird durch die Java-Klasse

com.cisag.app.sales.order.log.OpenSalesOrderValuesVirtualTable

implementiert.

4.2               Offene Lieferwerte

Die virtuelle Tabelle „Vertriebsauftrag: Offene Lieferwerte“ ermittelt alle Vertriebsaufträge, die über Offene Lieferwerte verfügen.

Die virtuelle Tabelle wird durch die Java-Klasse

com.cisag.app.sales.order.log.OpenDeliveryValuesVirtualTable

implementiert.

4.3               Offene Rechnungswerte

Die virtuelle Tabelle „Vertriebsauftrag: Offene Rechnungswerte“ ermittelt alle Vertriebsaufträge, die über Offene Rechnungswerte verfügen.

Die virtuelle Tabelle wird durch die Java-Klasse

com.cisag.app.sales.order.log.OpenInvoiceValuesVirtualTable

implementiert.

4.4               Tabellenname

Die virtuellen Tabellen werden in einem Bericht über die Namen:

  • app_sales_OpenSalesOrderValuesVirtualTable (Offene Werte)
  • app_sales_OpenDeliveryValuesVirtualTable (Offene Lieferwerte)
  • app_sales_OpenInvoiceValuesVirtualTable (Offene Rechnungswerte)

angesprochen.

4.5               Suchen

Über den Eingabe-Parameter in_sourceDocumentInfo (siehe Kapitel 4.6 Tabellenspalten) kann eingestellt werden, ob in dem Bericht die Belegreferenzen für die jeweiligen Vertriebsaufträge angezeigt werden sollen.

Abhängig von diesem Parameter wird die zu verwendende Suche bestimmt.

  • Ist in_sourceDocumentInfo gleich true, dann wird die Suchecisag.app.sales.rpt.obj.OpenOrderValuesDocumentInfoSearch verwendet.
  • Ist in_sourceDocumentInfo gleich false, dann wird die Suchecisag.app.sales.rpt.obj.OpenOrderValuesSearch verwendet.

4.6               Tabellenspalten

Die virtuelle Tabelle hat Eingabe- bzw. Ausgabeparameter und jeder Parameter entspricht einer Spalte in der virtuellen Tabelle. Eingabeparameter sind mit dem Präfix „in_“ gekennzeichnet. Sie sind gleichzeitig Ausgabeparameter (nicht änderbar). Reine Ausgabeparameter haben kein Präfix.

Der Aufbau der virtuellen Tabelle ist wie folgt:

Spaltennamen Beschreibung
in_sourceOrderNumber Geben Sie als Suchmerkmal eine oder mehrere Vertriebsauftrags-Nummern an.
in_sourceOrderCustomer Geben Sie als Suchmerkmal eine oder mehrere Kunden an. Der Kunde hier entspricht abhängig von der jeweiligen virtuellen Tabelle dem Auftraggeber, dem Lieferempfänger oder dem Rechnungsempfänger.
in_SourcSalesRepresentative Geben Sie als Suchmerkmal einen oder mehrere  Vertreter an. Die Eingabe bezieht sich auf den ersten Vertreter der jeweiligen Aufträge.
in_sourceOrderResponsible Geben Sie als Suchmerkmal einen oder mehrere  Mitarbeiter an. Die Eingabe bezieht sich auf den „Zuständigen Mitarbeiter“ der jeweiligen Aufträge.
in_sourceDocumentInfo Legen Sie fest, ob Belegreferenzen ausgeben werden sollen (true) oder nicht (false).
in_orderTypeFilter Enthält die jeweils relevanten Belegtypen.
in_sourceSalesOrderType Geben Sie als Suchmerkmal eine oder mehrere  Vertriebs-Auftragsarten an.
in_sourceOrderDate_gmt Geben Sie als Suchmerkmal einen Zeitpunkt oder einen Zeitraum an, in dem die gesuchten Vertriebsaufträge erfasst wurden.
salesOrderHeaderGuid Die GUID des Vertriebsauftrags
referenceDate Datum laut Belegreferenz
referenceQuantity Menge laut Belegreferenz
referenceQuantities0 Lagermenge 0 laut Belegreferenz
referenceQuantities1 Lagermenge 1 laut Belegreferenz
referenceQuantities2 Lagermenge 2 laut Belegreferenz
referenceQuantities3 Lagermenge 3 laut Belegreferenz
targetOrderType Belegtyp in Zielbeleg (Lieferauftrag, Ausgangsrechnung).
targetOrderTypeCode Die Identifikation der Zielbelegsart
targetOrderHeaderGuid Die GUID der Basis des Zielbelegs
targetOrderDetailGuid Die GUID der Position des Zielbelegs
targetOrderTypeGuid Die GUID der Zielbelegsart
targetOrderNumber Die Nummer der Basis des Zielbelegs
targetOrderDetailNumber Die Nummer der Position des Zielbelegs
targetOrderDetailSubNumber Die Nummer der Detail-Position des Zielbelegs
targetOrderFormattedDetailNumber Die vollständige Positionsnummer des Zielbelegs
targetOrderFormattedFullNumber Die vollständige Nummer des Zielbelegs
targetItemGuid Die GUID des Artikels in der Zielbelegsposition
targetPartnerGuid Die GUID des Partners in der Zielbelegsposition
targetOrderDate Das Erfassungsdatum des Zielbelegs
targetOrderQuantity Die Menge in der Zielbelegsposition

 

Hinweis:

Der optionale Filter in_orderTypeFilter muss wie ein SelectionString aufgebaut sein (siehe Konstanten im ValueSet com.cisag.app.general.OrderType).

Will man z.B. die Ergebnisse auf Lieferaufträge und Ausgangsrechnungen einschränken, so lautet der Filter: ORDER_TYPE_FILTER = “90, 100”.

4.7               Datenbanktyp

Der hier relevante Datenbanktyp ist OLTP:

public short[] getDatabaseContentTypes() {

return new short[] {CisODBCExtensionLogic.DB_CONTENT_TYPE_OLTP};

}

4.8               Berechtigungen

Für die Einschränkung der Verwendbarkeit der virtuellen Tabelle wird auf die Berechtigungsdefinitionen des Belegketten-Business-Objects zurückgegriffen:

public byte[] getBaseBusinessObjectGuid() {

return CisObjectUtility.getClassGuid(

com.cisag.app.sales.obj.SalesOrder.class);

}

Czy ten artykuł był pomocny?