Generischen Code mit ORDA schreiben

Automatisch übersetzt von Deepl

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:

Avatar
- Product Owner - Marie-Sophie Landrieu-Yvert ist seit 2017 als Product Owner im 4D Produktteam tätig. Als Product Owner ist sie für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen zuständig. Ihre Aufgabe ist es auch, sicherzustellen, dass die Implementierung der Funktionen den Anforderungen des Kunden entspricht. Marie-Sophie ist Absolventin der ESIGELEC Ingenieurschule und begann ihre Karriere als Ingenieurin bei IBM im Jahr 1995. Sie nahm an verschiedenen Projekten teil (Wartungs- oder Build-Projekte) und arbeitete als Cobol-Entwicklerin. Dann arbeitete sie als UML-Designerin und Java-Entwicklerin. In letzter Zeit bestand ihre Hauptaufgabe darin, funktionale Anforderungen zu analysieren und zu schreiben sowie Geschäfts- und Entwicklungsteams zu koordinieren.