DFSDLR00

DFSDLR00 is the DL/I Retrieve module. It performs all of the processing needed to retrieve a segment for a get call or to establish position for an insert call (except HISAM root insert). DFSDLR00 is the only IMS module that actually retrieves and positions IMS database segments. It is composed of many internal subroutines.

DFSDLR00 is invoked by the DL/I call analyzer, DFSDLA00. It will return to DFSDLA00 for a get call with the fields in the DBPCB. If the segments are available, they will be in the user I/O area. For insert calls, control is passed to the IMS load/insert module DFSDDLE0.

DFSDLR00 processes all database types (except GSAM) including logical relationships. It processes qualified calls, unqualified calls, and all command codes. It will invoke the user randomizer and segment edit/compression routines as appropriate. It also invokes the locking needed for database integrity.

Hints

Depending on the type of processing, the DL/I retrieve module DFSDLR00 can easily use 20% to 50% of the CPU for a job. This is not necessarily a problem. See IMS Application Performance Analysis for a discussion of IMS call processing and performance analysis.

If CPU time to this module seems high, reorganizing the databases may reduce CPU time to DFSDLR00.

Reference Sources

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