Mit Hilfe von Metadaten und Relationen können Sie sich eigene Tabellen erstellen, die mit den von Ihnen benötigten Inhalten gepflegt werden können. Die Felder der Metatabelle lassen sich durch Relationen an verschiedenen Stellen einbinden. Dieses Beispiel dient der Erstellung von Metatabellen und der Einbindung von den erstellten Feldern, mithilfe der Relationen, in die ActiveSkin Controls ObjektSelector, ObjektList, PropertyGrid2 oder auch dem ObjectGrid.
Bevor Sie eine neue Tabelle anlegen sollten Sie sich genau überlegen welche Felder Sie benötigen, mit welchen Daten innerhalb der SOG ERP (SOG ERP (VACOS)) Datenbank diese in Verbindung stehen (z. B. sa und konto aus dem Kundestamm) und welchem Datentyp diese Felder entsprechen. Bei Fragen diesbezüglich sprechen Sie hierfür Ihren Projektleiter an.
Metadaten können nur über das PropertyGrid2 gepflegt werden (siehe unten).
In diesem Beispiel wird ein Testfeld für den Kundenstamm erstellt, die Relation erfolgt über die Felder Satzart (sa) Konto (konto).
Starten Sie zuerst das Programm MetaSuche
Im Programm MetaSuche werden Ihnen alle erstellten Metatabellen angezeigt. Sie können auch gezielt nach bestimmten Metatabellen suchen, in dem Sie die Suchfunktion nutzen.
Rufen Sie die Funktion <Tabelle hinzufügen> aus dem Funktionsmenü auf.
Geben Sie der neu anzulegenden Metatabelle einen Namen und optional eine Beschriftung, in der Sie z. B. hinterlegen, welche Daten die Metatabelle trägt. Wenn Sie die Firmenabhängigkeit aktivieren, werden die Metadatensätze der Metatabelle firmenabhängig gespeichert. Wenn Sie die Option "Scripting" aktivieren, wird die Scriptverarbeitung dieser Metatabelle aktiviert (siehe Metadaten).
Nachdem die Metatabelle erstellt wurde, können Sie die einzelnen Felder der Tabelle erstellen. Als erstes werden die Felder benötigt, die später für die Relation zu den Daten von SOG ERP (SOG ERP (VACOS)) benötigt werden. Dieses Beispiel soll den Kunden ein Extrafeld hinzufügen, daher werden für die Relation die Satzart (sa) und das Konto (konto) benötigt. (Siehe Datenhandbuch)
Die einzelnen Felder müssen eingerichtet werden, Sie können hier den Feldnamen, den Titel, den Datentyp usw. bestimmen (siehe hierzu Metadaten).
Nachdem Sie die einzelnen Felder eingerichtet haben, fügen Sie die Tabelle hinzu, indem Sie die Schaltfläche <Änderungen übernehmen> betätigen und den SQL, der aufgerufen wird, ausführen. Beachten Sie dabei das Sie dafür auf der SOG ERP-Datenbank als Administrator eingerichtet sein müssen. Wollen Sie die vorgenommenen Änderungen nicht übernehmen, betätigen Sie die Schaltfläche <Änderungen verwerfen>.
Sofern bei der Anlage der Metatabelle keine eindeutige Relation definiert wird, kann dies auch über gesonderte Relationskonfigurationsdateien erfolgen. Nach Möglichkeit sollte aber immer die eindeutige Relation bei der Anlage der Metatabelle bevorzugt genutzt werden.
Die xml-Dateien, in denen die Relationen gespeichert werden, befinden sich im Ordner: "...\SOG ERP (VACOS)\sql\relation". In der xml-Datei (relv2_vorort_cfg.xml) ist es nun notwendig, eine Verbindung zwischen der Metatabelle und einer Datenbank-Tabelle wie z. B. der f010 zu erstellen. Hierfür kann eine bestehende Gruppe (z. B. Kunden) erweitert werden, wodurch automatisch alle weiteren Relationen genutzt werden können. Es kann auch eine neue Gruppe erstellt werden, wo dann alle benötigten Relationen händisch hinzugefügt werden müssen.
Bei der Nutzung einer bestehender Gruppe reicht es aus, nur die neue Metatabelle hinzuzufügen.
<RelationGroup Name="Kunden">
<Relation Table="meta_beispiel" Fields="firma sa konto" Uniq="true" />
</RelationGroup>
Sofern eine neue/ eigenständige Gruppe genutzt werden soll,muss eine Gruppe erstellt werden, die gleichzeitig mit einem Namen versehen wird, den Sie später beim integrieren in eine Maske wiederfinden. Der Aufbau in diesem Beispiel sieht wie folgt aus:
<RelationGroup Name="Kunden_Testfeld">
<Relation Table="meta_beispiel" Fields="firma sa konto" Uniq="true" />
<Relation Table="f010" Fields="firma sa konto" Uniq ="true" />
</RelationGroup>
Die Metatabelle "beispiel" bildet eine Relation zur Tabelle f010, mit den Feldern "firma", "sa" und "konto", das bedeutet, dass Daten abhängig von diesen Feldern gespeichert und aufgerufen werden. "Uniq" gibt an, ob über die angegeben Felder genau 1 Datensatz identifiziert werden kann, oder mehrere (siehe Relationen).
Im nächsten Schritt muss noch eine Klasse für die Metatabelle erstellt werden, für die Metatabelle "beispiel" sieht der Aufbau folgendermaßen aus:
<Class Table="meta_beispiel" ObjectClass="#meta_beispiel" />
(siehe Relationen)
Anlegen von Metafeldern in einem Objektselektor
Sie können erstellte Metafelder in Objektselektoren platzieren (z. B. in der Kundensuche). Hierfür aktivieren Sie zuerst die erweiterten Kontextmenüfunktionen.
Ein Rechtsklick auf die Auswahl öffnet ein Kontextmenü, hier gehen Sie auf den Punkt "Auswahl" und dann auf "Spalten konfigurieren". Es öffnet sich ein Extramenü, in dem Sie einstellen können, welche Felder Ihnen in dem ObjectSelect für die Selektion angezeigt/ bereitgestellt werden.
Auf der rechten Seite befindet sich die zuvor erstellte Relation "Kunden_Testfeld", in der sich die erstellten Felder befinden. Die gewünschten Felder lassen sich per Drag&Drop in den Auswahlbereich auf der linken Seite verschieben.
Nachdem Sie die gewünschten Felder hinzugefügt haben, erscheint das Metafeld nun im Objektselektor und Sie können nach den Metafeldern suchen oder mit Ihrer Hilfe die Suche weiter einschränken.
Anlegen von Metafeldern in einer Objektliste
Sie können erstellte Metafelder in Objektlisten platzieren (z. B. in der Anzeige der Kundensuche). Hierfür aktivieren Sie zuerst die erweiterten Kontextmenüfunktionen.
Ein Rechtsklick auf die Tabelle öffnet ein Kontextmenü, hier gehen Sie auf den Punkt "Tabelle" und dann auf "Spalten konfigurieren". Es öffnet sich ein Extramenü, in dem Sie einstellen können, welche Spalten sich in der Tabelle befinden sollen.
Auf der rechten Seite befindet sich die zuvor erstellte Relation "Kunden_Testfeld", in der sich die erstellten Felder befinden. Die gewünschten Felder lassen sich per Drag&Drop in den Auswahlbereich auf der linken Seite verschieben.
Nachdem Sie die gewünschten Felder hinzugefügt haben, erscheint das Metafeld nun in der Objektliste und die Spalte des Metafeldes wird in der Tabelle angezeigt.
Anlegen von Metafeldern in einem PropertyGrid2
Im PropertyGrid2 ist es möglich Metadaten zu pflegen. Um dem PropertyGrid2 Metafelder hinzuzufügen, aktivieren Sie zuerst die erweiterten Kontextmenüfunktionen.
Im Kontextmenü wählen Sie den Punkt "Datenobjekt" und gehen danach auf "Eigenschaften konfigurieren". Es öffnet sich ein Extramenü, in dem Sie einstellen können, welche Felder sich in dem PropertyGrid2 befinden sollen. Es ist ebenfalls möglich dieses Menü durch den Button zu öffnen.
Auf der rechten Seite befindet sich die zuvor erstellte Relation "Kunden_Testfeld", in der sich die erstellten Felder befinden. Die gewünschten Felder lassen sich per Drag&Drop in den Auswahlbereich auf der linken Seite verschieben.
Nachdem Sie die gewünschten Felder hinzugefügt haben, erscheint das Metafeld nun im PropertyGrid2. An dieser Stelle ist es möglich die Metadaten zu pflegen.
Um die Bearbeitung zu aktivieren, benutzen Sie den Button bearbeiten , um die Eingabe im PropertyGrid2 zuzulassen. Jetzt ist es möglich, Daten in das hinzugefügte Metafeld einzugeben und diese über <speichern> zu speichern (siehe PropertyGrid2).
Anlegen von Metafelder in einem Objektgrid
Um im Objectgrid Metafelder anzeigen zu lassen, muss die Metatabelle erst als Relation hinzugefügt werden. Hierfür müssen Sie die Zelleneigenschaften des Objectgrids aufrufen(siehe Maskeneditor und Anlegen neuer Controls).
Die Relationen sind nicht vorhanden und müssen erst manuell hinzugefügt werden. Hierfür wird ein Basisobjekt festgelegt, welches in unserem Beispiel wie folgt aussieht: "#dbs.Kundenstamm(${Env.TBR},${sa},${konto})". Es müssen die Variablen angegeben werden, welche für die Auswahl der Daten im Objectgrid notwendig sind. In unserem Beispiel firma (Env.TBR), Satzart (sa) und konto (konto) (siehe Objectgrid für Poweruser)
Nachdem der Objektverweis erstellt wurde, können Sie das Kontextmenü des Objectgrids (z. B. innerhalb des p800) aktivieren. Hier ist es nun möglich Metadaten anzeigen zu lassen. Hierfür aktivieren Sie zuerst die erweiterten Kontextmenüfunktionen.
Im Kontextmenü aktivieren Sie hierfür zuerst den Punkt "ObjectGrid Konfigurieren". Die Konfigurationsmöglichkeiten werden aktiv geschaltet.
Nachdem "ObjectGrid Konfigurieren" aktiviert wurde, können weitere Optionen ausgewählt werden. Sie können Spalten oder Zeilen hinzufügen und Datenfelder bearbeiten (siehe Objectgrid). Wählen Sie den Punkt Datenfeld, um ein angewähltes Feld zu bearbeiten oder hinzuzufügen. Es öffnet sich ein weiteres Menü, in dem Sie die Feldeigenschaften einstellen können.
Öffnen Sie die Auswahl vom Datenfeld.
Die Relationen, die vorher eingestellt wurden, sind nun in der Auswahl zu finden und das gewünschte Feld kann ausgewählt und dem Objectgrid hinzugefügt werden.
Das Feld erscheint in der Ansicht.