Objektgruppe von Objekten mit Schlüssel

Die Gruppe nimmt zu jedem (unterschiedlichen) Wert des Schlüsselattributes einen Repräsentanten in die Gruppe auf und zählt das Vorkommen.
Jedes Hinzufügen eines weiteren Objektes mit diesem Schlüsselattribut-Wert erhöht den Mengenzähler um 1. Durch das Attribut <Quantity-ID> kann der Mengenzähler um einen selbst definierten Wert erhöht werden. Um explizit zu steuern, ob ein Objekt behandelt werden soll, kann das Attribut <Use-ID> verwendet werden.

Schlüsselkennung GK

Behandlung von Objektgruppen von Objekten mit Schlüssel

Syntax:

GK  ( k [ e ] ["<Key-Format>"] <Key-ID> [ :<Quantity-ID> [ :<Use-ID> ] ] )

| a

| ( q [ 0 ] ["<Format>"] )

| ( qk [ 0 ] "Key>" [ :"<Format>"] )

| t | c;

k

Objektgruppe definieren

e

Leere Schlüsselattribut-Werte sollen ignoriert werden.

Key-ID

Schlüsselattribut, über das die Werte der Gruppe bestimmt werden.

< aid > | <("<Data Service>")>

  • Attribut enthält nur Text: Der Inhalt wird als Schlüssel übernommen.
  • Attribut enthält ganzzahligen Wert <>0: Der Wert wird als Schlüssel übernommen.

Key-Format

Festlegung, welcher Teil des Schlüsselattibuts den Schlüssel bildet.

  • Die Festlegung ist nur bei Textattributen möglich.
  • Es kann maximal ein Text und eine Zahl zur Erkennung vorgegeben werden.

Beispiel Schlüsselattribut: ".AAAAAA 23 BBBB"

"%S%d"

Schlüssel: Zeichenfolge direkt vor der Zahl

Beispiel:

".%S%d"Die Zeichenfolge muss mit "."beginnen und aus einer Zeichenfolge mit nachfolgender Zahl bestehen.

Schlüssel = "AAAAAA"(ohne Punkt)

"%s%D"

Schlüssel: Zahlenteil des Attributs

Beispiel:

".%s%D" Die Zeichenfolge muss mit "." beginnen und aus einer Zeichenfolge mit nachfolgender Zahl bestehen.

Schlüssel = "23" (ohne Punkt)

"%s%d%S"

Schlüssel: Zeichenfolge direkt hinter der Zahl

Beispiel:

".%s%d%S" Die Zeichenfolge muss mit "." beginnen und aus einer Zeichenfolge, nachfolgender Zahl und einer weiteren Zeichenfolge bestehen.

Schlüssel = "BBBB" (ohne Punkt)

Quantity-ID

Zählwertvorgabe (optional)

< aid > | <("<Data Service>")>

  • Attribut enthält nur Text: Der Inhalt wird als ganzzahlig interpretiert; nur Werte <>0 sind zulässig.
  • Attribut enthält ganzzahligen Wert: Der Wert wird direkt übernommen.
  • Dezimalzahlen sind nicht erlaubt.

Use-ID

Schalterattribut (optional)

< aid > | <("<Data Service>")>

  • Attribut enthält nur Text: Ist das Attribut leer, wird das Objekt nicht berücksichtigt.
  • Attribut enthält ganzzahligen Wert: =0 das Objekt wird nicht berücksichtigt.
  • Dezimalzahlen sind nicht erlaubt.

a

Objekt in die Gruppe hinzufügen.

q

Mengenzähler zu Objekt lesen.

q0

Zähler mit dem Wert "0" werden nicht ausgegeben.

q"<Format>"

Steuerung der Zahlenausgabe bei Abfrage der Anzahl.

"<Key>"

Direkte Abfrage eines Zählers zu einem Schlüsselwert.

qk0

Zähler mit dem Wert "0" werden nicht ausgegeben.

t

Gibt den Schlüsseltext aus.

c

Die Gruppe wird geleert und deinitialisiert.

Für die Nutzung der Gruppierung mit Schlüsselattribut-Werten muss die Zeilenformel folgendermaßen aufgebaut werden:

[+ GKk<Key-ID>; … Objektselektionen .. ;GKa; …. ;]RO; Ausgabe (inkl. GKq);

  • GKk<Key-ID>: Definition und Initialisierung der Gruppenbehandlung auf Basis des Attributwerts von Key-ID.
  • Objektselektion: Durch Navigation über Aggregationen und Relationen werden die relevanten Zielobjekte ausgewählt.
  • GKa: Markierung des aktuellen Objekts als Objekt der Gruppe. Von diesem Objekt wird das Gruppenattribut gelesen; dabei werden die definierten Regeln von <Quantity-ID> und <Use-ID> berücksichtigt.
  • ]RO;: Markiert das Sektionsende; danach erfolgt die Ausgabe. Die aufgenommenen Objekte in der Gruppe bilden die Ergebnismenge, über die gezählt wird.
  • Ausgabe: Aufbereitung der Textausgabe auf Basis des ersten gefundenen Objektes dieser Gruppe; der Zugriff auf die Gruppenanzahl geschieht durch das Statement GKq;. Hierbei wird der Mengenwert über die aktuelle Instanz und nicht über den Schlüsselwert des aktuellen Objektes bestimmt. Attribut-ID als Nummer oder Data Service.

Beispiel für eine Gerätetabelle

[+GKk7;

R100:113;

GKa;Oj;

] RO;

A7;": ";

GKq;

"\a";

Gruppierung der Daten über den Typ (AID=7).

Alle Geräte einer Funktion sollen gesucht werden.

Markierung des aktuellen Objekts als Objekt der Gruppe.
Die gefundenen Geräte werden zur Gruppe hinzugefügt.

Markiert das Ende der Objektsammlung; danach erfolgt die Ausgabe.

Ausgabe des Objekttyps

Wiederholung über die Gruppenelemente; Aufbereitung der Textausgabe

Ausgabe der Ergebniszeilen

Beispiel für die Verwendung der Formel - Betriebsmittelliste

Struktur im Systeme-Ordner

Definition der Tabelle. Der Textblock mit der Formel ist als Formelattribut definiert.

Ergebnis: