UNIBASE

Data Dictionary

DATA DICTIONARY: Inside the engine room of Unibase

Execution & File Path

Scripts are stored as flat ASCII files in the /scripts directory. They act as the custom validation presentation layer and are invoked via the ubprompt utility.

$ ubprompt [table_name] [script_name] [record_id]

The Header Record Configuration

The very first line of any .scr file is mandatory. It outlines the global operating parameters for the screen canvas.

Title, Row, Col, Width, Height, Fore, Back, Security

Header Implementation Example:

Customer Entry, 2, 5, 70, 20, 7, 0, 5

The layout window is titled “Customer Entry”, instantiates at Row 2/Col 5, handles a 70×20 grid, renders in White on Black, and locks execution to Security Level 5.

Field Specification Syntax

Every line following the header represents an interactive input block. It adheres to a strict 10-position structural rule. Empty positional arrays must contain blank trailing commas.

Label, Name, Len, Type, P-Row, P-Col, D-Row, D-Col, Modifiers, Default
Position Parameter Definition
1. LabelThe textual prompt displayed to the end-user.
2. NameThe literal attribute link matching the corresponding entry in the dict.dat.
3. LenThe physical character length allocated to the screen input box.
4. TypeExplicit data type override constraints (e.g., DT, AN, N2).
5. P-RowVertical terminal row positioning for the prompt label.
6. P-ColHorizontal terminal column positioning for the prompt label.
7. D-RowVertical terminal row positioning for the actual entry field.
8. D-ColHorizontal terminal column positioning for the actual entry field.
9. ModifiersReal-time evaluation rules applied during value interception.
10. DefaultPre-populated session constants or literal dynamic strings.

Attribute Modifier Glossary

Modifiers are declared inside Position 9 to alter field-level traits and enforce business rules at the glass layer:

MMandatory: Reject empty submittals; field requires structural data.
UUppercase: Automatically cast lowercase alpha characters to capitals.
RRead Only: Protects values (like background math calculations) from manual modification.
VVerify: Forces an instantaneous referential integrity lookup against linked tables.
HHidden: Invisible runtime capture fields (used for passing tokens or system IDs securely).
PPattern: Imposes input masking logic onto structural data strings.
LLookup: Spawns a floating modal search interface if entry parameters fail index matches.
CClear: Purges the localized lower coordinate terminal space immediately upon activation.

Attribute Modifier & Variable Examples

Example: Mandatory & Uppercase Verification

Account Code, acc_code, 10, AN, 4, 2, 4, 20, MUV,

Enforces a 10-character alphanumeric layout that forces uppercase input and triggers schema verification.

Example: System Session Mapping

Date of Entry, entry_dt, 10, DT, 6, 2, 6, 20, R, *DATE

Captures and displays the running date as a protected, un-editable input baseline.

Multi-Column Offset Layouts

To array layout properties into horizontal rows, pin the matching row parameters while offsetting column markers across the axis:

City, city_name, 20, AN, 8, 2, 8, 10, M,
State, state_code, 2, AN, 8, 35, 8, 42, MU,
Zip, zip_code, 10, N0, 8, 50, 8, 55, M,

The engine executes these three discrete fields side-by-side along Row 8 of the UI wrapper.

Separators & Logic Branching

Visual Break Separator Lines

-, , , , 7, 2, 7, 70, ,

Assigning a hyphen to the label variable outputs a clean divider rule from Column 2 to 70 across Row 7.

Procedural Branching (The GOTO Directive)

Ship to Same?, ship_flag, 1, AN, 10, 2, 10, 20, , Y
IF “Y” GOTO TOTALS
Address 1, ship_adr1, 30, AN, 11, 2, 11, 20, M,
[… sequential secondary shipping attributes …]
:TOTALS
Final Total, order_total, 12, N2, 15, 2, 15, 20, R,

The conditional array breaks procedural top-down flow, skipping past non-applicable input configurations dynamically based on real-time data states.

 

Verified by MonsterInsights