Data Classes

Multi-Line Data Class

 

When creating or editing a data class for a Multi-Line control type, Data Class Definitions maintenance displays the following:

Note:
Properties marked with an * (asterisk) can be dynamic. Expressions that come from a data class must be global variables. See Dynamic Control Properties.

The following tabbed panels are available: Display, Attributes, User Aids, Validation and Query.

Class Name

Key to the data classes file (providex.dcl). When entering a new data class name, spaces are not allowed. Maximum length is 30 characters.

Click the Query button (binoculars) for a list of defined data classes (if any). Click the Browse buttons to browse to existing data classes. Click the Copy Class button to copy an existing data class to a new data class. If unsaved changes are detected when selecting these buttons, a message will display to save the changes.

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.

(First/Last Class browse buttons were added in PxPlus 2019.)
(Email and URL input validation for generated Webster+ HTML pages was added in PxPlus 2021 Update 1.)

(Add/Edit Notes)

(Available when a new or existing data Class Name is entered or selected)

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

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

(Copy Class)

(Available when an existing data Class Name is selected)

Button used to create a new data class by copying the settings from an existing data class. Once it is created, the new data class must be saved, as the Copy process does not do this.

(The Copy Class button was added in PxPlus 2019.)

Last Class Change

This information is updated automatically whenever a change is made to the data class definition.

(Last Class Change was added in PxPlus 2023.)

Control Type

Default control type used to represent the data that belongs to your defined data class. Click the drop-down arrow for a list of selections: Multi Line, Drop Box, List Box, Radio Buttons, Check Box. (Default is Multi Line.)

The control type lets the NOMADS Panel Designer and File Maintenance Generator know which type of control to use for representing the data element.

Description

Generic description of the data class (Fixed value, Expression or Message Library Reference). This will be copied to the data dictionary when the data class is applied to an element. See Element Description.

*Dynamic

For new data classes created in PxPlus 2018, this check box is selected by default.

For data classes created prior to PxPlus 2018, this check box is not selected by default.

Select this check box to set dynamic control properties to Dynamic automatically when the data class is entered for a control in the Panel Designer. If Dynamic is not selected, dynamic control properties must be set to Dynamic manually after entering the data class for a control. See Dynamic Control Properties.

(The Dynamic check box was added in PxPlus 2018.)

Internal Data Type

Internal format of the data when manipulated by a program, either String or Numeric. (Default is String.)

Internal Size

Maximum size of the stored data element:

   •  If the Internal Data Type is for a String variable, the Internal Size value will define the maximum string length.

   •  If the Internal Data Type is for a Numeric variable, enter nnn.dd where nnn is the total number of digits (not including the decimal) and dd is the number of digits after the decimal (i.e. the PRECISION of the number).

Example:

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

Display ( * indicates a Dynamic property)

Properties

Multi-Line Width

Width of the control in number of columns - numeric expression. Format mask is ##0.00 and valid entries are 0 to 255.

Multi-Line Height

Height of the control in number of lines - numeric expression. Format mask is ##0.00 and valid entries are 0 to 240.

(Multi-Line Width and Height were added in PxPlus 2021.)

*Initial Value

Value to be loaded when the Multi-Line is drawn (Fixed value, string Expression or Message Library Reference).

*Input Length

Maximum input characters (Fixed or numeric Expression).

If no Input Length is entered and the Input Format field is blank, the Input Length will be set automatically when saving a new data class:

   •  If the Internal Data Type is for a String variable, the Input Length will be equal to the Internal Size value.

   •  If the Internal Data Type is for a Numeric variable, the Input Length will be set to the integer value of the Internal Size field. If the Internal Size value includes a decimal (e.g. 6.2), the Input Length value will increase by 2 (e.g. 8) to allow for the decimal and the negative sign.

(The automatic setting of the Input Length value was added in PxPlus 2023 Update 1.)

Implied Decimal Point

Determines implied decimal support for numeric Multi-Lines. Click the drop-down arrow for a list of selections:

Default

NOMADS uses the PxPlus setting for the '+I' or '-I' mnemonic to enable/disable implied decimals for all Multi-Lines, system wide.

Never

Disable implied decimals. NOMADS displays the value starting at the far left of the decimal point (i.e. 100.00).

Always

Enable implied decimals. NOMADS displays the value starting from the far right of the decimal (i.e. 1.00).

*Empty Value

Text to display if null input (Fixed value or an Expression).

(Support for Empty Value to be an expression was added in PxPlus 2018.)

*Input Format

Format mask for the Multi-Line (Fixed or string Expression).

Separator

Delimiter character. Click the drop-down arrow for a list of selections.

Note:
When defining a Multi-Line with a height greater than one, it is strongly advised to use a different Separator character, rather than the <Std> default, as the <Std> default can also be translated as a field separator when the user presses Enter to add another line during data entry.

(Separator was added in PxPlus 2018.)

Numeric

Value for the control is returned in a numeric variable.

*Visual Class

Assign visual class to the control. See Visual Class Assignment.

Note:
Visual class names that begin with an *(asterisk) are pre-defined visual classes used by PVX Plus and may be subject to change without notice.

(added in PxPlus 2018)

*iNomads Class

The iNomads class contains class attribute references used when defining the control in the HTML code generated in iNomads. An iNomads class reference must start with an alpha character (A-Z or a-z), followed by any combination of A-Z, a-z, 0-9, underscore or dash. Multiple references may be entered, separated by a space. For a list of pre-defined iNomads classes, see iNomads Classes.

(added in PxPlus 2018)

Attributes ( * indicates a Dynamic property)

Attributes

Auto Tab Skip

Control is skipped when tabbing forward but is still accessible via Shift - Tab or the mouse.

Initially Disabled

Multi-Line is displayed but is grayed out. It is not accessible to the user for input.

Initially Hidden

Multi-Line is not displayed when the panel is drawn.

Locked

User cannot change the Multi-Line's data. Associated query button is disabled. Users can still tab into the Multi-Line and highlight existing text (unlike when the Multi-Line is disabled). This is useful when users need to copy and paste (e.g. copy an address or name into a Word document).

PermaLock/Query Input

Multi-Line is permanently locked. Associated query button is enabled. Forces input through the query only. (added in PxPlus 2018)

Signal On Exit

A signal is generated when focus leaves the control whether the selection or value has changed or not. NOMADS will execute the On Change logic.

Signal All Chg (Auto)

A signal is returned on any changes in the control.

Signal When Full

Generates a signal upon maximum input length. NOMADS will execute the On Change logic for the control. (added in PxPlus 2018)

Signal To/From Null

Generates a signal when the Multi-Line value changes from null to non-null or vice versa. Triggers On Change logic without focus leaving the control. (added in PxPlus 2018)

Center Text

Centers the input.

Right Justify Text

Text is right-aligned in the Multi-Line input field.

Numeric

Value for the control is returned in a numeric variable.

Password

Password entry displays a $ (dollar sign) as substitute for each character entered.

Strip Trailing Spaces

Strips trailing spaces when reading/writing data for the control.

Uppercase

Converts text from lowercase to uppercase automatically

Borderless

Multi-Line is drawn with no border or frame.

Tab Support

Supports the use of the Tab key in the Multi-Line input region. (added in PxPlus 2018)

Append Text

Edit mode. Append to the end of existing text.

Ignore Change Flag

Select this check box when you do not want the NOMADS CHANGE_FLG variable to be updated when the control value is changed (added in PxPlus 2017)

Enable Scrolling

Allows the control to scroll in a resizable/scrollable dialogue box.

Reverse Input

Support for Arabic characters (right to left entry).

Auto Fill

Select this check box if you want to set up the Auto Fill feature, which completes the entry of a Multi-Line control based on the matches available from a pre-defined query. (added in PxPlus 2018)

Additional check box options are:

Must Match

(Available when Auto Fill check box is selected) When selected, forces the entry to match an entry from the pre-defined query.

Not Empty

(Available when Must Match check box is selected) When selected, the Auto Fill input cannot be left empty. A value must be specified.

Rich Text Input

Use Rich text control to enable RTF data and user formatting. (added in PxPlus 2018)

Transparent

Multi-Line background and border are transparent; i.e. the window contents behind the Multi-Line show through. (added in PxPlus 2018)

Spell Check

Select this check box to enable spell checker for the Multi-Line. If not set, the system-wide AutoSpellCheck setting will be in effect. The spell checker uses a wavy red underline to flag words that appear misspelled or duplicated. Words that are all uppercase are not spell checked. This option is ignored for Multi-Lines that are defined as Uppercase or are used for Arabic (right to left) input when the Reverse Input check box is selected. (added in PxPlus 2019)

Scrollbars (if required)

Scrollbar(s) to display when the height of the Multi-Line is greater than one line. Selection options are Vertical (default), No scrollbar, Horizontal, Both scrollbars. (added in PxPlus 2018)

Other

Object Persistence

Sets Object Persistence. (added in PxPlus 2018)

Click the drop-down arrow for a list of selections:

Default

Set via global variable

Always

On, overriding global activation

Never

Off, overriding global activation

*User Tag Field

For controls, data/tag field that can be used to pass information on such things as formatting, error messages or validation rules. Field contents are placed in a variable using the control name with a .TAG$ extension.

Alt-Key

Hot key for the control. Click the drop-down arrow for a list of selections. (added in PxPlus 2018)

User Aids ( * indicates a Dynamic property)

*Help Reference

Type

Click the drop-down arrow to select either Internal or External help reference:

Internal

Application supplied message text (Fixed value, string Expression or Message Library Reference).

External

Standard Windows help system consisting of a help file name and an optional keyword or reference number (Fixed or Expression).

*Floating Tip

Mouse pointer message for the control (Fixed value, string Expression or Message Library Reference).

You can customize the floating tip by adding a tip title, descriptive tip text and a hyperlink. These features enhance the visual display and functionality of the tip by providing users with much needed information at their fingertips. You can define either a Standard tip or an HTML tip that provides a simplified HTML Editor for customizing the tip text. To do this, click the button to the right of the Floating Tip Multi-Line input to invoke the Define Info Tip dialogue. See Defining an Info Tip.

Note:
The Floating Tip drop box and Multi-Line input cannot be changed once an HTML tip has been defined.

*Message Bar

Text to be displayed in the panel's status bar when focus is on the control (Fixed value, string Expression or Message Library Reference).

Validation ( * indicates a Dynamic property)

*Data Validation/Display Logic

(Available when Use Extended Validation check box is not selected)

Validator

Name of validation program with an optional entry point label. See Format and Validation Logic.

Formatter

Name of formatter program with an optional entry point label. See Format and Validation Logic.

Rules

Input validation range and/or values (comma-separated); e.g. A, C, R-T. Fixed value or string Expression.

Extended Validation

(Available when Dynamic check box is selected)

Extended Validation is used to provide additional table validation and allow access to data elements for creating display-only Multi-Line controls when designing NOMADS panels. See Extended Class Validation.

Use Extended Validation

Select this check box to set up Extended Validation for the data class. This starts with specifying a Table, which will then enable other Extended Validation properties.

Note:
When using Extended Validation, the Validator, Formatter and Rules properties are disabled.

Table

(Available when Use Extended Validation check box is selected)

Name of the data table/file to use for the validation. When a valid table/file is entered, the Key field is populated.

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.

Note:
If the Table is changed or removed for the data class, the data class must be reapplied for associated Multi-Line controls. See Reapply Data Class.

Key

(Available when a Table is selected)

Key definition to use to verify the value entered. Click the drop-down arrow for a list of Keys defined for the table. Defaults to the Primary key when a Table is entered.

Note:
If the Key is changed or removed for the data class, the data class must be reapplied for associated Multi-Line controls. See Reapply Data Class.

Descriptive Field

(Available when a Table is selected) 

Specify a descriptive field (either Fixed or Expression) to allow it to be available when creating display-only Multi-Line controls in the NOMADS Panel Designer. See Extended Class Browse.

Fixed

Click the drop-down arrow to select from a list of string elements in the selected Table. This list includes numeric elements (if defined), which display either as =STR(value:"format") or =STR(value), depending on whether a Display format mask was defined for the numeric element in the Data Dictionary.

Examples:

=STR(ytdSales:"##,###,##0.00")

With Display format mask ##,###,##0.00

=STR(QtyOnHand)

Without a Display format mask

If a numeric element is selected when the data class is saved, the Descriptive Field drop box will show Expression the next time this data class is accessed.

Expression

Enter an expression that will be available when creating display-only Multi-Line controls. The expression will be evaluated while validating the data. Only variables available to the %nomads'class object may be used, which includes any columns from the Extended Validation Table or global variables or any system wide variables. Constant string values may also be used.

Examples:

   ClientCode$+': '+ClientName$

   'Date = '+DTE(InvoiceDate$:%Dl %Ml %D/%Y)

   SalespersonCode$+SEP+SalespersonName$ (see Note)

Note:
If a SEP is included in an expression, it will insert another line in the display-only Multi-Line control, which will require a Height setting greater than 1.

If entering an expression that includes columns from the selected Table, the Populate All Fields check box must be selected.

(The ability to use numeric elements and specify an Expression was added in PxPlus 2020.)

Populate All Fields

(Available when a Descriptive Field is entered or selected)

Select this check box to allow all data elements in the selected Table to be available when creating display-only Multi-Line controls in the NOMADS Panel Designer.

Error if Invalid

(Available when a Table is selected)

(Optional) Enter an error message to display if the value entered fails validation (i.e. not found in the table). Click the Query button (binoculars) to select an existing message from the *MSGLIB message library.

If no error message is specified (default), the error code FW_NOTFOUND will be used, which displays the following message: "value$ is not a valid entry. No corresponding record was found in the system."

Logic if not found

(Available when a Table is selected)

(Optional) Enter the logic to execute (using the EXECUTE directive) if the value entered is not found instead of displaying an error message (e.g. logic to allow a new value to be defined if it cannot be found).

(Extended Validation was added in PxPlus 2019.)

Query ( * indicates a Dynamic property)

*Query Type

Type of query to associate to the control: Panel, Query Program, Non-Query Logic, Spinner Controls. Valid formats include a NOMADS query object or query list, a custom query panel, or user-supplied query program.

Depending on the Query Type selected, different information is entered. For an explanation of each type and the information to enter, see Query Type.

Important Note:
Query buttons are only drawn if the associated Multi-Line is one line high.

*Panel Information

(Applicable when Query Type is Panel)

For an explanation of the information to enter, see Query Type: Panel.

The Define button uses the Panel name to either create a new or edit an existing query definition.

(The Define button was added to Data Class Definitions maintenance in PxPlus 2023 Update 1.)

*Query Program

(Applicable when Query Type is Query Program)

For an explanation of the information to enter, see Query Type: Query Program.

*Non-Query Logic

(Applicable when Query Type is Non-Query Logic)

For an explanation of the information to enter, see Query Type: Non-Query Logic.

*Spinner Controls

(Applicable when Query Type is Spinner Controls)

For an explanation of the information to enter, see Query Type: Spinner Controls.

*Query Button Options

(Available when Query Type is Panel, Query Program or Non-Query Logic)

Options that can be set to refine the appearance of the query button for the Multi-Line. For an explanation of these options, see Query Button Options.

 

Popup Menu

Button that is used to assign a popup menu to a data class (Fixed value or Expression, to be evaluated at run time when the popup signal occurs). A check mark displayed on the button indicates that a popup menu is currently assigned to the data class. This button invokes the Assign Popup Menu window for assigning Prior Popup logic, a pre-defined popup object or user-defined program. If selected, Prior Popup logic will be executed before the popup menu is displayed. If On Select logic exists for the control with the popup menu, this will be triggered before the popup event.

Select the Panel option in the Assign Popup Menu window to display a pre-set list of popup objects available for the highlighted library. The Program option is used to add a user-defined program. This can be either a Fixed value or an Expression to be evaluated at run time when the popup signal occurs.

Write

Adds a new data class definition or updates an existing definition.

Delete

(Available when an existing data class is selected)

Removes the selected data class definition. Before proceeding, a message asks to confirm the deletion, as deleting a data class in use may cause issues.

Clear

Clears the current data class definition to allow you to define a new data class or select an existing definition.

Exit

Closes Data Class Definitions maintenance without saving any changes.

(The User Aids tab was added in PxPlus 2018.)