Lade...
 

CX_CONDITIONED_ALLOCATION - Bedingte Allokation

CX_CONDITIONED_ALLOCATION

Klassenhierarchie
Beschreibung: (Business Pattern)

Mit dieser Klasse werden bedingte Allokationen beschrieben. Im Normalfall werden in die bedingte Tabelle Einzel-Allokationen gesetzt, um beispielsweise folgende Szenarien abzubilden:

Beispiel:

Wenn "Anforderung=engl.Sprachkenntnisse                                                                  (Projektplanung)

          dann          

          "Die Person C mit einer Zeit von 2 Stunden (reservieren)"                                   

          sonst

          "Die Person D mit einer Zeit von 3 Stunden (reservieren)"                                  

CX CONDITIONED ALLOCATION

Code-Beispiel:
  Var(setAllocation, condAllocation, condition, singleAllocation)
  // Allokationstabelle generieren
  CreatePersObject(CX_SET_ALLOCATION) -> setAllocation
  // Bedingte Allokation generieren
  CreatePersObject(CX_CONDITIONED_ALLOCATION) -> condAllocation
  // Bedingte Allokation in Allokationstabelle setzen
  condAllocation setAllocation Insert(allocations, allocators)

  // Neuen Eintrag in die bedingte Tabelle schreiben
  CreatePersObject(CX_FCONDITION) -> condition
  condition condAllocation GetManager(OBJECT) Call(Instantiate)

  // Einzel-Allokation an die Bedingung setzen
  CreatePersObject(CX_SINGLE_ALLOCATION) -> singleAllocation
  singleAllocation condition SetReference(_object)
  condition condAllocation Insert(allocation, allocators)    

 

Methodenverzeichnis (MDI)
Funktion MA* Parameter Rückgabe Kurzbeschreibung
SanityCheck     INTEGER Prüfung auf Konsistenz des Objektes
AllocatorByCondition   STRING OBJECT  
AllocatorByConditionMA * STRING    
AllocatorsByCondition   STRING COLLECTION  
AllocatorsByConditionMA * STRING    
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
Inspect        
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
allocation CX_CONDITIONED_BAG     Bedingte Tabelle von Allokationen
conditionedAllocationEnum ENUMCHAR     0: keine Steuerung
1: wenn Menge = Null, Allokation vernachlässigen
2: Mehrere Treffer zulassen
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

 

Verwendung in AppsWH
Modul Kurzbeschreibung
alloccon.mod billcond.htm | jobscond.htm | salecond.htm Bedingte Allokation Basismodul
billcond.mod billcond.htm | salecond.htm Bedingte Stücklistenposition Editiermodul
jobscond.mod jobscond.htm | salecond.htm Bedingte Arbeitsplanfolge Editiermodul