Authored by: Victor Lim, Danny Nguyen, and Nate Church, IMS Development

One of the most common comments we hear is that it’s becoming more of a challenge to acquire new talent with IMS skills. Talk to a new hire from college about how to design a database or implement a schema change and watch their faces draw a blank at the mention of DBDGEN, PSBGEN, ACBGEN. In today’s industry, DBAs who normally manage relational databases are also tasked with managing IBM® IMS™.

At IBM Silicon Valley Laboratory (IBM SVL), teams have been busy implementing functions to modernize the way you create or alter an IMS database resource. We’ve added functions to IMS 14 that help you simplify the management of your IMS systems by bringing it more in line with current industry practices. One of these functions is IMS Data Definition Language (DDL) support.

What is DDL?
DDL is the industry standard to drive database and schema changes to a DBMS and is considered a subset of Structured Query Language (SQL).

DDL is normally applied to a relational DBMS, but you can now use DDL as an alternative to the traditional IMS method of implementing DBD or PSB source. DBAs can use their existing DDL knowledge to create a new database resource or drive changes, in effect consolidating skills and reducing time to deployment.

How does DDL affect IMS?
We made several changes in IMS 14 so you can use DDL statements to create, modify, and delete IMS databases and application program resources:

  • The IMS proprietary syntax to implement change is through a set of DBD or PSB macro statements. By replacing these statements with industry standard DDL statements, we can use your current DBA skills. This change also allows you to exploit DDL authoring tools, such as IMS Enterprise Suite Explorer for Development (IMS Explorer for Development), to model database changes and generate DDL. Other DDL authoring tools are prevalent in the market.
  • Removal of DBD and PSB generation utilities (DBDGEN, PSBGEN) step. This step was originally required to validate the definitions provided in your DBD and PSB macro statements by driving a compile and link. Now, IMS takes care of this step for you when you submit your DDL.
  • Removal of ACB generation (ACBGEN) utility step. This step was originally another required step to generate runtime control blocks for IMS application scheduling. IMS also takes care of this step for you automatically when you submit your DDL. Removal of DBDLIB, PSBLIB, and ACBLIB processes. With the removal of these processes, IMS no longer generates the three separate libraries. Instead, all database resource definitions generated through DDL are consolidated to the IMS catalog. Starting with IMS 14, the IMS catalog is used as the source for database schema definitions, thus eliminating the need to maintain separate DBD, PSB, and ACBLIBs.

How is DDL used in IMS?
You can use DDL to create new databases or programs, or to make updates to existing ones. By doing so, you’re describing the physical and logical characteristics for these databases and programs. You can write or generate DDL statements in a variety of ways, but it’s recommended to use IMS Explorer to generate DDL statements.

One way to create a new DBD or PSB is to generate the DDL from an existing one. You can do this step in IMS Explorer by using a pre-defined IMS Connection in the Data Source Explorer view. Right-click on a connection node, schema, or table, and select Generate DDL.

Depending on what you select, different DDL statements are generated. If a connection node is selected, DDL is generated for the PSB. If you select a schema or a table under a schema, DDL is generated for the DBD the schema represents. The Generate DDL wizard has several pages of options from which you can choose to customize the generated DDL.

Figure 1 shows an example of the resulting DDL statements using the Generate DDL wizard.

Figure 1. Example of how to generate DDL in the Generate DDL wizard of IMS Explorer for Development
Figure 1. Example of how to generate DDL in the Generate DDL wizard of IMS Explorer for Development

After you’ve generated the DDL statements, you have the option of running the DDL on the server, which is the equivalent of submitting the statements to IMS to create the new database or program. You can also open up the DDL statements in an editor to make manual changes and save the statements in a script to be used later.

Using IMS Explorer, you can also make database field changes through DDL. In the Project Explorer view, you can select an updated DBD from an IMS Explorer project. Right-click on an updated DBD and select IMS Explorer > Submit Changes to IMS. IMS Explorer then generates DDL ALTER TABLE statements that capture the changes that were made to the DBD. You can view these statements before you submit them to make the changes.

An IMS for the future
As IMS continues to make strides toward becoming a more dynamic DBMS, IMS users are able to use more industry standard tools, platforms, and languages. The new IMS DDL capability simplifies database creation and database management. By incorporating DDL, you can do the same tasks faster and reduce the cost of deployment. Your enterprise can also leverage more skill sets that are common in the industry and increase the productivity of your team.

For more information, visit IBM Knowledge Center and search for IMS DDL.

3 comments on"Introducing Data Definition Language (DDL) support for IMS"

  1. Charlie Adamo July 07, 2016

    I want to learn more on how DDL will be working in IMS and will it be the same as doing it in DB2….

    • Therese_McQuillan July 07, 2016

      Thanks, Charlie, for your comment. I’ll have one of the authors contact you.

  2. I am also interested in learning more about how SQL can be used with IBM, and what are the possible limitations and requirements,

Join The Discussion

Your email address will not be published. Required fields are marked *