Error Handling Techniques In Siebel
a type of connector that can handle the following types of errors: Siebel CRM error. A failure that occurs while Siebel CRM sends an email notification. User error. A user who attempts to submit an order that is not complete. You can use an error exception connector to change the flow in a workflow process. If an error occurs, then Siebel CRM enters the error code and error message in the Error Code and Error Message process properties. An error exception connector allows you to use values in these properties to define a decision condition.The Process Designer displays an error exception connector as a red connector between two steps. If you click it, then the Properties window displays the WF Step Branch properties for the connector.Siebel CRM evaluates exception logic for a step after the step finishes. If you must evaluate an exception before the step runs, then you must attach the error exception connector to an upstream step in the workflow process.Example of Error Exception Handling Figure18 illustrates an example of error exception handling. If the Get Organization ID step cannot get data, then the workflow process continues to the Lookup Sender by Org step. If this step fails, then the workflow process runs the red exception connector, and then uses the Send Lookup Error Email step to send an email. Figure18. Example of a Workflow That Uses Error Exception Connectors to Programmatically Handle Exceptions Defining an Error Exception Connector You define an error exception connector in the Process Designer.To define an error exception connector Locate the workflow process you must modify. For more information, see Locating a Workflow Process in the Workflow Processes List. Right-click the workflow process, and then choose Edit Workflow Process. In the Process Designer, drag, and then drop an error exception connector from the palette to the canvas, attaching one end of the connect
Handling or Exception Handling, is an essential part of any Siebel project, but where does it come from?. Unlike other commercial development environments, Siebel dosnt provide a standard error handling framework out of the box, or even as a third party add on. Surprising as it sounds, It is left up to each project to implement their own specific error handling capability. Importance of Error Handling "Jason, can you help me, my Tools is corrupt, the WF designer discards every one of the error branches https://docs.oracle.com/cd/E14004_01/books/BPFWorkflow/design_options19.html that I try to create!" "I see the problem, you are not providing the Error branch with a name" The above is a real life scenario of a senior consultant not knowing how to handle errors in Workflow. While Error Handling is important, it seems not everyone knows how to implement it. Its an issue that plagues many developers, because http://www.impossiblesiebel.com/2013/03/siebel-error-handling-approach_19.html the first step in development is to ensure our build is working first, before we can really understand the circumstances around how it could fail. It requires experience and forethought, to build to components with robust guards in place. Not everyone gets it right the first time, but that's okay, because robustness is improved over time, but more alarmingly, not every developer designs with Error Handling in mind, nor goes back and puts error handling in place after the build is unit tested. Error Handling Standards and Features Error Handling is more than just using TheApplication().Trace at key points in your program, and it is not limited to scripting. Error Handling frameworks vary from project to project, but the fundamentals should remain the same. Here is a list of ideas, which I've separated into 5 categories, that you could incorporate into your Error Handling Approach. Scripting ★ Ensure call functions are wrapped in try/catch/finally ★ Put return statement after the finally block ★ Errors should be bubbled up, and handled at the place of invocation ★
Queue provides temporary storage for data in transit between Siebel Business applications and external applications and a means by which to monitor the data exchange. This temporary storage of data can facilitate error https://siebeltips.wordpress.com/2009/02/19/eai-queue-for-error-handling/ recovery in the event that the flow of data to or from Siebel is interrupted. Error Handling mechanism can be configured to push and pop messages from the EAI Queue based on an http://siebelexplored.blogspot.com/2011/01/exception-handling-using-eai-queue.html OOB Business Service "EAI XML Queuing Service".Each entry in the EAI Queue may contain the following information: ■ XML file containing the data object in transit ■ Processing status of data object ■ Reference error handling ID for data object in external application ■ Additional fields to be used for error information and other external application specific information. A business service API is also provided to the EAI Queue. This business service contains methods to update information held in the queue and allows other components in the Siebel application, as well as customers, to develop software to use the queue. The business service error handling techniques contains the following methods: ■ AddMessage. Adds an XML data object to the queue. ■ GetMessage. Retrieves an XML data object from the queue. ■ GetStatus. Retrieves processing status of the data object. ■ UpdateStatus. Updates the processing status of the data object. ■ DeleteMessage. Removes an XML data object from the queue. Steps to Configure an EAI Queue: 1. Navigate to Sitemap -> Integration Administration Screen -> EAI Queue 2. Create a New Record 3. Fill in the name of the EAI Queue e.g., "TEST EAI Retry Queue" without the quotes. Steps to use / send Error Messages onto EAI Queue: 1. Call OOB “EAI XML Queueing Service” from the Error Handling workflow process to post the error message onto EAI Queue using “AddMessage” method. 2. Pass on the Error XML to the Error Handling workflow which in turn would post it onto the EAI Queue. 3. Error Message logged into the EAI Queue are listed as shown below: Advantages of this Approach: 1. This uses OOB Siebel functionality without extra license to incorporate Error Handling. 2. Number of Custom Objects required to build for Error Handling decreases, thereby increasing performance, reducing development time, easier to debug. Sh
EAI XML Queuing Service, I recently got to know about this BS while I was getting one Knowledge Transfer session from my friend cum colleague Rishikesh Bhise. Rishikesh is a Siebel EAI Consultant. He is a very passionate guy for his work. As the name suggest, this BS is used as a queue to store messages. These message can be temporarily stored or permanently based on requirement. Primarily, this BS is used for logging the message in a transaction with external system. Moreover, you can also use this BS and the table underneath as an Error/Exception Handling System, totally out of box functionality. In the Siebel Application, you can view these queue and error messages at Administration Integration->EAI Queues. The upper list applet will show you the Queue Name and below applet will show you the Queue Messages. This business service can be very handy for logging error/exceptions. In one of my earlier project, we did not know about this BS and we created a new table and new BS to log the exceptions and errors. Now, after knowing about this BS, I learn one thing how a small piece of information can make a big change in Design. Nobody can do anything in this regard, only experience and reading can help you. Now, let me tell you how you can use this BS to log exceptions. We have used this BS in a workflow. We have taken out one error exception connector from our Siebel Operation Steps, Subprocess step, Business Service step etc. These exception steps combines to go to one Business Service Step.The properties for this step are as below: Name: Log Error Message Business Service Name: EAI XML Queuing Service Business Service Method: Add Message The Input Arguments for this step are as below: Comments: User Error Message Process Property of the Workflow QueueName: Name of the Queue You want to add the message into.This is the queue name under which all your message will get stored. ReferenceID: Expression as "GetUserProfile_"+[&Process Instance Id] ReferenceValue2: Any message, you can get this message by catching the error in the script(Try and Catch blocks) SiebelMessage: Process Property for Siebel Message, this must be of data type Hierarchy. You can use BS "PRM ANI Utility Service" and method "CreateEmptyPropSet" to create an Blank Prop