Overview of Send Service Transaction Processing
Before you can use a send service you must make sure the Adapter for Oracle Applications’s custom tables are installed, and you must install and enable the custom triggers for each send service you want to implement. The custom tables are installed with the core database scripts. See Core Database Scripts for more information. For information about custom triggers, see Database Scripts. For information about custom tables, see Custom Tables Used with Send Services.
Custom triggers for the send service register changes to the Oracle Applications business objects in the WM_TRACKCHANGES custom table. For more information about how the triggers record these changes, see Custom Tables Used with Send Services.
Send services process transactions as follows:
| Step | Description |
|---|---|
| 1 | Specify Default Settings: Send services use a
set of high-level settings to define how the services will execute. The default
settings should be adequate for most cases. However, you can modify the default
settings if necessary, as follows:
Note: In version 3.0 of the adapter, the
$dbAlias parameter in the
specifyDefaultSettings MAP step could be modified to specify the connection the
service will use. In version 6.0 of the adapter, that is no longer true. The
$dbAlias parameter is still available,
however it is no longer used to control a service’s connection and cannot be
modified.
|
| 2 | lockTxnCtrl Service: The
send service calls the
lockTxnCtrl service, which queries the
WM_CONTROL table for a specific TRANSACTION_TYPE to determine the polling
status of the business document.
Important: If you test a send service by stepping
through its supporting services in
Designer
and you exit after you run the
lockTxnCtrl service to lock the WM_CONTROL
table but before you run the
unlockTxnCtrl service to unlock it, the send
service will no longer be able to run successfully because the WM_CONTROL table
will continue to be locked. To unlock the table manually, you can run the
commonOA1227.utils:unlockTxnCtrl service,
providing the appropriate TRANSACTION_TYPE parameter. This service is located
in the WmOACommon1227 package.
For more information, see WM_CONTROL Table. |
| 3 | getDocTxn Service: The
send service calls the
getDocTxn service. The
getDocTxn service uses the getDocTxnOutputRec
document to define the business document’s logical structure. The
getDocTxn service also queries the
WM_TRACKCHANGES table and the Oracle Applications production tables to create
one or more business documents, as follows:
The service uses the WEB_TRANSACTION_ID to process the oldest records first. The service generates one or more business documents based on the results of the getDocTxn service. Note: Polling services query the WM_TRACKCHANGES table and Oracle
Applications production tables by executing SQL trees against them. For more
information about SQL trees, see
IBM webMethods Adapter for Oracle Applications
Installation and User’s Guide.
|
| 4 | processBizDoc Service: The
send service calls the
processBizDoc service to process the business
document. By default, this service does not send the business document
anywhere. You must modify this service to send the business document to the
desired recipients.
After the
processBizDoc service processes the business
document, it sets the transferStatus field of the docTransferResults document
to
|
| 5 | WM_TRACKCHANGES Table: The send service
manages the records in the WM_TRACKCHANGES table as follows, depending on
whether the service is configured to run in debug mode:
If a business document fails during transmission, the send service inserts a new record into the table for the failed record. The new record will have a TRANSACTION_STATUS that contains the sum of the TRANSACTION_STATUS fields for all of the related business object records for the business document that failed. You do not need to manually re-process a transaction that fails in the processBizDoc service because it will be processed again during the next scheduled execution of the service. |
| 6 | unlockTxnCtrl Service: The send service calls the unlockTxnCtrl service to unlock the WM_CONTROL table after the send service finishes processing. |