Purpose
IWPF (Initiate with Protocol-function) enables an application to send a request to the database.
It contains additional protocol functions for Two-phase commit sessions, for use in specialized applications.
This function can not be used when ANSI Transaction-semantics are enabled.
Usage Notes
- A Two-phase commit request can be initiated using the Initiate with Protocol-function function.
- The IWPF function is similar to the Initiate Request (Initiate Request) function, except for the following differences:
- IWPF does not support the Locate-mode.
- When IWPF is used with Two-phase commit sessions, the additional protocol functions of vote, and vote and terminate can be used to optimize syncpoint processing in specialized applications.
- In IWPF, you can set the following:
| Code | Meaning |
|---|---|
| N | No protocol function. This is the default. |
| V | Vote protocol function to be appended. |
| T | Vote & Terminate protocol function to be appended. |
DBCAREA Input Fields
Before using the Initiate With Protocol-function function, the application must set the DBCAREA fields in the first table and may optionally set those in the second table depending on the application's requirements.
| DBCAREA Input Fields Required for the Initiate With Protocol-function Function | |
|---|---|
| Function | Input-CLIv2-connection-number |
| Request-length | Request-pointer |
| DBCAREA Input Fields Optional for the Initiate With Protocol-function Function | |
|---|---|
| Anticipated-number-of-concurrent-sessions | APH-response-OK |
| Array-transforms-off | Change-options |
| Character Set | C2S-conversion |
| Column-info | Continued-character-state |
| Extension-pointer | Inhibit-buffer-expansion |
| Input-CLIv2-connection-number | Input-TDP-path |
| Keep-response | Length |
| Logon-length | Logon-pointer |
| Max-decimal-returned | Maximum-parcel |
| Message-area-length | Message-area-pointer |
| Multi-statement-errors | Parcel Mode |
| Period-as-struct | Pointer |
| Protocol-function | Refresh-cached-data |
| Request-buffer-length | Request-mode |
| Request-parcel-format | Request-processing-option |
| Request-token | Response Buffer |
| Response-mode | Result-sets-OK |
| Return-identity-data | Return-result-to |
| Return-statement-info | Return-time |
| Row-count | Run-length |
| Run-pointer | Save-response-buffer |
| Set-character-set | Statement-status |
| S2C-conversion | Tell-if-delay |
| Transforms-off | Trusted-request |
| Two-response-buffers | USING-data-length |
| USING-data-pointer | Use-presence-bits |
| Variable-length-fetch | Variable-length-request |
| Wait-during-delay | Wait-exclusion |
| Wait-for-response | XML-response-format |
DBCAREA Output Fields
Upon completion of the Initiate With Protocol-function function, CLIv2 always sets DBCAREA fields in the first table and sets those in the second table if the function was successful.
| DBCAREA Output Fields always set by the Initiate With Protocol-function Function | |
|---|---|
| Message-return-code | Current-response-buffer-length |
| Message-length | Message-text |
| Message-text-length | Output-CLIv2-request-number |
| Return Code | |
| DBCAREA Output Fields set by Successful Initiate With Protocol-function Functions | |
|---|---|
| Current-request-buffer-length | Open-requests |
| Output-TDP-request-number | |