Character base OpenEdge 9.1e
Needing to apply a set of complex data audits on the fly as users add|edit|delete records
On entry we currently create temp tables and use buffer-copy to capture the before images ... on exit we currently hard code all the variations of the expected audits however with the data entry process now becoming tied to external automation the audit process is becoming a huge moving target ... to simplify this target I was exploring creating an audit list of fields with qualifiers ... is there any way to indirectly reference another table.field without doing a runtime compile. Specifically I would like to do something like:
FF TT_EntryHeader.
FL EntryHeader.
FE AuditFieldList WHERE AuditFieldList.FileName = "EntryHeader"
AND AuditFieldList.AuditType = "Primary"
AND EntryHeader.[AuditFieldList.FieldName] <> TT_EntryHeader.[AuditFieldList.FieldName]:
RUN PCD-Audit (INPUT ROWID(AuditFieldList),
INPUT ROWID(EntryHeader),
INPUT ROWID(TT_EntryHeader)).
Not sure if Progress has any other way to reference the fields possibly similar to using rowid's that would allow for fully dynamic runtime processing?
perhaps something like:
VALUE(COLID("EntryHeader." + AuditFieldList.FieldName))
Needing to apply a set of complex data audits on the fly as users add|edit|delete records
On entry we currently create temp tables and use buffer-copy to capture the before images ... on exit we currently hard code all the variations of the expected audits however with the data entry process now becoming tied to external automation the audit process is becoming a huge moving target ... to simplify this target I was exploring creating an audit list of fields with qualifiers ... is there any way to indirectly reference another table.field without doing a runtime compile. Specifically I would like to do something like:
FF TT_EntryHeader.
FL EntryHeader.
FE AuditFieldList WHERE AuditFieldList.FileName = "EntryHeader"
AND AuditFieldList.AuditType = "Primary"
AND EntryHeader.[AuditFieldList.FieldName] <> TT_EntryHeader.[AuditFieldList.FieldName]:
RUN PCD-Audit (INPUT ROWID(AuditFieldList),
INPUT ROWID(EntryHeader),
INPUT ROWID(TT_EntryHeader)).
Not sure if Progress has any other way to reference the fields possibly similar to using rowid's that would allow for fully dynamic runtime processing?
perhaps something like:
VALUE(COLID("EntryHeader." + AuditFieldList.FieldName))