Release a loaded program, table, or mapset.
RELEASE
>>-RELEASE--PROGRAM(name)--------------------------------------><
Conditions: INVREQ, NOTAUTH, PGMIDERR
This command is threadsafe.
Note for dynamic transaction routing: Using RELEASE
of a program LOADed with HOLD could create inter-transaction affinities
that adversely affect the use of dynamic transaction routing. See Affinity for
more information about transaction affinities.
Description
RELEASE releases the program,
table, or mapset previously loaded by a LOAD command. This means that
the issuing task can no longer use the resource unless another LOAD
is issued.
Note: RELEASE does not remove a program from storage.
It reduces the RESCOUNT by 1 and when the count reaches zero, the
storage occupied by the program can be released by CICS storage
manager.
If the HOLD option is specified in the LOAD command,
the loaded resource is not released at the end of the task. It can
only be released by a RELEASE command. This RELEASE command may be
issued by the task that loaded the resource or by any other task.
If
the HOLD option is not specified in the LOAD command, the loaded resource
is released at the end of the task. It may, however, be released before
this by the task that loaded the resource issuing a RELEASE command.
Options
- PROGRAM(name)
- specifies
the identifier (1–8 characters) of a program, table, or mapset to
be released.
Conditions
- 16 INVREQ
- RESP2
values:
- 5
- An invalid attempt is made by the program to release itself. A
RELEASE command for the program that contains this command is allowed
only when a corresponding LOAD command for the program has been issued
from the same task, or when a LOAD command with the HOLD option has
been issued from another task.
- 6
- The command is issued for a program that is not loaded.
- 7
- Either the command is issued for a program that was loaded, without
the HOLD option, by another task; or the program has been enabled
as a global user exit .
- 17
- The program is defined with RELOAD=YES. It must be released by
a FREEMAIN rather than a RELEASE command.
- 30
- The program manager domain has not yet been initialized. This
is probably due to a release request having been made in a first stage
PLT.
Default action: terminate the task abnormally.
- 70 NOTAUTH
- occurs
when a resource security check has failed on PROGRAM(name).
Default
action: terminate the task abnormally.
- 27 PGMIDERR
- RESP2
values:
- 1
- A program, table, or mapset has no installed resource definition.
- 2
- A program, table, or mapset is disabled.
- 9
- The installed program definition is for a remote program.
- 42
- An attempt has been made to RELEASE a JVM program. This is invalid
because Java™ byte codes programs are not
managed by CICS Loader.
Default action: terminate the task abnormally.
Examples
The following example
shows how to release an application program, called PROG4, loaded
in response to a LOAD command:
EXEC CICS RELEASE PROGRAM('PROG4')