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


Parameters for Register_For_Allocates

z/OS MVS Programming: Writing Servers for APPC/MVS
SA23-1396-00

The following section describes the parameters you specify when calling the Register_For_Allocates service.
Notify_type
Supplied parameter
  • Type: Structure
  • Length: 4-8 bytes
Specifies the type of processing and notification (synchronous or asynchronous) requested for this service. The possible types are:
  • None

    No notification is requested. APPC/MVS processes this call synchronously, and returns control to the caller when processing is complete. APPC/MVS sets all returned parameters on return to the caller. To specify no notification, set this parameter to a four-byte structure that contains binary zeroes.

  • ECB

    Programs can request asynchronous processing by specifying an ECB to be posted when processing completes. To specify an ECB, set this parameter to an eight-byte structure that contains 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 caller's home address space.

    When you specify an ECB, APPC/MVS returns control to the caller before processing is complete, with only the return code set. If APPC/MVS accepts the asynchronous request, it sets the return code to 0 to show that it is processing the service asynchronously. APPC/MVS fills in the other returned parameters during asynchronous processing, and posts the specified ECB when it has set all the returned parameters. The completion code field in the ECB contains the return code for the service. APPC/MVS places the reason code, if any, in the server's reason_code parameter.

Sym_dest_name
Supplied parameter
  • Type: Character string
  • Char Set: 01134
  • Length: 8 bytes (left justified, padded with blanks)

Specifies a symbolic destination name that represents the transaction program and local LU for which you are registering. This parameter, if used, must contain a value that matches a symbolic destination name defined in the active side information data set. APPC/MVS obtains the TP name and local LU name from the side information data set (the mode name, which is also contained in the side information, is ignored).

To omit a symbolic destination name, set the sym_dest_name parameter value to 8 blanks and specify values for the local_LU_name, TP_name, and TP_name_length parameters.

If you specify a symbolic destination name, APPC/MVS obtains the local LU name from the PARTNER_LU keyword value in the symbolic destination entry. If the LU name specified in the symbolic destination entry is network-qualified (includes both the network ID and network LU name), APPC/MVS uses only the network-LU-name portion for the local LU name. If the keyword value is a VTAM generic resource name, this service fails with return code 16 (atbcts_request_unsuccessful) and reason code 12 (atbcts_inval_local_lu). If both the local_LU_name parameter and the LU name in the symbolic destination entry is blank, this service fails with return code 8 (atbcts_parameter_error), and reason code 5 (atbcts_local_lu_not_specified).

If the local LU name is obtained from the side information data set and the LU name is a network-qualified LU name, APPC/MVS ensures that the netid in the symbolic destination name is the local netid. If not, the Register_For_Allocates service returns return code 4 (atbcts_warning) and reason code 28 (atbcts_netid_does_not_match). If VTAM is not active and therefore APPC/MVS cannot determine whether the netid is valid, the Register_For_Allocates service returns return code 4 (atbcts_warning) and reason code 39 (atbcts_cannot_determine_netid). Both of these codes are warnings only; APPC/MVS continues to process the call to the Register_For_Allocates service.

If you also specify values for the local_LU_name or the TP_name/TP_name_length parameters, these values override any obtained from the side information data set.

If you specify a symbolic destination name that does not match an entry in the side information data set, the Register_For_Allocates service returns control with return code 16 (atbcts_request_unsuccessful) and reason code 11 (atbcts_sym_dest_name_unknown).

TP_name_length
Supplied parameter
  • Type: Integer
  • Length: 32 bits
  • Range: 0-64

Specifies the length of data contained in the TP_name parameter.

If you specify a symbolic destination name in the sym_dest_name parameter, set TP_name_length to 0 to use the TP name from the side information data set.

TP_name
Supplied parameter
  • Type: Character string
  • Char Set: 00640 or Type A (Type A if the TP is protected by RACF)
  • Length: 1 - 64 bytes

Specifies the name of transaction program that was targeted by the client TP's allocate request. This name must match the name that the client TP specified in the TP_name parameter of the Allocate service.

If you specify a symbolic destination name in the sym_dest_name parameter, set TP_name to 0 to use the TP name from the side information data set.

You can specify a SNA service transaction program name in this parameter.

If the TP is to be protected by a RACF security profile in the APPCTP class or the APPCSERV class, the TP name must consist of Type A characters only. See Character Sets for a list of Type A characters.

Local_LU_name
Supplied parameter
  • Type: Character string
  • Char Set: Type A
  • Length: 8 bytes (left justified, padded on right with blanks)

Specifies the name of the LU at which the transaction program specified in the TP_name parameter resides. The local LU name must match the name of the LU that the client TP specified on its allocate call (in the partner_LU_name parameter).

If you specify a symbolic destination name in the sym_dest_name parameter, set local_LU_name to 8 blanks to use the value for the PARTNER_LU keyword in the side information entry. The keyword value cannot be a VTAM generic resource name, or this service fails.

Partner_LU_name
Supplied parameter
  • Type: Character string
  • Char Set: Type A
  • Length: 17 bytes (left justified, padded on right with blanks)

Specifies the name of the LU from which the client TP's allocate request originated. The client TP might have specified this LU on its allocate request, or have used the default local LU (by setting the local_LU_name parameter of the Allocate service to blanks). The local LU transforms this locally known LU name to an LU name used by the network. (For more information about the local_LU_name parameter of the Allocate service, see z/OS MVS Programming: Writing Transaction Programs for APPC/MVS.)

The partner_LU_name parameter can contain one of the following values:
  • LU name only (1-8 byte Type A character string).

    This string represents the network LU name, which, if unique within the network and interconnected networks, is sufficient for most TP communications.

    Inbound allocate requests from any LU with the network LU name specified on the call to the Register_For_Allocates service can be placed on this allocate queue. APPC/MVS, however, will first check to see if there are any allocate queues with a matching network-qualified partner LU name.

  • A VTAM generic resource name.

    If the partner LU is a member of a generic resource group, you may specify the 1- to 8-byte generic resource name of the group.

  • Combined network ID and network LU name (two 1-8 byte Type A character strings, concatenated by a period: network_ID.network_LU_name). This format is known as a network-qualified LU name; each LU in the network and all interconnected networks can be uniquely identified by its network-qualified LU name.

    The network-LU-name portion of a network-qualified name may be a VTAM generic resource name.

    If the network-qualified LU name is specified, both the network ID and the network LU name on the inbound allocate request will have to match the value specified on the Register_For_Allocates call to be placed on the allocate queue. If VTAM is inactive, APPC/MVS is unable to determine the network ID, therefore no inbound allocate requests will be placed on an allocate queue that has a network-qualified partner LU name. When an inbound allocate request enters the system, APPC/MVS first checks for a match with the network-qualified LU name and then just the network LU name.

  • Blank:

    A blank value for the partner_LU_name parameter indicates that allocate requests from any partner LU are to be accepted.

Table 1 shows whether the partner LU name specified on a call to Register_For_Allocates will successfully match the LU associated with the inbound request:
Table 1. How APPC/MVS Handles Partner LU Name Specifications
Register_For_Allocates specifies... LU of the inbound request...
netid.LUNAME net2.LUNAME LUNAME
LUNAME Match Match Match
netid.LUNAME Match No Match No Match
net2.LUNAME No Match Match No Match
User_ID
Supplied parameter
  • Type: Character string
  • Char Set: Type A
  • Length: 8 bytes (left justified, padded on right with blanks)

Specifies the user ID associated with the inbound allocate requests to be served.

A blank value for the user_ID parameter indicates that allocate requests from any user ID are to be accepted.

Note that APPC/MVS does not ensure that the specified user ID is a member of the security profile specified in the profile parameter. The server must perform this check itself, if needed.

Profile
Supplied parameter
  • Type: Character string
  • Char Set: Type A
  • Length: 8 bytes (left justified, padded on right with blanks)

Specifies the security profile associated with the inbound allocate requests to be served. APPC/MVS treats the profile name as a RACF group name.

A blank value for the profile parameter indicates that allocate requests from any security profile are to be accepted.

APPC/MVS compares this profile with the profile that flows in with the allocate request, or with the user ID's default profile, if no profile flows in with the allocate request.

Allocate_queue_token
Returned parameter
  • Type: Character string
  • Length: 8 bytes

Returns the allocate queue token, which uniquely identifies an allocate queue. Use the allocate queue token on later calls to APPC/MVS allocate queue services to indicate the particular allocate queue on which a requested function is to be performed.

This field contains a valid token only when the return code from this service is either 0 or 4 (atbcts_warning).

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

Contains additional information about the result of the call when the return_code parameter contains a non-zero value other than decimal 64 (atbcts_appc_not_available).

Table 2 lists the valid reason codes.

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

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

Table 2 lists the valid return and reason codes for the Register_For_Allocates service.
Table 2. Return and Reason Codes for Register_For_Allocates
Return Code (Decimal) Reason Code (Decimal) Symbolic Value
0   atbcts_ok
4   atbcts_warning
  1     atbcts_already_registered
  28     atbcts_netid_does_not_match
  39     atbcts_cannot_determine_netid
8   atbcts_parameter_error
  2     atbcts_tp_name_not_specified
  3     atbcts_inval_tp_name
  4     atbcts_inval_tp_name_length
  5     atbcts_local_lu_not_specified
  18     atbcts_inval_notify_type
  43     atbcts_inval_partner_lu
16   atbcts_request_unsuccessful
  7     atbcts_parameter_inaccessible
  8     atbcts_cannot_hold_locks
  10     atbcts_sched_cant_register
  11     atbcts_sym_dest_name_unknown
  12     atbcts_inval_local_lu
  13     atbcts_lu_not_receiving
  14     atbcts_not_auth_to_serve_tp
  15     atbcts_not_auth_to_local_lu
  20     atbcts_request_cancelled
32   atbcts_service_failure
  16     atbcts_appc_service_failure
64   atbcts_appc_not_available

For more detailed information about these return and reason codes, see Explanation of Return and Reason Codes.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014