The Database Capture Point is an asynchronous capture point service that creates tasks in iWD, based on records in a database. As a task in iWD goes through its life-cycle stages, the Database Capture Point allows you to make updates to the database, to mimic the task life cycle in the originating system. The Database Capture Point allows execution of a certain database query or update statement, depending on the task state:
Capture
Captured
Assigned
Completed
Restarted
In addition to the options described in Service Details, the following properties are configurable for the Database Capture Point Service:
|
startAutomatically |
Whether the service should be started automatically after the configuration deployment. |
|
logLevel |
The Service log level. This should be set to Default unless otherwise instructed by Genesys Technical Support. See "Service Log Levels" for a description of each log level. Depending on the setting of this property, additional logging properties might be available. Refer to "Logging Service" for descriptions of these common properties. |
|
checkIfAlreadyCaptured |
If true, iWD will verify whether another task that has the given captureId already has been captured. |
|
timezone |
The time zone of the target database. Date/time values are converted from the specified time zone to UTC, before those values are stored in the iWD. If this parameter is not specified, it defaults to the tenant time zone. |
|
defaultMediaType |
The media type attribute that is assigned to tasks captured by the capture point. The list of available media types is retrieved dynamically from Configuration Server. In Configuration Server itself, the media type attribute is configured as a type of Business Attribute. If the core task attribute mediaType is returned as a result of the query configured in captureQuerySQL, then it will override the default mediaType specified in the Database Capture Point service property defaultMediaType. |
|
defaultTaskExpirationInDays |
The default task expiration date. All tasks that are captured by this capture point will expire after the specified amount of days. This value can be overridden by explicitly specifying the task expirationDateTime attribute in the capture data. |
|
interactionServerConnector |
Mandatory dependency: The Interaction Server Connector Service that should be used for connectivity to Interaction Server. |
|
threads |
Performance tuning: The size of the thread pool. |
|
idleSleepTimeSeconds |
Performance tuning: The service-idle period when there are no more tasks to process. |
|
emergencySleepThreshold |
Exception handling: Once distribution attempts fail the specified number of times, processing is held. |
|
emergencySleepSeconds |
Exception handling: Specifies how long to hold processing after the emergencySleepThreshold for failed distribution attempts has been reached. |
|
jdbcDriver |
The name of the JDBC driver class to access the database. |
|
jdbcURL |
The URL of your JDBC connection. For information on how to construct a valid URL, see your JDBC driver documentation. |
|
username |
The name of the database user. |
|
password |
The password of the database user. |
|
idField |
The name of the column that uniquely identifies the record in the result set that is returned by the database query that is specified in the captureQuerySql parameter. The value of the field is mapped to the captureId parameter in the consecutive update statements. |
|
processIdField |
The name of the column that contains the process ID. If the value of this field matches a process ID in iWD, a process and department are assigned to the task. |
|
fieldsToAttach |
A list of fields that are attached to task data. Multiple fields should be separated by a comma. This property also supports * and ? wild cards. For example: field1,field2,special* This expression means that the fields that have the names field1 and field2 are attached, as well as any field that has a name that starts with special. |
|
captureQuerySql |
The database query that returns the result set in which each row is captured as a task in iWD. The result set that is returned by this query must contain also the column that is specified in the idField parameter. For example: select * from TABLE where STATUS=”new” |
|
capturedUpdateSql |
The database update statement that updates the database to reflect that certain data has been captured as a task in iWD. The captureId parameter can be used to reference the particular row. For example: update TABLE set STATUS='captured' where idField=:captureId |
|
errorUpdateSql |
The database update statement that updates the database to reflect that the associated task in iWD has been held by an error. The captureId parameter can be used to reference the particular row. For example: update TABLE set STATUS='error' where idField=:captureId |
|
assignedUpdateSql |
The database update statement that updates the database to reflect that the associated task in iWD has been assigned. The captureId parameter can be used to reference the particular row. The userId parameter can be used to set the name of the user who is working on the task. For example: update TABLE set STATUS='assigned', USER=:userId where idField=:captureId |
|
completedUpdateSql |
The database update statement that updates the database to reflect that the associated task in iWD has been completed. The captureId parameter can be used to reference the particular row. For example: update TABLE set STATUS='restarted' where idField=:captureId |
|
canceledUpdateSql |
The database update statement that updates the source database to reflect that the associated task in iWD has been canceled. The captureId parameter can be used to reference the particular row. For example: update TABLE set STATUS=’canceled’ where idField=:captureId |
|
heldUpdateSql |
The database update statement that updates the source database to reflect that the associated task in iWD has been put on hold. The captureId parameter can be used to reference the particular row. For example: update TABLE set STATUS=’held’ where idField=:captureId |
|
queuedUpdateSql |
The database update statement that is executed when a task, captured by the Database Capture Point, is queued. For example: update TABLE set STATUS='queued' where idField=:captureId |
|
errorHeldUpdateSql |
The database update statement that updates the source database to reflect that the associated task in iWD has been put in an error held status due to an internal processing error. For example, a task may be put into an error held status if no Process is assigned to the task during the Classification phase of the rule execution. The captureId parameter can be used to reference the particular row. For example: update TABLE set STATUS=’errorHeld’ where idField=:captureId |
|
rejectedUpdateSql |
The database update statement that is executed when a task, captured by the Database Capture Point, is rejected. For example: update TABLE set STATUS='rejected' where idField=:captureId |
|
restartedUpdateSql |
The database update statement that updates the database to reflect that the associated task in iWD has been restarted in iWD. The captureId parameter can be used to reference the particular row. For example: update TABLE set STATUS='restarted' where idField=:captureId |
|
updatedUpdateSql |
The database update statement that updates specific attributes of a task in a special table in the source database when a task has been updated in iWD. The captureId parameter can be used to reference the particular row. For example: update UPDATE_TABLE set PRIORITY=:priority where idField=:captureId |
|
sourceUpdateQuerySql |
The database query that fetches a set of rows, where each row represents an update request. Each such update request may contain one or more columns that represent task attributes. The name of the column represents the name of the task attribute, but the value is the new value of that attribute. For example: select id, channel, category, by businessValue from UPDATE_TABLE where processed='F'; id channel category businessValue ------------------------------------- 1 fax new 200 2 e-mail new 150 |
|
sourceUpdatedUpdateSql |
The database update (or delete) query that will execute against a special table in the source database to mark a particular update as having been processed. For example: update UPDATE_TABLE set processed=’T’ where idField=:captureId |
|
sourceErrorUpdateSql |
This update is executed when there is an error executing an update request (the one that is fetched by sourceUpdateQuerySql). For example, if the task can not be found, sourceErrorUpdateSql is executed and the error parameter is set to “Cannot update task with captureId=<taskId>: task not found”. |
|
captureBatchSize |
Performance tuning: The maximum number of rows that are to be returned by the query specified in the captureQuerySql parameter. A value of 0 (zero) sets the JDBC driver default value. |
|
sourceUpdateBatchSize |
Performance tuning: The maximum number of rows that are to be returned by the query specified in the sourceUpdateQuerySql parameter. A value of 0 (zero) sets the JDBC driver default value. |
|
backupFor |
High Availability: The primary Database Capture Point in a high availability setup scenario. This service will perform a backup role in such a setup, and will take over processing if the primary service becomes unavailable. |