Virtuelle Tabelle: Änderungsjournal

Das Änderungsjournal kann mithilfe von virtuellen Tabellen mit ODBC abgefragt und damit in Berichten ausgegeben werden. Der Aufbau dieser virtuellen Tabellen zur Abfrage des Änderungsjournals wird in diesem Dokument beschrieben.

1                     Zielgruppe

Entwickler

2                     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

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.

3                     Funktionsbeschreibung

Wenn das Änderungsjournal für ein Business Entity aktiv ist, so werden alle Änderungen an den Instanzen dieses Business Entitys aufgezeichnet. Die im Änderungsjournal aufgezeichneten Änderungen können Sie mithilfe von virtuellen Tabellen mit ODBC abfragen und in Berichten ausgeben.

Die Ausgabe der virtuellen Tabelle „Änderungsjournal“ können Sie über das geänderte Business Entity sowie den Änderungszeitpunkt einschränken. Die Ausgabe enthält für jede Änderung eines Attributs mit primitivem Datentyp eine Zeile. Bei Attribute mit komplexen Datentypen (Parts) enthält die Ausgabe für alle geänderten Attribute des Parts mit primitivem Datentyp eine Zeile. Die folgenden Parts werden immer als Ganzes ausgeben:

  • Hauswährung (DomesticAmount)
  • Dauer (Duration)
  • Fremdwährung (ForgeinAmount)
  • Menge (Quantity)

Wenn sich ein primitives Attribut dieser Parts ändert, so werden alle Attribute dieser Parts in das Änderungsjournal geschrieben und ausgegeben. Diese Parts (Hauswährung, …) existieren nur auf OLTP-Datenbanken, auf allen anderen Datenbanken können diese Parts nicht verwendet werden. Das Änderungsjournal wird daher auf OLTP-Datenbanken mit der virtuellen Tabelle app_system_odbc_ModificatonJournal abgefragt, die diese Parts enthält. Auf allen anderen Datenbanken wird das Änderungsjournal mit der virtuellen Tabelle pgm_ModificationJournal abgefragt.

Sie können den alten und den neuen Wert des geänderten Attributs als Zeichenkette mithilfe der Spalten„oldValueString“ und „newValueString“ zu jedem Datentyp in einer lesbaren Darstellung abfragen. Für jeden Datentyp gibt es zusätzlich dazu jeweils eine Spalte, um den Wert direkt abzufragen, z.B. „oldValueDecimal“ für den alten Wert eines Attributs mit dem Datentyp DECIMAL.

Mehrsprachige Attribute werden als HTML-Text mit dem Datentyp CLOB_HTML in der virtuellen Tabelle ausgeben.

app_system_odbc_ModificatonJournal

pgm_ModificationJournal

Spaltenname Erläuterung
in_changeTimeSelection Abfragefeld für den Zeitpunkt der Änderung. Sie können diesen Eingangsparameter verwenden, um Änderungen aus bestimmten Zeiträumen zu abzufragen.

Übergeben Sie in diesem Feld einen normalisierten Selection-String für Zeitpunkte.

in_changeUserGuid_ GUID des Benutzers, der die Änderung durchgeführt hat.
in_changeUserName Name des Benutzers, der die Änderung durchgeführt hat.
in_entityInstanceStringSelection Abfragefeld für den Instance-String der geänderten Business Entity Instanzen. Sie können diesen Eingangsparameter verwenden, um das Änderungsjournal für eine oder mehre Business Entity Instanzen auszugeben.

Übergeben Sie in diesem Feld einen normalisierten Selection-String für Strings.

in_entityName Name des Business Entitys.
in_entityPrimaryKey Primärschlüssel der Business Entity Instanz.
attributePath Name des geänderten Attributs.

Wenn ein Business Object geändert wurde, so enthält diese Spalte entweder den Attributpfad der geänderten Spalte oder den Namen der geänderten Beziehung ergänzt um „_text“.

Wenn ein dynamisches Business Object verändert wurde, enthält diese Spalte den Namen des geänderten Attributs.

changeTime Zeitpunkt zu dem das Business Entity geändert wurde.
changeTime_gmt Zeitpunkt zu dem das Business Entity geändert wurde in der Zeitzone GMT.
changeTimeMs Zeitpunkt zu dem das Business Entity geändert wurde in Millisekunden seit dem 1.1.1970 GMT. Verwenden Sie diese Spalte, um nach den Änderungszeitpunkten zu gruppieren.
datatype Datentyp des geänderten Attributs:

·         BINARY Binäre Daten begrenzter Länge.

·         BLOB Binäre Daten unbegrenzter Länge.

·         BOOLEAN Wahrheitswert.

·         BYTE Ganze Zahl mit 8 Bit und Vorzeichen.

·         CHAR Ein Zeichen.

·         CIS_DATE Zeitpunkt/Datum mit Zeitzone.

·         CLOB Text unbegrenzter Länge.

·         CLOB_HTML Text unbegrenzter Länge ist als HTML formatiert. Wird für Blobs mit HTML-Inhalt und für mehrsprachige Texte verwendet.

·         DECIMAL Dezimalzahl.

·         DOMESTIC_AMOUNT Hauswährung.

·         DOUBLE Fließkommazahl mit 64 Bit Genauigkeit.

·         DURATION Dauer.

·         DYNAMIC_OBJECT_CODE_VALUES Wertelisten-Attribut eines dynamischen Business Objects. Die Werte dieses Datentyps werden nur als String dargestellt.

·         FLOAT Fließkommazahl mit 32 Bit Genauigkeit.

·         FOREIGN_AMOUNT Fremdwährung.

·         GUID Binärdaten 16 Byte.

·         INT Ganze Zahl mit 32 Bit und Vorzeichen.

·         LONG Ganze Zahl mit 64 Bit und Vorzeichen.

·         PRIMARY_KEY Primärschlüssel eines Business Objects. Dieser Datentyp wird für 1:1-Beziehungen verwendet. Die String-Darstellung des geänderten Attributs enthält, den Instance-String des Zielobjekts der Beziehung.

·         QUANTITY Menge.

·         SHORT Ganze Zahl mit 16 Bit und Vorzeichen.

·         SQL_DATE Zeitpunkt.

·         STRING Text begrenzter Länge.

·         TIMESTAMP Zeitpunkt.

·         VALUESET ValueSet.

·         VARSTRING Text begrenzter Länge.

datatype_text Beschreibung des Datentyps.
entityDescription Beschreibung des Business Entitys.
entityInstanceString Instanz-String der geänderten Business Entity Instanz.
label Label des geänderten Attributs.
updateType Art der Änderung des Business Objekts:

·         INSERT Einfügen. Das Business Object wurde neu angelegt.

·         UPDATE Ändern. Das Business Object existiert bereits und wurde geändeert.

·         DELETE Löschen. Das Business Object wurde gelöscht.

updateType_text Beschreibung der Art der Änderung des Business Objekts.
oldValueBinary Alter Wert eines geänderten Attributs mit dem Datentyp BINARY.
oldValueBoolean Alter Wert eines geänderten Attributs mit dem Datentyp BOOLEAN.
oldValueByte Alter Wert eines geänderten Attributs mit dem Datentyp BYTE.
oldValueChar Alter Wert eines geänderten Attributs mit dem Datentyp CHAR.
oldValueCisDate Alter Wert eines geänderten Attributs mit dem Datentyp CIS_DATE.
oldValueCLOB Alter Wert eines geänderten Attributs mit dem Datentyp CLOB.
oldValueDecimal Alter Wert eines geänderten Attributs mit dem Datentyp DECIMAL.
oldValueDomesticAmount Alter Wert eines geänderten Attributs mit dem Datentyp DOMESTIC_AMOUNT. Dieses Attribut existiert nur auf OLTP-Datenbanken.
oldValueDouble Alter Wert eines geänderten Attributs mit dem Datentyp DOUBLE.
oldValueDuration Alter Wert eines geänderten Attributs mit dem Datentyp DURATION. Dieses Attribut existiert nur auf OLTP-Datenbanken.
oldValueFloat Alter Wert eines geänderten Attributs mit dem Datentyp FLOAT.
oldValueForeignAmount Alter Wert eines geänderten Attributs mit dem Datentyp FOREIGN_AMOUNT. Dieses Attribut existiert nur auf OLTP-Datenbanken.
oldValueHtml Alter Wert eines geänderten Attributs mit dem Datentyp BLOB, CLOB oder Mehrsprachigen STRINGs. Geben Sie den Inhalt dieses Attributs im Bericht als HTML aus.
oldValueGuid_ Alter Wert eines geänderten Attributs mit dem Datentyp GUID.
oldValueInt Alter Wert eines geänderten Attributs mit dem Datentyp INT.
oldValueLong Alter Wert eines geänderten Attributs mit dem Datentyp LONG.
oldValueQuantity Alter Wert eines geänderten Attributs mit dem Datentyp QUANTITY. Dieses Attribut existiert nur auf OLTP-Datenbanken.
oldValueShort Alter Wert eines geänderten Attributs mit dem Datentyp SHORT.
oldValueString Alter Wert eines geänderten Attributs in lesbarer Darstellung unabhängig vom Datentyp.
oldValueTimestamp Alter Wert eines geänderten Attributs mit den Datentypen TIMESTAMP oder SQL_DATE.
newValueBinary Neuer Wert eines geänderten Attributs mit dem Datentyp BINARY.
newValueBoolean Neuer Wert eines geänderten Attributs mit dem Datentyp BOOLEAN.
newValueByte Neuer Wert eines geänderten Attributs mit dem Datentyp BYTE.
newValueChar Neuer Wert eines geänderten Attributs mit dem Datentyp CHAR.
newValueCisDate Neuer Wert eines geänderten Attributs mit dem Datentyp CIS_DATE.
newValueCLOB Neuer Wert eines geänderten Attributs mit dem Datentyp CLOB.
newValueDecimal Neuer Wert eines geänderten Attributs mit dem Datentyp DECIMAL.
newValueDomesticAmount Neuer Wert eines geänderten Attributs mit dem Datentyp DOMESTIC_AMOUNT. Dieses Attribut existiert nur auf OLTP-Datenbanken.
newValueDouble Neuer Wert eines geänderten Attributs mit dem Datentyp DOUBLE.
newValueDuration Neuer Wert eines geänderten Attributs mit dem Datentyp DURATION. Dieses Attribut existiert nur auf OLTP-Datenbanken.
newValueFloat Neuer Wert eines geänderten Attributs mit dem Datentyp FLOAT.
newValueForeignAmount Neuer Wert eines geänderten Attributs mit dem Datentyp FOREIGN_AMOUNT. Dieses Attribut existiert nur auf OLTP-Datenbanken.
newValueHtml Neuer Wert eines geänderten Attributs mit dem Datentyp BLOB, CLOB oder Mehrsprachigen STRINGs. Geben Sie den Inhalt dieses Attributs im Bericht als HTML aus.
newValueGuid_ Neuer Wert eines geänderten Attributs mit dem Datentyp GUID.
newValueInt Neuer Wert eines geänderten Attributs mit dem Datentyp INT.
newValueLong Neuer Wert eines geänderten Attributs mit dem Datentyp LONG.
newValueQuantity Neuer Wert eines geänderten Attributs mit dem Datentyp QUANTITY. Dieses Attribut existiert nur auf OLTP-Datenbanken.
newValueShort Neuer Wert eines geänderten Attributs mit dem Datentyp SHORT.
newValueString Neuer Wert eines geänderten Attributs in lesbarer Darstellung unabhängig vom Datentyp.
newValueTimestamp Neuer Wert eines geänderten Attributs mit den Datentypen TIMESTAMP oder SQL_DATE.

 

Czy ten artykuł był pomocny?