Sandy
I'm new here

letzte Änderungen eines Datensatzes

Jump to solution

Hallo zusammen,

wir wollen herausfinden, welche Daten eines Datensatzes sich seit der letzten Änderung geändert haben.

Dazu brauchen wir aber für einen Vergleich der Daten das Datum der vorletzten Änderung.

Gibt es einen Weg, von einem Datensatz nicht das letzte Änderungsdatum, sondern das vorletzte Änderungsdatum zu erhalten?

Oder kann man auch auf einem anderen Weg herausfinden, welche Daten eines Datensatzes sich seit der letzten Änderung geändert haben ?

Bis jetzt können wir nur auf das letzte Änderungsdatum mit der Funktion getLastChange() zugreifen.

Grüsse,

Sandra Stolle

0 Kudos
1 Solution

Accepted Solutions
aVogt
Returning Creator

Hallo Sandra,

vieleicht hilft das weiter: historische Daten eines datensatz ermitteln

Grüße

Andreas

View solution in original post

0 Kudos
3 Replies
MarcusDau
Occasional Collector

Guten Morgen!

Ich würde das mit einem Iterator realisieren. So sieht ein Ansatz für das Auslesen der History einer Seite aus. Geht aber auch mit einem Datensatz:

revisionHistoryIterator = page.getHistory(new Date(), HistoryProvider.EVER_SINCE, HistoryProvider.ALL_REVISIONS, RevisionFilter.RELEASE_FILTER).iterator();

while (revisionHistoryIterator.hasNext())

{

    revision = revisionHistoryIterator.next();

    lastChange = new Date(revision.getCommitOrCreationTime());

}

Achtung! Die Revisionen sind absteigend sortiert, d.h. die erste Revision ist die neueste, danach kommt schon die gesuchte "vorletzte" Änderung.

Ich denke, damit kommst Du weiter, oder?

Grüße

Marcus

Hallo Marcus,

etwas bin ich weiter gekommen. Zumindest hab ich hier jetzt die Funktion getHistory gefunden, mit der man eine Liste der History

einer Entität zurückbekommt, indem man den KeyValue als Parameter übergibt:

http://www.e-spirit.com/odfs42/access/?de/espirit/or/schema/class-use/Entity.html

user:FIRSTDoku

pw:FSdown_V2

Aber wenn ich diese Funktion folgendermaßen anwende, bekomme ich keine Ausgabe in der Vorschau vom First Spirit Client:

$CMS_VALUE(Session.getHistory(result_person.getKeyValue()))$

$CMS_FOR(history, Session.getHistory(result_person.getKeyValue()))$

    $CMS_VALUE(history)$

$CMS_END_FOR$

Die Variable result_person ist dabei vom Typ 'de.espirit.or.impl.EntityImpl'.

Hier noch kurz eine Beschreibung, wie wir die Datensätze auslesen:

Es gibt eine header Funktion contentSelect, welche die Datensätze anhand bestimmter Kriterien filtert. Über eine $CMS_FOR$-Anweisung

werden dann die einzelnen Attribute der Datensätze ausgelesen. 

Mir ist auch noch nicht ganz klar, wie man das Beispiel aus der zuletzt geposteten Nachricht auf einen Datensatz anwendet bzw.

was die Variable page an dieser Stelle ist, welche die Funktion getHistory() verwendet.

Grüsse,

Sandra

0 Kudos
aVogt
Returning Creator

Hallo Sandra,

vieleicht hilft das weiter: historische Daten eines datensatz ermitteln

Grüße

Andreas

0 Kudos