Module 12: CICS Resource Definitions and Administration
Program Definitions
A PROGRAM definition tells CICS about each load module your application uses - which language it is written in, where it may load in storage, and whether CICS may reload a fresh copy while the region runs.
What a program definition contains
- PROGRAM - the 1 to 8 character name CICS knows the load module by. EXEC CICS LINK PROGRAM('ORDPGM') uses this name.
- LANGUAGE - COBOL, ASSEMBLER, PLI, C, or LE370 for Language Environment programs. Pick the one the module was compiled with.
- DATALOCATION - ANY lets the program load above the 16MB line (31-bit); BELOW keeps it under the line for old 24-bit code.
- EXECUTIONSET - FULLAPI allows all EXEC CICS commands; DPLSUBSET restricts a program that only runs distributed.
- RELOAD - YES lets CICS load a fresh copy after a NEWCOPY; NO keeps the first loaded copy.
- RESIDENT - rarely YES; keeps the program in storage permanently. Default NO is fine for almost everything.
- STATUS - ENABLED or DISABLED, like transactions.
- CEDF - YES means the execution diagnostic facility stops in this program during debugging.
Loading and refreshing programs
- The first LINK, XCTL or LOAD brings the module into storage from the DFHRPL concatenation.
- After you recompile, the running region still uses the old copy until you refresh it.
- Refresh with CEMT SET PROGRAM(name) NEWCOPY, or CEDA ALTER PROGRAM then INSTALL, or EXEC CICS SET PROGRAM(name) NEWCOPY from a program.
- With RELOAD(YES), CICS fetches a completely fresh copy; with RELOAD(NO) it reuses the loaded copy where possible.
Example - define a COBOL program and refresh it after a recompile:
CEDA DEFINE PROGRAM(ORDPGM) GROUP(ORDGRP)
LANGUAGE(COBOL)
DATALOCATION(ANY)
EXECUTIONSET(FULLAPI)
RELOAD(YES)
STATUS(ENABLED)
CEDA INSTALL GROUP(ORDGRP)
* after recompiling ORDPGM:
CEMT SET PROGRAM(ORDPGM) NEWCOPY
