DFSPCC20

DFSPCC20 is the IMS Program Controller for MPP and BMP environments. Its main job is to invoke the application program.

DFSPCC20 is invoked by the IMS region controller DFSRRC00 via module DFSRRC10 in an MPP environment or module DFSRRC40 in a BMP environment. When it is first entered, it sets up the region environment and control blocks. It then links to itself to catch application programs that do not exit properly. An example is a COBOL program that ends with a STOP RUN instead of a GOBACK.

At its second level DFSPCC20 first preloads the reentrant modules in the region preload list, establishes the Virtual Fetch environment, and then it loads the non-reentrant preloaded modules. It is now ready to process the application.

DFSPCC20 also has an ESTAE routine to trap any application abends so it can clean up the environment, and in a MPP environment, keep the region up. In the event of an abend, all non-reentrant preloaded modules will be deleted and then reloaded.

Hints

Most of the work DFSPCC20 does involves loading the preloaded modules and invoking the application program. If there is a large preload list and the modules are not reentrant, and there are frequent abends in this region, such as in an application development environment, this can be quite noticeable. The modules are actually loaded by module DFSMODU0. Significant CPU use by the MVS load SVC, SVC 008, indicates a problem in this area.

For non-preloaded modules, DFSPCC20 will first issue an MVS BLDL SVC, SVC 018, to locate the module in the STEPLIB concatenation, and then issue a LINK SVC, SVC 006, to invoke the module. Examine the iStrobe reports for high CPU use by these SVCs. The overhead of the BLDL SVC can be minimized by using the maximum number of entries in the MPP internal BLDL list.

Reference Sources

More information is available in the IMS SVSOURCE Library Data Set. See your IMS systems programmer.