DFSCPY00

DFSCPY00 is called the Inter-region Copy module, but it actually is more than that. It is the interface between the program request handler DFSPR0X0, the IMS call analyzer DFSDLA00, and for certain calls, the IMS synchpoint module.

When it is first invoked, DFSDLA00 validates the caller's environment and establishes fields in various control blocks to set up for the call to IMS. It then invokes the DL/I Call Analyzer DFSDLA00 to perform initial validation of the call.

In an online IMS environment, as opposed to batch IMS, there are two copies of the PCBs: I/O area and SSAs (and the AIB control block, if used). The local copy is in the dependent region, and is the copy the application sees. The IMS copy is in a different part of storage and is accessed by the IMS modules. The I/O area, SSAs, and AIB block are copied to the IMS area at the beginning of the call. Module DFSCPY30 moves the I/O area and SSAs.

After the areas have been copied, either DFSDLA00 is called for a second pass for database calls, or module DFSDLA30 is invoked for TP calls. At this time the IMS DL/I or TP call processing modules will be invoked. When the call is complete, control returns to DFSCPY00. The I/O area, AIB control block, and any affected PCBs are then copied back from the IMS area to the dependent region, and control is returned to the program request handler.

Hints

DFSCPY00 validates, initializes, and processes each IMS call. In a heavy call environment, it is not uncommon for 5% of the CPU to be used by DFSCPY00 and DFSCPY30. Implementing performance improvements so that the calling pattern is efficient is the key to controlling this resource usage.

Module DFSCPY00 sets a special code every time it writes a record to the IMS DCMONITOR. If IMSASAP II is used to format the trace data, the percentage of time for DL/I calls spent in DFSCPY00 will be reported.

Reference Sources

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