Interface IProgramDefinition

    • Method Detail

      • getChangeAgent

        IProgramDefinition.ChangeAgentValue getChangeAgent()
        Getter for field CHANGEAGENT

        Last modification agent

        The change agent identifier that made the last modification.

        • CSDAPI - The resource was last changed by a CEDA transaction, by the programmable interface to DFHEDAP or by an EXEC CICS CSD command.
        • CSDBATCH - The resource was last changed by a DFHCSDUP job.
        • DREPAPI - Resource was last changed by a CICSPlex SM API command.
        • N_A - Resource was created or last updated prior to CICS TS Version 4 Release 1 and support for resource signatures.
      • getCedf

        ICICSEnums.YesNoValue getCedf()
        Getter for field CEDF

        Display execution diagnostic facility (EDF) screens

        Indicates whether EDF diagnostic screens are displayed. If the program was translated with the EDF option, all EDF screens are displayed; if it was translated with NOEDF, only the program initiation and termination screens appear. CVDA values are:

        • CEDF - EDF diagnostic screens are displayed. If the program was translated with the EDF option, all EDF screens are displayed; if it was translated with NOEDF, only the program initiation and termination screens appear.
        • NOCEDF - No EDF screens are displayed.
        • NOTAPPLIC - EDF is not applicable because the module is a remote program, a map set, or a partition set.
      • getDatalocation

        IProgramDefinition.DatalocationValue getDatalocation()
        Getter for field DATALOCATION

        Data location

        Indicates whether this module can accept data addresses higher than 16MB. CVDA values are:

        • ANY - The program can accept an address above 16MB.
        • BELOW - The program requires any data address returned to it from CICS to be less than 16MB.
        • NOTAPPLIC - The option is not applicable because the module is a remote program, a map set, or a partition set.
      • getExeckey

        IProgramDefinition.ExeckeyValue getExeckey()
        Getter for field EXECKEY

        Program execution key

        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
      • getExecutionset

        IProgramDefinition.ExecutionsetValue getExecutionset()
        Getter for field EXECUTIONSET

        API subset restriction type

        Specifies whether you want CICS to link to and run a program as if it were running in a remote CICS region.

      • getLanguage

        IProgramDefinition.LanguageValue getLanguage()
        Getter for field LANGUAGE

        Language

        The program language. Options are: ASSEMBLER, C, COBOL, LE370, PLI.

        Specify LE370 if the program exploits multi-language support, or if the program has been compiled by a Language Environment-conforming compiler.

        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. If the language is not specified, and CICS cannot deduce it, transactions that attempt to use the program will aband with code ALIG.

      • getReload

        ICICSEnums.YesNoValue getReload()
        Getter for field RELOAD

        Reload new copy

        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.

        • NO - Any valid copy of the program currently in storage is reused for the request.
        • YES - A fresh copy of the program is brought into storage for every request. Furthermore, each of these program copies must be removed from storage explicitly, using a storage control FREEMAIN request, when it is no longer required and before the transaction terminates. If the relevant FREEMAINs are not issued, areas of the DSA/EDSA become tied up with inaccessible program copies, potentially causing storage shortage or fragmentation. Note: If a new version of the program has been placed in the LIBRARY concatenation, a NEWCOPY or PHASEIN must be issued for the program before the new version will be loaded.

          RELOAD(YES) can be used to load tables or control blocks that are modified by execution of any associated programs. It should not be specified for the first program loaded for a task. This is because the task would have no way of issuing a FREEMAIN for the program.

          You must specify RELOAD(YES) for nonreentrant programs.

      • getStatus

        ICICSEnums.EnablementValue getStatus()
        Getter for field STATUS

        Enabled status

        Indicates whether the module is available for use. CVDA values are:

        • DISABLED - The module is not available for use.
        • ENABLED - The module is available for use.
      • getUselpacopy

        ICICSEnums.YesNoValue getUselpacopy()
        Getter for field USELPACOPY

        Use program from the link pack area (LPA)

        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
      • getUsage

        IProgramDefinition.UsageValue getUsage()
        Getter for field USAGE

        Program storage release

        Indicates when the storage for this program should be released:

        • NORMAL : When the use count of the program reaches zero, it becomes eligible for removal from storage as part of the normal dynamic storage compression process.
        • TRANSIENT : When the use count of the program reaches zero, the storage is released.
      • getResident

        ICICSEnums.YesNoValue getResident()
        Getter for field RESIDENT

        Residence status

        The residence status of the program. This attribute does not apply to JVM programs.

      • getRemotename

        java.lang.String getRemotename()
        Getter for field REMOTENAME

        Program name in remote system

        (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, this attribute defaults to the same name as the local name (that is, the program name on this resource definition).

      • getRemotesystem

        java.lang.String getRemotesystem()
        Getter for field REMOTESYSTEM

        Remote system name

        (Optional.) If you want CICS to ship a DPL request to another CICS system, specify the system ID of the remote system. If REMOTENAME is specified then a value must be specified for REMOTESYSTEM. This value must be the name of the connection definition (CONNDEF or IPCONDEF) 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(LOCAL) MODE(N/A): Remote system value from program definition is used.
        • USAGE(REMOTE) MODE(DYNAM): Remote system value from program definition is used.
        • USAGE(REMOTE) MODE(STAT): Remote system value set to the SYSID of the related system.
      • getTransid

        java.lang.String getTransid()
        Getter for field TRANSID

        Mirror transaction name for remote attach

        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 CICS-supplied default mirror transactions.

      • getUserdata1

        java.lang.String getUserdata1()
        Getter for field USERDATA1

        User data area 1

        Optional string of up to 8 characters that allows you to provide additional site-specific data related to the BAS resource definition. This field is ignored for CICS CSD resource definitions.

      • getUserdata2

        java.lang.String getUserdata2()
        Getter for field USERDATA2

        User data area 2

        Optional string of up to 8 characters that allows you to provide additional site-specific data related to the BAS resource definition. This field is ignored for CICS CSD resource definitions.

      • getUserdata3

        java.lang.String getUserdata3()
        Getter for field USERDATA3

        User data area 3

        Optional string of up to 8 characters that allows you to provide additional site-specific data related to the BAS resource definition. This field is ignored for CICS CSD resource definitions.

      • getDynamic

        ICICSEnums.YesNoValue getDynamic()
        Getter for field DYNAMIC

        Dynamic routing status

        Indicates whether, if the program is the subject of a program-link request, the request can be dynamically routed. CVDA values are:

        • DYNAMIC - 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 LINK command, the routing program can route the request to the region on which the program is to execute.
        • NOTDYNAMIC - 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 option of the PROGRAM definition or on the SYSID option of the LINK command; otherwise it defaults to the local region.
      • getConcurrency

        IProgramDefinition.ConcurrencyValue getConcurrency()
        Getter for field CONCURRENCY

        Concurrency status

        The concurrency attribute of the installed program definition. The CVDA values are:

        • QUASIRENT - The program is defined as being quasi-reentrant, and is able to run only under the CICS QR TCB.
        • THREADSAFE - The program is defined as threadsafe, and is able to run under whichever TCB is in use by its user task when the program is given control. This could be either an open TCB or the CICS QR TCB. The program must be coded to threadsafe standards.
        • REQUIRED - The program is required to run on an open TCB. The type of open TCB used depends on the setting of the Application program interface attribute and the language of the program.
          • For Java programs a T8, J8 or J9 is used. J8 and J9 TCBs are obsolete from CICS Transaction Server Version 5 onwards.
          • For C or C++ XPLINK programs an X8 or X9 is used.
          • For Cobol, Pli, non-xplink C and assembler programs if CICSAPI is set, an L8 TCB is always used as CICS services run in CICS key or USER key regardless of the key of the TCB. If OPENAPI is set, then an L8 or an L9 TCB is used dependent upon the execution key of the program.
          The program must be coded to threadsafe standards.
      • getJvm

        IProgramDefinition.JvmValue getJvm()
        Getter for field JVM

        Java virtual machine (JVM) mode

        Specifies whether or not the program is a Java program that has to operate under the control of a Java Virtual Machine (JVM).

      • getJvmclass

        java.lang.String getJvmclass()
        Getter for field JVMCLASS

        Java virtual machine (JVM) class

        • For OSGi bundles in an OSGi JVM server this value is the name of the OSGi service.
        • For Liberty applications in a Liberty JVM server this is the name of the service.
        • For Java programs in a JVM pool this is the class name qualified by the package name.
      • getHotpool

        ICICSEnums.YesNoValue getHotpool()
        Getter for field HOTPOOL

        Hot pooling status

        The HOTPOOLING option is obsolete.

      • getJvmprofile

        java.lang.String getJvmprofile()
        Getter for field JVMPROFILE

        Java virtual machine (JVM) profile

        This is obsolete from CICS TS Version 5 Release 1. The JVM profile name. 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.

      • getApi

        IProgramDefinition.ApiValue getApi()
        Getter for field API

        Application program interfaces

        The API attribute of the installed program definition. The API attribute is used for application programs, PLT programs, user replaceable modules and task related user exits. The API attribute is not used for global user exits. CVDA values are:

        • CICSAPI - The program is restricted to use of the CICS permitted application programming interfaces only. Dependent upon the program's CONCURRENCY setting, the application will either always run on the quasi-reentrant (QR) TCB, or if it is defined as threadsafe it may run on whichever TCB in use by CICS at the time which is determined as suitable.
        • OPENAPI - The program is not restricted to the CICS permitted application programming interfaces only. CICS will execute the program on its own open TCB dependent upon the EXECKEY setting. If when executing a CICS command, CICS requires a switch to QR TCB, it will return to the open TCB before handing control back to the application program. OPENAPI requires the program to be coded to threadsafe standards and defined with CONCURRENCY(REQUIRED).
      • getJvmserver

        java.lang.String getJvmserver()
        Getter for field JVMSERVER

        Java virtual machine (JVM) server

        The JVMSERVER resource to be used by this PROGRAM. The name can be up to eight characters in length. You must specify an EXECKEY of CICS and a Concurrency status of REQUIRED if the PROGRAM uses a JVMSERVER.