The IDMS product line uses a special IDMS database known as a dictionary to contain the definition of various IDMS entity types.
These entities are maintained by a series of different ISPF-like compilers which have both online and batch versions.
This document describes which entities are maintained by which compiler and the general procedure by which they can be maintained.
Release: All supported releases.
The design of the various IDMS compilers is such that entities can be DISplayed in a syntactical format that can then be used as valid input to re-create a copy of that entity with a different name. For example, in IDD, an element can be displayed with this:
SIGNON DICTNAME APPLDICT.
DIS ELE EMP-ID V 100 AS SYN.
The compile will respond with this:
SIGNON DICT APPLDICT.
DIS ELE EMP-ID AS SYN.
ADD
ELEMENT NAME IS EMP-ID VERSION IS 1
*+ DATE CREATED IS 04/03/20
*+ PREPARED BY XXXXXXX
PUBLIC ACCESS IS ALLOWED FOR ALL
PRIMARY
PICTURE IS 9(4)
USAGE IS DISPLAY
*+ ELEMENT LENGTH IS 4
.
The user can then simply erase the DIS ELE line, change the name of the element, hit ENTER, and a similar element with the new name will be created.
SIGNON DICT APPLDICT.
ADD
ELEMENT NAME IS EMP-ID2 VERSION IS 1
PUBLIC ACCESS IS ALLOWED FOR ALL
PRIMARY
PICTURE IS 9(4)
USAGE IS DISPLAY
.
The *+ indicates comments. By omitting the AS SYN clause, the entire output will be displayed with such comments and so the content of the work file cannot subsequently be used as input. This concept is used for all IDMS entities across the various compilers. Each compiler has an online version and a batch version.
COMPILER BATCH VERSION Most common
TASK CODE PROGRAM NAME Entities maintained
IDD IDMSDDDL Elements, records, modules, processes.
*OCF *IDMSBCF DMCL, segments, areas, files, buffers, journals, DBNAMEs, users, all SQL types.
SCHEMA IDMSCHEM Schemas
SSC IDMSUBSC Subschemas
SYSGEN RHDCSGEN Systems
For OCF and IDMSBCF, the SIGNON DICT APPLDICT indicated above is invalid. Use CONNECT TO APPLDICT; instead.
The instructions above are for how this can be done with the online compiler. When using the equivalent batch utility, the same concept can be used with some small differences. Instead of DISplaying the entity, it must be PUNched to a PDS member.
// EXEC PGM=IDMSDDDL
//SYSIPT DD *
SIGNON DICT APPLDICT.
PUN ELE EMP-ID AS SYN.
//SYSPCH DD DSN=your.pds.library(member),DISP=SHR
This will put the source of the entity in the member identified by SYSPCH. Make the edits above in the member and then re-run that syntax through the batch step
// EXEC PGM=IDMSDDDL
//SYSIPT DD *
SIGNON DICT APPLDICT.
// DD DSN=your.pds.library(member),DISP=SHR
Some of the entity types require an action be performed on them after creation. For example, schemas must be validated:
MOD SCHEMA EMPSCHM V 100.
VAL.
Subschemas must be generated:
MOD SUBS EMPSS01.
GEN.
Note that in the above examples, the DICTIONARY is specified in a SIGNON statement within the compiler syntax. This specification can also be made outside the compiler.
Online, this is done with the command DCUF SET DICTNAME dictname.
You can also use the TCF task code to invoke a screen where the dictname can be entered.
In batch, the dictionary can be specified in a SYSIDMS parameter.
//SYSIDMS DD *
DICTNAME=dictname