Lade...
 

Meta Object

Meta-Objekt

Beschreibung

Ein Meta-Objekt repräsentiert eine Gruppe identischer bzw. ähnlicher Objekte einer Anwendungslösung. Ähnlich auch deshalb, weil sich verschiedene Objekte zum Beispiel der selben Klasse "CX_CUSTOMER" durch die Anzahl und Art der Datenfelder voneinander unterscheiden können. Trotzdem werden im Meta-Modell solche "ähnlichen" Objekte zu einem Meta-Objekte "Kunde" zusammengefasst. Dieses Meta-Objekt wird dann durch die Gesamtheit aller möglichen Datenfelder beschrieben.

Meta-Objekte werden ausschließlich durch den ObjectCrawler angelegt.

Identifikation eines Meta-Objekts

Ein Meta-Objekt wird in erster Linie durch seinen Typ identifiziert. Der Typ ist der Klassenname (z. Bsp.: CX_CUSTOMER) der Objekte.

Ein weiteres Identifizierungsmerkmal ist die Angabe Hauptobjekt. Hauptobjekte sind Objekte, welche in einer RootEntryPoint-Collection (REP Collection) des jeweiligen Klassentyps registriert werden. Somit können alle Hauptobjekte direkt identifiziert und dem entsprechenden Meta-Objekt zugeordnet werden. So ist jedes Kunden-Objekt durch die Angabe "Typ=CX_CUSTOMER und Hauptobjekt=ja" identifizierbar.

Nun gibt es in der Datenbank aber auch Slave-Objekte, die nicht in einer REP-Collection stehen und somit keine Hauptobjekte sind. Diese Slave-Objekte werden über ihren Master referenziert/definiert/identifiziert. Der Master ist selbst ein Meta-Objekt und referenziert/definiert/identifiziert andere Meta-Objekte als Slave-Objekte. Dieses ist deshalb zu unterscheiden, da Slave-Objekte durch unterschiedliche Zuordnungen einen unterschiedlichen Charakter in der Anwendungslösung haben (können). Deutlich wird dies am Beispiel der Klasse CX_LINK_TXN. Objekte dieser Klasse können sowohl als Auftragspositionen, Lieferscheinpositionen oder andere beliebige Belegpositionen eingesetzt werden. Um eine Auftragsposition als Meta-Objekt eindeutig identifizieren zu können ist neben dem Typ (=CX_LINK_TXN) und der Kennung Hauptobjekt (=nein) die Angabe ihres Masters nötig. Der Typ des Master Objekts ist in diesem Fall  CX_SALES_ORDER und z.B. im Falle einer Lieferscheinposition CX_DELIVERY_NOTE.

Das Regelwerk, nach welchem das Master Objekt eines Slave-Objekts definiert wird, ist im ObjectCrawler hinterlegt. Exemplarisch sind in folgender Aufzählung einige der Regeln genannt:

Definition Master Datenfeld Klassen
übergeordnete Position transaction
alle Ableitungen von CX_TRANSACTION (außer CX_ALLOCATION_TXN, da ist die predecessors[0])
der Besitzer owner alle CX_ACCOUNT Klassen, CX_STATE_MONITOR
die Hauptperiode mainPeriod CX_CALENDAR
der Ordnungsbegriff Top() CX_STRUCTURE
das letzte Objekt über welches das Objekt aufgerufen wurde - Konditionen, lokale Attribute, ...
... ... ...

 

Neben den normalen Slave-Objekten gibt es noch die Datenwürfel Objekte (vom Typ CX_DATA_CUBE / CX_LOG_CUBE), die nicht durch ein Master Objekt, sondern durch ihre Dimensionen definiert werden. Als Dimensionen gibt es mindestens zwei Master Objekte. Ein zwei-dimensionaler Datenwürfel wird also dadurch identifiziert, dass es genau zwei eindeutige Verweise (Dimension 1 und Dimension 2) auf andere Meta-Objekte gibt. Ausnahmen gibt es bei den Datenwürfeln, die Monats- oder Jahreskonten darstellen. Hier gibt es eine "richtige" Dimension und eine Dimension, welche die Zeitspanne ("Jahr", "Monat") darstellt.

Funktionalität

Eingabefenster

Dieses Fenster dient der Pflege von ...

Menü
Menüpunkt Beschreibung
Bearbeiten -
: Meta-Access -
: : Neuen Meta-Access anlegen und einfügen Es wird die leere Bearbeitungsmaske der Meta-Access geöffnet und das aktuelle Meta-Objekt als Master gesetzt. Somit kann ein Zugriffspfad dem Meta-Objekt manuell hinzugefügt werden.
: : Referenziertes Meta-Objekt öffnen Verweist der in der Liste der Zugriffspfade/Datenfelder selektierte Meta-Access auf ein anderes Meta-Objekt, so kann dieses über diesen Menüpunkt direkt geöffnet werden, ohne über den Meta-Access navigieren zu müssen.
: Gültigkeit Gültigkeit festlegen
: Schließen Schließt das Fenster
Suchen Listenfenster aufrufen

 

Toolbar
Symbol Beschreibung
new.png Neues Meta-Objekt anlegen
save.png Änderungen speichern
delete.png Meta-Objekt löschen
CX_PRINTER.pngCX_PRINTER_hardcopy.png Meta-Objekt drucken
CX_VALIDITY.png Gültigkeit festlegen

 

Felder
Feld Beschreibung
: Identifikation Siehe oben  Identifikation eines Meta-Objekts
: : Typ Der Typ (die Klasse bzw. der Klassenname) des Objekts, das durch das Meta-Objekt repräsentiert wird.
: : Hauptobjekt (in REP) Wenn das repräsentierte Objekt in der REP-Collection (root entry point collection) seiner Klasse enthalten ist, dann handelt es sich um ein "Master"-Objekt. In diesem Fall ist das Kennzeichen gesetzt.
: : Master

Wenn das repräsentierte Objekt selbst kein Master-Objekt ist (sich also nicht in der REP-Collection seiner Klasse befindet, obiges Kennzeichen also nicht gesetzt ist), dann muss es - als sog. "Slave"-Objekt - durch ein Master-Objekt identifiziert werden. Alternativ kann es auch über ein anderes Slave-Objekt identifiziert werden, welches wiederum durch ein anderes Slave- oder Master-Objekt repräsentiert wird. Am Ende der Kette muss sich aber immer ein Master-Objekt befinden.

Oder anders ausgedrückt: am Anfang einer jeden Navigationskette zu einem Objekt hin kann/muss ein Master-Objekt stehen (ansonsten würde man das Objekt in der Datenbank auch nicht finden,da es für dieses Objekt im wahrsten Sinne des Wortes auch kein root entry point (REP) gibt).

Bei Objekten vom Typ CX_LOG_CUBE (OLAP Datenwürfel) gilt, dass sie durch ihre Dimensionen und daher von mindestens zwei Objekten identifiziert werden. Ist hierbei eine Dimension vom Typ CX_SPAN_DATE oder einen anderen einfachen Datentyp, so wird diese Dimension nicht durch ein Objekt, sondern nur noch durch einen beschreibenden Text repräsentiert.

: : Erste Dimension
: : Zweite Dimension
: : Identisch mit Wenn es in der Datenbank ein Slave-Objekt (A_r) gibt (das kleine "r" steht hier für ein reales Objekt), auf welches zwei Master-Objekte (B_r und C_r) gleichzeitig über einen Pointer verweisen, dann wir dieses Slave-Objekt vom ObjectCrawler auch zweimal als Meta-Objekt (A_m und A_m') angelegt (das kleine "m" steht hier für ein Meta-Objekt). Dieses kann leider nicht verhindert werden, selbst wenn man dieses im erstellten Meta-Model zusammenfassen würde, weil der ObjectCrawler jedes mal wieder neu das jeweils entfernte Slave Meta-Objekt erstellen würde. Deswegen werden die Objekte A_m und A_m' so beibehalten und über diesen Verweis als identisch gekennzeichnet.
 
Reale Objekte in der Datenbank Meta-Model
B_r -pointer-> A_r <--pointer- C_r B_m -pointer---> A_m
C_m
-pointer---> A_m'

: Beschreibung

 
: : Name Name des Meta-Objektes, so wie es in der Anwendung genannt wird (z. Bsp.: Kunde, Auftragsposition, usw.)
: : Beschreibung Beschreibung zu den Objekten, die durch diese Meta-Beschreibung repräsentiert werden
: : Symbol Link auf das Bild/Icon, mittels der Objekte dieses Meta-Objekts als Symbol angezeigt werden sollen.
: : Anzeige Formatbeschreibung, mittels der Objekte dieses Meta-Objekts angezeigt werden sollen.
: Member  
: : Meta-Access Liste Liste der Meta-Access Objekte. Dieses können zum einen die Datenfelder sein, die automatisch über den ObjectCrawler angelegt wurden und zum anderen manuell erfasste Zugriffsausdrücke mit z.B. Prozedur- oder Funktionsaufrufen, die vom ObjectCrawler nicht erkannt werden können.
: Wird durch Pointer referenziert von  
: : Meta-Access Liste

Meta-Objekte können mit anderen Meta-Objekten über die normalen Referenzen (REL_MN, REL_11, REL_M1, REL_1M) verlinkt sein. Diese Referenzen werden in der Liste der Meta-Access Member Gruppe (s.o.) angezeigt. Die jeweiligen Rückreferenzen findet man dann auch in der gleichen Gruppe des referenzierten Meta-Objekts wieder.

Bei Pointern (Zeiger: singuläre, uni-direktionale Referenzen) gibt es im Zielobjekt des Pointers aber keine Rückreferenz. Diese - bei den realen Objekten in der Datenbank fehlenden - Rückreferenzen werden der Vollständigkeit halber in dieser Liste verwaltet.

In dieser Liste werden also alle die Meta-Objekte angelistet, die über einen Pointer auf das hier gerade bearbeitete Meta-Objekt verweisen.

 

Listenfenster

Dieses Fenster dient der Auflistung der Meta-Objekte.

Menü
Menüpunkt Beschreibung
Bearbeiten -
: Zurücksetzen Liste zurücksetzen:
Die Liste und Suchfelder werden geleert.
: Schließen Fenster schließen
Optionen Optionsfenster aufrufen

 

Toolbar
Symbol Beschreibung
CX_AMOUNT_calculation.png Mehrfachsuche ausführen: Alle Felder die blau gekennzeichnet sind werden bei dieser Suche berücksichtigt. Mit der Mehrfachsuche ist es möglich nach mehreren Kriterien gleichzeitig zu suchen.
list_clear.png Liste zurücksetzen:
Die Liste und Suchfelder werden geleert.
new.png Neue(n) ... anlegen
open.png ... bearbeiten
delete.png ... löschen
CX_PRINTER.pngCX_PRINTER_hardcopy.png ... drucken
pin.pngpinned.png Notizen anlegen/bearbeiten
associate.pngCX_ASSET.png Assoziationen anlegen/bearbeiten
CX_PROCEEDINGS.png Vorgänge anzeigen
CX_E_MAIL.png Email an ... senden
CX_PROCEEDINGS_new.png Vorgangsbeleg erzeugen
CX_VALIDITY.png Gültigkeit festlegen
theatermask.png Rollen verwalten
tree.png Beleghistorie anzeigen
copytoclipboard.png Alle Objekte in die Zwischenablage kopieren
... ...

 

Suchfelder
Feld Beschreibung
Nummer ...

 

Knöpfe
Knopf Beschreibung
Bearbeiten Der/Die/Das aktuelle ... wird im Eingabefenster angezeigt.
Neu Ein leeres Eingabefenster wird geöffnet.
Löschen Der/Die/Das ausgewählte ... wird gelöscht.
Schließen Das Fenster wird geschlossen.

 

Selektionsfenster

Dieses Fenster dient der Selektion ...

Suchfelder
Feld Beschreibung
Nummer ...

 

Knöpfe
Knopf Beschreibung
OK Auswahl bestätigen
Schließen Das Fenster wird geschlossen.

 

Optionsfenster

Hier können sämtliche Einstellungen für die Suche vorgenommen werden. Das Fenster kann nur über den "OK" Button geschlossen werden.

Menü
Menüpunkt Beschreibung
Bearbeiten -
: Standardeinstellungen setzen alle geänderten Einstellungen werden zurück gesetzt auf Standard

 

Felder
Feld Beschreibung
Listenoptionen
: Suchoptionen -
: : Sofortige Übernahme bei einem Treffer Wird bei einer Suche nur ein ... gefunden so wird dies im Eingabefenster geöffnet
: : Vor neuer Suche Liste leeren Vor jeder neuen Suche wird die Liste geleert
: : Allgemeine Suche Normale Suche
Suchbegriffe vom ... selbst verwenden
: : Erweiterte Suche Es können so genannte Wildcards für die Suche benutzt werden wie das * oder AND OR...
Suchbegriffe der anderen Rollen des ... werden berücksichtigt
: Gültigkeit Gültigkeit
: : Mit Austauschobjekt  
: : Ohne Austauschobjekt  
: : Nur gültige Objekte  
: : Alle Objekte  
: Anzahl Objekte Bestimmt wie viele Objekte in der Liste bei einer Suche höchstens angezeigt werden
: : Alle Objekte  
: : Anzahl Objekte  
: : 100 Objekte  
Voreinstellungen
: Globale Voreinstellungen Für den Mandanten und die Kostenstelle können globale Voreinstellungen gespeichert werden. Diese werden hier ebenso angezeigt, wie die aktuellen Standardoptionen, die jedes Modul besitzt. Um eine globale Voreinstellung zu erstellen, muss zuerst einmal eine Benutzer-Voreinstellung gespeichert werden. Mit einem Rechtsklick auf diese Benutzereinstellung und Auswahl des Kontextmenüeintrags "Benutzerdefinierte Einstellung editieren" wird ein Bearbeitungsfenster für diese Einstellung geöffnet, auf dem die Zuweisung vom Mitarbeiter / Benutzer auf einen Mandanten oder eine Kostenstelle abgeändert werden kann. (Knopf "Ebene")
: Benutzer Voreinstellungen Jeder Benutzer kann beliebig viele Voreinstellungen speichern. Dabei ist nur zu beachten, dass bei mehreren gefundenen Einstellungen die zuerst gefundene als Standardeinstellung benutzt wird. Mit einem Doppelklick kann der Name der Einstellung geändert werden.

 

Knöpfe
Knopf Beschreibung
OK Die Einstellungen werden gespeichert und das Fenster wird geschlossen.

 

Verwandte Themen

 


Technische Dokumentation

"Modul" Basismodul

Modulname

"Modul".mod

Klassen

CX_"Klasse"

Security

Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.

Empfangene Messages
Message Parameter Funktion Security
       
       
       

 

Gesendete Messages
Message Parameter Funktion Empfangs-Modul
       

"Modul" Editiermodul

Modulname

"Modul".mod

Klassen

CX_"Klasse"

Security

Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.

Empfangene Messages
Message Parameter Funktion Security
       
       
       

 

Gesendete Messages
Message Parameter Funktion Empfangs-Modul
       
       
       

"Modul" Selektionsmodul

Modulname

"Modul".mod

Klassen

CX_"Klasse"

Security

Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.

Empfangene Messages
Message Parameter Funktion Security
       
       
       

 

Gesendete Messages
Message Parameter Funktion Empfangs-Modul
       
       

Operativer Betrieb