Culprit can be uninstalled from all or some systems. However, there are some modules used by Culprit which are also used by other IDMS procedures and products; so if Culprit is uninstalled then the non-Culprit versions of those programs must be installed after that is complete.
There is a way to uninstall Culprit, but it is complex because Culprit requires certain load modules which are also used by IDMS for other reasons. So there are Culprit and non-Culprit versions of these load modules. To un-install Culprit, you have to remove the Culprit versions of these load modules then re-install the non-Culprit versions. Also, remember that since our maintenance tapes are module replacements as of 17.0, you will have to repeat this process every time you apply a new maintenance tape or APAR which has an update to these modules.
If there are multiple systems, some with Culprit and some without, then you are probably using cloned systems. Here are the steps to uninstall Culprit from a cloned system.
- Clone a Receive job and point the SMPPTFIN DD card to these two lines:
This is called the little two-line 'killer' sysmod.
- Run the Receive job to begin the uninstall.
//SMPCSI DD your csi
//SMPPTFIN DD *
//SMPCNTL DD *
- Run Apply Check, Apply, Accept Check and Accept jobs to finish installing the 'killer' sysmod. This uninstalls Culprit, including modules CULP0, CULE and CULL. Unfortunately, a system is not complete without a version of these modules, so you now need to install the non-Culprit versions of CULP0, CULE, and CULL.
- Allocate a small source library and a small object library. Each one only needs to be big enough for one module. These libraries are staging datasets only and can/should be deleted after the uninstall has been completed and verified.
- Clone Job 2 from the base install and modify it. You'll need the LINKIPDS, IPDSOBJ and IPDSSRC steps but not the DIRLDATA step. The CAIIPDS DD statements in the IPDSOBJ and IPDSSRC steps should point to the two libraries you allocated earlier in step 4. In both the IPDSOBJ and IPDSSRC steps, delete all the COMPONENT cards but one, and change the component to GJ6. You don't need to modify or delete any PASSWORD cards.
- Run the cloned Job 2. It requires the install tape and downloads CULWINCH into the object library and CGJG006 into the source library.
- Clone Job 04 (Receive) from the base install and modify it. Point the SMPCSI card to your new CSI. The only FMID you need is CGJG006, so it might be easiest to change CGJG005 to CGJG006 and delete all the other ones.
- Run the modified job to Receive CGJG006.
- Modify and run the Apply (Job 5) and Accept (Job 6) jobs to finish installing the non-Culprit versions of CULE, CULL and CULP0. The SMPCSI DD statement should point to your new CSI and the INDSRC and INDOBJ DD statements should point to the datasets you allocated earlier. The only FMID you need is CGJG006. Since you're not installing into empty loadlibs and CSI, it might be a good idea to run an Apply Check before the Apply and an Accept Check before the Accept.
You can use the CLONExx jobs in SAMPJCL to make a clone of the system. You can't just copy datasets because the CSI contains DDDEFs which point to the original dataset names and the zone indexes contain the name of the CSI internally. So if you want to maintain both loadlibs, you'll need a Cloned environment to maintain them independently.
As an alternative to the approach above, you could establish two separate CSIs; one which includes Culprit and one which does not, and simply run two distinct installs every time you apply maintenance; once with Culprit and once without. You can choose whichever approach seems easier to you.
If you have only a single system, and wish to uninstall Culprit, you can follow the above steps then for future installs simply do not specify the Culprit product.