Here's a detailed explanation of the sequence in which events are triggered,
particularly focusing on Business Component (BC) and Applet events.
Event Flow in Siebel
When Creating a New Record
Applet_PreInvokeMethod: Triggered when a user clicks a button (e.g., "New Record")
on the applet.
WebApplet_PreInvokeMethod: Similar to Applet_PreInvokeMethod but specific to web
applets.
BusComp_PreNewRecord: Triggered before a new record is created in the Business
Component.
BusComp_NewRecord: Triggered when a new record is created and becomes the active
record.
BusComp_ChangeRecord: Triggered when the new record becomes the current record.
BusComp_PreGetFieldValue: Triggered before a field value is accessed.
WebApplet_InvokeMethod: Triggered after the method is invoked on the web applet.
Applet_ChangeRecord: Triggered when the applet's current record changes.
Applet_InvokeMethod: Triggered after the method is invoked on the applet.
When Modifying a Field Value
BusComp_PreSetFieldValue: Triggered before a field value is set.
BusComp_SetFieldValue: Triggered after a field value is set.
Applet_ChangeFieldValue: Triggered when a field value changes in the applet.
When Saving a Record
Applet_PreInvokeMethod: Triggered when a user clicks the "Save" button.
WebApplet_PreInvokeMethod: Similar to Applet_PreInvokeMethod but specific to web
applets.
BusComp_PreWriteRecord: Triggered before the record is written to the database.
BusComp_WriteRecord: Triggered after the record is written to the database.
WebApplet_InvokeMethod: Triggered after the method is invoked on the web applet.
Applet_InvokeMethod: Triggered after the method is invoked on the applet.
Example: Creating a New Account
Let's walk through an example of creating a new account to illustrate the event
flow:
User clicks "New Record":
Applet_PreInvokeMethod: Applet_PreInvokeMethod("NewRecord")
WebApplet_PreInvokeMethod: WebApplet_PreInvokeMethod("NewRecord")
Siebel prepares to create a new record:
BusComp_PreNewRecord: BusComp_PreNewRecord()
Siebel creates the new record:
BusComp_NewRecord: BusComp_NewRecord()
BusComp_ChangeRecord: BusComp_ChangeRecord()
Siebel accesses field values:
BusComp_PreGetFieldValue: BusComp_PreGetFieldValue("FieldName", &FieldValue)
Siebel completes the method invocation:
WebApplet_InvokeMethod: WebApplet_InvokeMethod("NewRecord")
Applet_ChangeRecord: Applet_ChangeRecord()
Applet_InvokeMethod: Applet_InvokeMethod("NewRecord")
User modifies a field value:
BusComp_PreSetFieldValue: BusComp_PreSetFieldValue("FieldName", FieldValue)
BusComp_SetFieldValue: BusComp_SetFieldValue("FieldName", FieldValue)
Applet_ChangeFieldValue: Applet_ChangeFieldValue("FieldName")
User saves the record:
Applet_PreInvokeMethod: Applet_PreInvokeMethod("WriteRecord")
WebApplet_PreInvokeMethod: WebApplet_PreInvokeMethod("WriteRecord")
BusComp_PreWriteRecord: BusComp_PreWriteRecord()
BusComp_WriteRecord: BusComp_WriteRecord()
WebApplet_InvokeMethod: WebApplet_InvokeMethod("WriteRecord")
Applet_InvokeMethod: Applet_InvokeMethod("WriteRecord")
Summary
Pre-Invoke Events: Triggered before an action is performed (e.g., creating,
modifying, saving).
Invoke Events: Triggered when an action is performed.
Post-Invoke Events: Triggered after an action is completed.