gtps2m1i | ACF/SNA Data Communications Reference |
The TPF/APPC support code allows the TPF user-written transaction programs to be run on any available I-stream in a TPF tightly coupled environment. In fact, the TPF transaction programs can be defined to run on any I-stream: the main I-stream or a specific I-stream. This definition is done with the ITPNT macro as described in TPF General Macros.
Because the TPF transaction programs are running on any I-stream in the tightly coupled environment, the TPF/APPC support code activated by a TPF/APPC verb request also runs on the same I-stream that initiated the verb request. With the various components of the TPF/APPC support code running on multiple I-streams concurrently, the potential for simultaneous updating exists. To ensure proper sequence of updates, TPF/APPC support provides a locking mechanism by means of the ILCKCB and IULKCB macros. (See TPF System Macros for details on these macros.)
The TPF/APPC support code is sometimes activated as a result of inbound messages received in TPF from the remote transaction programs. To insure that these messages are queued and presented to the transaction program in the same sequence as they arrive in TPF, this portion of the TPF/APPC support code must always run on a single specified I-stream. To accomplish this serialization, when the TPF communications source program (COA4) determines that the message is from a resource defined as an LU 6.2 resource, it uses the SWISC macro to assign the ECB to I-stream 2 and to activate the edit program specified in the routing control application table (RCAT). Specifying I-stream 2 instead of the main I-stream allows the queuing logic overhead to be moved off of the main I-stream. (Of course, in a uniprocessor system, there is only 1 I-stream, and the SWISC macro simply performs the program enter function without changing I-streams.)