Handling Exceptions
SSOLite stored procedures
| • | The error text is always preceded by the string (SWERROR). |
| • | Each error has a unique ID, which is displayed at the end of the error text. |
It is the application’s responsibility to handle any such database exceptions, and issue a rollback if appropriate.
The following table describes the different errors (and their unique IDs) that may be returned by the SSOLite stored procedures.
|
Stored Procedure |
|
Error Text |
|
|
50000 |
Invalid sequence type (seq_type) (ID:001000) |
|
50000 |
Unable to create DMO connection, check user is system administrator (ID:001001) |
|
|
50000 |
Unable to set connection type (ID:001002) |
|
|
50000 |
Unable to connect to server errno (
|
|
|
50000 |
Unable to verify connection ( |
|
|
50000 |
Failed to execute sequences -
|
|
|
50000 |
Failed to retrieve sequence number -
|
|
|
|
|
Node details not found in database (ID:001007) |
|
|
MBox Queue Name(s) not found in database (ID:001008) |
|
|
|
50000 |
Failed to find case number (ID:001009) |
|
|
|
Procedure details not found in database for procedure name= |
|
|
Procedure version not found in database for procedure name= |
|
|
|
Latest Released or Unreleased Procedure version not found in database for procedure name= |
|
|
|
Procedure version not found in database for procedure name= |
|
|
|
Suspend type (suspend_type) is invalid, expected 2 (suspend) or 0 (activate) (ID:001014) |
|
|
|
Case (case_num) is already active (ID:001036) |
|
|
|
Case (case_num) is dead (ID:001037) |
|
|
|
Case (case_num) is already suspended (ID:001038) |
|
|
|
Procedure and case information does not match (ID:001042) |
|
|
|
|
Sub-Proc casenum not found in database for Procedure proc_name, Case Number case_num, Step Name step_name, Sub-proc sub_proc_name (ID:001018) |
|
|
50000 |
Failed to get node ID (ID:001022) |
|
|
Failed to find case information for case: case_num (ID:001019) |
|
|
50000 |
Procedure and case information does not match (ID:001041) |
|
|
50000 |
Case (case_num) is dead (ID:001039) |
|
|
50000 |
Procedure and case information does not match (ID:001042) |
SQL Distributed Management Objects (SQL-DMO)
SSOLite stored procedures access the sequences table to obtain work item and case number sequence numbers. This locks the table, preventing other iProcess processes from accessing it, for the duration of the transaction. This could cause a problem if, for example, you were batch starting a large number of cases as part of a single transaction.
To prevent this, SSOLite stored procedures use SQL-DMO to connect back to the iProcess database as a separate transaction when obtaining sequence numbers.
The use of SQL-DMO means that, when using SSOLite stored procedures, the SQL Server login used to connect to the iProcess database must:
| 1. | use Windows Authentication to validate the connection to the iProcess database. |
| 2. | have the Server Administrators SQL Server Role assigned. |