There are twelve different event notifications or stimuli that the ESL APPC Dynamic Link Library (DLL) can generate. Respond to any of these events using the ESL response to stimulus statement, as shown in the following model.
Model
response to stimulus APPC_EVENT
[APPC_Started
APPC_Ended
APPC_Data
APPC_ConfirmRequest
APPC_Confirmed
APPC_RequestToSend
APPC_SendState
APPC_ReceiveError
APPC_SendError
APPC_SystemError
APPC_InputReceived
APPC_EndReceive]
[CONVERSATION_ID]
In the preceding model, APPC_EVENT can be any valid ESL identifier that you have assigned in the stimulus declaration to denote an incoming message from the ESL APPC DLL (see APPC Dynamic Link Library).
CONVERSATION_ID is an integer variable of your choice that contains the conversation identifier (a handle) returned from APPCStart or APPCAcceptStart.
The stimulus events listed in the preceding model are ESL integer constants, predefined for use in ESL APPC Support. These constants are optionally used as filtering values on the response to stimulus statement to limit a given response definition to a specific APPC event. If you code an APPC response to stimulus statement without specifying a stimulus event, all APPC events associated with the DLL specified in the stimulus declaration trigger that response statement.
The following lists the meanings of the ESL APPC integer constants, when used as stimulus events.
APPC_Started |
The partner program has started. (This event notification is useful if your program is a service application waiting for an initiator.) |
APPC_Ended |
The partner program has ended. Call the APPCEnd subroutine to free the conversation resources. |
APPC_Data |
Data has arrived for this conversation from its partner. Call the APPCGetString subroutine to get the information. |
APPC_ConfirmRequest |
The partner program requests confirmation. Your program should process the data, then indicate successful processing by sending a confirmation, or unsuccessful processing by sending an error response. |
APPC_Confirmed |
The partner program confirms that data has been received and processed successfully. This notification occurs when your program requested a confirmation on the last send. |
APPC_RequestToSend |
The partner program wants to send data. |
APPC_SendState |
The partner program has completed sending data and is |
|
ready to receive a reply. Your program has been granted |
|
authority to send. This notification can be taken to mean |
|
that all the data requested from the partner has been sent. |
APPC_ReceiveError |
An error was detected by the partner program in the data |
|
that it received. |
APPC_SendError |
An error has been detected by the partner program. The partner has a problem processing; it could not produce the data it wanted to send. |
APPC_SystemError |
A serious error has been detected. This error may be signalled by either ESL APPC Support or your communications program. Call the APPCGetSystemError subroutine to get detailed information about the error. Display or log the information. The ESL APPC program may be able to handle some errors using the controlled interface. |
APPC_InputReceived |
In the controlled interface, this indicates the start of a group of notifications connected to one call to APPCReceiveNotify. |
APPC_EndReceive |
In the controlled interface, this indicates the end of a group of notifications connected to one call to APPCReceiveNotify. |
Some ESL APPC integer constants can also be used to set variable values for subroutine calls.
Following the call to APPCStart, you should not issue any additional calls to ESL APPC support until the APPC_Started APPC event notification has been received. Failure to wait for the APPC_Started event notification may result in a non-zero errorlevel return code following the call.