Throwing Errors Within a Business Rules Process

The BRP process definition includes three global system properties, described in the following table, to throw errors and provide some meaningful information when a run-time error occurs.

Property Name Type Description

System_ErrorCode

String

Alphanumeric error code.

This property contains an empty string when there is no error.

System_ErrorMessage

String

Descriptive error message.

System_ErrorSource

String

Current context of the error.

After each statement, step, or procedure is executed, the BRP processor checks if System_ErrorCode is an empty string. There are two ways to set System_ErrorCode:

  • Manually (Expected Error Conditions). An explicit assignment statement sets a nonempty string to System_ErrorCode.

  • Automatically (Unexpected System Error Conditions). The BRP Processor detects a system error such as failure to invoke a business service, or failure to evaluate a Siebel query language expression, and sets System_ErrorCode to a Siebel error code.

When System_ErrorCode is non empty, an error occurs and the BRP processor uses the following syntax to automatically set the error source to the full context of the current execution unit:

Statement Seq (Block Seq) Step Seq Procedure Name

where, Seq represents the sequence number of the Statement, Block, or Step.

Note: Block is optional and occurs only inside a switch step.

The three output global properties System_ErrorCode, System_ErrorMessage, and System_ErrorSource are returned back to the calling process.