To create a data model

LN uses a database system to store the data required by the application. Data is stored in tables in a relational database management system (RDBMS). The data dictionary describes the data model of the data required in the application.

Use the Development Tools to define the data dictionary and create:

  • Domains
  • Table Definitions, including fields, labels, foreign key relationships and indices
  • Tables to store data, for one or more companies, based on the table definitions

Use the Entity Relationship Diagrams (tgerm1500m000) session in the Enterprise Modeler to create a graphic design of the relational data model structure. The diagram shows a (multilevel) structure that consists of entity types and entity type relationships.

The LN data dictionary is an active data dictionary. Sessions that use a table discover the fields, domains, relationships, indices and other information about a table when the table is used at runtime, not at compile time. With this feature you can change data dictionary items without recompiling code.

This list shows the procedure steps and the corresponding sessions:

  • Create domains - Domains (ttadv4500m000)
  • Create table definitions, including fields, labels, foreign key relationships and indices - Table Definitions (ttadv4520m000)
  • Convert the domains and table definitions to the runtime data dictionary - Convert to Runtime Data Dictionary (ttadv5215m000)
  • Create tables to store data - Create Tables (ttaad4230m000)

Not all session details are described. For detailed session information, see the Infor Web Help.

The prerequisites to create a data model:

  • A development package VRC in which you can create the domains and table definitions.
  • Developer authorization for this VRC.
Step 1. Create domains

To create a domain:

  1. Start the Domains (ttadv4500m000) session.
  2. Add a row. Specify the data type, length, format and field validation rules for the domain in the Domains (ttadv4100s000) details session.
  3. Perform this step only if the data type is Enumerated or Set:
    • In the Domains (ttadv4500m000) overview session, select the domain and on the appropriate menu, click Enum/Set Data.... The Enum/Set Constants (ttadv4501m000) session starts. Specify the values for the constants, names and descriptions.
    • Note: The constant description should be no longer than the defined length of the domain. If a description is longer than the domain length, you can increase the domain length.
  4. Save the new data and close the sessions.
Step 2. Create table definitions

To create a table definition:

  1. Start the Table Definitions (ttadv4520m000) session.
  2. Click "New" to start the Table Definitions (ttadv4120s000) details session. Specify the basic table information, such as the table code and description. Save the changes and return to the overview session.
  3. Define the table fields:
    • Open the new table. The Table Definitions (ttadv4520m100) session is displayed. This session is a multi-main table session showing the Table Fields, Indices and Program Scripts / Libraries for the table.
    • In the Table Fields tab, click "New Table Field", the Table Fields (ttadv4122s000) details session is displayed. Specify the table field information. Specify, among other things, a field code, a domain, a label, and (optionally) a reference to another table. For details, see the session's online help.
    • When finished, save the changes and return to the Table Definitions (ttadv4520m100) multi-main table session.
  4. Define one or more indices:
    • On the Indices tab, click "New Index", the Table Indices (ttadv4121s000) session is displayed.
    • Add a row. Specify the index information, such as the index number, description and the index parts (table fields).
  5. Save the new data and close the sessions.

Points of attention:

Labels

As you specify table fields, labels are created for the table field descriptions. You can create new labels, or use existing labels. Using existing labels provides an easy method to adapt your companies terminology and aid translation activities.

After labels are created, you must compile the labels so that users can use the labels as they execute the system. You must compile labels after you create enumerate domains, tables, sessions and forms, reports, and other components. To compile labels, use the Compile Labels (ttadv1243m000) session.

Reference tablesWhen you specify the fields for a table, you can define references to other tables. For this reason, it is helpful to create tables, that are referred to by other tables, first.
Combined fields

Table fields can refer to a primary key of another table. In this way, the references are built into the data dictionary.

To define a reference to a table whose primary key contains more than one field, you must use combined fields. Combined fields require that you define the combined field in the reference table and in the referring table. Combined fields are only used in defining tables; actual fields are not created within the database.

To create a combined field:

  1. Create a new table field and, in the field properties, select the Combined Field attribute.
  2. Click Child Fields to start the Child Fields by Combined Field (ttadv4523m000) session.
  3. Specify the table fields that make up the combined field.
  4. Use the combined field as the first index of the reference table.

In the field properties of the combined field in the referring table, you can now define a reference to the reference table.

Example:

A purchase order line for an item can have more than one arrival at the warehouse. For this reason, the table design requires that an arrival table is a child of the purchase order line table. The primary key of the purchase order line table can be viewed as order number and position number. The arrivals table must have a field that can refer to order number and position number. Therefore, a combined field is used. The combined field “cmba” is created in both tables, with the order number and position number as the child fields. In the field properties of the "cmba" field in the arrivals table, a reference to the purchase order line table is defined.

 

Step 3. Convert the domains and table definitions to the runtime data dictionary

The table definitions are maintained in the application data dictionary. You must make the new domains and table definitions available to the runtime environment. This process is called Convert to Runtime.

A convert to runtime is performed for tables, domains and sessions based on the package combination. The process searches the Package VRCs of the packages in the package combination and creates the table and domain runtime files in the runtime data dictionary directory on the application server. This directory is established when you create the package combination.

To convert to runtime:

  1. Start the Convert to Runtime Data Dictionary (ttadv5215m000) session.
  2. Select the Domains and Tables check boxes. Specify the appropriate ranges of package combinations, packages and tables.
  3. Click Convert to Runtime.
Step 4. Create tables to store data

Tables store data. In order to store data, the table definition is used to create a table in the underlying database for a specific company number. In most companies, a person designated as the system administrator or database administrator creates tables.

Before you create tables, these pre-requisites must be in place:

  • The data dictionary must be converted to runtime for the package combination.
  • Your LN user id must use the package combination of the company.
  • A company must be created with your package combination.
  • The database administration and storage requirements must be setup to create tables in the appropriate database and storage area.

To create tables:

  1. Start the Create Tables (ttaad4230m000) session. Optionally, you can start this session from the appropriate menu in the Table Definitions (ttadv4520m000) session.
  2. Specify the appropriate ranges of companies, packages and tables.
  3. Click Create. The data model for an LN application is created.