We’re using an ERP system built on Progress OpenEdge (Release 11.6.3.023). I need to extract audit log data for a specific table — in particular, I’m interested in a specific event that occurred between two given dates. I’ve been trying various approaches, but I can’t seem to get date filtering to work properly.
So far, I’ve written something like this:
But I don’t know how to properly filter by date in the FOR EACH loop. How can I correctly query for records between two specific dates?
So far, I’ve written something like this:
DEF var cFile AS CHAR NO-UNDO INIT "D:\\audit_dump.csv".
DEF var iCounter AS INTEGER NO-UNDO INITIAL 0.
OUTPUT TO VALUE(cFile).
PUT UNFORMATTED
'"AuditGUID","DataTime","User","EventID","Context","Detail"' SKIP.
FOR EACH _aud-audit-data NO-LOCK:
ASSIGN iCounter = iCounter + 1.
PUT UNFORMATTED
'"' _Audit-data-guid '",'
'"' STRING(_Audit-date-time) '",'
'"' _User-id '",'
'"' _Event-id '",'
'"' _Event-context '",'
'"' _Event-detail '"' SKIP.
IF iCounter >= 200 THEN LEAVE.
END.
OUTPUT CLOSE.
MESSAGE "Saved " + STRING(iCounter) + " Records to: " + cFile VIEW-AS ALERT-BOX.
But I don’t know how to properly filter by date in the FOR EACH loop. How can I correctly query for records between two specific dates?