z/OS MVS Programming: Resource Recovery
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Set_Exit_Information (CRGSEIF, CRGSEIF1,CRG4SEIF)

z/OS MVS Programming: Resource Recovery
SA23-1395-00

  • CRGSEIF is for AMODE(31) callers.
  • CRGSEIF1 is for AMODE(31) callers and also supports the LX reuse facility.
  • CRG4SEIF is for AMODE(64) callers, allows parameters in 64 bit addressable storage, and also supports the LX reuse facility.
A resource manager calls the Set_Exit_Information service to notify a specific exit manager of its intent to work with that exit manager, and to identify the entry points for the exit routines, if any, to be driven by that specific exit manager. Supported exit managers include:
  • Context services
  • Resource recovery services/MVS (RRS)
In response to the call, the system returns a return code.

When the resource manager calls the Set_Exit_Information service, all exit routines specified must be ready to receive control; the exit routines might be driven even before control returns from the call.

Following a successful call to the Set_Exit_Information service, the resource manager is considered to be set with the specified exit manager. The call to Set_Exit_Information is required; your resource manager can, however, issue the call without specifying any exit routines, if the exit manager requires no exit routines, and your resource manager has no exit routines. In this case, specify binary zero in the exit_count parameter. If you do not want to set a NOTIFICATION exit routine with registration services, code a binary zero (0) in the notification_exit_type parameter.

A PKM 8–15 problem state resource manager cannot set a NOTIFICATION exit routine. A PKM 8–15 problem state resource manager must specify binary zero (0) in the notification_exit_type parameter.

Specifying the Call: A resource manager must issue a call to the Set_Exit_Information service before an exit manager can invoke any of the resource manager's exit routines. The resource manager should call Set_Exit_Information one or more times after its call to the Register_Resource_Manager service. Each call specifies one exit manager and its exit routines. All exit routines required by an exit manager must be specified on the first call for the exit manager. The required exit routines are:
  • For context services: None
  • For RRS: BACKOUT, COMMIT, PREPARE, and EXIT_FAILED
Note: Context services supports PKM 8–15 problem state resource managers, but RRS does not.
Subsequent calls for an exit manager can replace exit information, and can add and delete optional exit routines, but cannot delete a required exit routine.
Note: A resource manager can bypass the required RRS BACKOUT, COMMIT, and PREPARE exit routines by specifying their return codes in a call to the Set_Syncpoint_Controls service. This process is called prevoting.

Notification Exit Routine: Like a resource manager, each exit manager must register with the system. If the exit manager specified in a Set_Exit_Information call is not registered, the system returns CRG_EM_STATE_ERROR as the return code. If and when the exit manager registers, the system gives control to the NOTIFICATION exit routine, if provided; and the routine can call the Set_Exit_Information service again.

The NOTIFICATION exit routine, if provided, also gets control when an exit manager unregisters or has its exits unset. Note that some exit managers, such as context services, are always available and never unregister.

Parameter Array for Exit Routines: To set more than one exit routine in a call, specify each of the following parameters as a 1-dimensional array: exit_number, exit_entry, and exit_type. The first position in each parameter array specifies the first exit routine, the second position specifies the second exit routine, and so on. The exit_count indicates the number of exit routines and, thus, the number of positions in each array.

Environment

The requirements for the resource manager are:

Programming requirements

Link edit your object code with the linkable stub routine CRGCSS (31 bit) or CRG4CSS (64 bit) from SYS1.CSSLIB, or LOAD and CALL the service. The high level language (HLL) definitions for the callable service are:

HLL definition Description
CRGASM 390 Assembler declarations
CRGC C/390 declarations

Restrictions

The state of the resource manager associated with the specified resource manager token must be registered. After a successful call, the resource manager state is set, which means it has set its exits with the exit manager specified in the call.

The resource manager can specify an exit entry, then later alter it. Make such a change very carefully because exit routines could be currently running.

Resource managers that are PKM 8–15 problem state must register using the Register_Resource_Manager service from the home address space before invoking this service. They must specify a resource manager token of a key 8–15 problem state resource manager that registered from the home address space.

Input register information

Before issuing the call, the resource manager does not have to place any information into any register unless using it in register notation for the parameters, or using it as a base register.

Output register information

When control returns to the resource manager, the GPRs contain:
Register
Contents
0-1
Used as work registers by the system
2-13
Unchanged
14
Used as a work register by the system
15
Return code
When control returns to the resource manager, the ARs contain:
Register
Contents
0-1
Used as work registers by the system
2-13
Unchanged
14-15
Used as work registers by the system

Some resource managers depend on register contents remaining the same before and after issuing a call. If the system changes the contents of registers on which the resource manager depends, the resource manager must save them before calling the service, and restore them after the system returns control.

Performance implications

None.

Syntax

Write the call as shown in the syntax diagram. You must code the parameters in the CALL statement as shown.

Parameters

The parameters are explained as follows:

return_code
Returned parameter
  • Type: Integer
  • Length: 4 bytes

Contains the return code from the Set_Exit_Information service.

,resource_manager_token
Supplied parameter
  • Type: Character string
  • Character Set: No restriction
  • Length: 16 bytes

Specifies the resource manager token that identifies the resource manager. Your resource manager received the token from the Register_Resource_Manager service.

,notification_exit_type
Supplied parameter
  • Type: Integer
  • Length: 4 bytes
Indicates the type of NOTIFICATION exit routine, based on how the system is to give the routine control if the exit manager registers or unregisters after this call, or unsets the resource manager's exits. Specify one of the following:
Table 1. Set_Exit_Information (CRGSEIF, CRGSEIF1,CRG4SEIF) notification_exit_type parameter

Constant in:
Hexadecimal
(Decimal)
Equate Symbol

Description

0
(0)
CRG_EXIT_TYPE_NONE

No routine: When the exit manager registers or unregisters, the system does not give control to a NOTIFICATION exit routine. The system ignores the notification_exit_entry field in the call.
Note: This is the only Notification exit type supported for PKM 8–15 problem state resource managers.

1
(1)
CRG_EXIT_TYPE_SRB

SRB: When the exit manager registers or unregisters, or has its exits unset, the system schedules an SRB in the resource manager's address space to give control to the NOTIFICATION exit routine. The primary address space when the resource manager registers is the resource manager's address space.
Note: This exit type is not supported for PKM 8–15 problem state resource managers.

2
(2)
CRG_EXIT_TYPE_PC

Program Call (PC): When the exit manager registers or unregisters, or has its exits unset, the system issues a PC instruction to give control to the NOTIFICATION exit routine. The primary address space when the resource manager registers is the resource manager's address space.
Note: This exit type is not supported for PKM 8–15 problem state resource managers.

3
(3)
CRG_EXIT_TYPE_PCS

Program Call (PC): When the exit manager registers or unregisters, or has its exits unset , the system issues a PC instruction to give control to the NOTIFICATION exit routine. The exit routine is defined through a PC number with a sequence number. The primary address space when the resource manager registers is the resource manager's address space.
Note:
  1. This exit type is not supported for PKM 8-15 problem state resource managers.
  2. This exit type is only valid with CRGSEIF1 and CRG4SEIF.
,notification_exit_entry
Supplied parameter
  • Character Set: N/A
  • Length: 4 bytes
Specifies the entry point for the NOTIFICATION exit routine, as follows:
  • The address of the routine

If you coded CRG_EXIT_TYPE_NONE on the notification_exit_type parameter, the system ignores this parameter, but you might code a binary zero to indicate no exit routine here as well.

,notification_exit_entry8
Supplied parameter
  • Character Set: N/A
  • Length: 8 bytes

Specifies the entry point for the NOTIFICATION exit routine, as follows:

If you coded CRG_EXIT_TYPE_NONE on the notification_exit_type parameter, the system ignores this parameter, but you might code binary zeros to indicate no exit routine here as well.

If you coded CTX_EXIT_TYPE_SRB on the exit_type parameter, the high order word should be binary zeros, the low order word is the address of the SRB routine.

If you coded CRG_EXIT_TYPE_PC on the notification_exit_type parameter, the high word must contain binary zeros.

If you coded CRG_EXIT_TYPE_PCS on the notification_exit_type parameter, the high word must contain the sequence number.

,notification_exit_entry64
Supplied parameter
  • Character Set: N/A
  • Length: 8 bytes

Specifies the entry point for the NOTIFICATION exit routine, as follows:

If you coded CRG_EXIT_TYPE_NONE on the notification_exit_type parameter, the system ignores this parameter, but you might code binary zeros to indicate no exit routine here as well.

If you coded CTX_EXIT_TYPE_SRB on the exit_type parameter, the high order word should be binary zeros, the low order word is the address of the SRB routine.

If you coded CRG_EXIT_TYPE_PC on the notification_exit_type parameter, the high word must contain binary zeros.

If you coded CRG_EXIT_TYPE_PCS on the notification_exit_type parameter, the high word must contain the sequence number.

,exit_manager_name
Supplied parameter
  • Type: Character string
  • Character Set: See note
  • Length: 16 bytes

Specifies the name of the resource manager that is functioning as an exit manager and that is being informed of the exit routines. If a resource manager sets exits with RRS, its name is preserved across restarts of the system or restarts of RRS.

The names of the IBM-provided exit managers are:
  • Context services: CTX.EXITMGR.IBM
  • Registration services: CRG.REGSERV.IBM
    Note: While CRG.REGSERV.IBM is an exit manager, you cannot set exits using CRGSEIF. You can only set exits for registration services with CRGGRM.
  • RRS: ATR.EXITMGR.IBM
,exit_count
Supplied parameter
  • Type: Integer
  • Length: 4 bytes
Specifies, in hexadecimal, the number of exit routines defined in the call. The maximum count is the total number of exits for the exit manager:
  • For context services: 5
  • For registration services: 1
  • For RRS: 10

When the call specifies more than one exit routine, the count indicates the number of positions in the array for each of the following parameters: exit_number, exit_entry, and exit_type.

When the call does not define any exit routines, specify binary zeros in the exit_count parameter.

Context services does not support any exit types for PKM 8–15 problem state resource managers. A PKM 8–15 problem state resource manager must specify binary zero (0) in the exit_count parameter when setting exits with context services.

,exit_number
Supplied parameter
  • Type: Integer
  • Length: 4 bytes

Specifies the exit number assigned to the exit by the exit manager. When the call specifies more than one exit routine, the numbers are the first row of the array.

If the call does not specify any exit routines in the exit_count and associated parameters, specify binary zeros in the exit_number parameter.

For context services, the exit routines and the numbers assigned by the exit manager are:
Table 2. Set_Exit_Information (CRGSEIF, CRGSEIF1,CRG4SEIF) exit_number parameter
Exit

Exit Number in:
Hexadecimal
(Decimal)
Equate Symbol

EXIT_FAILED

1
(1)
CTX_EXIT_FAILED_EXIT

CONTEXT_SWITCH

2
(2)
CTX_SWITCH_EXIT

PVT_CONTEXT_OWNER

3
(3)
CTX_PRIVATE_CONTEXT_OWNER

END_CONTEXT

4
(4)
CTX_END_CONTEXT_EXIT

EOM_CONTEXT

5
(5)
CTX_EOM_CONTEXT_EXIT

For RRS, the exit routines and the numbers assigned by the exit manager are:
Table 3. Set_Exit_Information (CRGSEIF, CRGSEIF1,CRG4SEIF) exit number paramater
Exit

Exit Number in:
Hexadecimal
(Decimal)
Equate Symbol

STATE_CHECK

1
(1)
ATR_STATE_CHECK_EXIT

PREPARE

2
(2)
ATR_PREPARE_EXIT

DISTRIBUTED_SYNCPOINT

3
(3)
ATR_DISTRIBUTED_SYNCPOINT_EXIT

COMMIT

4
(4)
ATR_COMMIT_EXIT

BACKOUT

5
(5)
ATR_BACKOUT_EXIT

END_UR

6
(6)
ATR_END_UR_EXIT

EXIT_FAILED

7
(7)
ATR_EXIT_FAILED_EXIT

COMPLETION

8
(8)
ATR_COMPLETION_EXIT

ONLY_AGENT

9
(9)
ATR_ONLY_AGENT_EXIT

SUBORDINATE_FAILED

A
(10)
ATR_SUBORDINATE_FAILED_EXIT

PRE_PREPARE

B
(11)
ATR_PRE_PREPARE_EXIT

,exit_entry
Supplied parameter
  • Type: Integer
  • Length: 4 bytes
Specifies the entry point for an exit routine, as follows:
  • The address of the routine
  • Binary zeros, to indicate no exit routine

When the call specifies more than one exit routine, code the parameters as a 1-dimensional array.

Do not specify zero for a required exit routine.

If zero is specified, the exit is not set. If a subsequent Set_Exit_Information call specifies zero for an exit that was previously set, the exit routine is deleted from the list of exit routines for this resource manager. However, if the previously set exit routine is required, the system does not delete the exit routine and continues to use the previously specified address or PC number.

,exit_entry8
Supplied parameter
  • Type: Integer
  • Length: 8 bytes

Specifies the entry point for an exit routine, as follows:

When the call specifies more than one exit routine, code the parameters as a 1-dimensional array.

Do not specify zero for a required exit routine. If an exit address is specified, the system only supports a padded 31-bit address.

If you coded CTX_EXIT_TYPE_SRB on the exit_type parameter, the high order word should be binary zeros, the low order word is the address of the SRB routine.

If you coded CTX_EXIT_TYPE_PC or ATR_EXIT_TYPE_PC on the exit_type parameter, the high word must contain zeros.

If you coded CTX_EXIT_TYPE_PCS or ATR_EXIT_TYPE_PCS on the exit_type parameter, the high word must contain the sequence number.

If zero is specified, the exit is not set. If a subsequent Set_Exit_Information call specifies zero for an exit that was previously set, the exit routine is deleted from the list of exit routines for this resource manager. However, if the previously set exit routine is required, the system does not delete the exit routine and continues to use the previously specified address or PC number.

,exit_entry64
Supplied parameter
  • Type: Integer
  • Length: 8 bytes

Specifies the entry point for an exit routine, as follows:

When the call specifies more than one exit routine, code the parameters as a 1-dimensional array.

Do not specify zero for a required exit routine. If an exit address is specified, the system only supports a padded 64-bit address.

If you coded CTX_EXIT_TYPE_SRB on the exit_type parameter, the high order word should be binary zeros, the low order word is the address of the SRB routine.

If you coded CTX_EXIT_TYPE_PC or ATR_EXIT_TYPE_PC on the exit_type parameter, the high word must contain zeros.

If you coded CTX_EXIT_TYPE_PCS or ATR_EXIT_TYPE_PCS on the exit_type parameter, the high word must contain the sequence number.

If zero is specified, the exit is not set. If a subsequent Set_Exit_Information call specifies zero for an exit that was previously set, the exit routine is deleted from the list of exit routines for this resource manager. However, if the previously set exit routine is required, the system does not delete the exit routine and continues to use the previously specified address or PC number.

,exit_type
Supplied parameter
  • Type: Integer
  • Length: 4 bytes

Specifies the type of exit routine, based on how the system is to give the routine control. When the call specifies more than one exit routine, code the parameters as a 1-dimensional array.

If the exit_entry value is zero, the system ignores the exit_type value; you can specify binary zeros as the exit_type value.

The exit types are defined by each exit manager.

For context services, the exit types valid for PKM 0–7 or supervisor state resource managers are:
Table 4. Set_Exit_Information (CRGSEIF, CRGSEIF1,CRG4SEIF) exit_type parameter

Constant in:
Hexadecimal
(Decimal)
Equate Symbol

Description

1
(1)
CTX_EXIT_TYPE_SRB

SRB: The system schedules an SRB in the resource manager's address space to give control to the exit routine.

2
(2)
CTX_EXIT_TYPE_PC

Program call (PC): The system issues a PC instruction to give control to the exit routine.

3
(3)
CTX_EXIT_TYPE_PCS

Program call (PC): The system issues a PC instruction to give control to the exit routine which is defined through a PC number with a sequence number.
Note: Context services does not support any exit types for PKM 8–15 problem state resource managers.
For RRS, the exit types valid for PKM 0–7 or supervisor state resource managers are:
Table 5. Set_Exit_Information (CRGSEIF, CRGSEIF1,CRG4SEIF) exit_type parameter

Constant in:
Hexadecimal
(Decimal)
Equate Symbol

Description

1
(1)
ATR_EXIT_TYPE_SRB

SRB: The system schedules an SRB in the resource manager's address space to give control to the exit routine.

2
(2)
ATR_EXIT_TYPE_PC

Program call (PC): The system issues a PC instruction to give control to the exit routine.

3
(3)
ATR_EXIT_TYPE_PCS

Program call (PC): The system issues a PC instruction to give control to the exit routine which is defined through a PC number with a sequence number.
Note: RRS does not support PKM 8–15 problem state resource managers.
,variable_data_1
Supplied/Returned parameter
  • Type: Integer
  • Length: 4 bytes

For Context Services, specifies the address of a storage area containing the name of the RRS resource manager that will assume ownership of privately-managed contexts when the address space owning the privately-managed contexts terminates. See Private context delegation for a description of private context delegation to RRS.

The storage area has the following format:
  • A 4–byte data area length
  • A 4–byte data area version
  • A 32–byte resource manager name. Currently, the only resource manager that supports private context delegation is RRS. The RRS resource manager name is: ATR.RESOURCEMANAGER.IBM
Note: The data area length includes the length and version fields, not just the RM name. For example, this parameter's length is 40 bytes.

When private context delegation is requested, privately-managed contexts are marked as needing private context delegation when they are created by the Begin_Context call.

For example:

  1. A work manager requests private context delegation.
  2. It creates a privately managed context.
  3. It turns off private context delegation by calling Set_Exit_Information again, specifying hexadecimal zeros for variable_data_1.
  4. It creates a new privately managed context.
Note: After this sequence of events, the privately-managed context from step 2 will still go through private context delegation if the work manager terminates. The new privately managed context from step 4 will not go through private context delegation if the work manager terminates.

For RRS, specifies the address of the prefix required if the resource manager is to issue a call to the Retrieve_Work_Identifier service and specify that the service is to generate an LUWID.

The prefix has the following format:
  • A 1-byte hexadecimal integer that specifies the length of the prefix.
  • The prefix for a unit of work identifier (UWID); the system uses the prefix as the LU name when generating an LUWID.
    The prefix of an LUWID has the following format:
         netid.luname
    where:
    netid.luname
    1-17 character identifier of the network and LU, preceded by a 1-byte length field

Exit managers other than Context Services and RRS expect variable_data_1 to contain binary zeros. If you do not need the UWID prefix or private context delegation, specify binary zeros.

,variable_data_2
Supplied/Returned parameter
  • Type: Integer
  • Length: 4 bytes
If the exit manager does not expect any data, specify binary zeros in this parameter. If the exit manager is RRS (ATR.EXITMGR.IBM), variable_data_2 has the following format:
Table 6. Set_Exit_Information (CRGSEIF, CRGSEIF1,CRG4SEIF) variable_data_2 parameter
Byte and Name Meaning

0
ATR_EXIT_OPTION_FLAGS

Flags that control RRS exit processing

1
ATR_RESOURCE_MANAGER_OPTION
   _FLAGS

Flags that specify resource manager options to RRS

2–3
ATR_VARDATA_2_RSRVD_2_3

Reserved for IBM® use. You must set these bytes to 0.
ATR_EXIT_OPTION_FLAGS has the following format:
Table 7. Set_Exit_Information (CRGSEIF, CRGSEIF1,CRG4SEIF) variable_data_2 parameter
Bit and Name Meaning

0
ATR_EF_ON_LATER_WITH_ASYNC

RRS is to drive the resource manager's EXIT_FAILED exit when both of the following are true:
  • An exit responds (or has responded) ATRX_LATER.
  • The dispatchable unit that requested the syncpoint has abended asynchronously or was running in an address space that has been terminated.

1–7
ATR_EXIT_OPTS_RSRVD

Reserved for IBM use. You must set these bits to 0.
ATR_RESOURCE_MANAGER_OPTION_FLAGS has the following format:
Table 8. Set_Exit_Information (CRGSEIF, CRGSEIF1,CRG4SEIF) variable_data_2 parameter
Bit and name Meaning

0
ATR_SUPPORTS_LOCAL_TRAN_MODE

Indicates that the resource manager supports local transaction mode; RRS can permit this resource manager to express interest in local transaction mode URs.

1
ATR_8K_RM_METADATA_REQUESTED

Indicates that the resource manager wants to be able to set and retrieve up to 8K of RM Metadata.

2–7
ATR_RM_OPTS_RSRVD

Reserved for IBM use. You must set these bits to 0.

If ATR_EF_ON_LATER_WITH_ASYNC is not set and an exit responds (or has responded) ATRX_LATER, RRS will not drive any exit routines but will wait for Post_Deferred_UR_Exit to supply the deferred response.

,variable_data_3
Supplied/Returned parameter
This parameter can be:
  • Data in a 4-byte field supplied to the exit manager.
  • A 4-byte field to receive character data from the exit manager.

The exit manager defines the data to be specified or received.

If the exit manager does not expect any data, specify binary zeros in this parameter. Nothing is returned in this parameter.

ABEND codes

The call might result in an abend X'AC7' with a reason code of X'00360000', X'00360001', or X'00360002'. See z/OS MVS System Codes for the explanations and actions.

Return codes

When the service returns control to the resource manager, GPR 15 and return_code contain a hexadecimal return code.

Table 9. Set_Exit_Information (CRGSEIF, CRGSEIF1,CRG4SEIF) Return codes

Return Code in:
Hexadecimal
Equate Symbol

Meaning and Action

0
CRG_OK

Meaning: Successful completion.

Action: None.

103
CRG_INTERRUPT_STATUS_INV

Meaning: Program error. The resource manager is disabled; the interrupt status must be enabled for I/O and external interrupts. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

105
CRG_LOCKS_HELD

Meaning: Program error. The resource manager is holding one or more locks; no locks must be held. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

107
CRG_UNSUPPORTED_RELEASE

Meaning: Environmental error. The system release does not support this service. The system rejects the service call.

Action: Remove the resource manager from the system, and install it on a system that supports registration services. Then rerun the resource manager.

301
CRG_RM_TOKEN_INV

Meaning: Program error. The resource manager token specified in the call is incorrect. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

305
CRG_SEIF_CURRENTLY_INVOKED

Meaning: Program error. The resource manager is currently setting exits with this exit manager. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

310
CRG_NOTIF_EXIT_TYPE_INV

Meaning: Program error. The notification exit type specified in the call is not valid, possibly because the resource manager is PKM 8–15 problem state. The system rejects the service call.

Action: Check the calling program for a probable coding error. Correct the calling program and rerun it.

311
CRG_NOTIF_EXIT_ENTRY_INV

Meaning: Program error. The NOTIFICATION exit entry provided in the call is not valid. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

320
CRG_EM_NAME_INV

Meaning: Program error. The exit manager name specified in the call is syntactically incorrect. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

340
CRG_EXIT_CNT_INV

Meaning: Program error. The exit count specified in the call exceeds the total number of exits for the exit manager. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

341
CRG_EXIT_NUM_INV

Meaning: Program error. The exit number specified in the call is not valid. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

342
CRG_EXIT_TYPE_INV

Meaning: Program error. The exit type specified in the call is not valid, possibly because the resource manager is PKM 8–15 problem state. The system rejects the service call.

Action: Check the calling program for a probable coding error. Correct the calling program and rerun it.

343
CRG_VAR1_INV

Meaning: Program error. The data in the variable_data_1 parameter is not valid for this exit manager. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

344
CRG_VAR2_INV

Meaning: Program error. The data in the variable_data_2 parameter is not valid for this exit manager. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

345
CRG_VAR3_INV

Meaning: Program error. The data in the variable_data_3 parameter is not valid for this exit manager. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

346
CRG_REQ_EXIT_NOT_SET

Meaning: Program error. The call failed to specify an exit routine that is required by the exit manager. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

347
CRG_DELEXIT_INV

Meaning: Program error. The call attempted to delete an exit routine that is required by the exit manager by specifying zero for the exit routine in the exit_entry parameter. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

348
CRG_DUP_EXIT_SET

Meaning: Program error. The call tried to set a duplicate exit; that is, the resource manager has already set, with this exit manager, an exit with the specified number. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

349
CRG_EXIT_TYPE_SRV

Meaning: Program error. The exit type specified is valid for this exit manager but is not valid for this exit. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

34A
CRG_EXIT_ENTRY_INV

Meaning: Program error. The exit_entry value specified on the call is not valid for this exit manager. You might, for example, have specified zero when the corresponding exit_number specifies a value. The system rejects the service call.

Action: Check the resource manager for a probable coding error. Correct the resource manager and rerun it.

720
CRG_EM_STATE_ERROR

Meaning: Environmental error. The exit manager specified in the call is not registered as an exit manager. The system rejects the service call.

Action: When the exit manager registers, the system gives control to a notification exit routine, if specified in the call. The notification exit routine can issue the set exit routine call again.

Note: The exit manager might never register.

756
CRG_AUTH_FAILURE

Meaning: Program error. The resource manager is PKM 8–15 problem state and specified a resource manager token that does not belong to a PKM 8–15 problem state resource manager registered in the home address space. The system rejects the service call.

Action: Check the calling program for a probable coding error. Correct the calling program and rerun it.

758
CRG_EM_FAILED_RM_AUTH

Meaning: Program error. The exit manager specified in the call does not support PKM 8–15 problem state resource managers. The system rejects the service call.

Action: Check the calling program for a probable coding error. Correct the calling program and rerun it.

FFF
CRG_UNEXPECTED_ERROR

Meaning: System error. The service that was called encountered an unexpected error. The system rejects the service call.

Action: Search problem reporting databases for a fix for the problem. If no fix exists, contact the IBM Support Center.

1000 - FFFF Meaning: Additional returns codes that the specific exit manager can issue.

Action: See the information about the exit manager. The return codes that RRS issues are defined in Installing an exit routine. The return codes that Context Services issues are defined in Installing an exit routine.

Example

In the pseudocode example, the resource manager issues a call to set its exit routines with context services. Because context services does not require any variable data, the call has null variable data parameters. Because context services is always available, the call does not specify a notification exit routine.
⋮
RM_TOKEN = MY_RM_TOKEN
EM_NAME = CTXSER_NAME
EXIT_CNT = 2
EXIT_NUM(1) = CTX_END_CONTEXT_EXIT
EXIT_ADDR(1) = ADDR(END_EXIT_PROC)
EXIT_TYPE(1) = CRG_EXIT_TYPE_SRB
EXIT_NUM(2) = CTX_SWITCH_EXIT
EXIT_ADDR(2) = ADDR(SWITCH_PROC)
EXIT_TYPE(2) = CRG_EXIT_TYPE_SRB
CALL CRGSEIF(RC,RM_TOKEN,CRG_EXIT_TYPE_NONE,CRG_NULL_PARAMETER,
             EM_NAME,EXIT_CNT,EXIT_NUM,EXIT_ADDR,EXIT_TYPE,
             CRG_NULL_PARAMETER,CRG_NULL_PARAMETER,
             CRG_NULL_PARAMETER)
⋮

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014