Ansicht
Dokumentation

CLDB_FILL_CLASS_STRUCTURE - Füllt die Strukturtabelle einer Klassenhierarchie

CLDB_FILL_CLASS_STRUCTURE - Füllt die Strukturtabelle einer Klassenhierarchie

ROGBILLS - Synchronize billing plans   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität


Dokumentation zum Funktionsbaustein CLDB_FILL_CLASS_STRUCTURE
-------------------------------------------------------------

1. Funktionsumfang
------------------
Der Funktionsbaustein dient zur Verwaltung einer Klassenstruktur und
der Abhängigkeiten darin.
Im Einzelnen sind dies die Auflösung einer Klassenhierarchie und die
Bereitstellung der Daten zu den beteiligten Klassen, Merkmalen und
Merkmalwerten unter Berücksichtigung der Vererbung.
Die Gesamtheit der Gruppe CLDB ist dafür vorbereitet, mehrere
Klassenstrukturen (Instanzen) nacheinander aufzulösen und gleichzeitig im Speicher zu halten.

2. Schnittstelle
----------------
Der Funktionsbaustein enthält folgende Input-Parameter :
I_KLART : Klassenart, in der die Strukturauflösung gemacht
wird.
I_CLASS : Einstiegsklasse, von der ausgehend die
Klassenhierarchie aufgelöst wird
I_LANGU : Sprache, in der Texte gelesen werden. Ist der Para-
meter leer, werden keine sprachabh. Texte gelesen !
I_DATE : Stichtag, zu dem die Strukturauflösung gemacht wird.
I_CHANGE_NUMBER : Änderungsnummer
I_BUP : Wenn gesetzt : Strukturauflösung erfolgt von der
Einstiegsklasse aus aufwärts.
I_TDWN : Wenn gesetzt : Strukturauflösung erfolgt von der
Einstiegsklasse aus abwärts.
I_OBJECT : Ein Objekt unterhalb der Einstiegsklasse (klassifi-
zierbares Objekt oder Klasse ), welches "gesondert"
betrachtet wird (siehe CLHI_STRUCTURE_CLASSES).
I_OBJ_ID : Art des Objekts (wie MAFID), klassifiz. Objekt/Klasse
I_INHERIT : Wenn gesetzt : die Daten werden unter Berücksichti-
gung der Vererbung aufbereitet.
I_NO_CHAR : Wenn gesetzt : Struktur wird ohne Merkmale geladen.
I_NO_VAL : Wenn gesetzt : Merkmale werden ohne Werte geladen.

IMP_CHARACTERISTICS : Tabelle, in der Merkmale übergeben werden können.
Dient zum Aufbau einer NON_CLASS_DDB, d.h. es werden nur
Merkmaldaten aufbereitet ohne Bezug zu einer Klasse.


Der Funktionsbaustein besitzt als Output-Parameter nur einen Index auf
die aktuelle Instanz. Beim Aufruf des Bausteins wird dieser Wert um eins hochgezählt.

Die aufbereiteten Daten werden in einer geschachtelten Tabelle GLOBAL
gehalten. Auf der obersten Ebene enthält ein Eintrag der Tabelle die
Daten einer Instanz. Diese bestehen aus zwei Tabellen : die Struktur- tabelle und die Klassendatentabelle.

Außerdem gibt es eine globale Tabelle, in der (für jede Instanz) alle Parameter festgehalten werden, mit denen der Baustein aufgerufen wurde.

3. Globale Daten einer Instanz
------------------------------
Die Daten, die bei der Strukturauflösung ermittelt werden, werden (pro Instanz) den beiden globalen Tabellen STRUCTURE_TAB und CLASSES_TAB abgelegt. In der Tabelle STRUCTURE_TAB wird die Struktur der Klassenhierarchie abgelegt. Außerdem enthält sie die Verweise auf die Klassentabelle. Die Klassentabelle CLASSES_TAB enthält alle relevanten Daten zu den Klassen, Merkmalen und Merkmalwerten der Hierarchie. Es handelt sich um eine geschachtelte Tabelle, die auf der obersten Ebene die Klasseninformationen enthält. Pro Klasse gibt es eine untergeordnete Tabelle der Merkmale (in der entsprechenden Klasse) und pro Merkmal gibt es eine untergeordnete Tabelle der Merkmalwerte (des entsprechenden Merkmals).

4. Funktionalität im Einzelnen
------------------------------

Informationen, die pro Klasse abgelegt werden :
- Alle Felder der Tabelle KLAH.
- Die kürzeste Verbindung (Stufe) zur Einstiegsklasse nach der
Strukturauflösung. Bei Klassen, die unterhalb der Einstiegsklasse
liegen, trägt die Stufe ein negatives Vorzeichen.
- Kz., ob die Klasse mehrfach klassifiziert wurde.
- Tabelle der Merkmale.
- Tabelle der Dokumente. Diese enthält ein Feld für die Klasse, aus der
das Dokument stammt.
- Tabelle der Sichten.

Informationen, die pro Merkmal abgelegt werden :
- Kz, ob das Merkmal geerbt wurde.
- Alle Felder der Tabelle CABN.
- Für jedes Attribut ein Flag zur Kennzeichnung einer Überschreibung.
- Merkmalbezeichnung (CABNT-ATBEZ)
- Der Din-Kennbuchstabe DINKB entsprechend des Eintrags in Tabelle
KSML.
- ATINN des übergeordneten Merkmals, falls das Merkmal Teil eines
benutzerdefinierten Merkmals ist.
- Tabelle der Beziehungswissen (mit Kz. für Überschreibung).
- Tabelle der Dokumente (mit Kz. für Überschreibung).
- Kz., daß durch Werteeinschränkung eine leere Wertemenge vorliegt.
- Tabelle der Merkmalwerte.
- Tabelle der Sichten.
- Tabelle der Klassen, aus denen das Merkmal geerbt wurde.
- Feld KSML-OMERK, falls gefüllt, liegt eine Überschreibung vor.
- Kz, ob Bewertungen bezüglich des Objekts vorliegen, mit dem die
Struktur geladen wurde.

Informationen, die pro Merkmalwert abgelegt werden :
- ATINN des Merkmals, von dem der Wert stammt, wichtig bei
Überschreibungen.
- Das Feld ATZHL zur Identifizierung des Merkmalwertes, wichtig,
um die Bezeichnung in der CAWNT nachträglich zu ermitteln.
- Das Feld ATWRT, gefüllt für nichtnumerische Merkmale
- Das Feld ATWTB (sprachabhängige Wertebezeichnung)
- Die Felder ATFLV, ATFLB und ATCOD, gefüllt für numerische Merkmale
(Unbeschränkte Intervalle werden nach der Logik in der Tabelle CAWN
gespeichert, das heißt das Feld ATFLV ist gefüllt, das Feld ATFLB
ist initial und das Feld ATCOD ist entsprechend gesetzt.)
- Die Instanz einer Bewertung von UDEF-Merkmalen (ATZIS).
- Die Merkmalnummer des UDEF-Merkmals (ATIMB).
- Die Felder ATZHH und ATWHI zur Beschreibung von Wertehierarchien.
- Die Felder ATAWE und ATAW1 zur Beschreibung alternativer Mengenein-
heiten.
- Tabelle der Beziehungswissen (mit Kz. für Überschreibung).
- Tabelle der Dokumente (mit Kz. für Überschreibung).

In den Tabellen der Beziehungswissen und der Dokumente an einem
Merkmalwert wird vermerkt, von welchem Merkmal der Eintrag stammt. Dies
ist wichtig, falls Überschreibungen vorliegen.
In den Tabellen der Beziehungswissen und der Dokumente an einem
Merkmal wird vermerkt, aus welcher Klasse das Merkmal stammt.


Behandlung der Vererbung :

- Sichten
Für die Vererbung von Sichten, die für Klassen und Merkmale verein-
bart werden, gibt es drei verschiedene Einstellungen, welche über
einen Schalter im Customizing zu einer Klassenart festgelegt werden.
Bis einschließlich 4.0A wurden Sichten nicht vererbt. Dies ist auch
weiterhin möglich. Für diese Einstellung bleibt das Kennzeichen
initial.
Wenn Sichten vererbt werden sollen, muß das Kennzeichen auf 'I' bzw.
'U' gesetzt werden, je nach dem, ob bei Mehrfachklassifikation eine
Schnittmenge ( 'I'ntersection ) oder eine Vereinigungsmenge gebildet
werden soll ( 'U'nification ).

- Merkmalattribute
Bei der Vererbung der Merkmalattribute wird folgendermaßen verfahren.
Die Einstellung der Attribute wird inklusive einer eventuell vor-
handenen Überschreibung vererbt.
Merkmale, die in untergeordneten Klassen zugeordnet sind,
unterbrechen die Vererbung.
Wird ein Merkmal aus mehreren Klassen vererbt, wird für jedes
Attribut nach dem Dominanzkennzeichen entschieden, welche
Einstellung zieht.
Das Dominanzkennzeichen wird in einer SAP-Tabelle festgelegt und kann
vorerst nicht vom Kunden verändert werden.
Ausnahme : Kennzeichen "zusätzliche Werte" (ATSON), s.u.

- Merkmalwerte
Die Merkmalwerte werden vererbt wie bisher. Das bedeutet, daß die
Wertemengen zum einen entlang der Hierarchie vererbt und bei
Mehrfachklassifikation abgemischt werden und zum anderen, daß eine
Einschränkung der Menge stattfindet, wenn eine Bewertung von Klasse-
Klasse-Zuordnungen vorliegt.
Durch die Schnittmengenbildung und die Werteeinschränkung kann es
durchaus vorkommen, daß eine leere Wertemenge entsteht und das
Merkmal dann nicht mehr eingabebereit ist.

Ausnahmen :
1. Wird ein Merkmal aus mehreren Klassen geerbt und ist das
Kz. ATSON (zusätzliche Werte) bei jedem Merkmal gesetzt, wird eine
Vereinigungsmenge der Werte gebildet, vorausgesetzt, es liegt
keine Bewertung der Klasse-Klasse-Zuordnung vor.
Die Werte haben in diesem Fall reinen Vorschlagscharakter.
Die Werteeinschränkung über die Hierarchie durch Bewertung von
Klasse-Klasse-Zuordnungen dominiert in jedem Fall das Kennzeichen
"zusätzliche Werte" eines Merkmals einer untergeordneten Klasse.
Dies gilt auch dann, wenn das Merkmal nicht vererbt wurde, sondern
sowohl in einer übergeordneten als auch in einer untergeordneten
Klasse enthalten ist.

2. Bei Wertehierarchien werden alle Knoten über die Hierarchie
weitergereicht. Nur die Blätter werden ggf. abgemischt.

- Dokumente an Klassen und Merkmalen bzw. Beziehungswissen an Merkmalen
Auf der Ebene der Klassen und der Merkmale werden die Mengen der
Dokumente und Beziehungswissen entlang der Hierarchie vererbt. D.h.:
Dokumente einer Klasse werden an die untergeordneten Klassen weiter-
gegeben und dabei gesammelt.
Dokumente und Beziehungswissen eines Merkmales werden bei Vererbung
vereinigt. Die Vererbung wird unterbrochen, wenn das Merkmal in einer
untergeordneten Klasse enthalten ist.

- Dokumente und Beziehungswissen an Merkmalwerten
Auch für die Merkmalwerte gilt, daß die anhängenden Dokumente und
Beziehungswissen bei der Vererbung vereinigt werden. Die Vererbung
wird jedoch nicht unterbrochen, wenn das Merkmal in einer unter-
geordneten Klasse enthalten ist. Dokumente und Beziehungswissen
werden immer hinzuaddiert.

Spezialfall : Intervallwerte
Dokumente und Beziehungswissen, die an einem Intervallwert hängen,
werden nur dann weitergereicht, wenn die Grenzen des Intervalls bei
der Schnittmengenbildung und Werteeinschränkung nicht verändert
werden.
Bsp.:
Wird das Intervall [10;20] mit den Werten 15 und [12;18[ geschnitten,
so würden die Werte 15 und [12;18[ mitsamt ihrer Dokumente und
Beziehungswissen weitergereicht.
Wird das Intervall [10;20] mit dem Intervall ]15;25[ geschnitten,
so ergibt sich das Intervall ]15;20]. Es wird jedoch kein Dokument
und kein Beziehungswissen vererbt.

5. Unterprogramme
-----------------
5.1 CHECK_INTERVALL_INTERVALL
-----------------------------
Es Wird die Schnittmenge zwischen zwei Intervallen gebildet.
Sollte die Schnittmenge exakt gleich einem der beiden Eingangs-
intervalle sein, werden die anhängenden Dokumente und Beziehungs-
wissen des Intervalls übernommen.
Stimmen die Eingangsintervalle überein, enthält die Schnittmenge
die Dokumente und Beziehungswissen von beiden Eingangsintervallen.

5.2 CHECK_INTERVALL_WERT / CHECK_WERT_INTERVALL
-----------------------------------------------
Es wird ein Einzelwert mit einem Intervall verglichen.
Liegt der Einzelwert innerhalb des Intervalls, so wird er mit
seinen anhängenden Dokumenten und Beziehungswissen in die
Ergebnismenge übernommen.

5.3 ADD_VALUE
-------------
Ein Wert wird zur Ergebnismenge hinzugefügt. Ist der Wert zum Zeit-
punkt des Anhängens bereits in der Menge enthalten, werden die
anhängenden Dokumente und Beziehungswissen zum vorhandenen Wert
hinzugefügt.

5.4 CLASS_CLASS_RESTRICTION
---------------------------
Es wird eine Werteeinschränkung durchgeführt, die aus einer Bewer-
tung einer Klasse-Klasse-Zuordnung resultiert. Aus den vorhandenen
AUSP-Sätzen wird eine Tabelle erstellt, wobei die Werte aus der
AUSP aufgrund der abweichenden Speicherlogik in das Format der
CAWN-Einträge umgewandelt werden müssen. Anschließend wird eine
Schnittmenge mit den am Merkmal gespeicherten zulässigen Werten
durchgeführt.

5.5 INTERSECTION_OF_SETS
------------------------
Es wird eine Schnittmenge aus zwei Wertemengen gebildet. Einzel-
werte und unveränderte Intervallwerte (Grenzen unverändert),
behalten ihre Dokumente und Beziehungswissen, wenn sie in die
Ergebnismenge übernommen werden.

5.6 ORDER_OF_CLASSES
--------------------
Der Algorithmus, der in diesem Unterprogramm enthalten ist,
ermittelt anhand der mitgegebenen Tabelle der relevanten Klassen
und der Strukturtabelle, in welcher Reihenfolge die Klassentabelle
gefüllt werden muß. Dies ist für die korrekte Berücksichtigung
der Vererbung von großer Bedeutung.
Die Strategie für das Füllen der Klassentabelle ist folgendermaßen
ausgelegt.
Ausgehend von den Wurzelklassen der Hierarchie werden alle Klassen
abgearbeitet, deren übergeordnete Klassen bereits in der Klassen-
tabelle enthalten sind. Auf diese Art und Weise können alle
Informationen, die vererbt werden, fertig aufbereitet aus der
Klassentabelle übernommen werden.

Beispiel

Hinweise

Weiterführende Informationen

Siehe auch Spezifikationen "Redesign DDB-Funktionen" und "Redesign/Trennung CTMS_STRUCTURE_CLASSES".





Parameter

EXP_DDB_INDEX
IMP_CHARACTERISTICS
I_BUP
I_CHANGE_NUMBER
I_CLASS
I_DATE
I_INHERIT
I_KLART
I_LANGU
I_NO_CHAR
I_NO_VAL
I_OBJECT
I_OBJ_ID
I_TDWN

Ausnahmen

CLASSTYPE_NOT_VALID
CLASS_NOT_VALID

Funktionsgruppe

CLDB

ABAP Short Reference   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 15453 Date: 20240523 Time: 141123     sap01-206 ( 98 ms )