A database procedure would be an option but you have to remember, database procedures, regardless of what language they are written in, cannot issue DML verbs to the same rununit they have been called for.
The way I did this in another life was to issue PUT QUEUE’s to record the record’s being retrieved, stored, modified, etc, and then had a queue triggered task that read the queue and wrote the audit records to the audit area. By using queue, if the CV crashes before the records are written to the audit area, they’ll be there when the CV comes back up and the trigger task has catch up work to do, but eventually, it gets caught up and things begin working “normally”.
The biggest problem you’ll have is if you need these audit record from batch programs as well. With TCP now supported all over the place, maybe you could engineer a solution for the batch process to connect to a CV based process via TCP and then the batch program would communicate to CV that way. Problem there is that the CV could be down when the batch program runs so you’re back to the state you’re in now, no auditing.
An alternative to all of this may be to have a separate, small, CV where all the audit data goes. It would stay up 24/7/365 and receive all audit data, maybe via TCP.
Good Luck, and keep us posted what you end up doing.
Charles (Chuck) Hardee
Senior Systems Engineer/Database Administration
CCG Information Technology
Thermo Fisher Scientific
300 Industry Drive
Pittsburgh, PA 15275
Direct: 724-517-2633
FAX: 412-490-9230
Chuck.Hardee@ThermoFisher.com
From: CA IDMS IUA EIUA Global User CommunityMessage Boards [mailto:
CommunityAdmin@communities-mail.ca.com]
Sent: Wednesday, May 07, 2014 12:50 PM
To:
mb_message.15281477.115664099@myca-email.ca.com
Subject: [Application Developer Issues] RE: Tracking end-user activity
The problem you will have is that IDMS does not track the records that were retrieved. You can create journal entry points for retrieval run units, but they would not have anything specific about the retrieval, only a summary. You would have a problem with local running batch jobs, unless you put security in place to control who can access the database files.
A database procedure may be a solution, but even if you monitor only certain records it could affect performance, and you would need to make sure that nobody can introduce a schema/subschema that does not include the database procedure. I am not sure how you could collect the information from the database procedure. This is just an idea, I have never tried so it may not be possible, but maybe you could write an SMF record from the database procedure.
Posted by:tommy.petersen
--
CA Communities Message Boards
115666639
mb_message.15281477.115664099@myca-email.ca.com<mailto:
mb_message.15281477.115664099@myca-email.ca.com>
https://communities.ca.com