Академический Документы
Профессиональный Документы
Культура Документы
Introduction ....................................................................................................... 3
Other Options............................................................................................... 3
Logical Design ................................................................................................... 4
Structure ......................................................................................................... 4
Triggering....................................................................................................... 4
Implementation ................................................................................................. 5
Business Service ............................................................................................ 5
Conclusion.......................................................................................................... 7
INTRODUCTION
In Siebel 8.x data captured by Audit Trail functionality is stored in an encoded
form in the Siebel database in order to maximise the performance of the overall
Audit Trail creates a history of the changes
Siebel application.
that have been made to data in Siebel
applications. An audit trail item is a record This document sets out to assist customers who wish to export this data for use in
showing who has accessed a record, which other applications, for example a Data Warehouse. It describes the use of the
operation was performed, when it was functionality of the “Audit Trail Item 2” Virtual Business Component (VBC) to
performed and how the value was changed. decode the data as part of a wider solution to send the decoded data to any
downstream system.
Other Options
Some customers have previously undertaken efforts to manually decode audit data
from the underlying database tables for use in their own applications. While this
approach might be suitable for a small number of scenarios it is essential to note
that the encoded format used in this table is an internal format and is subject to
change without notice. Customers undertaking to design their own decoding logic
must understand that they risk their solution being negatively affected by any
future changes to this format.
Oracle strongly recommends that customers use the VBC included as part of the
Siebel application in order to decode their audit data; this VBC will be updated to
reflect any changes in the underlying data structure.
Structure
The flow of logic in any solution decoding audit data is very dependent on the use
to which that data is put. Some customers, implementing an archival solution, may
wish to simply read all created records (potentially destructively) whereas other,
more data oriented, use cases may demand finer grained control of the data.
The high level flow for reconstructing data is given below.
This flow may be modified in order to restrict the data returned, by BC, user,
position etc. but the fundamental aspect of querying both the “Audit Trail Item 2”
VBC and “Audit Trail Item – Data” BC in order to construct a record consistent
in format to a Siebel 7.x Audit Trail record will always be present.
The final “Write out decoded” step is entirely dependant on a customer’s specific
requirements and could range from writing to a custom table in the Siebel database
to sending the decoded data to an external data using one of the EAI Transports;
as this step is so specific it will not be considered here.
Triggering
The triggering for this flow is key to the solution. Two options will present
themselves to any team considering such an approach. The first is some form of
reactive trigger, be that through runtime events or workflow policies. If the use
case that is being designed for requires real-time or near-real-time onward
transmission of the audit trail data then this solution may have to be considered.
However, developers are urged to consider that the volume of transactions
occuring on the audit tables is understandably very high and so any “per record”
solution may cause unwanted performance effects on the overall performance of
IMPLEMENTATION
Either a custom Business Service in conjunction with a Workflow Process, or a
Workflow Process on its own could be used to implement this type of
functionality. Leveraging a workflow process only may assist in the long term
maintenance of the solution if it is felt that it may require modification over time;
however this will also add complexity to the solution due to the requirements of
stepping through data sets and restricting records.
Business Service
This example provides sample code for a business service that could be used to
retrieve and decode data; note however that the search specification is arbitary and
needs careful consideration for individual implementations.
function decodeAuditTrail(strTimediff)
{
try {
// Create objects
var boAudit = TheApplication().GetBusObject("Audit Trail");
var bcAuditItem = boAudit.GetBusComp("Audit Trail Item 2");
with(bcAuditItem) {
SetViewMode(AllView);
ClearToQuery();
while(bRecord) {
//Retrieve field values
var strRecordId = GetFieldValue("Record Id");
Depending on your specific requirements //Placeholder for function to write out values
you will likely only require a subset of the writeAuditValues(strAuditId, strBC, strFieldName, strRecordId,
fields listed here. strOldVal, strNewVal, strDate);
}
}
catch(e)
{
throw(e);
}
try
{
// Create objects
var boAudit = TheApplication().GetBusObject("Audit Trail");
var bcAuditData = boAudit.GetBusComp("Audit Trail Item - Data");
with(bcAuditData) {
SetViewMode(AllView);
ClearToQuery();
if(bRecord) {
strReturn = GetFieldValue("Id");
}
}
catch(e)
{
throw(e);
}
return(strReturn);
}
CONCLUSION
Customers wishing to decode Audit Trail data in a Siebel 8.x environment should
use the Audit Trail Item 2 virtual business component in order to decode data in
line with the internal data representation.
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
oracle.com