Program definition attributes

The program definition attribute descriptions are:

Cedf
specifies the action of the execution diagnostic facility (EDF) when the program is running under EDF control.
NO
The EDF diagnostic screens are not displayed.
YES
The EDF diagnostic screens are displayed. If the program is translated with the NOEDF option, only the program initiation and termination EDF screens are displayed.
Concurrency
specifies whether the program is written to threadsafe standards, or is only quasi-reentrant. You can specify the CONCURRENCY attribute for all CICS® executable program objects:

However, there are special considerations for user-replaceable programs, task-related user exit programs, and global user exit programs. See the CICS Customization Guide for information about these categories of threadsafe program.

QUASIRENT
The program is quasi-reentrant only, and relies on the serialization provided by CICS when accessing shared resources.

The program is restricted to the CICS permitted programming interfaces, and must comply with the CICS quasi-reentrancy rules. For details of these, seethe CICS Application Programming Guide.

This value is supported for all executable programs.

CICS ensures that the program always executes under the QR TCB, even when control is returned after it has invoked a JVM or an open API task-related user exit, or when it interacts with threadsafe programs.

THREADSAFE
The program is written to threadsafe standards, and when it accesses shared resources it takes into account the possibility that other programs may be executing concurrently and attempting to modify the same resources. The progam, therefore, uses appropriate serialization techniques when accessing any shared resources.

Note that JVM programs must be defined as threadsafe.

For information about CICS DB2® application programs, see the CICS DB2 Guide.

For information about writing threadsafe application programs, see the CICS Application Programming Guide.

This value is supported for all executable programs. Threadsafe programs must be Language Environment®-conforming, or be assembler programs.

You can also specify the program CONCURRENCY attribute using a program autoinstall exit, if program autoinstall is active.

Datalocation
Commands using the SET option can return a data address to an application program; this operand specifies the location of the data.
ANY
The program can handle 31-bit addresses. The address of the data can be above or below the 16MB line.
BELOW
The program can handle only 24-bit addresses and must therefore only be given data located below the 16MB line. If necessary, data is copied below the 16MB line before passing its address to the application program.
Description
(Optional.) Specifies a 1- to 30-character description of the resource.
Dynamic
specifies whether, if the program is the subject of a program-link request, the request can be dynamically routed.
NO
If the program is the subject of a program-link request, the dynamic routing program is not invoked.

For a distributed program link (DPL) request, the server region on which the program is to execute must be specified explicitly on the REMOTESYSTEM attribute of the PROGRAM definition or on the SYSID option of the EXEC CICS LINK command; otherwise it defaults to the local region.

YES
If the program is the subject of a program-link request, the CICS dynamic routing program is invoked. Providing that a remote server region is not named explicitly on the SYSID option of the EXEC CICS LINK command, the routing program can route the request to the region on which the program is to execute.

The DYNAMIC attribute takes precedence over the REMOTESYSTEM attribute--see the description of the REMOTESYSTEM attribute.

For guidance information about the dynamic routing of DPL requests, see the CICS Intercommunication Guide.

Execkey
specifies the key in which CICS gives control to the program, and determines whether the program can modify CICS-key storage.
CICS
This specifies that CICS is to give control to the program in CICS key when it is invoked.
USER
This specifies that CICS is to give control to the program in user key when it is invoked.
Executionset
Specifies whether you want CICS to link to and run a program as if it were running in a remote CICS region.
DPLSUBSET
Specify DPLSUBSET if you want CICS to link to the program and run it with the API restrictions of a remote DPL program.
FULLAPI
Specify FULLAPI if you want CICS to link to the program and run it without the API restrictions of a DPL program. The program can use the full CICS API.
Hotpool(NO|YES)
Specifies whether or not the Java™ program object is to be run in a preinitialized Language Environment enclave reused by multiple invocations of the program, under control of an H8 TCB. Programs defined with Hotpool (YES) must also be defined with CONCURRENCY (THREADSAFE).

Start of changeHOTPOOL is valid only in CICS Transaction Server 2.2 and 2.3.End of change

Note:
A Java program object is a Java program that has been processed by the VisualAge® for Java Enterprise Toolkit for OS/390® bytecode binder.
NO
The Java program object is not to be run in a preinitialized Language Environment enclave.
YES
The Java program object is to be run in a preinitialized Language Environment enclave.
Jvm
specifies whether or not the program is a Java program that has to operate under the control of a Java Virtual Machine (JVM).
NO
The program is not to operate under a JVM.
YES
The program is to operate under a JVM. Specify a class name in the JVMCLASS attribute if you specify JVM(YES).
Note:
In addition to YES and NO, you can also specify DEBUG, but in compatibility mode only. DEBUG is valid only in CICS Transaction Server 1.3.
Jvmclass
specifies the main class in a Java program to be run under the control of a JVM.
This class name can be overridden using the user-replaceable programs DFHJVMAT (see the CICS Customization Guide). You can use DFHJVMAT to specify a class name larger than 255 characters.

Note that this attribute applies only to Java applications running under the control of a JVM. If you specify JVM(NO), at program execution time CICS ignores any value specified in the JVMClass field.

JVM Profile
specifies the JVM profile name. The default value is DFHJVMPR. The name can be up to eight characters in length.

Do not use profile names beginning with DFH, because these characters are reserved for use by CICS.

Language
specifies the program language.
ASSEMBLER
This is an assembler language program.
C
This is a C/370™ program not compiled by a Language Environment-conforming compiler.
COBOL
Start of changeThis is a COBOL program.End of change
LE370
LANGUAGE(LE370) must be specified if the program exploits multi-language support, or if the program has been compiled by a Language Environment-conforming compiler.
PLI
This is a PL/I program.
RPG
For CICS/MVS 2.1.2 system, an RPG program.
In most cases, you do not need to specify the LANGUAGE attribute, because the CICS program manager deduces the correct language and ignores the value you have specified. However, in the following cases, CICS cannot deduce the language, and you must specify the appropriate value: If the language is not specified, and CICS cannot deduce it, transactions that attempt to use the program will aband with code ALIG.

Although, in most cases, you do not need to specify a value for this attribute, you should be aware that the value specified is returned in the LANGDEDUCED and LANGUAGE options of the INQUIRE PROGRAM command. Programs that use this command may be affected if you change the value of this attribute.

This attribute is irrelevant for JVM programs; CICS deduces that the program is a Java program to run under the control of a JVM when JVM(YES) is specified.

If you intend to share the CSD file with a level of CICS prior to CICS/ESA 4.1, do not leave this field blank, because -- in the earlier release -- the default value is COBOL, which may not be correct.

Name
Specify a 1- to 8-character name for the program definition.
Reload
specifies whether a program control link, load, or XCTL request is to bring in a fresh copy of a program. This attribute does not apply to JVM programs.

For more information about the RELOAD attribute, see CICS Performance Guide.

Remotename
(Optional.) specifies, if the program resides on a remote system, the name by which the program is known in the remote CICS region. If you specify RemoteSystem and omit Remotename, the Remotename attribute defaults to the same name as the local name (that is, the program name on this resource definition).
RemoteSystem
Start of change

(Optional.) If you want CICS to ship a DPL request to another CICS system, specify the system ID of the remote system. This value must be the name of the connection definition (CONNDEF) for the link to the remote system.

CICSPlex® SM uses this system ID only if the program is part of a resource group that is directly associated with a resource description (via RESINDSC). If the program is being assigned by a resource assignment (RASGNDEF), CICSPlex SM sets the remote system according to the rules, as follows:

USAGE MODE
Action
LOCAL N/A
Remotesystem value from PROGDEF is used
REMOTE STAT
Remotesystem value set to SYSID of the related system
REMOTE DYNAM
Remotesystem value from PROGDEF is used
End of change
RESGROUP
(Optional.) Specify the name of an existing resource group to which the definition is to be automatically added.
Resident
specifies the residence status of the program. This attribute does not apply to JVM programs.

For more information about the effects of the RESIDENT attribute, see the CICS Performance Guide.

For CICS/MVS™ 2.1.2 systems, specify the resource security value to be associated with the program:
0
Transactions with RSL checking specified are not allowed to access the program.
value
A resource security value, in the range 1 through 24.
PUBLIC
Any transaction is allowed to access the program.
For systems running a version of CICS other than CICS/MVS 2.1.2, leave this field blank.
Status
specifies the program status.
DISABLED
The program may not be used.
ENABLED
The program may be used.
Transid
If the program is dynamic, this is the default TRANSID used for the distributed program link (DPL) request. If the program is not dynamic, this specifies the name of the transaction you want the remote CICS to attach, and under which it is to run the remote program. If you do not specify a transaction name on the TRANSID attribute, the remote region executes the DPL program under one of the following CICS-supplied default mirror transactions:
CPMI
This is the CICS mirror transaction for LU6.2 connections that specify data conversion.
CSMI
This is the CICS ISC mirror transaction for MRO and LU6.2 connections with sync level 2.
CVMI
This is the CICS/VM mirror transaction for LU6.2 connections with synclevel 1.
Usage
specifies when the storage for this program is released. This attribute does not apply to JVM programs.
NORMAL
When the use count for this program reaches zero, it becomes eligible for removal from storage as part of the normal dynamic program compression process.

This value must be specified if RELOAD(YES) is specified.

TRANSIENT
When the use count for this program becomes zero, the storage for this program is released. This value should be specified for programs that are referenced infrequently.
UseLPAcopy
specifies whether the program is to be used from the link pack area (LPA). This attribute does not apply to JVM programs.
NO
The program is not to be used from the LPA. It is loaded into the CICS address space.
YES
The program can be used from the LPA if LPA=YES is specified as a system initialization parameter.
User Data
(Optional.) Three 8-character fields provided for any site-specific data related to the program. CICSPlex SM makes no use of this user data.
Version
(Optional.) Specify an integer in the range 1 through 15. Specify 0 or leave blank for CICSPlex SM to assign the first available version id in the range 1 through 15.

Related concepts
Program resource definitions
CICS Resource Definition Guide
Related tasks
Accessing BAS program definitions
Working with the PROGDEF view
Defining programs using BAS
Installing BAS program definitions
[[ Contents Previous Page | Next Page Index ]]