Previous Page Contents Page Next Page

2.2 APPC Verb Summary

This section briefly describes each APPC verb. The APPC verbs are grouped by function. (The total functionality of a verb may be broader than this summary indicates. For a detailed explanation of a particular verb, see APPC Control Verbs, or APPC Conversation Verbs.)

2.2.1 Starting a Conversation

The following verbs are used to start a conversation between two TPs. For more information, see Starting TPs.

TP_STARTED

This verb is issued by the invoking TP. It notifies APPC that the invoking TP is starting. Upon successful execution, this verb returns a TP identifier (tp_id) for the invoking TP.

SET_TP_PROPERTIES

This verb is used by a TP to set properties relating to the local TP, which are then used when allocating new conversations. This enables the TP to specify the following:

  • Logical Unit of Work (a transaction between APPC TPs to accomplish a particular task) with which a conversation is associated

  • User ID for use when allocating a new conversation and indicating that the conversation security has already been verified

MC_ALLOCATE or ALLOCATE

This verb is issued by the invoking TP. It allocates a session between the local LU and a remote LU and establishes a conversation between the invoking TP and the invoked TP.

The ALLOCATE verb can establish either a basic or mapped conversation. The MC_ALLOCATE verb can start only a mapped conversation. Once the conversation is allocated, APPC returns a conversation identifier (conv_id) through this verb.

MC_SEND_CONVERSATION or SEND_CONVERSATION

This verb is issued by the invoking TP. It allocates a session between the local LU and a remote LU, establishes a conversation between the invoking TP and the invoked TP, sends a single data record on this conversation, and deallocates the conversation.

RECEIVE_ALLOCATE

This verb is issued by the invoked TP. It confirms that the invoked TP is ready to begin a conversation with the invoking TP, which issued the [MC_]ALLOCATE verb. Upon successful execution, RECEIVE_ALLOCATE returns a TP identifier ( tp_id) for the invoked TP and the conversation identifier (conv_id ).

2.2.2 Sending Data

The following verbs send data to the partner TP:

MC_SEND_DATA or SEND_DATA

This verb puts data in the local LU's send buffer for transmission to the partner TP.

The data collected in the local LU's send buffer is transmitted to the partner LU (and partner TP) when one of the following occurs:

  • The send buffer fills up.

  • The local TP issues a verb that flushes the local LU's send buffer (such as [MC_]FLUSH or [MC_]CONFIRM).

The [MC_]SEND_DATA verb can also perform the function of the [MC_]CONFIRM, [MC_]DEALLOCATE, [MC_]FLUSH, or [MC_]PREPARE_TO_RECEIVE verbs.

MC_FLUSH or FLUSH

This verb flushes the local LU's send buffer, sending the contents of the buffer to the partner LU (and TP). If the send buffer is empty, no action occurs.

MC_CONFIRM or CONFIRM

This verb sends both the contents of the local LU's send buffer and a confirmation request to the partner TP.

MC_PREPARE_TO_RECEIVE or PREPARE_TO_RECEIVE

This verb changes the state of the conversation from Send to Receive. Before changing the conversation state, this verb performs the equivalent of the [MC_]FLUSH or [MC_]CONFIRM verb. After this verb has successfully executed, the TP can receive data.

MC_REQUEST_TO_SEND or REQUEST_TO_SEND

This verb informs the partner TP that the local TP wants to send data. If the partner TP issues the [MC_]PREPARE_TO_RECEIVE or [MC_]RECEIVE_AND_WAIT verb, the conversation state changes to Receive for the partner TP, which makes it possible for the local TP to begin to send data.

2.2.3 Receiving Data

The following verbs enable a TP to receive data from its partner TP:

MC_RECEIVE_AND_WAIT or RECEIVE_AND_WAIT

Issuing this verb while the conversation is in Receive state causes the local TP to receive any data that is currently available from the partner TP. If no data is available, the local TP waits for data to arrive.

Issuing this verb while the conversation is in Send state flushes the LU's send buffer and changes the conversation state to Receive. The local TP then begins to receive data.

MC_RECEIVE_AND_POST or RECEIVE_AND_POST

Issuing this verb while the conversation is in Receive state changes the conversation state to Pending_Post and causes the local TP to receive data asynchronously. This enables the local TP to proceed with processing while data is still arriving at the local LU.

Issuing this verb while the conversation is in Send state flushes the LU's send buffer and changes the conversation state to Pending_Post. The local TP then begins to receive data asynchronously.

MC_RECEIVE_IMMEDIATE or RECEIVE_IMMEDIATE

This verb receives any data that is currently available from the partner TP. If no data is available, the local TP does not wait. Unlike the other two RECEIVE verbs, this verb can be issued only in Receive state and not in Send state.

2.2.4 Confirming Receipt of Data or Reporting Errors

The following verbs confirm receipt of data or report an error:

MC_CONFIRMED or CONFIRMED

This verb replies to a confirmation request from the partner TP. It informs the partner TP that the local TP has received and processed the data without error.

MC_SEND_ERROR or SEND_ERROR

This verb notifies the partner TP that the local TP has encountered an application-level error.

2.2.5 Getting Information

The following verbs provide information to TPs:

MC_GET_ATTRIBUTES or GET_ATTRIBUTES

This verb is used by a TP to obtain the attributes of the conversation.

GET_TYPE

This verb is used by a TP to determine the conversation type (basic or mapped) of a particular conversation. With this information, the TP can decide whether to issue basic- or mapped-conversation verbs.

GET_LU_STATUS

This verb is used by a TP to obtain information about the number of sessions between its local LU and a specified partner LU, and whether the number of sessions has dropped to 0 (zero) at any time since the verb was last issued. This enables the TP to check whether it has lost connectivity to its partner TP (in which case it may need to resynchronize).

GET_TP_PROPERTIES

This verb is used by a TP to obtain information about the attributes of the local TP and of the Logical Unit of Work (a transaction between APPC TPs to accomplish a particular task) in which the TP is participating.

MC_TEST_RTS or TEST_RTS

This verb determines whether a REQUEST_TO_SEND notification has been received from the partner TP.

MC_TEST_RTS_AND_POST or TEST_RTS_AND_POST

This verb notifies the application asynchronously when a REQUEST_TO_SEND notification is received from the partner TP.

2.2.6 Ending a Conversation

Either the invoked or invoking TP can end the conversation. The following verbs end a conversation:

MC_DEALLOCATE or DEALLOCATE

This verb deallocates a conversation between two TPs. Before deallocating the conversation, this verb performs the equivalent of the [MC_]FLUSH or [MC_]CONFIRM verb.

TP_ENDED

This verb is issued by both the invoking and invoked TPs. It notifies APPC that the TP is ending. Issuing this verb also terminates any other conversations that may be active.

2.2.7 Starting a Transaction Program (TP)

The following verbs are used to enable an application to participate in the SNAP-IX TP loading process.

REGISTER_TP_SERVER

This verb is used by a TP to notify SNAP-IX that the application is capable of automatically starting transaction programs (TPs).

REGISTER_TP

This verb is used to register with SNAP-IX the name of a TP, whose TP start requests (Attaches) are to be handled by the application.

QUERY_ATTACH

This verb is used by the application to determine the parameters on the request to start a TP, so the application can determine whether to start the TP.

ACCEPT_ATTACH

This verb is used to notify SNAP-IX that the application intends to start the TP that corresponds to this Attach.

REJECT_ATTACH

This verb is used to notify SNAP-IX that the application does not intend to start the TP that corresponds to this Attach.

ABORT_ATTACH

This verb is used to end the processing of the Attach by this TP server after the Attach has been accepted using an ACCEPT_ATTACH verb because the TP server or TP has encountered an error during further processing.

UNREGISTER_TP

This verb is used to notify SNAP-IX that the application no longer wishes to process Attaches for this previously registered TP.

UNREGISTER_TP_SERVER

This verb is used to notify SNAP-IX that the application does not want to receive Attach notifications for the specified TP.

Previous Page Contents Page Top of Page Next page