Some programs are chosen for residency because IDEAL/IPC/VPE counts on them to remain at a fixed address. Making these programs non-resident will eventually lead to random ASRA abends or storatge violations.
Other programs are made resident because they are "VPE globally loaded". The use count is altered to ensure they always remain in storage even if they are specified as RES=NO. Under later release of CICS an EXEC CICS HOLD command is issued. Specifically RES=NO in these instances will actually increase the amount of storage used.
Still, other programs are chosen for residency because they are very small. Making small programs non-resident will cause each module to use a page of storage when loaded instead of being able to fit several on a single page. That means if at any time more than one of these modules is in storage, a non-resident load will actually require more storage in the CICS region.
Lastly, some programs are resident because they are highly used.
Each program specified below will be designated as either "required" or "global load". The "required" programs MUST maintain RES=YES on the PPT entry, and the "global load" programs should maintain RES=YES on the PPT entry for the reasons stated above.
SCF - SC00CVTP (pointed to by SCB) REQUIRED
- SC00TRAN (pointed to by SCB) REQUIRED
- SC00SECR (pointed to by SCB) REQUIRED
PSS - SCPSMAIN (pointed to by SCB) REQUIRED
PMS - PMSPNS1 (pointed to by SCB) REQUIRED
- PMSEDIT (pointed to by LPCB) REQUIRED
- PMSTBLS (pointed to by PACB) REQUIRED
- PMSTRUC (pointed to by PACB) REQUIRED
- PMSTRND (pointed to by PACB) REQUIRED
- PMSV#R# GLOBAL LOAD
- PMSTBLS GLOBAL LOAD
No VPE programs have to be resident. However, it is strongly suggested that VPEHJEnn and VPEHJNnn (where nn corresponds to the CICS release you are running, is made resident.
For example, if you are running CICS 6.8 (CTS 5.1), then VPEHJE68 and VPEHJN68 should be resident. This program is used at least once for every VPE-based product transaction.