![]() | |
#1
| |||
| |||
|
#2
| ||||
| ||||
|
|
Just curious about building an audit program (a generalized one for the tool.) In looking over what I did for Forge, it would update the audit record on every data change. This seems overkill, and am definitely leaning towards comparing old vs new recs. and updating the audit file at filesave (or delete) time. |
|
1- How to deal with insertion/deletion of a multivalue line, since clearly I can't just compare the two mv fields as I'll wind up with a Lot of spurious changes. I think I can keep track of Ins/Del by some of signal catcher, but am still befuddled. see above 2- If user changes a field from A to B, then back to A, is it a change? (tree falls in forest type question). Forge would record 2 changes; recording at Filesave time would record none. Can this be a problem in the post Sarbanes-Oxley world (not that I care, really, just to show I'm up with the jargon.) Yes this is a major defalcation problem. For example a service station in |
|
3- Finally, Forge would keep a single discrete stamped record for each session. Since nowadays very large records are not the problem they used to be, am leaning towards mv set, say attribute#,old,new,timedate or somesuch. This is easier for Audit listings (one record per key) but any disadvantages? I would stick with the one record per change and sort by key when required. |
|
Any thoughts appreciated. Chandru Murthi I look forward to further comments as I will happily pinch any good ideas |
#3
| |||
| |||
|
|
Hi Chandru I made major changes to our system a couple of years ago for dear old sox so we have some solid experience of the results. Two things have become obvious. Records that have inherent audit trails do not need a separate audit record. For example a debtors balance control has the transaction detail files to support it. Second fast moving data should be separated from static data and probably treated differently. See example above. Of course if some clown has embedded the transactions in the master record one has a monumental problem. Further comments embedded. "Chandru Murthi" <cmur_xyz_thi (AT) xyz_seeinggree_xyz_n (DOT) net> wrote in message news:Oij7h.4329$fk2.2804 (AT) trndny02 (DOT) .. Just curious about building an audit program (a generalized one for the tool.) In looking over what I did for Forge, it would update the audit record on every data change. This seems overkill, and am definitely leaning towards comparing old vs new recs. and updating the audit file at filesave (or delete) time. We keep track of program and operator doing the change, time and date and sequence of change. Yes good old pessimistic locking at point of update. This was required by the Exxon auditors so doing it at file save is out of the question. The cost of disk being low we kept the entire previous record, however we provided a program to just display or print the variances. Ahah good ideas come unstuck on big records. If we have a multivalued field or better still a multi sub valued field that grows one can still have a pretty big record to look at even though just the first or last value has been inserted so ideally we need to be more specific on particular files in the analysis program. |
|
Potential problems: 1- How to deal with insertion/deletion of a multivalue line, since clearly I can't just compare the two mv fields as I'll wind up with a Lot of spurious changes. I think I can keep track of Ins/Del by some of signal catcher, but am still befuddled. see above 2- If user changes a field from A to B, then back to A, is it a change? (tree falls in forest type question). Forge would record 2 changes; recording at Filesave time would record none. Can this be a problem in the post Sarbanes-Oxley world (not that I care, really, just to show I'm up with the jargon.) Yes this is a major defalcation problem. For example a service station in Sydney had good throughput on a margin known down to the fourth decimal of a dollar, everything balanced, tank dips perfect etc. However the profit was not there! Change analysis was installed and all became clear. At 2am the night operator changed the price and all his mates filled up their cars ( they could really afford some long spins up country this way) then he changed it back again. 3- Finally, Forge would keep a single discrete stamped record for each session. Since nowadays very large records are not the problem they used to be, am leaning towards mv set, say attribute#,old,new,timedate or somesuch. This is easier for Audit listings (one record per key) but any disadvantages? I would stick with the one record per change and sort by key when required. I believe that this is the only way that one can easily and accurately track the sequence of changes. Any thoughts appreciated. Chandru Murthi I look forward to further comments as I will happily pinch any good ideas and I know we do not have the complete answer yet. Peter McMurray |
#4
| |||
| |||
|
|
"Excalibur" <excalibur21 (AT) bigpond (DOT) com> wrote in message news:HFq7h.67785$rP1.3770 (AT) news-server (DOT) bigpond.net.au... Hi Chandru I made major changes to our system a couple of years ago for dear old sox so we have some solid experience of the results. Two things have become obvious. Records that have inherent audit trails do not need a separate audit record. For example a debtors balance control has the transaction detail files to support it. Second fast moving data should be separated from static data and probably treated differently. See example above. Of course if some clown has embedded the transactions in the master record one has a monumental problem. Further comments embedded. "Chandru Murthi" <cmur_xyz_thi (AT) xyz_seeinggree_xyz_n (DOT) net> wrote in message news:Oij7h.4329$fk2.2804 (AT) trndny02 (DOT) .. Just curious about building an audit program (a generalized one for the tool.) In looking over what I did for Forge, it would update the audit record on every data change. This seems overkill, and am definitely leaning towards comparing old vs new recs. and updating the audit file at filesave (or delete) time. We keep track of program and operator doing the change, time and date and sequence of change. Yes good old pessimistic locking at point of update. This was required by the Exxon auditors so doing it at file save is out of the question. The cost of disk being low we kept the entire previous record, however we provided a program to just display or print the variances. Ahah good ideas come unstuck on big records. If we have a multivalued field or better still a multi sub valued field that grows one can still have a pretty big record to look at even though just the first or last value has been inserted so ideally we need to be more specific on particular files in the analysis program. One clarification..I meant "when you save (file) the record)", did you think I meant "when you do a filesave?" because otherwise I don't see the auditor's issue. I think I have a way around the mv ins/del issue, will have to try it. Thanks. Chandru Potential problems: 1- How to deal with insertion/deletion of a multivalue line, since clearly I can't just compare the two mv fields as I'll wind up with a Lot of spurious changes. I think I can keep track of Ins/Del by some of signal catcher, but am still befuddled. see above 2- If user changes a field from A to B, then back to A, is it a change? (tree falls in forest type question). Forge would record 2 changes; recording at Filesave time would record none. Can this be a problem in the post Sarbanes-Oxley world (not that I care, really, just to show I'm up with the jargon.) Yes this is a major defalcation problem. For example a service station in Sydney had good throughput on a margin known down to the fourth decimal of a dollar, everything balanced, tank dips perfect etc. However the profit was not there! Change analysis was installed and all became clear. At 2am the night operator changed the price and all his mates filled up their cars ( they could really afford some long spins up country this way) then he changed it back again. 3- Finally, Forge would keep a single discrete stamped record for each session. Since nowadays very large records are not the problem they used to be, am leaning towards mv set, say attribute#,old,new,timedate or somesuch. This is easier for Audit listings (one record per key) but any disadvantages? I would stick with the one record per change and sort by key when required. I believe that this is the only way that one can easily and accurately track the sequence of changes. Any thoughts appreciated. Chandru Murthi I look forward to further comments as I will happily pinch any good ideas and I know we do not have the complete answer yet. Peter McMurray |
#5
| |||
| |||
|
|
the question. The cost of disk being low we kept the entire previous record, however we provided a program to just display or print the variances. Ahah good ideas come unstuck on big records. If we have a multivalued field or better still a multi sub valued field that grows one can still have a pretty big record to look at even though just the first or last value has been inserted so ideally we need to be more specific on particular files in the analysis program. snip |
#6
| |||
| |||
|
|
Excalibur wrote: snip the question. The cost of disk being low we kept the entire previous record, however we provided a program to just display or print the variances. Ahah good ideas come unstuck on big records. If we have a multivalued field or better still a multi sub valued field that grows one can still have a pretty big record to look at even though just the first or last value has been inserted so ideally we need to be more specific on particular files in the analysis program. snip I like this approach, but what are you using for your record ID? Is it the audit_record_ID with a sequential number appened after a delimiter (i.e. audit_record_ID*sequence_number)? Curious, Danny |
#7
| |||
| |||
|
|
Excalibur wrote: snip the question. The cost of disk being low we kept the entire previous record, however we provided a program to just display or print the variances. Ahah good ideas come unstuck on big records. If we have a multivalued field or better still a multi sub valued field that grows one can still have a pretty big record to look at even though just the first or last value has been inserted so ideally we need to be more specific on particular files in the analysis program. snip I like this approach, but what are you using for your record ID? Is it the audit_record_ID with a sequential number appened after a delimiter (i.e. audit_record_ID*sequence_number)? Curious, Danny |
![]() |
| Thread Tools | |
| Display Modes | |
| |