Ein Datenobjekt in SAP Business One, das eine Reihe von Variablen enthält, die der Workflow-Dienst benötigt, um Geschäftslogik auszuführen, wie Berechnen, Vergleichen, Entscheiden und so weiter. Benutzerdefinierte Datenobjekte existieren nur im aktuellen Workflow-Prozess.
Das Konzept des "Benutzerdefinierten Objekts" (UDO - User Defined Object) in SAP Business One erfordert eine eingehende Betrachtung, um seine Funktionsweise zu verstehen. Obwohl alle Daten in einer Datenbank mit Tabellenstruktur gespeichert sind, sind die Prozesse auf Objekte aufgeteilt, die eine logische Struktur der darunter liegenden Datentabellen darstellen. Die Komplexität variiert je nach Objekt - ein einfaches Objekt könnte beispielsweise nur eine Tabelle haben, während ein komplexeres Objekt aus einer Vielzahl von Tabellen bestehen könnte.
Ein Objekt in SAP Business One besteht nicht nur aus Datentabellen, sondern auch aus vordefinierten Funktionen, die als Services bezeichnet werden. Diese Services, wie Hinzufügen, Aktualisieren, Löschen und Suchen, machen das Objekt autark und ermöglichen es ihm, in SAP Business One zu arbeiten, ohne auf andere Objekte angewiesen zu sein.
Ein benutzerdefiniertes Objekt kann das Verhalten von Standard-Objekten in SAP Business One erben und sich somit genau wie ein bereits vorhandenes Objekt verhalten. Es erweitert die Funktionalität von SAP Business One, indem es die vorhandenen Services nutzt.
Das Erstellen eines benutzerdefinierten Objekts erfordert zwei Schritte. Zunächst müssen "Benutzerdefinierte Tabellen" (UDTs) und "Benutzerdefinierte Felder" (UDFs) definiert werden, um die Grundlage für den Datenspeicher zu schaffen. Dies wird häufig als "Metadaten" bezeichnet. Im zweiten Schritt wird das benutzerdefinierte Objekt selbst erstellt, indem die Metadaten mit dem neu zu erstellenden Objekt verknüpft und dem Objekt seine spezifischen Eigenschaften zugewiesen werden. Dies kann manuell in SAP Business One selbst oder durch eine Programmierung automatisiert erfolgen. Wenn das benutzerdefinierte Objekt Teil einer komplexeren Programmierung ist - also Teil eines Add-ons -, ist die automatisierte Methode vorzuziehen. In diesem Artikel konzentrieren wir uns jedoch auf die manuelle Definition von benutzerdefinierten Objekten.