Data Definition utility
Use the IMS Data Definition utility (DFS3ID00) to submit Data Definition Language (DDL) SQL statements without the need of IMS Connect and ODBM address spaces.
The Data Definition utility writes the metadata for your application programs (PSBs) and
databases definitions to the IMS Catalog records and the runtime blocks to the staging directory
dataset. If AUTOIMPORT(CREATE) is specified in the <CATALOG>
section of
the DFSDFxxx PROCLIB member, then IMS will activate application and database resource
definitions in an online IMS system by importing them from the staging directory data set and
updating the IMS Catalog HEADER segment for the imported resources.
PARM=(DLI,DFS3ID00,DFSCP001,,,,,,,,,,,Y,Y,irlmid,,,,,,,,,,,'DFSDF=001')
A Commit DDL statement defines the scope of the unit of work and drives the core of DDL processing – enabling Insert Record (IR) into the IMS Catalog, Block Building, and Auto Import. If a Commit DDL statement and an AUTOCOMMIT control option are not specified, the utility will perform the Auto Rollback DDL and the utility ends with return code 4.
The output of the DFS3ID00 utility includes a report that contains warnings, negative sqlcodes in case of the failure, and status about the DDL statements processed by the utility. The report also includes information about the DDL events for the diagnostic purposes.
Restrictions
- If a table has the Restrict on Drop attribute, users are restricted from dropping the object until the attribute is removed.
Prerequisites
- IMS managed ACBs must be enabled
- 64-bit virtual storage is used
- You are running IMS 15.3
Requirements
- Resources that you intend to use with the Data Definition utility must be specified to IMS. If you do not specify all resources properly, IMS will generate many OLDs of logs for each execution of the DDL generation batch utility.
Recommendations
Currently, no recommendations are documented for the Data Definition utility.
Input and output
The input to the DFS3ID00 utility is semicolon terminated DDL statements that you can provide in any of the following ways:
- Inline with the JCL
- In a single or multiple data set that the JCL references
The utility returns messages to the SYSPRINT output data sets that are defined in the JCL.
Return codes
The following return codes are provided at program termination.
- Return code
- Meaning
- 0
- No errors were detected, the utility successfully completed.
- 4
- Warning, look for DFS MESSAGES for more details in the job log.
- 12
- Utility failed, look for DFS MESSAGES for more details in the job log.
- 16
- Unable to attach to the region controller.
- 18
- Utility failed, look for DFS MESSAGES for more details in the job log.
- 20
- PSB (DFSCP001) is offline during the attach to the region controller.
- 22
- DD card is missing during the attach to the region controller.
- 24
- The SYSPRINT DD statement was missing or invalid.
- 28
- IMS ID supplied on the region controller parm is not active.
- 32
- An abend occurred during DDL processing after successful attach to the region controller.
JCL specifications
The DFS3ID00 utility run in a BMP region. The following JCL statements are required:
- An EXEC statement
- DD statements that define inputs and outputs
The following is a sample of the JCL statements that can be used to define and manage database and application program definitions by running the DFS3ID00 utility in a BMP job. The JCL specifies the IMS catalog update PSB DFSCP001. In this example, IMSID is the identifier of the IMS system on which the job is to be run.
Sample 1 - In which DDL statements are specified inline:
//BMP3ID00 JOB 'IMS SYSTEM',CLASS=K,MSGLEVEL=(1,1),REGION=0M
//BMP EXEC PGM=DFS3ID00,
// PARM=(BMP,DFS3ID00,DFSCP001,,,,,,,,,,,IMSID,,,,,,)
//STEPLIB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//DFSRESLB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//PROCLIB DD DSN=IMSVS.PROCLIB2,DISP=SHR
// DD DSN=IMSTESTG.I%%%TS%%.PROCLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//IMSSQL DD *
DROP PROGRAMVIEW DYNPSB;
COMMIT DDL;
//BMP3ID00 JOB 'IMS SYSTEM',CLASS=K,MSGLEVEL=(1,1),REGION=0M
//BMP EXEC PGM=DFS3ID00,
// PARM=(BMP,DFS3ID00,DFSCP001,,,,,,,,,,,IMSID,,,,,,)
//STEPLIB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//DFSRESLB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//PROCLIB DD DSN=IMSVS.PROCLIB2,DISP=SHR
// DD DSN=IMSTESTG.I%%%TS%%.PROCLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//IMSSQL DD DISP=SHR,UNIT=SYSDA,VOL=SER=VOL001,
// DSN=USER1.DDL(DEDBJN21)
// DD DISP=SHR,UNIT=SYSDA,VOL=SER=VOL000,
// DSN=USER.DDL(DEDBJN41)
//BMP3ID00 JOB 'IMS SYSTEM',CLASS=K,MSGLEVEL=(1,1),REGION=0M
//BMP EXEC PGM=DFS3ID00,
// PARM=(BMP,DFS3ID00,DFSCP001,,,,,,,,,,,IMSID,,,,,,)
//STEPLIB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//DFSRESLB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//PROCLIB DD DSN=IMSVS.PROCLIB2,DISP=SHR
// DD DSN=IMSTESTG.I%%%TS%%.PROCLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSINID DD *
VERBOSE AUTOCOMMIT
//IMSSQL DD DISP=SHR,UNIT=SYSDA,VOL=SER=VOL001,
// DSN=USER1.DDL(TESTDB01)
// DD DISP=SHR,UNIT=SYSDA,VOL=SER=VOL000,
// DSN=USER.DDL(TESTPSB1)
//BMP3ID00 JOB 'IMS SYSTEM',CLASS=K,MSGLEVEL=(1,1),REGION=0M
//BMP EXEC PGM=DFS3ID00,
// PARM=(BMP,DFS3ID00,DFSCP001,,,,,,,,,,,IMSID,,,,,,)
//STEPLIB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//DFSRESLB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//PROCLIB DD DSN=IMSVS.PROCLIB2,DISP=SHR
// DD DSN=IMSTESTG.I%%%TS%%.PROCLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSINID DD *
SIMULATE
//IMSSQL DD DISP=SHR,UNIT=SYSDA,VOL=SER=VOL001,
// DSN=USER1.DDL(TESTDB02)
// DD DISP=SHR,UNIT=SYSDA,VOL=SER=VOL000,
// DSN=USER.DDL(TESTPSB2)
//BMP3ID00 JOB 'IMS SYSTEM',CLASS=K,MSGLEVEL=(1,1),REGION=0M
//BMP EXEC PGM=DFS3ID00,
// PARM=(BMP,DFS3ID00,DFSCP001,,,,,,,,,,,IMSID,,,,,,)
//STEPLIB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//DFSRESLB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//PROCLIB DD DSN=IMSVS.PROCLIB2,DISP=SHR
// DD DSN=IMSTESTG.I%%%TS%%.PROCLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSINID DD *
*SIMULATE *VERBOSE AUTOCOMMIT
//IMSSQL DD DISP=SHR,UNIT=SYSDA,VOL=SER=VOL001,
// DSN=USER.DDL(TESTDB02)
// DD DISP=SHR,UNIT=SYSDA,VOL=SER=VOL000,
// DSN=USER.DDL(TESTPSB2)
//BMP3ID00 JOB 'IMS SYSTEM',CLASS=K,MSGLEVEL=(1,1),REGION=0M
//BMP EXEC PGM=DFS3ID00,
// PARM=(BMP,DFS3ID00,DFSCP001,,,,,,,,,,,IMSID,,,,,,)
//STEPLIB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//DFSRESLB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//PROCLIB DD DSN=IMSVS.PROCLIB2,DISP=SHR
// DD DSN=IMSTESTG.I%%%TS%%.PROCLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSINID DD *
AUTOCOMMIT
//IMSSQL DD *
CREATE DATABASE DEMODB1;
CREATE TABLE T1(C1 INT PRIMARY KEY);
/*
// DD DISP=SHR,UNIT=SYSDA,VOL=SER=VOL001,
// DSN= USER.DDL(TESTDB03)
// DD DISP=SHR,UNIT=SYSDA,VOL=SER=VOL002,
// DSN= USER.DDL(TESTDB03)
// DD *
DROP PROGRAMVIEW DEMOPSB1 IF EXISTS;
CREATE PROGRAMVIEW DEMOPSB1
(CREATE SCHEMA S1 USING DEMODB1 AS S1
(CREATE SENSEGVIEW T1)
) LANGASSEM;
/*
Any datasets concatenated with inline must be FB LRECL 80.
//BMP3ID00 JOB 'IMS SYSTEM',CLASS=K,MSGLEVEL=(1,1),REGION=0M
//BMP EXEC PGM=DFS3ID00,
// PARM=(BMP,DFS3ID00,DFSCP001,,,,,,,,,,,IMSID,,,,,,)
//STEPLIB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//DFSRESLB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//PROCLIB DD DSN=IMSVS.PROCLIB2,DISP=SHR
// DD DSN=IMSTESTG.I%%%TS%%.PROCLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSINID DD *
VERBOSE
//IMSSQL DD *,DLM=@@
/*
1ST IS DATABASE
*/
DROP DATABASE DEMODB1 IF EXISTS;
CREATE DATABASE DEMODB1;
CREATE TABLE T1(C1 INT PRIMARY KEY);
COMMIT DDL;
/*
2ND DATABASE
HAS COMMENT OVER TWO LINES
*/
DROP DATABASE DEMODB2 IF EXISTS;
CREATE DATABASE DEMODB2;
CREATE TABLE T1(C1 INT PRIMARY KEY);
COMMIT DDL;
/* 3RD IS A PSB */
DROP PROGRAMVIEW DEMOPSB IF EXISTS;
CREATE PROGRAMVIEW DEMOPSB(CREATE SCHEMA S1 USING DEMODB1
AS DEMODB1 (CREATE SENSEGVIEW T1),
CREATE SCHEMA S2 USING DEMODB2
AS DEMODB2 (CREATE SENSEGVIEW T1) ) LANGASSEM;
COMMIT DDL;
/* END OF ALL DDL STATEMENTS */
@@
- Both Single and Multi-line comments start with /* and end with */.
- Use the VERBOSE control option to print comments along with the full text of the DDL statements in the job output.
- Use DLM if comments are included within the in-line DDL statements.
//BMP3ID00 JOB 'IMS SYSTEM',CLASS=K,MSGLEVEL=(1,1),REGION=0M
//BMP EXEC PGM=DFS3ID00,
// PARM=(BMP,DFS3ID00,DFSCP001,,,,,,,,,,,IMSID,,,,,,)
//STEPLIB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//DFSRESLB DD DSN=IMSTESTL.TNUC0,DISP=SHR
// DD DSN=IMSBLD.I%%%TS%%.CRESLIB,DISP=SHR
//PROCLIB DD DSN=IMSVS.PROCLIB2,DISP=SHR
// DD DSN=IMSTESTG.I%%%TS%%.PROCLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSINID DD *
AUTOCOMMIT DYNAMICPROGRAMVIEW=(CREATEYES)
//IMSSQL DD *
CREATE PROGRAMVIEW DYNPSB1
(CREATE SCHEMA S1 USING DEMODB1 AS S1
(CREATE SENSEGVIEW T1)
) LANGASSEM;
/*
The DYNAMICPROGRAMVIEW control option only applies to programviews (not databases) in the IMSSQL DD input.
//DLI3ID00 JOB 'IMS SYSTEM',CLASS=K,MSGLEVEL=(1,1),REGION=0M
//DLI EXEC PGM=DFS3ID00,
// PARM=(DLI,DFS3ID00,DFSCP001,,,,,,,,,,,Y,N,,,,,,,,,,
// ,,'DFSDF=001')
//STEPLIB DD DSN=IMS.SDFSRESL,DISP=SHR
//DFSRESLB DD DSN=IMS.SDFSRESL,DISP=SHR
//PROCLIB DD DSN=IMS.PROCLIB,DISP=SHR
//SYSABEND DD SYSOUT=* DUMP DATA SET
//SYSPRINT DD SYSOUT=* MESSAGES, STATISTICS
//IEFRDER DD ... LOG DATA SET WITH CATALOG UPDATES
//DFSVSAMP DD ... BUFFER POOL PARAMETERS
//SYSINID DD *
AUTOCOMMIT
//IMSSQL DD *
CREATE DATABASE DEMODB1;
CREATE TABLE T1 (C1 CHAR(20) PRIMARY KEY);
CREATE PROGRAMVIEW DEMOPSB1
(CREATE SCHEMA S1 USING DEMODB1 AS S1
(CREATE SENSEGVIEW T1)
) LANGASSEM;
ALTER TABLE T2 IN DATABASE DEMODB2 MAXBYTES 200;
DROP PROGRAMVIEW DEMOPSB2 IF EXISTS;
/*
- IRLM support is indicated in this example and is necessary if authorization of the catalog database exists.
- DROP DDL in a DL/I batch region requires the IMSplex to be offline.
//DLI3ID00 JOB 'IMS SYSTEM',CLASS=K,MSGLEVEL=(1,1),REGION=0M
//DLI EXEC PGM=DFS3ID00,
// PARM=(DLI,DFS3ID00,DFSCP001,,,,,,,,,,,Y,Y,irlmid,,,,,,,,,
// ,,'DFSDF=001')
//STEPLIB DD DSN=IMS.SDFSRESL,DISP=SHR
//DFSRESLB DD DSN=IMS.SDFSRESL,DISP=SHR
//PROCLIB DD DSN=IMS.PROCLIB,DISP=SHR
//SYSABEND DD SYSOUT=* DUMP DATA SET
//SYSPRINT DD SYSOUT=* MESSAGES, STATISTICS
//IEFRDER DD ... LOG DATA SET WITH CATALOG UPDATES
//DFSVSAMP DD ... BUFFER POOL PARAMETERS
//SYSINID DD *
AUTOCOMMIT DYNAMICPROGRAMVIEW
//IMSSQL DD *
CREATE PROGRAMVIEW DYNPSB1
(CREATE SCHEMA S1 USING DEMODB1 AS S1
(CREATE SENSEGVIEW T1)
) LANGASSEM;
DROP PROGRAMVIEW DYNPSB2 IF EXISTS;
/*
- The DYNAMICPROGRAMVIEW control option in DL/I batch region only accepts programviews (not databases) in the IMSSQL DD input. Specification of databases in IMSSQL DD input is not supported.
- IRLM support is indicated and is necessary if authorization of the catalog database exists.
Sample 11- In which ACTIVATE control option is specified in a DL/I batch region.
//DLI3ID00 JOB 'IMS SYSTEM',CLASS=K,MSGLEVEL=(1,1),REGION=0M
//DLI EXEC PGM=DFS3ID00,
// PARM=(DLI,DFS3ID00,DFSCP001,,,,,,,,,,,Y,N,,,,,,,,,,
// ,,'DFSDF=001')
//STEPLIB DD DSN=IMS.SDFSRESL,DISP=SHR
//DFSRESLB DD DSN=IMS.SDFSRESL,DISP=SHR
//PROCLIB DD DSN=IMS.PROCLIB,DISP=SHR
//SYSABEND DD SYSOUT=* DUMP DATA SET
//SYSPRINT DD SYSOUT=* MESSAGES, STATISTICS
//IEFRDER DD ... LOG DATA SET WITH CATALOG UPDATES
//DFSVSAMP DD ... BUFFER POOL PARAMETERS
//SYSINID DD *
ACTIVATE
/*
- Use of the DYNAMICPROGRAMVIEW control option in DL/I batch regions only accepts programviews in the IMSSQL DD input. Specification of databases in IMSSQL DD input is not supported.
- IRLM support is indicated in this example and is necessary if authorization of the catalog database exists.
//DLI3ID00 JOB 'IMS SYSTEM',CLASS=K,MSGLEVEL=(1,1),REGION=0M
//DLI EXEC PGM=DFS3ID00,
// PARM=(DLI,DFS3ID00,DFSCP001,,,,,,,,,,,Y,N,,,,,,,,,,
// ,,'DFSDF=001')
//STEPLIB DD DSN=IMS.SDFSRESL,DISP=SHR
//DFSRESLB DD DSN=IMS.SDFSRESL,DISP=SHR
//PROCLIB DD DSN=IMS.PROCLIB,DISP=SHR
//SYSABEND DD SYSOUT=* DUMP DATA SET
//SYSPRINT DD SYSOUT=* MESSAGES, STATISTICS
//IEFRDER DD ... LOG DATA SET WITH CATALOG UPDATES
//DFSVSAMP DD ... BUFFER POOL PARAMETERS
//RSCLST DD *
DEMODB1
DEMOPSB1
%%%PSB
D*S*T%R
*/
//SYSINID DD *
ACTIVATE
/*
- Use of the ACTIVATE control option with RSCLST DD in DL/I batch regions requires the IMSplex to be offline.
- Inline resource names on RSCLST DD must be newline separated. Resource name must start at column 1.
- Associated relative resources from the staging will also be activated.
//DLI3ID00 JOB 'IMS SYSTEM',CLASS=K,MSGLEVEL=(1,1),REGION=0M
//DLI EXEC PGM=DFS3ID00,
// PARM=(DLI,DFS3ID00,DFSCP001,,,,,,,,,,,Y,N,,,,,,,,,,
// ,,'DFSDF=001')
//STEPLIB DD DSN=IMS.SDFSRESL,DISP=SHR
//DFSRESLB DD DSN=IMS.SDFSRESL,DISP=SHR
//PROCLIB DD DSN=IMS.PROCLIB,DISP=SHR
//SYSABEND DD SYSOUT=* DUMP DATA SET
//SYSPRINT DD SYSOUT=* MESSAGES, STATISTICS
//IEFRDER DD ... LOG DATA SET WITH CATALOG UPDATES
//DFSVSAMP DD ... BUFFER POOL PARAMETERS
//RSCLST DD *
DEMODB2
DEMOPSB2
DEMOPSB3
*/
//SYSINID DD *
ACTIVATE-NOCHECK
/*
- Only resources specified on RSCLST DD will be activated; associated relative resources will not be pulled in and not activated.
- The ACTIVATE control option with RSCLST DD in DL/I batch region requires the IMSplex to be offline.
- DFS9044E may be issued as a result of improperly specifying resources on the RSCLST DD.
//DLI3ID00 JOB 'IMS SYSTEM',CLASS=K,MSGLEVEL=(1,1),REGION=0M
//DLI EXEC PGM=DFS3ID00,
// PARM=(DLI,DFS3ID00,DFSCP001,,,,,,,,,,,Y,N,,,,,,,,,,
// ,,'DFSDF=001')
//STEPLIB DD DSN=IMS.SDFSRESL,DISP=SHR
//DFSRESLB DD DSN=IMS.SDFSRESL,DISP=SHR
//PROCLIB DD DSN=IMS.PROCLIB,DISP=SHR
//SYSABEND DD SYSOUT=* DUMP DATA SET
//SYSPRINT DD SYSOUT=* MESSAGES, STATISTICS
//IEFRDER DD ... LOG DATA SET WITH CATALOG UPDATES
//DFSVSAMP DD ... BUFFER POOL PARAMETERS
//SYSINID DD *
AUTOACTIVATE
/*
//IMSSQL DD *
CREATE DATABASE DEMODB2;
CREATE TABLE T1 (C1 CHAR(20) PRIMARY KEY);
CREATE PROGRAMVIEW DEMOPSB2
(CREATE SCHEMA S1 USING DEMODB2 AS S1
(CREATE SENSEGVIEW T1)
) LANGASSEM;
COMMIT DDL;
/*
The AUTOACTIVATE control option in DL/I batch region requires the IMSplex to be offline.
DD statements
- IMSSQL DD
-
Defines the SQL DDL statements to be run. You can specify the DDL statements inline or in a data set. Any data sets concatenated with inline must be FB LRECL 80. The following concatenations are not supported:
- You cannot mix FB and VB data sets.
- You cannot have concatenated FB data sets with different LRECLs.
- You cannot have VB data sets concatenated with inline.
- PROCLIB DD
-
Defines the IMS.PROCLIB data set that contains the DFSDFxxx member that defines various attributes of the IMS catalog that are required by the utility.
- STEPLIB DD
-
Points to IMS.SDFSRESL, which contains the IMS nucleus and required IMS modules. If STEPLIB is unauthorized, you must include a DFSRESLB DD statement.
- SYSABEND DD
-
Defines the dump data set.
- SYSPRINT DD
-
Defines the output message data set.
When the SYSPRINT DD statement refers to a DASD or tape data set, you can control the block size of this data set with the BLKSIZE sub-parameter of the DCB parameter. If specified, the BLKSIZE value must be an exact multiple of 132 or a system ABEND013-20 can result. Omitting BLKSIZE from a DASD data set causes a system-determined block size to be used.
Regardless of what value is specified for LRECL, the utility will always use a record length of 132.
- DDLTRACE DD
-
Defines the output DDL events data set. This is optional DD card. If not supplied to the utility, then DDL events are printed to SYSPRINT data set.
- SYSINID DD
-
An optional control statement sequential data set with 80-character fixed-length records. Only characters in positions 1 - 72 are read. The control statement parameters, which are separated by blanks, can be specified on one or more records.
For a description of the control statements that you can specify with the SYSINID DD statement, see Control statements.
- RSCLST DD
-
Defines the output resource list data set. Name and type of resources are written to the data set. This is optional DD card.
Defines the input inline resource names or resource list data set for ACTIVATE control option to activate specific members.
- DFSVSAMP
-
Defines the buffer pool parameters data set.
- IEFRDER DD
-
Defines the primary IMS log data set.
- IEFRDER2 DD
-
Defines the secondary IMS log data set.
- DFSRESLB DD
-
Points to an authorized library that contains the IMS SVC modules. For IMS batch, SDFSRESL and SDFSRESL and any data set that is concatenated to it on the DFSRESLB DD statement must be authorized through the Authorized Program Facility (APF). This DD statement provides an authorized library for the IMS SVC modules, which must be in an authorized library. The JOBLIB or STEPLIB statement does not need to be authorized for IMS batch.
Control statements
The following control statement parameters, which are separated by blanks, can be specified on one or more records by using the SYSINID DD statement.
- VERBOSE
-
Specifies that the DFS3ID00 utility will print full text of the DDL statements in the job log. If VERBOSE control option is not specified, then utility will only print full text of failing DDL statement.
- AUTOCOMMIT
-
Specifies that the DFS3ID00 utility will perform auto Commit if no COMMIT DDL statement is provided by the user. If user does not specify AUTOCOMMIT control option or COMMIT DDL statement, then utility will perform auto ROLLBACK DDL.
- SIMULATE
-
Specifies that the DFS3ID00 utility will perform simulation of DDL statements which includes parser validations, commit level validations, block builder validations, and DROP DDL cross-reference validations. SIMULATE control option has higher precedence over AUTOCOMMIT control option and COMMIT DDL statement. All simulation driven changes to IMS Catalog and Directory data set will be rolled back upon the completion of the simulation. SIMULATE control option will not exercise AUTOIMPORT for CREATE and ALTER DDL statements.
- DYNAMICPROGRAMVIEW=(CREATEYES | CREATENO)
-
Specifies that the DFS3ID00 utility will automatically Import all the input CREATE PROGRAMVIEWs. If CREATEYES is specified, then PDIR will be created with the DOPT flag ON. If CREATENO is specified, then PDIR will not be created. If user just specifies DYNAMICPROGRAMVIEW, then the utility defaults to CREATENO. For all programviews in the input, the utility will override the DFSDFxxx Proclib specifications of AUTOIMPORT, AUTOCREATE, and DDL section’s CREPGM.
If you run the utility in a DL/I batch region, programview will automatically be activated for the IMS Directory, but will not be defined to the IMS. The CREATEYES|CREATENO option will be rejected if executed in a DL/I batch region. In a DL/I batch region, only CREATE/DROP PROGRAMVIEW DDLs are supported. In a DL/I batch region, extended sharing of PDSE data sets must be enabled in z/OS®®. For more information, see z/OS: Specifying Extended PDSE Sharing in a Multiple-System Environment.
- ACTIVATE
-
Specifies that the DFS3ID00 utility will activate application and database resource definitions (PSBs and DBDs) in an offline IMSplex by activating them from the staging data set of the IMS catalog. The IMS management of ACBs must be enabled before you can use the ACTIVATE control option. If some or all IMSs in the IMSplex are up, ACTIVATE control option is rejected.
- AUTOACTIVATE
-
Specifies that the DFS3ID00 utility will first process the DDL statements and then activate the subject application and database resource definitions (PSBs and DBDs) in an offline IMSplex environment. The IMS management of ACBs must be enabled before you can use the AUTOACTIVATE control option. If some or all IMSs in the IMSplex are up, the AUTOACTIVATE control option is rejected.
- ACTIVATE with RSCLST DD card
-
Inline RSCLST DD specifies one or more newline separated 1 - 8 character names of database DBD or program PSB or both resources to be activated from the staging directory to the active directory. Wildcard names can be specified. When * is specified, all of the ACBs in the staging directory are activated. This is equivalent to the use of ACTIVATE with no RSCLST DD card.
For a successful ACTIVATE, all resources associated with the database DBD and program PSB resources that are specified on the RSCLST are also activated, except for GSAM. For GSAM DBDs and PSBs, only the named GSAM DBDs and PSBs are activated. For example, if a DBD is in the staging directory, any of its index databases, logically related databases (including secondary index), and PSBs that are also in the staging directory will be activated. In another example, if a PSB is in the staging directory, any of the database DBDs it references that are also in the staging directory will be activated.
Use the following wildcard character schemes is supported:- * Matches zero or more characters.
- % Matches exactly one character.
The following examples illustrate possible uses of wildcard characters.- BE* Matches any string that begins with BE, of any length. For example, BE, BEE, or BEEBLEBROX.
- %%S Matches any three-character string that ends with an S. For example, IMS or CQS.
- R*S*T%R Matches any string that meets the following requirements: Begins and ends with an R Contains an S after the R The S is followed by a string that contains a T Has any number of intervening characters between the first R, the S, and the T Has exactly one character between the T and the final R For example, ROASTER, ROSTER, RESORTER, RECEPTOR, RSTZR.
- * Matches any string.
- ACTIVATE-NOCHECK with RSCLST DD card
-
Specifies that the DFS3ID00 utility will activate application and database resource definitions (PSBs and DBDs) in an offline IMSplex environment without pulling any relative resources from the staging directory data set which are not specified on the RSCLST DD card.