Data Dictionary

Data Dictionary Maintenance

 

NOMADS includes a Data Dictionary Maintenance utility that is used to build and maintain the data dictionary. This utility presents all the different options and fields necessary to complete the basic steps for creating definitions in the data dictionary. These basic steps include:

To invoke Data Dictionary Maintenance, use one of the following methods:

Location

Method

From the PxPlus IDE Main Launcher

Expand the Data Management category and select Data Dictionary Maintenance.

From the NOMADS Session Manager

Select Dictionary > Maintenance from the menu bar.

From the PxPlus Command window

Select Utilities > Data Dictionary from the menu bar.

From the PxPlus Command window

Enter: DD (or DD tablename)

Main Panel

The Main panel consists of options for Updating the Data Dictionary and embedding the definition in the physical file. These options include table name, key definition, access logic and notes.

Two tabbed folders, Info and Elements, are provided for specifying details about the data files and their elements:

 

Info

Contains fields that are used to describe the physical file, including pathname, group, file type and block size.

 

Elements

Presents a grid with fields that are used to define all the data elements within the current definition, as well as for the Global Dictionary.

Menu Bar and Tool Bar options are provided for adding and maintaining the data file definitions.

The Main panel includes the following fields:

Name

Descriptive name for your data source to identify its definition in the data dictionary; e.g. Client List. (Maximum 64 characters.)

Create a new definition by entering a name that does not already exist. You are prompted to confirm the creation of a new definition. See Creating a Definition.

Note:
When a new table name is entered, it will be checked against the Reserved Words list to determine if it is restricted for use in the Data Dictionary. If it is found, a warning message will display.

(User Reserved Words Maintenance was added in PxPlus 2020.)

Select an existing definition by using any of the following methods:

  • Type the name of the definition.
  • Click the Query Table View button (magnifying glass) for a tree view of table names by Group. For information on creating a filter to locate a specific table name, see Filtering the Table Names Lookup.
  • Click the Query button (binoculars) for a query view of tables by table name. For information on using the query features (i.e. search, sort, filter, etc.), see Run-Time Query.
  • Use the Browse buttons to locate a table name.

The Global Dictionary button (globe) next to the browse buttons loads the Global Dictionary definition. See Global Dictionary.

If you select an existing table with System Journalization and/or File Splitting enabled, a message displays adjacent to the Description field, indicating that one or both of these processes is enabled. If System Journalization is enabled for the table but the system journal file is not open, an Error #69: No Journalization file open is reported.

Description

A short description of the table contents.

Last File Change

This information is updated automatically whenever a change is made in the data dictionary definition (i.e. updating the description, notes, options or elements, changing keys, etc.).

(Last File Change was added in PxPlus 2021.)

Last Physical Update

This information is updated automatically when the file is updated by clicking the Update File toolbar button or selecting File > Update File from the menu bar.

If a data dictionary definition is copied (see Import Dictionary) or a Physical File is entered that does not exist, the Last Physical Update information will be cleared.

(Last Physical Update was added in PxPlus 2021.)

Global Dictionary

PxPlus provides a Global Dictionary to which you can optionally add data elements for global use. When an element is defined globally, you can select and load its definition into various file definitions using the Elements tab. Global Dictionary element definitions are stored in the data dictionary files, providex.ddf and providex.dde.

Loading the Global Dictionary Definition

Load the Global Dictionary definition by clicking the Global Dictionary button (globe) next to the browse buttons on the Main panel. You can also click either the Query Table View button (magnifying glass) or the Query button (binoculars) and then select {Global Dictionary} from the list.

Once the Global Dictionary definition is loaded, data elements can then be added, deleted and maintained using the Data Elements grid, just like any other data definition. See Adding a Data Element to the Global Dictionary.

Note:
When the Global Dictionary definition is loaded, other functions (i.e. Rename Table, Delete Table, etc.) will not be available.

(The Global Dictionary button was added in PxPlus 2017.)
(The Data Elements grid was added in PxPlus 2020.)

Adding a Data Element to the Global Dictionary

After the Global Dictionary definition is loaded, new data elements can be added by using any of the following methods:

Method

Description

Create a new element from the beginning

Enter a new element in the last blank row of the Data Elements grid.

A new element can also be inserted before or after an existing element. Click the Field Name of the existing element above or before which you want to insert the new element. Right click on this selection and choose Insert Element (Before or After) from the popup menu or use the Insert Element Before (or Insert Element After) buttons beside the grid to insert a new row.

Alternatively, create a new element by clicking the button in the Dtl column to invoke the Element Description window. When the new element is saved, it is added to the bottom of the Data Elements grid. Use the Move Up/Move Down buttons beside the grid to reposition the new element.

Note:
When a new element name is entered, it will be checked against the Reserved Words list to determine if it is restricted for use in the Data Dictionary. If it is found, a warning message will display.

(User Reserved Words Maintenance was added in PxPlus 2020.)

Create a new element from an existing element

In the Data Elements grid, click the Field Name of the existing element with settings you want to use for the new element. Right click on this selection and choose Repeat Element from the popup menu. The new element is inserted below the existing element with the same settings and is initially assigned the same Field Name ending with _ (underscore) and a number (e.g. Address_1). The settings for the new element can be modified as needed.

Add an existing element from another table

On the Main panel, select the table containing the element you want to add to the Global Dictionary. In the Data Elements grid, click the Field Name of the element you want to add to the Global Dictionary. Right click on this selection and choose Add to Global Elements from the popup menu or use the Add Selected Data Element to Global Dictionary button (globe) beside the grid. A message will display when the Global Dictionary has been updated.

To verify, load the Global Dictionary definition and review the Data Elements grid.

Note:
This method does not remove the selected element from its originating table.

Info and Elements Tabs

The Info tab describes features about the physical database file; i.e. pathname, group, file type, and size. The Elements tab provides various options and settings for defining elements in the physical files.

Note:
Some settings, as well as some data dictionary utilities, can be invoked via the Data Dictionary Maintenance  Menu Bar.

These tabbed folders consist of the following:

Info

Physical File

Pathname of the actual database file - either a Fixed value (e.g. XX_AR) or an Expression (e.g. %COMPANY$+"_AR").

Options

Notes

A multi-line input control used for entering notes about the table and its use. Press Enter to start a new line. Maximum 1024 characters. When done, press the Tab key prior to exiting or using the Browse buttons; otherwise, changes to the notes will not be saved.

(The Notes input control was added in PxPlus 2021.)

Group

Group name for assigning files to a common theme or application; e.g. Accounting, Billing, GL.

Type

File type to create. Click the drop-down arrow for a list of file types (below). See Supported File Types.

Variable Length

VLR (variable-length record)

Enhanced Format (2GB limit)

Limited EFF

Enhanced Format (>2GB limit)

Unlimited EFF

Fixed Length

FLR formatted files

Block Size

Maximum file size in kilobytes. The default setting allows PxPlus to decide the recommended file size for the file type; e.g. VLR (1-31), FLR (1-32), and EFF (4-63). The default size is computed by taking the largest key size and multiplying by 200. This is compared with the record size, and the higher of the two is rounded to the nearest 1K. The desired block size can also be selected.

Separator

Character to be used as a field separator in the file. The field separator must be a Hex string for a single character (e.g. $8A$). The default separator is the setting of the 'FS' parameter ($8A$ if 'FS' not set).

Warning!
DO NOT USE $00$, $01$, $02$, $03$, $04$, $09$ or $0A$ as a field separator in a NOMADS/iNomads environment, as these characters are used within some fields of NOMADS files and would cause NOMADS to malfunction.

Avoid $1B$ in general, which begins mnemonics.

Extended Records

Check box to indicate that records will be written as multiples of the size specified during file creation.

Compression Type

(Not Applicable to FLR Files) Indicates simple compression to record data. Click the drop-down arrow for a list of selections.

Convert to Text for
Version Control System

Check box to indicate whether the selected data file definition will be flagged for conversion to text format for use in the Version Control System.

Force data Validation
on WRITE/UPDATE

Check box to indicate that, when the file is opened with an IOL=*, the generated IOLIST is to automatically include the validation options as if an OPT="VALIDATE" was specified. For information on these validation options, see IOLIST directive.

Note:
For Date validation, the system allows empty/null dates by default. To disallow empty/null dates, set the Required flag for the field.

Enable UpdatePlus logic

(Available when File Type is Variable Length (VLR) or Fixed Length (FLR). Not Applicable to EFF Files)

Select this check box to enable UpdatePlus™ logic for the Physical File specified. If the file was previously created with UpdatePlus™ enabled (i.e. file was created with OPT="U" - see KEYED directive), this check box will be selected automatically.

(The Force Data Validation option was added in PxPlus 2017.)
(The Enable UpdatePlus logic option was added in PxPlus 2017 Update 0002.)

Elements

Non-Normalized

Select this check box to allow the definition of non-normalized data files. See Non-Normalized Data.

Record Format

Record type description for non-normalized data files.

Define

(Available when Non-Normalized check box is selected)

Select this button to display the Non-Normalized Record Definitions window. See Non-Normalized Data.

Search Grid for: (F3)

Input field that is used for searching the field names in the Data Elements grid as letters are entered (case insensitive). Access this field by using the mouse or by pressing either the F3 key or the Tab key.

(The Search Grid option was added in PxPlus 2021.)

Data Elements

Grid that displays all the data elements in the selected table, along with their settings. This grid can also be used to add, edit and delete a data element.

Field

Field number that indicates the sequence of elements in the data dictionary.

Dtl

Button that invokes the Element Description window.

Field Name

Unique name of the element. See Name in the Element Description window.

Note:
When a new element name is entered, it will be checked against the Reserved Words list to determine if it is restricted for use in the Data Dictionary. If it is found, a warning message will display.

(User Reserved Words Maintenance was added in PxPlus 2020.)

Click the Globe button to display a list of Global Dictionary elements and their descriptions. Double-clicking on a Global element adds it to the current row if the row is empty. If the current row is not empty, a message will display. Responding Yes updates the Field Name and all other columns with settings from the selected Global element. Responding No updates only the Field Name but does not update the other columns. Responding Cancel puts back the original Field Name and no other columns are changed.

Right-click on the Field Name to display a popup menu with the following selections:

Insert Element

Inserts a new element either before or after the currently selected data element. Same as using the Insert Before/After buttons beside the Data Elements grid.

Repeat Element

Repeats the settings from an existing element to create a new element. The new element is inserted below the existing element with the same settings and is initially assigned the same Field Name ending with _ (underscore) and a number (e.g. Address_1). The settings for the new element can be modified as needed.

Delete Element

Deletes the currently selected data element. Same as using the Delete button beside the Data Elements grid or using the Delete button in the Element Description window.

Add to Global Elements

(Not Available when Global Dictionary is selected)

Adds the selected element to the Global Dictionary.

If a data element with the same name already exists in the Global Dictionary, a message asks if you want to update this Global Dictionary record. Responding Yes updates the Global Dictionary record with the settings from the selected data element. Responding No does not change the Global Dictionary record.

Data Class

Enter the name of an existing data class or use the Query button to load the information from a data class definition into the element's fields.

A data class can also be created on the fly. Enter a new name for the Data Class and respond Yes to the displayed message, which launches Data Class Definitions.

If the data class assigned to the element has been deleted in Data Class Definitions maintenance, the Data Class name will change to dark red.

If a data class with the Class Name "Email" or "URL" (case insensitive) is assigned to a data dictionary field, the input entered for the field will be validated as either an email address or URL on a generated Webster+ HTML page. See File Maintenance Generator.

(The dark red text indicating a deleted Data Class was added in PxPlus 2021.)
(Email and URL input field validation for generated Webster+ HTML pages was added in PxPlus 2021 Update 1.)

Description

Brief description of the element, which can be a Fixed value, Expression or Message Library Reference.

Type

Indicate whether the element is Numeric or String.

Len

Set the maximum length of the data field. The system will validate that the length specified agrees with the Format selected; otherwise, a message will display.

(Length validation in the Elements grid was added in PxPlus 2021 Update 1.)

Numeric field lengths can be defined using implied decimal format.

Example:

6.2: 6 represents total length of the field, including explicit signs and decimals, where applicable; 2 represents scaling factor or number of decimal places.

Format

Options that define the format for writing the data field to the file. See Format Mask in the Element Description window.

Display

Print/input format. See Format Mask Options.

Ext

Check box to indicate that the element forms part of an external key and is not duplicated in the data portion of the record.

Example:

     Key: CST_ID$ Data: CST_NM$, CST_ADDR$, CST_PHONE$

In this case, CST_ID$ forms the key and is not duplicated in the data portion of the record.

Req

Check box to indicate that the element is a required field and must contain data before the record can be written in File Maintenance.

U/C

Check box to indicate that the data should always be in uppercase letters. Used by NOMADS sub-systems.

R/O

Check box to indicate that the element is designated as read only or locked. Used by NOMADS sub-systems.

(The R/O check box was added in PxPlus 2021.)

(The Data Elements grid was added in PxPlus 2020.)

Move Up
Move Down

Buttons used to move the selected data element up or down within the Data Elements grid.

Insert Before
Insert After

Buttons used to insert a new element before or after the selected data element. Same as using the Insert Element popup menu option when right clicking on a Field Name in the Data Elements grid.

(The Insert Before/Insert After buttons were added in PxPlus 2020.)

Delete

Button used to delete the selected data element. Same as using the Delete Element popup menu option when right clicking on a Field Name in the Data Elements grid.

Undo

(Available when a change is entered only in the Data Elements grid)

Button used to undo the last change(s) entered only in the Data Elements grid. The Undo button will not undo any changes entered using the Add/Edit Notes button. It will also not undo any changes entered in the Element Description window (accessed from the Dtl column).

Important Note:
The Undo button will become disabled if the Element Description window is accessed immediately after changes have been entered in the Data Elements grid. If this happens, the previous grid changes cannot be undone.

(The Undo button was added in PxPlus 2020.)

Add/Edit Notes

(Available when a new data element is entered or an existing data element is selected)

Button used to add (or edit) notes for a new or existing data element. Maximum 1024 characters. The button's appearance and tooltip change to indicate that a note was added for the element.

Alternatively, notes can be added or edited for an element in the Element Description window by using the Notes input control on the User Aids tab.

(The Add/Edit Notes button was added in PxPlus 2022.)

Update Global Dictionary Elements in other Files

(Available when Global Dictionary is selected)

Button used to invoke the Update Global Dictionary Elements window. If the selected global element does not exist in other data tables, a message will display.

Add Data Element to the Global Dictionary

(Not Available when Global Dictionary is selected)

Button used to add the selected element to the Global Dictionary. Same as using the Add to Global Elements popup menu option when right clicking on a Field Name in the Data Elements grid.

If a data element with the same name already exists in the Global Dictionary, a message asks if you want to update this Global Dictionary record. Responding Yes updates the Global Dictionary record with the settings from the selected data element. Responding No does not change the Global Dictionary record.

Menu Bar

The menu bar consists of the following selections:

File: Some of these items also appear as buttons on the tool bar.

Change/Create Dictionary

Displays the Change/Create Dictionary window for changing or creating the pathname to a new providex.ddf file. Specify a different pathname by clicking the Query button or manually entering it.

  

If no providex.ddf file exists in the pathname specified, a prompt will ask if you wish to create the dictionary.

Responding Yes creates the dictionary files providex.ddf/dde in the pathname specified. Responding No does not create these files.

If the Change Directory check box is selected, the directory containing the dictionary becomes the current working directory.

(Support for creating a new dictionary was added in PxPlus 2019 Update 1.)

Rename Table

Changes the selected table to a new name.

Delete Table

Deletes the selected table.

Define Keys

Sets up primary and alternate keys for the physical file. See Defining Keys.

IO Procedure

Launches the Embedded I/O Procedures window for entering the name of a program that contains logic for controlling file access. PxPlus provides the ability to specify an object using the syntax obj=xxxxx.

    

Update File

Embeds data dictionary into the physical file.

Create SQL Key Defn File

Creates providex.kdf in the same directory as the providex.ddf and providex.dde files. This file contains SQL key definitions for a PxPlus data dictionary table, keyed by the logical table name (64 characters). If the providex.kdf file already exists, a prompt to delete and recreate the file will display.

Database Conversion Utility

Launches the Database Conversion Utility for adding a PxPlus data file to an existing database.

(The Database Conversion Utility was added in PxPlus 2019.)

Exit

Closes Data Dictionary Maintenance.

 

Edit: Provides options to use in conjunction with the Data Elements grid (Elements tab must be selected).

Add Element

Adds a new row at the current location in the grid for adding a new data element.

Delete Element

Deletes the selected data element. Prior to the deletion, a message will display.

Add Globally

Adds the selected data element to the Global Dictionary. A message will display when the Global Dictionary is updated or if a data element with the same name already exists in the Global Dictionary.

 

Options: Provides additional data dictionary options.

SQL Key Definition Update

Determines whether the SQL Key Definition file will automatically be updated when the PxPlus Data Dictionary key definition is changed.

See SQL Key Definition Update Options.

 

Utilities: Provides additional data dictionary tools and security control.

Print

Launches the Print Data Dictionary Definition utility that is used to generate output in a standard format that lists all of the elements in the definitions that have been selected for printing.

Compare Definitions

Launches the Data Dictionary Compare utility for comparing two tables from the same or different data dictionaries or physical files (or a combination of both). It compares file attributes, fields and key structures in one table with the fields in another.

Generate external

Sub-menu for accessing the following selections:

INI file contents

Opens the Create INI file definition window. This utility allows for the generation of INI file contents directly from the data dictionary. See INI File Generation utility.

SQL Create Table

Opens the Generate SQL Create Table commands window. This utility simplifies the process of converting the data dictionary to a SQL-based database such as ORACLE or Microsoft SQL. See SQL Create Table utility.

Key Definitions

Opens the Generate External Database Key Definitions window. This utility generates SQL key definitions for data dictionary tables. See Key Definitions utility.

Merge

Launches the Data Dictionary Merge Utility that allows table definitions to be merged from one set of dictionary files (ddf/dde) to another.

Import Dictionary

Launches the Copy Data Dictionary Definition window that is used to copy a file definition from a different PxPlus data dictionary (in another directory) into the current file definition.

Data Class Definitions

Launches Data Class Definitions maintenance that is used to create and maintain data classes, including Dynamic data classes, for specific control types.

(Data Class Definitions was added to the Utilities menu in PxPlus 2021 Update 1.)

File Link Maintenance

Launches the File Link Maintenance utility for defining and maintaining the cross-reference linkages that exist between application data files.

(File Link Maintenance was added to the Utilities menu in PxPlus 2021 Update 1.)

Security

Provides access to set up and maintain the optional security system that controls user access to the system. See NOMADS Security Manager.

 

Projects: Provides access to project-related options.

(The ability to add dictionary entries to a Project was added in PxPlus 2014 - Feature Pack 1.)

Create New Project

Launches the Create Project dialogue for entering a new project (Private or Public) for the current working directory. Select the Query button to select a different working directory.

Add to Project

Launches the Add to Project dialogue for adding the current task to an existing project that is selected from the Project drop box.

To manage all the tasks within a project, see Project Maintenance.

For information on adding tasks to a project from other locations, see Adding Tasks to Projects from Other Locations.

Note:
When adding a Data Dictionary task to a project, make sure that the working directory for the project is the same as the working directory associated with the data dictionary. Otherwise, the selected task cannot be added to the project.

Tool Bar

The tool bar consists of the following buttons:

New

Adds a new file. Selecting this button clears the current record to allow you to enter the details for the new definition.

Update File

Updates and/or creates the physical data file.

Copy

Launches the Copy Data Dictionary window for copying an existing data dictionary definition in the same dictionary to a new table name.

Rename

Changes the selected table to a new name.

Delete

Deletes the currently loaded table.

Data

Launches the File View Utility for viewing data file information, such as: type, record size, primary key size, current number of records, etc.

SQL Keydef

Opens the SQL Key Definition window that is used to create/remove the SQL key definition for a selected table.

  

Button is hidden if providex.kdf does not exist. To create the providex.kdf file, select File > Create SQL Key Defn File from the menu bar. See SQL Key Definition.

Define Keys

Sets up primary and alternate keys for the physical file. See Defining Keys.

IO Procedure

Launches the Embedded I/O Procedures window for entering the name of a program that contains logic for controlling file access. PxPlus provides the ability to specify an object using the syntax obj=xxxxx.

  

Database Convert

Launches the Database Conversion Utility for adding a PxPlus data file to an existing database.

(The Database Conversion Utility was added in PxPlus 2019.)

Print

Launches the Print Data Dictionary Definition utility that is used to generate output in a standard format that lists all of the elements in the definitions that have been selected for printing.

Compare

Launches the Data Dictionary Compare utility for comparing two tables from the same or different data dictionaries or physical files (or a combination of both). It compares file attributes, fields and key structures in one table with the fields in another.

(The Compare button was added in PxPlus 2021.)

Export

Launches the Export Data Dictionary Definition utility that is used to export the data dictionary definitions of one or more selected tables to a text file.

Used in conjunction with the Import Data Dictionary Definition utility.

(The Export Utility was added in PxPlus 2021.)

Import

Launches the Import Data Dictionary Definition utility that is used to import the data dictionary definitions of one or more tables selected from an export text file into a data dictionary in another location.

Used in conjunction with the Export Data Dictionary Definition utility.

(The Import Utility was added in PxPlus 2021.)

File Splitting

Launches the Historical File Splitting utility that is used to split larger data files into multiple independent files.