This is an old revision of the document!
Notifications in Bizweaver allow the designer to handle notification conditions in a workflow easily. Notifications were introduced as Error Handling in version 2.2 of Bizweaver.
Third Wave highly recommends that you enable notifications for errors on all workflows, both existing and new.
Bizweaver notifications support sending an email to designated persons indicated in the recipient's section of the notification. To do this, at least one SMTP connection is required. And in this connection, a valid user must be defined using the “SMTP Credentials” option as shown below. This is a valid email user that can access the SMTP server and is used as the “From” user when an email is sent.
Notifications are enabled for a workflow by selecting the Notifications Bell. A flyout will be presented and a user can select what type of notification is needed.
Here are sample emails using the standard formats provided
Workflow - 93 - Status - Started Workflow Name - Add Order to SAP Previously Executed On - Never Executed Again On - 6/16/2021 4:18:00 PM Next Execution On - 6/17/2021 4:18:00 PM
Workflow - 93 - Status - Completed Workflow Name - Add Order to SAP Previously Executed On - Never Executed Again On - 6/16/2021 4:18:00 PM Next Execution On - 6/17/2021 4:18:00 PM
Error found in Bizweaver workflow Add Order to SAP (ID 93) Date: 6/16/2021 at 4:23 PM This is custom Content Details ----------- Tool Name: SQLCommand39 Tool Type: SQLClient Tool Status: False Tool Message: Invalid object name 'ORDRd'. Exception Message: Invalid object name 'ORDRd'. Detailed Error Information System.Data.SqlClient.SqlException (0x80131904): Invalid object name 'ORDRd'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) at SQLClient.RetreiveDataTable() at ThirdWaveAssembly.Start(Object[] args) ClientConnectionId:769484e9-efc8-4e2b-ba03-49c99ac3ee62 Error Number:208,State:1,Class:16
The information from error handling can also be used in Decisions. The two fundamental values are for “Step Status.” The values are True (no error) and False (error encountered). The only thing to remember is to define the values as Boolean rather than Alphanumeric in the decision expression.
It might also be possible to use the Step Message contents; however, it would likely need to pass through a VBScript step to parse out a specific value before the decision.