Advanced Program-to-Program Communication (APPC) is an implementation of the Systems Network Architecture (SNA) LU 6.2 protocol that allows programs in different computers to communicate. ESL APPC Support uses APPC support in compatible products to allow an ESL program to talk to a partner program (ESL or non-ESL) in another machine.
Note: In this guide, the APPC communications program is referred to as the communications program, unless specific product information is required.
The other machine can be a System/370 or AS/400 host, or another Personal Computer. ESL APPC offers a simplified interface to the APPC application program interface (API), and provides support for half-duplex, mapped conversations.
Half-duplex conversations are the type supported by APPC. At any time, only one partner has permission to send data; the other partner must be ready to receive. The sending and receiving partner programs can optionally switch roles, with mutual agreement and coordination.
If your ESL application needs to conduct a full-duplex conversation, which allows the same program to send and receive simultaneously, you can simulate full-duplex capability by conducting two half-duplex conversations within one ESL APPC program.
Using ESL APPC Support, an ESL program can either initiate a conversation with a partner program or accept an initiation request from the partner. The ESL APPC program can be written to always initiate the conversation, to always accept an initiation request, or to dynamically decide which role to play initiator or acceptor based on a parameter passed to the ESL program when it is started.
The ESL profiles contain configuration values set and used by ESL. Many of the values are identical to values set during your communications program configuration. You must create profile information before attempting to use ESL APPC Support the first time, and maintain it thereafter. Subroutines that you can use to set and query profile values are provided to help you do this. A sample ESL program (APPCPROF.EAL) to do profile maintenance is also provided.
ESL APPC Support consists of two transaction programs (TPs) and subroutines resident in an ESL Dynamic Link Library (DLL). The TPs are described in more detail in "How ESL APPC Support Works".
In your ESL program, calls are made to the subroutines to do the following:
•Start a conversation.
•Send data.
•Receive data.
•Get conversation information.
•End a conversation.
Responses from the ESL APPC DLL, in the form of messages, are returned (via the ESL Runtime Facility) to your ESL program where they trigger response definitions that pertain to APPC events. For example, the following response statement and its action statements would execute when the ESL APPC DLL signalled your program that data from the APPC conversation had become available:
response to stimulus APPC_EVENT APPC_Data