TRANSFER Programming Manual

Notes on Package Handling
Designing and Writing a Client
069138, Update 1 to 040970 Tandem Computers Incorporated 9–9
TISERV checks the nesting when your application attaches a component item to a
parent (with the ATTACH-COMPNT-A01 UOW) and examines the item tree to see if
there is a reference to the parent anywhere in the item tree below the component. If
there is such a reference, a component cycle exists as shown in Figure 9-4 and the error
E-COMPNT-CYCLE is returned. If the item is nested too deeply, TISERV cannot
continue checking for cycles and returns the error E-ITEM-TOO-COMPLEX.
Figure 9-4. Component Cycle
Item B
(component of A,
parent of C)
Item A
(parent of B)
Item C
(component of B)
019
TISERV also checks the nesting of an entire package when your application submits it
for delivery (with the SUBMIT-PKG UOW). During this activity, TISERV must flag all
items in the package as UNALTERABLE because the same package might be
physically shared among several recipients. As in package assembly, if TISERV finds
that the package is nested too deeply, it returns the error E-ITEM-TOO-COMPLEX.
In addition to the limits imposed by TISERV, additional constraints might be imposed
by TWORK, a special server used by TAREQs, as follows: when a package is being
transported over the network, TWORK recursively saves information about each level
of nesting, and the nesting depth permitted depends on the amount of stack space
available in TWORK.
You cannot alter the amount of stack space available in TWORK; stack space is
already set to its maximum. TWORK stack usage per level of nesting is dependent on
many things that are difficult to predict. You can assume that any release will always
support ten levels of nesting. If a package cannot be transported because of excessive
nesting, DELIV-ERR in the recipient record of each remote recipient is set to
E-ITEM-TOO-COMPLEX, and a TAREQ event package for the event PACKAGE
CANNOT BE TRANSPORTED TO RECIPIENT'S SYSTEM is generated.