I am using the new function GET_CHANGES to implement an audit of BO's.
The formatted output of this uses tabs and CR/LF and when I display the data it is not formatted correctly as follows:
Modified instance 200288 of Address
AttributeOld valueNew value
HouseNumber222
FormattedAddress11/2 Jones Street11/22 Jones Street
UpdatedOn 2009-09-27T15:20:00 2009-09-30T18:50:00
UnitNumber111
This is not readable. I could write a rule to replace the tabs and CR/LF and mark it up as html but there isn't a function that allows me to replace tabs or CR/LF that I can find.
Any suggestions?
GET_CHANGES output - Audit BO
GET_CHANGES output - Audit BO
Using 4.8 Build 1266
I have noticed that GET_CHANGES does not work for any system related changes.
I have GET_CHANGES implemented so that if there was any change to the record an audit is created. When something like a status change (which is made by a rule) occurs then the GET_CHANGES function does not work. Why is this so? Shouldn't it capture all changes whether they are made directly or indirectly to the record?
I have GET_CHANGES implemented so that if there was any change to the record an audit is created. When something like a status change (which is made by a rule) occurs then the GET_CHANGES function does not work. Why is this so? Shouldn't it capture all changes whether they are made directly or indirectly to the record?
-
- Posts: 7532
- Joined: Sun Apr 24, 2005 12:36 am
- Contact:
I have a rule that fires when a record changes that calls the GET_CHANGES function. The rule is as follows:
If Client WAS CHANGED Then
CREATE AuditRecord WITH AuditRecord.Description=GET_CHANGES(Client),AuditRecord.AuditObject=AuditObjects,AuditRecord.BOID=Client.ID,AuditRecord.BOName=Client.ObjectIdentifier,AuditRecord.MadeBy=LoggedInSystemUser.LoginName
I have changed the priority of this rule to the lowest value but it does not work when processes change the record only when changes are made directly to the record.
An example is a process that automatically changes the Status of the this record from one status to another. This is the type of information that we must have an audit record for. When the process runs the record changes to another status and a audit record is written that looks like the following:
Modified instance of 11462 of Client
Attribute Old value New value
There is nothing under the old and new values.
Any ideas?
Thanks
If Client WAS CHANGED Then
CREATE AuditRecord WITH AuditRecord.Description=GET_CHANGES(Client),AuditRecord.AuditObject=AuditObjects,AuditRecord.BOID=Client.ID,AuditRecord.BOName=Client.ObjectIdentifier,AuditRecord.MadeBy=LoggedInSystemUser.LoginName
I have changed the priority of this rule to the lowest value but it does not work when processes change the record only when changes are made directly to the record.
An example is a process that automatically changes the Status of the this record from one status to another. This is the type of information that we must have an audit record for. When the process runs the record changes to another status and a audit record is written that looks like the following:
Modified instance of 11462 of Client
Attribute Old value New value
There is nothing under the old and new values.
Any ideas?
Thanks
Hey Tom,
I created a separate bsv and I still have the problem with system changes to the record.
The design is such that an audit record should be created for any change to the Client record but if I fire off a process to change the status from state to another the system does not record anything.
Would you have a few extra minutes to check out the bsv?
Thanks
I created a separate bsv and I still have the problem with system changes to the record.
The design is such that an audit record should be created for any change to the Client record but if I fire off a process to change the status from state to another the system does not record anything.
Would you have a few extra minutes to check out the bsv?
Thanks
I agree that it will create a record for the changes but it will not tell you what changes were made. Please try the following and let me know what you get:
1. Add a new attribute to RegularUser called Status with the options of OPEN or CLOSED
2. Create a process called StatusChange and enter the following rule:
RegularUser.Status = 'CLOSED'
3. Add a button to the RegularUser form and click the button
You will have a Logit record created but it will only have the following:
Modified instance 12423 of RegularUser
Attribute Old value New value
This is nice because it states that a change was made but it appears that the GET_CHANGES does not work for system changes. I would expect to see that the Old value was Null and the New Value is CLOSED
1. Add a new attribute to RegularUser called Status with the options of OPEN or CLOSED
2. Create a process called StatusChange and enter the following rule:
RegularUser.Status = 'CLOSED'
3. Add a button to the RegularUser form and click the button
You will have a Logit record created but it will only have the following:
Modified instance 12423 of RegularUser
Attribute Old value New value
This is nice because it states that a change was made but it appears that the GET_CHANGES does not work for system changes. I would expect to see that the Old value was Null and the New Value is CLOSED