Lade...
 

CX_SINGLE_ALLOCATION - CyberEnterprise

CX_SINGLE_ALLOCATION

Klassenhierarchie
Beschreibung: (Business Pattern)

Eine Einzel-Allokation beschreibt je nach Sichtweise eine Verwendung oder eine Ressource eines Geschäftsobjekts.

CX SINGLE ALLOCATION

In unserem obigen Beispiel beschreibt die Einzel-Allokation aus Sicht des Geschäftsobjekts Arbeitsplatz (CX_WORK_STATION) eine Ressource, aus Sicht des Geschäftsobjekts Maschine (CX_MACHINE) eine Verwendung. Wie wir erkennen können, ist dieses von der Art der Rückrelation von der Einzel-Allokation auf das Geschäftsobjekt abhängig. Im Falle einer Ressource wird ein Geschäftsobjekt seitens der Einzel-Allokation über die Rückrelation "allocators" referenziert, im Falle einer Verwendung zeigt die Einzel-Allokation über das Datenfeld "object" auf das Geschäftsobjekt.

Zur Darstellung der Verwendung eines Geschäftsobjektes reicht es nicht aus nur das Geschäftsobjekt zu kennen (es über die Referenz "object" zu referenzieren"), man muss auch eine Angabe darüber machen, in welcher Menge das Geschäftsobjekt "in Beschlag" genommen wird. Dieses wird über die beiden Datenfelder "amount" und "baseAmount" beschreiben, die beides Attribute des Einzel-Allokationsobjekts sind.

Beispiele:

  • "Die Maschine A mit einer Zeit von 5 Stunden (belegen)"                                     (Arbeitsplan)
  • "Das Teil B in einer Menge 17 Stück (einsetzen)"                                                  (Stückliste)
  • "Die Person C mit einer Zeit von 2 Stunden (reservieren)"                                   (Projektplanung)

Das Geschäftsobjekt (in den obigen Beispielen jeweils A. B oder C) ist das "object" innerhalb einer Einzel-Allokation CX_SINGLE_ALLOCATION, die Angaben "5 Stunden", "17 Stück" oder "2 Stunden" beschreiben den Umfang der Verwendung des in Betracht gezogenen Geschäftsobjektes. Im Geschäftsobjekt selbst wird eine Einzel-Allokation über die Rückrelation CX_BUSINESS_OBJECT::allocations verbunden. Die Funktion CX_BUSINESS_OBJECT::Allocators(os_set) gibt alle Verwendungen eines Geschäftsobjektes zurück.

Wie in der obigen Graphik dargestellt, beschreibt die Einzel-Allokation aus Sicht des Arbeitsplatzes eine Ressource. Die Einzel-Allokation wird dabei über die Relation "allocations" referenziert, die Rückrelation von der Einzel-Allokation auf das Geschäftsobjekt wird über die Relation "allocators" beschrieben.

Code-Beispiel:
  Var(setAllocation, singleAllocation)
  // Allokationstabelle generieren
  CreatePersObject(CX_SET_ALLOCATION) -> setAllocation

  // Einzel-Allokation in Allokationstabelle setzen
  CreatePersObject(CX_SINGLE_ALLOCATION) -> singleAllocation
  singleAllocation setAllocation Insert(allocations, allocators)

  // Menge in Einzel-Allokation setzen und mit "1 Stück" initialisieren
  CreatePersObject(CX_VALUE) singleAllocation SetReference(amount)
  "1 Stück" singleAllocation Put(amount)

  // Objekt in Einzel-Allokation setzen
  "123456" "uniqueID = %s" FindFirst(CX_ITEM) singleAllocation SetReference(object, allocations)
Methodenverzeichnis (MDI)
Funktion MA* Parameter Rückgabe Kurzbeschreibung
DeReferenceObject        
Inspect        
Object   STRING OBJECT Rückgabe des referenzierten Geschäftsobjektes
ReferenceObject   OBJECT, INTEGER    
SanityCheck     INTEGER Prüfung auf Konsistenz des Objektes
AllocatorByCondition   STRING OBJECT  
AllocatorByConditionMA * STRING    
AllocatorsByCondition   STRING COLLECTION  
AllocatorsByConditionMA * STRING    
Amount     OBJECT Berechnet die Gesamtmenge als Summe der Felder amount und baseAmount
AmountWeak     OBJECT  
AssignSlot * STRING   Setzen/Lesen von Slots, die sich auf ein anderes Datenfeld beziehen
ClassFilter   STRING, INTEGER OBJECT Dieses Objekt, wenn es einer bestimmten Klasse entspricht
ConditionedFilter   STRING OBJECT  
ConditionedFilter2   OBJECT OBJECT  
Deleted     INTEGER Objekt als gelöscht markiert?
Description     STRING Bezeichnung dieses Objektes
GetDomain     INTEGER Domain dieses Objektes
GetSiblings     COLLECTION Alle Siblings dieses Objektes
GetSiblings2     COLLECTION Alle Siblings dieses Objektes
GetSlotEntries     VECTORject> Rückgabe von internen Informationen zu Slots
LastUpdate     OBJECT Datum des letzten Schreibzugriffs
LastUser     INTEGER User, der zuletzt schreibend auf das Objekt zugegriffen hat
Link   OBJECT   Dieses Objekt in die Liste der Objekte mit Gültigkeit einfügen
NextValidObject     OBJECT Zeitlich nachfolgendes Gültigkeitsobjekt
Occurrences   OBJECT, INTEGER COLLECTION  
PreviousValidObject     OBJECT Zeitlich vorangehendes Gültigkeitsobjekt
Resolve   OBJECT, OBJECT, STRING, INTEGER    
ResolveNew   OBJECT, OBJECT, STRING, INTEGER    
RestrictedValidity *     Gültigkeitsbereich eingeschränkt?
SetDomain   INTEGER, INTEGER   Domain setzen
SetInspectionMessage   INTEGER    
SetPreMessage   INTEGER    
ShortName     STRING Kurzbezeichnung dieses Objektes
Siblings *     Objekte mit Gültigkeit
SpanDateValidity *     Gültigkeitsspanne
string   INTEGER CX_STRING Liefert die String-Darstellung des Objektes
UniqueID     STRING Inhalt des festen Datenfeldes "uniqueID"
Unlink       Dieses Objekt aus der Liste der Objekte mit Gültigkeit entfernen
Unlink2       Dieses Objekt aus der Liste der Objekte mit Gültigkeit entfernen
Valid   OBJECT INTEGER Gültigkeit prüfen
ValidSince     OBJECT Beginn der Gültigkeitsspanne
ValidToday     INTEGER Heute gültig?
ValidUntil     OBJECT Ende der Gültigkeitsspanne
VerifySiblings     INTEGER Ring der Austauschobjekte prüfen

* MA = Member-Access-Funktion,
grau unterlegt = geerbte Funktion

 

Datenverzeichnis (DDI)
Datenfeld Typ Referenz-Klasse I* Kurzbeschreibung
object REL_1M CX_BUSINESS_OBJECT   das zugeordnete Objekt ... (REL_1M zu CX_BUSINESS_OBJECT::allocations
singleAllocationEnum ENUMCHAR     0: keine Steuerung
1: wenn Menge = Null, Allokation vernachlässigen
2: Fixmenge (nicht mehr verwendet)
allocators REL_MN CX_EXPANDABLE   welche Objekte werden über dieses Allokationsobjekt beschrieben. (REL_MN zu CX_BUSINES_OBJECT)
amount POINTER CX_AMOUNT   Menge der Allokation, gilt per Referenzmenge der Hauptallokation. Mengen werden in der Hierarchie multipliziert (CX_PRODUCT_AMOUNT)

Die Menge kann über assigned slot einer Slot Variablen zugeordnet werden. Ist die Menge eine bestimmte Variable, dann wird diese Variable in einer Formel angegeben.

attributeSet POINTER CX_ATTRIBUTE_SET   Attribute zur Beschreibung der Allokation
baseAmount POINTER CX_AMOUNT   Basismenge, gilt immer pro Allokation, unabhängig von der Menge der in der Hierarchie höherliegenden Allokationen
uniqueID STRING   * Eindeutiger Schlüssel
validity POINTER CX_VALIDITY   Gültigkeitszeitraum des Objektes

* I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld


Suche im PlugSpace
Reihenfolge Beschreibung
1 Wie CX_ALLOCATION.
2 Es wird das Datenfeld "object" geplugged und durchsucht.
Verwendung in AppsWH
Modul Kurzbeschreibung
billsing.mod Stücklisteneintrag Modul
jobssing.mod Arbeitsfolge Editiermodul
allocsng.mod billsing.htm | jobssing.htm Einzelallokation Basis Modul