z/OS MVS Programming: Writing Transaction Programs for APPC/MVS
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Reject_Conversation

z/OS MVS Programming: Writing Transaction Programs for APPC/MVS
SA23-1397-00

The Reject_Conversation service rejects an inbound conversation.

A program can call this service to avoid processing a particular inbound conversation. The caller must supply an appropriate sense code (as an input parameter) to indicate the reason the conversation was rejected. APPC/MVS resolves the sense code to a return code that it passes to the partner transaction.

A program cannot reject a conversation if there has been any communication activity performed on it. After the program has obtained the conversation id (through the Get_Conversation, Receive_Allocate, or Accept_Conversation service), only the following conversation services may be called before calling Reject_Conversation:
  • Get_Type (ATBGETT)
  • Get_Attributes (ATBGETA, ATBGTA2)
  • Extract_Conversation_Type (CMECT)
  • Extract_Mode_Name (CMEMN)
  • Extract_Sync_Level (CMESL)
  • Extract_Partner_LU_Name (CMEPLN).

If a program attempts to reject a conversation that has had communication activity, the Reject_Conversation service returns a return code of atbcts_request_unsuccessful, and a reason code of atbcts_not_first_conv_call.

For protected conversations:
  • The Deallocate_sense_code is ignored when a syncpt conversation is rejected. A deallocated_abend_svc sense code (X'08640001') is used instead.
  • The current UR is put into backout-required state.
  • The current UR and subsequent units of recovery for the context will not include the protected conversation being rejected by this service.

Requirements

Format

Figure 1. ATBRJC2 - Reject_Conversation
CALL ATBRJC2(
        Notify_type,
        Conversation_id,
        Deallocate_sense_code,
        Reason_code,
        Return_code
       );

Parameters

Notify_type
Supplied parameter
  • Type: Structure
  • Length: 4-8 bytes
Specifies the type of processing and notification requested for this service (synchronous or asynchronous). The possible types are:
  • None

    No notification is requested. The service is performed synchronously, and control is returned to the caller when processing is complete. All returned parameters are set on return to the caller. To specify no notification, set the parameter value to a four-byte structure containing binary zeroes.

  • ECB

    Programs can request asynchronous processing by specifying an ECB to be posted when processing completes. To specify an ECB, set the parameter to an eight-byte structure containing a fullword binary one (X'00000001') followed by the address of a fullword area to be used as the ECB. The ECB must reside in the home address space.

    When you specify an ECB, control is returned before processing is complete, with only the return code set. If the asynchronous request was accepted, the return code is set to 0 to indicate that the service is being processed asynchronously. Other returned parameters are filled in during asynchronous processing, and the specified ECB is posted when all returned parameters are set. The completion code field in the ECB contains the return code for the service. The reason code, if any, is set in the caller's Reason_code parameter.

Conversation_id
Supplied parameter
  • Type: Character string
  • Char Set: No restriction
  • Length: 8 bytes

Conversation_id, sometimes called the resource identifier, identifies a conversation to the system.

Deallocate_sense_code
Supplied parameter
  • Type: Integer
  • Length: 4 bytes

Deallocate_sense_code specifies the sense code to be sent (as a return code) to the partner transaction program.

The sense code can be coded as an explicit hexadecimal value or as a symbolic. Valid values for this parameter are:
Value (hex)
Meaning
X'084B6031'
Atbcts_TP_Not_Available_Retry

Specifies that the conversation should be abnormally ended with an indication that the requested TP is not available. The partner may attempt to retry the request.

X'084C0000'
Atbcts_TP_Not_Avail_No_Retry

Specifies that the conversation should be abnormally ended with an indication that the requested TP is not available. The partner should not attempt to retry the request.

X'10086021'
Atbcts_TPN_Not_Recognized

Specifies that the conversation should be abnormally ended with an indication that the requested TP name is not recognized.

X'080F6051'
Atbcts_Security_Not_Valid

Specifies that the conversation should be abnormally ended with an indication that a security violation was detected.

X'10086041'
Atbcts_Sync_Lvl_Not_Spprtd_Pgm

Specifies that the conversation should be abnormally ended with an indication that the specified synchronization level is not supported.

X'10086034'
Atbcts_Conv_type_mismatch

Specifies that the conversation should be abnormally ended with an indication that the conversation type is not supported.

Reason_code
Returned parameter
  • Type: Integer
  • Length: 32 bits

Reason_code contains additional information about the result of the call when the return_code parameter contains a nonzero value other than atbcts_appc_not_available.

Table 1 lists the valid reason codes.

Return_code
Returned parameter
  • Type: Integer
  • Length: 32 bits

Return_code specifies the result of the call. If the return_code parameter contains zero or 64 (decimal), there is no reason code. For other return codes, check the reason_code parameter for additional information about the result of the call.

The following table lists the possible return and reason codes, their symbolic equates, and their meanings, for the Reject_Conversation service.
Table 1. Return and Reason Codes for Reject_Conversation
Return Code (Decimal) Reason Code (Decimal) Symbolic and Meaning
0 atbcts_ok

The service completed as requested.

8 All atbcts_parameter_error

A user-supplied parameter was found to be in error. For example, a parameter contains characters not in the required character set. See the reason_code parameter to determine which parameter is in error.

8 18 atbcts_inval_notify_type

The specified notify type is not valid.

8 22 atbcts_inval_conversation_id

The specified conversation identifier does not represent an active conversation for this address space.

8 23 atbcts_inval_sense_code

The specified sense code is not valid or not supported.

16 All atbcts_request_unsuccessful

The service was unsuccessful. The cause is most likely a parameter error other than a syntax error, or an environmental error. For example, a syntactically valid LU name was specified, but the LU is not defined to APPC/MVS. An example of an environmental error is that the caller called the service while holding locks. See the Reason_code parameter for the specific cause of the error, and to determine whether the error can be corrected and the service reissued.

16 8 atbcts_cannot_hold_locks

The caller held one or more locks when calling the service.

16 24 atbcts_not_first_conv_call

Reject_Conversation was called for a conversation that has already had a communication service issued on it.

16 25 atbcts_not_inbound_conv

The specified conversation is not an inbound conversation.

16 40 atbcts_conv_inaccessible

The specified conversation is currently in use by another process.

32 All atbcts_service_failure

APPC/MVS service failure. Record the return and reason code, and give them to your systems programmer, who should contact the appropriate IBM support personnel.

32 16 atbcts_appc_service_failure

The service failed because of an APPC failure.

APPC provides symptom records for this type of error. For more information, see the appendix that explains return and reason codes in z/OS MVS Programming: Writing Servers for APPC/MVS.

64 atbcts_appc_not_available

APPC/MVS is not currently active. Call the service again after APPC is available.

Restrictions

Transaction programs that call the Reject_Conversation service while in task mode should not have any enabled unlocked task (EUT) functional recovery routines (FRRs) established. For more information about EUT FRRs, see the section on providing recovery in z/OS MVS Programming: Authorized Assembler Services Guide.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014