A6272 hat geschrieben: ↑22.05.2023 11:47Hallo,
ich finde die Anforderung ziemlich krank.
Wäre es nicht sinnvoller, zu prüfen, ob man in den Prozess, der die Änderung auslöst oder verbucht einzugreifen und gleich die 2. Tabelle synchron zu aktualisieren?
Und/oder wenn der Eintrag in der 2. Tabelle initial geschrieben werden soll den Eintrag aus Tabelle 1 lesen und den Wert übernehmen, falls dann schon vorhanden.
Dass die selbe Information in 2 Tabellen gehalten werden soll, ist eigentlich auch schon ein Designfehler.
Das Problem ist die 2 Tabellen synchron zu halten. Wenn es alternative, bessere Methoden gibt, als so ein permanent laufender Report, dann sollte man eine Lösung skizieren und dem Auftraggeber präsentieren.
Nein, es bleibt ja nur ein einziger Wert. Bei jedem Programmlauf änderst Du den Tabelleneintrag auf das aktuelle Datum. Die Zeiten der früheren Abfragen brauchst Du ja nicht, sondern nur die jeweils letzte.HH_ABAP hat geschrieben: ↑21.05.2023 14:51Ja, soll ich eine DB-Tabelle (Z-Tabelle) anlegen und die letzte überprüfung in der Tabelle speichern (Datum und Zeit), oder?DeathAndPain hat geschrieben: ↑20.05.2023 20:15Du musst Dir doch nur irgendwie merken, wann Du das letzte Mal auf Änderungen geprüft hast (Datum und Uhrzeit). Beim nächsten Mal selektierst Du alle Tabelleneinträge, deren Änderungsdatum und -zeit danach liegen. Das sind die Einträge, die sich geändert haben.
Dann nach 14 Tage sollten die Einträge aus der Tabelle gelöscht werden, damit die Tabelle nicht schnell voll wird, oder?
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
HH_ABAP
Reicht das denn aus?
Ummm... wir reden hier davon, dass Dein Programm feststellen soll, wann es selber (!) zum letzten Mal gelaufen ist. Da brauchst Du keinen Job auslesen, sondern da schreibt Dein Programm einfach vor seinem Ende SY-DATUM und SY-UZEIT in Deine Customizingtabelle, und dann ist das gut. Wenn der Job das nächste Mal läuft, dann liest Dein Programm diese Werte wieder aus und weiß dadurch, wann es das letzte Mal gelaufen ist.
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
HH_ABAP
Kommt drauf an was du am Ende genau machen willst.
Also: Wenn TAB1-FELD1 sich ändert, fülle FELD2 in TAB2!
Was soll ich machen, wenn Job abgebrochen wird?...Wobei das dann wiederum eine richtiges Fehlerhandling (=Job wird abgebrochen) voraussetzt,
Welche Aufgabe?
Kann es vielleicht auch "die Aufgabe" sein zu erkennen, dass die Anforderung krank ist und man nach alternativen Lösungsansätzen zu suchen hat?