ORDA war eine der wichtigsten Ankündigungen des 4D Summit 2018 und eröffnete eine Welt neuer Möglichkeiten in 4D. Um mehr über ORDA und seine Vorteile zu erfahren, lesen Sie diesen Beitrag, um zu sehen, wie ORDA Ihre Arbeitsweise verändern wird.
EINLEITUNG
Mit ORDA erfolgt der Datenzugriff über eine Abstraktionsschicht: den Datenspeicher. Ein Datenspeicher ist ein Objekt, das eine Schnittstelle zur Datenbank und ihren Daten über Objekte bietet. So wird beispielsweise eine Tabelle auf ein Datenklassenobjekt abgebildet, ein Feld ist ein Attribut einer Datenklasse. Der Befehl new ds Befehl gibt einen Verweis auf den Anwendungsdatenspeicher zurück. Wenn Sie mehr darüber erfahren möchten, werfen Sie einen Blick auf den Übersichtsartikel in der Dokumentation.
Um Sie bei der Erkundung der ORDA-Funktionen zu unterstützen, haben wir ein Glossar mit den verschiedenen Begriffen und Konzepten sowie deren Definition erstellt.
ORDA bietet auch einige nützliche Informationen über die Struktur der Datenbank.
Dies kann sehr hilfreich sein, wenn Sie generischen Code …. schreiben, ohne die Struktur einer Datenbank zu kennen.
Laden Sie das dynamische Sortierwerkzeug TIP
Hier ist ein Beispiel:
Da der von dem Befehl ds Befehl zurückgegebene Datenspeicher ein Objekt ist, kann man ihn mit einer for each Schleife durchlaufen werden, um seine Attribute (auch bekannt als dataClasses) zu erhalten.
Damit können Sie generischen Code schreiben, der für alle Tabellen im dataStore gilt.
Im folgenden Beispiel erstellen wir eine Sammlung von Objekten, die die dataClasses enthalten.
C_OBJECT($dataClassObj)
C_TEXT ($dataClassName)
For each ($dataClassName;ds)
$dataClassObj :=New object
$dataClassObj .name:=$dataClassName
$dataClassObj .value:=ds[$dataClassName]
Form .dataClassList.push($dataClassObj)
End for each
Diese Sammlung kann in einem Listenfeld angezeigt werden, damit die Benutzer eine dataClass auswählen können. Dann können wir mit dem generischen Code für die ausgewählte dataClass fortfahren.
Ein dataClass-Objekt kann auch mit einer Schleife durchlaufen werden. for each Schleife durchlaufen werden, um seine Attribute mit nützlichen Eigenschaften zu erhalten:
-
- name: Name des dataClassAttributs im Datenmodell
- Art: die Kategorie des Attributs:
- „storage“: Entspricht einem Feld in der 4D Datenbank
- „relatedEntity“: ein N -> 1 Beziehungsattribut
- „relatedEntities“: ein 1 -> N Beziehungsattribut
- relatedDataClass: der Name der Datenklasse, die mit dem Attribut verknüpft ist (wenn type „relatedEntity“ oder „relatedEntities“ ist)
Mit all diesen Informationen können Sie generischen Code schreiben, ohne die Struktur Ihrer Datenbank zu kennen.
In der mitgelieferten TIP-Beispieldatenbank werden Sie lernen, wie man dynamisch:
- eine dataClass des dataStore auswählen,
- ein Listenfeld mit allen dataClass-Eigenschaften einschließlich der ersten Ebene der verwandten Entität erstellen und
- ein Sortierwerkzeug erstellen.
Hier ist ein Überblick über diesen TIP: