TRANSFER Programming Manual

Error Handling
Designing and Writing a Client
9–12 069138, Update 1 to 040970 Tandem Computers Incorporated
By putting the SAVE-ITEM and UNSAVE-ITEM UOWs in the same IPC and
transmitting the IPC within the framework of a TMF transaction, you can ensure that
both of these operations take place or that neither of them does. If the SAVE-ITEM
UOW succeeds but the UNSAVE-ITEM UOW fails, TMF will remove the item from the
WASTEBASKET folder when the transaction is aborted.
Multiple UOWs in an IPC can complicate error handling, for the following reasons:
You must look at each UOW individually.
You cannot direct the TRANSFER delivery system to use the results returned by
earlier UOWs as input to later UOWs in the same IPC. Instead, you must issue
two or more IPCs, possibly moving the earlier results to the later requests in the
client code.
Note The total size of an IPC or its reply cannot exceed the maximum value defined at TISERV startup time.
For PATHWAY requesters, this value is specified at PATHWAY configuration time, as indicated in the
TRANSFER Installation and Management Guide.
Delivery Errors
TAREQ processes write delivery-error indications to the recipient records involved.
These error indications have the data type UOW-RETN-CODE. They can reflect
almost any value returned in the RETN-CODE field by TISERV UOWs, or they can
reflect special delivery errors (values from 4600 through 4699) detected by TAREQs. A
code of zero indicates that the TAREQ detected no error.
The following errors are detected by TAREQs. For explanations of errors, see the
TRANSFER Administration Guide.
-4600 W-NOT-PROCESSED-HERE 4605 E-CANCELED-UNEXAMINED
-4601 W-XPORTED 4607 E-EXPIRED-UNEXAMINED
4602 E-XPORT-FAILED 4608 E-TOO-LATE-TO-DELIV
4603 E-TOO-LATE-TO-XPORT 4609 E-INCONSISTENT-RECIP
-4604 W-FULLY-EXPANDED-DLIST
There are five text-portion formats for the text records shown in Figure 10-1. Each text
portion format has four 120-byte text records. The description of each format is listed
below.
Note A double asterisk (**) indicates a record is intended only for output to users and need not be read by your
application process.