Lade...
 

CX_OBJECT_MANAGER::QueryAllLayers

CX_OBJECT_MANAGER::QueryAllLayers

227219
Beschreibung:

Diese Methode ermittelt alle Layer, in denen ein Objekt gespeichert ist. 

Hierzu wird zunächst das physische Datenbanksegment ermittelt in welchem das Objekt abgelegt ist. Anschließend werden die Storages aus der File der Klasse Layer für Layer durchgegangen und alle Layer aufgesammelt, deren Segment (aus der Storage) mit dem physischen Segment übereinstimmt.

Sollten keine passenden Layer gefunden werden, dann wird ein leerer Vektor zurückgegeben. 
Aus dem Ablauf folgt, dass ein leerer Vektor in folgenden Fällen zurückgegeben wird:

  1. Das Objekt ist transient und hat damit kein physisches Datenbanksegment.
  2. Keine Storage der Klasse referenziert das physische Datenbanksegment (falls es umbenannt wurde).
  3. Das Objekt ist ein Slave-Objekt (Clustering) und liegt deshalb nicht in dem Segment, welches in der Klassendefinition angegeben wurde, sondern im Segment des Master-Objekts.
Code-Beispiel:
user GetManager(OBJECT) Call(QueryAllLayers) // -> [ 0 1 ]
10€ GetManager(OBJECT) Call(QueryAllLayers)  // -> [ ]

 

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_OBJECT_MANAGER Object-Manager
  Top-1 OBJECT  
Stack(Out) Top VECTOR〈INTEGER〉 Vektor der Layer
Funktionsaufruf: Call(QueryAllLayers)