Database Objects
Database Objects is het scherm in de UCT waarmee de structuur van de Ultimo-database wordt beheerd: tabellen, kolommen, foreign keys en hun eigenschappen. Hier kun je de database uitbreiden met custom tabellen en kolommen, kolombreedtes aanpassen en relaties tussen tabellen definiëren.
Gerelateerd: screens, screen-rules, uct-overzicht
Locatie in UCTbewerken
UCT > Database > Database Objects
Schermindelingbewerken
Objectboom (links)bewerken
De objectboom toont alle databaseobjecten in een hiërarchie:
| Icoon | Type |
|---|---|
| DB | Database |
| Map | Groepering (geen details in detailpaneel) |
| T | Tabel |
| PK | Primary key |
| K | Kolom (geen foreign key, geen trigger-doel) |
| FK | Foreign key |
| TG | Doelkolom van een trigger |
| C | Computed column |
Toolbarbewerken
| Knop | Functie |
|---|---|
| Edit | Schakel naar bewerkingsmodus |
| Stop editing | Terug naar weergavemodus (wijzigingen in geheugen) |
| New table | Nieuwe tabel aanmaken |
| New column | Nieuwe kolom aan geselecteerde tabel toevoegen |
| New foreign key | Nieuwe foreign key aan geselecteerde tabel toevoegen |
| Add column to primary key | Kolom toevoegen aan samengestelde primary key |
| Remove column from primary key | Kolom uit primary key verwijderen |
| Delete | Geselecteerd custom element verwijderen |
| Reset workspace changes | Alle wijzigingen in de huidige sessie ongedaan maken |
| Revise database | Wijzigingen doorvoeren naar de database |
Tabeleigenschappenbewerken
| Eigenschap | Beschrijving |
|---|---|
| Table | Tabelnaam. Custom tabellen beginnen met _ (underscore) |
| Prefix | Prefix voor alle velden. Custom prefixen beginnen met _ |
| Entity name | Naam waarmee de tabel wordt aangesproken in workflows |
| Description | Beschrijving van de tabelinhoud |
| Delete mode | Delete (direct verwijderen), Trash (prullenbak), Delete and Trash (beide) |
| Track modification date | Log de datum/tijd van de laatste wijziging per record (kolom ChangedDate) |
| Use import/export columns | Voeg kolommen toe voor data-uitwisseling (DataProvider, ExternalID, etc.) |
| Linked to company | Foreign key naar de Company-tabel toevoegen |
| Has currency | Foreign key naar de Currency-tabel toevoegen |
| Default explorer | Standaard explorer-ID voor de tabel |
| Input screen | Toon een scherm in de explorer-dialoog naast de boomstructuur |
Kolomeigenschappenbewerken
| Eigenschap | Beschrijving |
|---|---|
| Column name | Kolomnaam in de database |
| Property name | Naam waarmee de kolom wordt aangesproken in workflows. Vereisten: geen spaties, uniek binnen tabel, begint met _ als kolomnaam met _ begint |
| Column label | Eigen kolomnaam (alleen custom kolommen) |
| Database type | SmallInt, Int, BigInt, Decimal, DateTime, VariableCharacter, LongVariableCharacter, Binary |
| Input type | Verfijning van het database type (bijv. Character, Date, HtmlText, YesNo, ImageName) |
| Domain data type | Declaratie naar de webapplicatie (bijv. String, Int32, Boolean, Date, DateTime, Decimal, Status, Context) |
| Width | Maximaal aantal tekens (alleen voor varchar-velden) |
| Format | Uppercase of geen casing |
| Default value | Standaardwaarde voor nieuwe records. Systeemvariabelen: Sysdate, Sysdatetime, Userid |
| Validation | Reguliere expressie (bijv. A|B|C) of bereik voor numerieke kolommen (bijv. (4,10)) |
| Computed column | Berekende kolom op databaseniveau |
| Computed formula | Berekeningsformule (alleen custom kolommen) |
| Read only | Gebruiker kan waarde niet wijzigen |
| Logging enabled | Log wie en wanneer de kolomwaarde is gewijzigd |
| Full text enabled | Kolom opnemen in full text search domains |
Database type mappingbewerken
| Database type | Input type | Domain data type |
|---|---|---|
| SmallInt | SmallInt | Int16 |
| SmallInt | Status | Status |
| SmallInt | YesNo | Boolean |
| Int | Int | Int32 |
| BigInt | Context | Context |
| Decimal | Decimal/Precision1-6 | Decimal/Percentage |
| Decimal | MoneyPrecision0-5 | CompanyMoney/TransactionMoney |
| Date | Date | Date |
| DateTimeOffset | DateTime | DateTime |
| Time | Time | Time |
| VariableCharacter | Character | String |
| LongVariableCharacter | HtmlText | String |
| Binary | Binary | Byte[] |
Foreign key eigenschappenbewerken
| Eigenschap | Beschrijving |
|---|---|
| Primary key table | Tabel waarnaar de foreign key verwijst |
| Foreign key table | Tabel waarin de foreign key kolom staat |
| Foreign key name | Naam van de foreign key. Standaard: FK, Custom: FK_ |
| Property name | Workflow-naam. Moet uniek zijn voor zowel de foreign key-tabel als de primary key-tabel |
| List name | Naam van de lijst waarnaar de foreign key verwijst |
Stap-voor-stap: Tabel toevoegenbewerken
- Open Database > Database Objects
- Klik Edit
- Klik New table
- Vul de eigenschappen in (tabelnaam begint met
_, prefix begint met_) - Klik Add
- Klik Revise database om de wijziging door te voeren
Na het toevoegen: Voer System > Rebuild mappings uit om de tabel in workflows beschikbaar te maken. De tabel verschijnt pas in Contexts & Statuses na Revise database.
Stap-voor-stap: Kolom toevoegenbewerken
- Selecteer de tabel in de objectboom
- Klik New column
- Kies het database type, input type en width
- Stel default value, validation en format in
- Klik Add
- Klik Revise database
Let op: Voor foreign key-kolommen kun je de kolombreedte niet hier wijzigen; wijzig de breedte van de primary key-kolom in de bronttabel.
Stap-voor-stap: Foreign key toevoegenbewerken
- Selecteer de tabel
- Klik New foreign key
- Selecteer de primary key-tabel
- Vul de eigenschappen in
- Klik Add
- Klik Revise database
Beperkingen: - Geen foreign key tussen twee primary key-kolommen - Geen foreign key tussen twee niet-primary key-kolommen - Kolommen moeten hetzelfde type en dezelfde breedte hebben
Revise databasebewerken
Na wijzigingen in Database Objects worden deze tijdelijk opgeslagen maar nog niet doorgevoerd. Om de wijzigingen toe te passen:
- Controleer of de omgeving in maintenance mode staat (System > Maintenance mode)
- Maak een backup van de database
- Klik Revise database
- Er wordt automatisch een pakket aangemaakt met de database-wijzigingen
Waarschuwing: Als je een Revise database afbreekt, is de database onbruikbaar. Maak altijd eerst een backup!
Gerelateerde database-onderdelenbewerken
Column Labelsbewerken
UCT > Database > Column Labels
Beheer de weergavenamen van kolommen per tabel en per configuratie (context). Eenzelfde kolom kan in verschillende situaties (bijv. DEFAULT, CATERING, IT) een ander label hebben.
Selection Listsbewerken
UCT > Database > Selection Lists
Bepaal welke kolommen, in welke volgorde en met welke breedte worden getoond in keuzelijsten en dropdowns. Per tabel/configuratie-combinatie instelbaar.
Summary Triggersbewerken
UCT > Database > Summary Triggers
Overzicht van standaard en custom summary triggers: automatische aggregatieberekeningen die samenvattingswaarden bijhouden wanneer gerelateerde data wijzigt.
Contexts & Statusesbewerken
UCT > Database > Contexts & Statuses
Beheer contexten (situaties/configuraties) en statussen (levenscyclus) per tabel. Stel standaard schermen in per context/status-combinatie.
Context toevoegen: 1. Selecteer de tabel, ga naar tab Contexts, klik Edit 2. Klik Add new context, vul Value, Name, Description, Singular/Plural description en Gender in 3. Klik Add
Status toevoegen (alleen voor custom tabellen): 1. Selecteer de tabel, ga naar tab Statuses, klik Edit 2. Klik Add new status, vul Value, Name, Description en Order in 3. Klik Add
Master Data Setupbewerken
UCT > Database > Master Data Setup
Kopieer voorgedefinieerde stamdata naar de Ultimo-database. Selecteer een context set en kopieer individuele records of de hele set.
Data Collectionsbewerken
UCT > Database > Data Collections
Voeg records toe of bewerk records via Excel-sheets. Exporteer, wijzig in Excel, valideer en importeer terug in Ultimo.
Praktische tipsbewerken
- Custom tabellen en kolommen beginnen altijd met
_(underscore) — dit onderscheidt ze van standaard Ultimo-objecten - Na elke database-wijziging: Revise database + Rebuild mappings
- Gebruik Default value met
SysdateofUseridvoor automatische audit-informatie - De knop Show maximum used width bij een kolom toont de maximaal gebruikte breedte — handig bij het verkleinen van kolommen
- Gebruik Logging enabled op gevoelige kolommen voor een audit trail
- Full text enabled maakt de kolom doorzoekbaar via de zoekbalk in de frontend
Zie ookbewerken
- screens — Schermdefinities die aan tabellen zijn gekoppeld
- screen-rules — Berekenings- en kopieerregels op basis van databasevelden
- explorers — Boomstructuren die tabelrelaties tonen
- uct-overzicht — Overzicht van de UCT