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.