Execution of DFSDDLT0 in IMS regions

DFSDDLT0 is designed to operate in a DL/I or BMP region but can be executed in an IFP or MPP region. In a BMP or DL/I region, the EXEC statement allows the program name to be different from the PSB name. There is no problem executing calls against any database in a BMP or DL/I region.

In an MPP region, the program name must be the same as the PSB name. To execute a DFSDDLT0 program in an MPP region, you must give DFSDDLT0 the PSB name or an alias of the PSB named in the IMS™ definition. You can use a temporary step library.

In an MPP region or a BMP region with an input transaction code specified in the EXEC statement, DFSDDLT0 normally gets input by issuing a GU and GNs to the I/O PCB. DFSDDLT0 issues GU and GN calls until it receives the "No More Messages" status code, QC. If there is a SYSIN DD statement and a PRINTDD DD statement in the dependent region, DFSDDLT0 reads input from SYSIN and SYSIN2, if present, and sends output to the PRINTDD. If the dependent region is an MPP region and the input stream does not cause a GU to be issued to the I/O PCB before encountering end-of-file from SYSIN, the program will implicitly do a GU to the I/O PCB to get the message that caused the program to be scheduled. If the input stream causes a GU to the I/O PCB and a "No More Messages" status code is received, this is treated as the end of file. When input is from the I/O PCB, you can send output to PRINTDD by coding a 1 or an A in column 2 of the STATUS statement.

Because the input is in fixed form, it is difficult to key it from a terminal. To use DFSDDLT0 to test DL/I in a message region, execute another message program that reads control statements stored as a member of a partitioned set. Insert these control statements to an input transaction queue. IMS then schedules the program to process the transactions. This method allows you to use the same control statements to execute in any region type.