Direktes Bearbeiten serialisierter Objekte

Funktionsumfang 

Wie bereits im übergeordneten Kapitel Objekteditor  beschrieben, sind Conigma Objekte Instanzen von ABAP Klassen. Ein Change Request ist Beispielsweise eine Instanz der Klasse /GAL/CCM_CRO_SWFM_CR oder ein Importcontainer eine Instanz der Klasse /GAL/CCM_CRO_IMPORT_CONTAINER. Serialisiert bedeutet dabei, dass die Attribute der Instanz als Schlüssel-Wert-Pärchen in Textform im Texteditor angezeigt werden. Schlüssel und Wert werden dabei durch ein Gleichheitszeichen getrennt. Zusätzlich ist zu beachten, dass nicht alle Attribute serialisiert werden. Nicht serialisierbar sind beispielsweise Attribute mit Objektreferenzen oder Attribute deren Werte erst zur Laufzeit bestimmt werden.

Attribute mit elementaren Datentypen wie numerische Werte oder Zeichenketten, Strukturen und Tabellen werden dabei wie folgt serialisiert:

  • Elementarer Datentyp: Der Schlüssel ist gleichlautend zum Attribut-Namen.

  • Struktur: Jede Strukturkomponente wird in einer separaten Zeile angezeigt. Der Schlüssel setzt sich zusammen aus Attribut-Name, ein Punkt (in Zeichen ".") und der Name der Strukturkomponenten.

  • Tabelle: Eine Tabelle mit N Spalten (bzw. Zeilen-Komponenten) und M Zeilen wird in N*M Zeilen angezeigt. Der Schlüssel setzt sich zusammen aus Attribut-Name, ein Zeilen-Index in eckigen Klammern, ein Punkt (in Zeichen ".") und der Name der Spalte. Der Punkt entfällt, wenn die Tabellen-Zeile kein strukturierter Datentyp ist, sondern ein elementarer Datentyp. Zeilen-Indexe beginnen mit der Null ("0") und nicht mit einer Eins ("1").

Beispielsweise enthält ein Repository-Objekt unter anderem die Attribute DISABLE_EMAIL_SENDING (einstelliges Kennzeichen), IMPORT_OPTIONS (Struktur) und MAINTENANCE_LANGUAGES (Tabelle von Typ LANGU). Im Texteditor würden die serialisierten Attribute als Schlüssel-Werte-Pärchen wie folgt dargestellt.

Die Änderung von den Schlüssel-Wert-Pärchen im Objekteditor bewirkt beim Speichern, dass das zugehörige Instanz-Attribut entsprechend abgeändert wird. Damit kann man mithilfe des Objekteditors direkt eine Objektinstanz persistent ändern. Ein Einfügen der Zeile MAINENTANCE_LANGUAGES[2]=F bewirkt zum Beispiel, dass Französisch als zusätzliche Sprache im Repository zur Verfügung steht oder beim Ändern der ersten Zeile auf DISABLE_EMAIL_SENDING=X, dass im Repository kein Emailversand möglich ist.

Bitte Berücksichtigen Sie, dass Änderungen im Objekteditor zu inkonsistentem Verhalten führen kann. Führen Sie deswegen nur Änderungen aus von denen Sie genau wissen was sie bewirken oder kontaktieren Sie im Zweifel Ihren Conigma-Ansprechpartner.