DDL (Data Definition Language), a subset of SQL, is used for creating, modifying, and deleting database-related objects in relational database management systems. DDL provides for three easy-to-use and intuitive verbs: CREATE, ALTER, and DROP. The language is so popular that it has become the de facto industry standard.
The engineers at the IBM® IMS™ lab with IMS 14 introduced a game changer: Starting with IMS 14, you can use DDL for creating, modifying, and deleting IMS database-related objects.
You read that right! You can use DDL in IMS.
But the IMS database is hierarchical, you say. Yes, but hierarchical structures easily lend themselves to the relational model:
Segments and their occurrences (in IMS) are nothing more than tables with rows (in relational terminology). Data sets in IMS are nothing more than tablespaces (in relational terminology). So, an IMS hierarchic record can be viewed as a collection of tables that are related via foreign keys.
Using DDL in IMS has many benefits:
- Not having to use IMS proprietary processes
- Simplifying IMS database administration tasks
- Easier on-boarding of newer IMS professionals and increased productivity
- Streamlining DevOps processes
- Facilitating a more flexible, skilled database administrator – the DBA that can manage both relational and IMS databases
The IMS DDL introduced in IMS 14 required IMS Connect and ODBM to be implemented as shown in the figure below:
Now, there's a better, easier way to submit DDL
The engineers at the IMS lab developed a new, much simpler utility with a very user-friendly interface:
zDDL (IMS Native z/OS DDL utility).
Starting with IMS 15.3, you can now use zDDL utility to submit DDL. This utility does not require IMS Connect and ODBM and runs in a BMP region in IMS.
In addition to not requiring IMS Connect and ODBM, the utility has several user-friendly options:
- DDL input can be inline, or in a data set.
- Most error conditions detected are conveniently displayed in the utility output itself. So, users do not have to look at anywhere else e.g., system console.
- SIMULATE option allows you to verify that DDL processing will complete successfully before actually submitting the DDL for execution. This is very helpful in the planning phase before implementing into production.
- Utility output by default shows partial DDL statements, which is helpful when input DDL statements are huge, but if you want the entire DDL statements printed, you can use the VERBOSE option.
- An AUTOCOMMIT option avoids having to code COMMIT DDL.
- From the get-go, the utility was developed with built in serviceability. The utility provides a trace of internal DLI calls issued to the catalog in processing the DDL statements. This trace can be part of the output or directed to the DDLTRACE DD statement.
In fact, one IMS professional at a European financial institution had this to say about this utility:
“zDDL is one of the best things to come out of the IMS lab.”
So don’t delay. Migrate to IMS 15.3 and make your life easier with zDDL.