|
- 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:
Minimum authorization: |
None |
Dispatchable unit mode: |
Task or SRB |
Cross memory mode: |
Any PASN, any HASN, any SASN |
AMODE: |
31 bit (CRGSEIF)
31 bit (CRGSEIF1)
64 bit (CRG4SEIF)
|
ASC mode: |
Primary or access register (AR) |
Interrupt status: |
Enabled for I/O and external interrupts |
Locks: |
No locks held |
Control parameters: |
Control parameters must be in the primary address space and
addressable by the resource manager. |
Linkage: |
Standard MVS™ linkage conventions
are used. |
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.
CALL CRGSEIF
|
(return_code
,resource_manager_token
,notification_exit_type
,notification_exit_entry
,exit_manager_name
,exit_count
,exit_number
,exit_entry
,exit_type
,variable_data_1
,variable_data_2
,variable_data_3)
|
CALL CRGSEIF1
|
(return_code
,resource_manager_token
,notification_exit_type
,notification_exit_entry8
,exit_manager_name
,exit_count
,exit_number
,exit_entry8
,exit_type
,variable_data_1
,variable_data_2
,variable_data_3)
|
CALL CRG4SEIF
|
(return_code
,resource_manager_token
,notification_exit_type
,notification_exit_entry64
,exit_manager_name
,exit_count
,exit_number
,exit_entry64
,exit_type
,variable_data_1
,variable_data_3)
|
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: - This exit type is not supported for PKM 8-15 problem state resource
managers.
- 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:
- ,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 parameterExit |
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
paramaterExit |
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:
- A work manager requests private context delegation.
- It creates a privately managed context.
- It turns off private context delegation by calling Set_Exit_Information
again, specifying hexadecimal zeros for variable_data_1.
- 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 parameterByte 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 parameterBit 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 parameterBit 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)
⋮
|