Sample program customization

You can write your autoinstall control program in any of the languages supported by CICS®. The control program has full access to the CICS application and system programming interfaces.

If you customize the supplied control program, or write your own version, note these points:
  • Input: The first two fields of the parameter list are input-only fields and must not be altered by your program.
  • Output: The remaining fields on the parameter list are input/output or output-only fields, which you can use to specify attributes that override the fields of the model definition.
  • Some of the output fields in the parameter list are not applicable to map sets or partition sets. CICS ignores any parameters you specify that are not applicable to the type of object being installed.
  • Any attributes you return to CICS in the parameter list are used to modify the model definition, and CICS installs the modified definition. After installation, the definition can be modified normally by using the CICS Explorer® Programs operations view, the EXEC CICS SET PROGRAM command, or the CEMT SET PROGRAM command.
  • If you modify your control program, you can make the new version available by using the NEWCOPY option or attribute in the view or command.
  • You can discard definitions after they have been installed; they are reinstalled when next referenced.
  • You must ensure that the parameters you return to CICS are valid, and consistent with other system attributes in your CICS region. For example:
    • Do not return PGAC_LPA_YES on the PGAC_USE_LPA_COPY parameter if CICS is running with the system initialization parameter LPA=NO.
    • Do not return PGAC_USER_KEY (which is the default) on the PGAC_EXECUTION_KEY parameter if the task for which your control program is called is running with CICS-key task-lifetime storage.
      You can determine the storage key for the task by testing the TASKDATAKEY option in its transaction definition with the following EXEC CICS commands:
      • EXEC CICS ADDRESS EIB
      • EXEC CICS INQUIRE TRANSACTION(EIBTRANS) TASKDATAKEY(…)

Important

When you create an autoinstalled program definition, CICS ignores the program language specified on the model program definition. CICS determines the language from the load module itself, when the autoinstalled program is started.

However, CICS does not deduce characteristics other than language from the load module. These other program characteristics must be explicitly defined by the autoinstall control program or by RDO. If your programs have varying characteristics (varying AMODE or DATALOCATION requirements, for example), you must be able to distinguish between the various types when using autoinstall. Keep a list of exceptions to the default characteristics, and code your autoinstall control program to reference this list; or you might decide to install explicit RDO definitions of the exceptions.