Tabela wirtualna: Dziennik zmian

Wprowadzenie

Dziennik zmian może być przeszukiwany przy użyciu tabel wirtualnych z ODBC, a tym samym wyświetlany w raportach. W niniejszym dokumencie opisano strukturę tabel wirtualnych na potrzeby zapytań do dziennika zmian.

Grupa docelowa

  • Programiści

Opis

Jeśli dziennik zmian jest aktywny dla Jednostki Biznesowej (Business Entity), wszystkie zmiany w instancjach tej Jednostki Biznesowej są rejestrowane. Zarejestrowane zmiany można odpytywać za pomocą tabel wirtualnych poprzez ODBC i wyświetlać w raportach.

Wynik wirtualnej tabeli Dziennik Zmian można ograniczyć za pomocą zmienionej Jednostki Biznesowej oraz czasu zmiany. Wynik zawiera jeden wiersz dla każdej zmiany atrybutu o prymitywnym typie danych. W przypadku atrybutów o złożonych typach danych (Parts), wynik zawiera jeden wiersz dla wszystkich zmienionych atrybutów danego Partu o prymitywnym typie danych.

Następujące Parts (złożone typy danych) są zawsze wyprowadzane w całości:

  • Waluta krajowa (DomesticAmount)
  • Czas trwania (Duration)
  • Waluta obca (ForgeinAmount)
  • Ilość (Quantity)

Jeśli zmienia się atrybut prymitywny tych Partów (złożonych atrybutów, takich jak Waluta lokalna, Czas trwania, Waluta obca, Ilość), wszystkie atrybuty tych Partów są zapisywane do Dziennika Zmian i wyprowadzane.

Parts (Waluta lokalna, …) istnieją tylko na bazach danych OLTP; na wszystkich innych bazach danych nie mogą być wykorzystywane. W związku z tym, na bazach danych OLTP Dziennik Zmian jest odpytywany za pomocą wirtualnej tabeli app_system_odbc_ModificatonJournal, która zawiera te Party. Na wszystkich innych bazach danych Dziennik Zmian jest odpytywany za pomocą wirtualnej tabeli pgm_ModificationJournal.

Można odpytywać starą i nową wartość zmienionego atrybutu jako ciąg znaków w czytelnej reprezentacji dla każdego typu danych, korzystając z kolumn oldValueString i newValueString . Dodatkowo, dla każdego typu danych dostępna jest osobna kolumna, aby odpytać wartość bezpośrednio, np. oldValueDecimal dla starej wartości atrybutu o typie danych DECIMAL.

Atrybuty wielojęzyczne są wyprowadzane jako tekst HTML z typem danych CLOB_HTML w tabeli wirtualnej.

app_system_odbc_ModificatonJournalpgm_ModificationJournal 
Nazwa Kolumny Wyjaśnienie
in_changeTimeSelection Pole zapytania dotyczące czasu zmiany. Można wykorzystać ten parametr wejściowy do odpytywania o zmiany z określonych przedziałów czasowych. Przekazuje się w tym polu znormalizowany ciąg wyboru (Selection-String) dla czasów.
in_changeUserGuid GUID użytkownika, który dokonał zmiany.
in_changeUserName Nazwa użytkownika, który dokonał zmiany.
in_entityInstanceStringSelection Pole zapytania dotyczące ciągu instancji (Instance-String) zmienionych instancji jednostki biznesowej (Business Entity). Można wykorzystać ten parametr wejściowy do wydrukowania dziennika zmian dla jednej lub większej liczby instancji jednostki biznesowej. Przekazuje się w tym polu znormalizowany ciąg wyboru (Selection-String) dla ciągów tekstowych.
in_entityName Nazwa jednostki biznesowej.
in_entityPrimaryKey Klucz podstawowy instancji jednostki biznesowej.
attributePath Nazwa zmienionego atrybutu (Ścieżka atrybutu). Jeśli zmieniono Obiekt Biznesowy (Business Object), kolumna zawiera ścieżkę atrybutu zmienionej kolumny albo nazwę zmienionej relacji, uzupełnioną o „_text”. Jeśli zmieniono dynamiczny Obiekt Biznesowy, kolumna zawiera nazwę zmienionego atrybutu.
changeTime Czas, w którym zmieniono Jednostkę Biznesową.
changeTime_gmt Czas, w którym zmieniono Jednostkę Biznesową, w strefie czasowej GMT.
changeTimeMs Czas, w którym zmieniono Jednostkę Biznesową, w milisekundach. Wykorzystuje się tę kolumnę do grupowania według czasów zmiany.
datatype Typ danych zmienionego atrybutu:

  • BINARY – dane binarne o ograniczonej długości.
  • BLOB – dane binarne o nieograniczonej długości.
  • BOOLEAN – wartość logiczna.
  • BYTE – liczba całkowita 8-bitowa ze znakiem.
  • CHAR – pojedynczy znak.
  • CIS_DATE – czas/data ze strefą czasową.
  • CLOB – tekst o nieograniczonej długości.
  • CLOB_HTML – tekst o nieograniczonej długości sformatowany jako HTML. Wykorzystuje się dla obiektów BLOB z zawartością HTML oraz dla tekstów wielojęzycznych.
  • DECIMAL – liczba dziesiętna.
  • DOMESTIC_AMOUNT – waluta lokalna.
  • DOUBLE – liczba zmiennoprzecinkowa o 64-bitowej precyzji.
  • DURATION – czas trwania.
  • DYNAMIC_OBJECT_CODE_VALUES – atrybut listy wartości dynamicznego Obiektu Biznesowego. Wartości tego typu danych przedstawia się wyłącznie jako ciąg tekstowy (String).
  • FLOAT- liczba zmiennoprzecinkowa o 32-bitowej precyzji.
  • FOREIGN_AMOUNT – waluta obca.
  • GUID – dane binarne 16 bajtów.
  • INT – liczba całkowita 32-bitowa ze znakiem.
  • LONG – liczba całkowita 64-bitowa ze znakiem.
  • PRIMARY_KEY – klucz podstawowy Obiektu Biznesowego. Wykorzystuje się ten typ danych dla relacji 1:1. Reprezentacja ciągu zmienionego atrybutu zawiera ciąg instancji obiektu docelowego relacji.
  • QUANTITY – ilość.
  • SHORT – liczba całkowita 16-bitowa ze znakiem.
  • SQL_DATE – czas/Data.
  • STRING – tekst o ograniczonej długości.
  • TIMESTAMP – czas/Data.
  • VALUESET – zbiór wartości (ValueSet).
  • VARSTRING – tekst o ograniczonej długości.
datatype_text Opis typu danych.
entityDescription Opis Jednostki Biznesowej.
entityInstanceString Ciąg instancji (Instance-String) zmienionej instancji Jednostki Biznesowej.
label Etykieta zmienionego atrybutu.
updateType Typ zmiany Obiektu Biznesowego:

  • INSERT – wstawienie. Obiekt Biznesowy został nowo utworzony.·
  • UPDATE – zmiana. Obiekt Biznesowy już istnieje i został zmieniony.
  • DELETE – usunięcie. Obiekt Biznesowy został usunięty.
updateType_text Opis typu zmiany Obiektu Biznesowego.
oldValueBinary Stara wartość zmienionego atrybutu o typie danych BINARY.
oldValueBoolean Stara wartość zmienionego atrybutu o typie danych BOOLEAN.
oldValueByte Stara wartość zmienionego atrybutu o typie danych BYTE.
oldValueChar Stara wartość zmienionego atrybutu o typie danych CHAR.
oldValueCisDate Stara wartość zmienionego atrybutu o typie danych CIS_DATE.
oldValueCLOB Stara wartość zmienionego atrybutu o typie danych CLOB.
oldValueDecimal Stara wartość zmienionego atrybutu o typie danych DECIMAL.
oldValueDomesticAmount Stara wartość zmienionego atrybutu o typie danych DOMESTIC_AMOUNT. Ten atrybut istnieje tylko w bazach danych OLTP.
oldValueDouble Stara wartość zmienionego atrybutu o typie danych DOUBLE.
oldValueDuration Stara wartość zmienionego atrybutu o typie danych DURATION. Ten atrybut istnieje tylko w bazach danych OLTP.
oldValueFloat Stara wartość zmienionego atrybutu o typie danych FLOAT.
oldValueForeignAmount Stara wartość zmienionego atrybutu o typie danych FOREIGN_AMOUNT. Ten atrybut istnieje tylko w bazach danych OLTP.
oldValueHtml Stara wartość zmienionego atrybutu o typie danych BLOB, CLOB lub STRING wielojęzycznych. Zawartość tego atrybutu ma być wyświetlana w raporcie jako HTML.
oldValueGuid_ Stara wartość zmienionego atrybutu o typie danych GUID.
oldValueInt Stara wartość zmienionego atrybutu o typie danych INT.
oldValueLong Stara wartość zmienionego atrybutu o typie danych LONG.
oldValueQuantity Stara wartość zmienionego atrybutu o typie danych QUANTITY. Ten atrybut istnieje tylko w bazach danych OLTP.
oldValueShort Stara wartość zmienionego atrybutu o typie danych SHORT.
oldValueString Stara wartość zmienionego atrybutu w czytelnej reprezentacji niezależnie od typu danych.
oldValueTimestamp Stara wartość zmienionego atrybutu o typach danych TIMESTAMP lub SQL_DATE.
newValueBinary Nowa wartość zmienionego atrybutu o typie danych BINARY.
newValueBoolean Nowa wartość zmienionego atrybutu o typie danych BOOLEAN.
newValueByte Nowa wartość zmienionego atrybutu o typie danych BYTE.
newValueChar Nowa wartość zmienionego atrybutu o typie danych CHAR.
newValueCisDate Nowa wartość zmienionego atrybutu o typie danych CIS_DATE.
newValueCLOB Nowa wartość zmienionego atrybutu o typie danych CLOB.
newValueDecimal Nowa wartość zmienionego atrybutu o typie danych DECIMAL.
newValueDomesticAmount Nowa wartość zmienionego atrybutu o typie danych DOMESTIC_AMOUNT. Ten atrybut istnieje tylko w bazach danych OLTP.
newValueDouble Nowa wartość zmienionego atrybutu o typie danych DOUBLE.
newValueDuration Nowa wartość zmienionego atrybutu o typie danych DURATION. Ten atrybut istnieje tylko w bazach danych OLTP.
newValueFloat Nowa wartość zmienionego atrybutu o typie danych FLOAT.
newValueForeignAmount Nowa wartość zmienionego atrybutu o typie danych FOREIGN_AMOUNT. Ten atrybut istnieje tylko w bazach danych OLTP.
newValueHtml Nowa wartość zmienionego atrybutu o typie danych BLOB, CLOB lub STRING wielojęzycznych. Zawartość tego atrybutu ma być wyświetlana w raporcie jako HTML.
newValueGuid_ Nowa wartość zmienionego atrybutu o typie danych GUID.
newValueInt Nowa wartość zmienionego atrybutu o typie danych INT.
newValueLong Nowa wartość zmienionego atrybutu o typie danych LONG.
newValueQuantity Nowa wartość zmienionego atrybutu o typie danych QUANTITY. Ten atrybut istnieje tylko w bazach danych OLTP.
newValueShort Nowa wartość zmienionego atrybutu o typie danych SHORT.
newValueString Nowa wartość zmienionego atrybutu w czytelnej reprezentacji niezależnie od typu danych.
newValueTimestamp Nowa wartość zmienionego atrybutu o typach danych TIMESTAMP lub SQL_DATE.

Czy ten artykuł był pomocny?