Hilfe Nummer: 741560
Interne Funktionen, die auf Eigenschaften angewendet werden können.
Inhaltsverzeichnis
- 1 Gültigkeit
 
- 2 Objekte
- 2.1 GetObjectName( obj )
 
- 2.2 DisplayStr( prop )
 
- 2.3 GetEnumName( prop )
 
- 2.4 ExpressionStr( prop, 0 )
 
- 2.5 SetProps( objectList, expr )
 
- 2.6 SetPropsIF( objectList, conditionExpr, expr )
 
- 2.7 StrProps( props, delimiter )
 
- 2.8 StrPropsIF( objectList, conditionExpr, expr, delimiter )
 
- 2.9 GetPropertyDef( propertyID )
 
- 2.10 GetClassDef( classID )
 
- 2.11 ObjectList( list, object )
 
- 2.12 ObjectListIf( list, condition, object )
 
- 2.13 Unique( list )
 
- 2.14 Sort( list, key, ascend )
 
 
 
Gültigkeit
Exist(), FValid() und PropCount() ähneln sich, sie unterscheiden sich wie folgt:
-  
Exist() 
-  Gibt zurück ob Eigenschaftswert gesetzt ist; es kann bestimmt werden, ob deren [Standardwert] berücksichtigt wird.
 
-  
FValid() 
-  Gibt zurück ob Eigenschaftswert oder deren [Standardwert] gesetzt ist.
 
-  
PropCount() 
-  Gibt die Anzahl der Eigenschaftswerte zurück ohne den [Standardwert] zu zählen.
 
Die Geschwindigkeit der Auswertung dieser drei Funktionen unterscheidet sich kaum.
Exist( prop )
Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: Exist( prop, checkDefaultValue )
| 
 | 
Variante 1 | 
Variante 2
 | 
| Parameter
 | 
prop | 
Eigenschaft des Objekts | 
prop | 
Eigenschaft des Objekts
 | 
|   | 
checkDefaultValue | 
[Standardwert] berücksichtigen
 | 
| Rückgabewert
 | 
Gibt TRUE zurück, wenn prop einen Wert enthält oder deren [Standardwert] gesetzt ist. | 
Gibt TRUE zurück, wenn prop einen Wert enthält.
 | 
| Beispiel
 | 
Exist(ME.RightOrder) | 
TRUE | 
Exist(ME.PeggingConditionExpr,TRUE) | 
FALSE
 | 
ME ist hier ein Auftrag. | 
ME ist hier ein Artikel, dessen [Verknüpfungsbedingung] nicht gesetzt ist.
 | 
| Bemerkungen
 | 
Verhalten ist gleich dem bei checkDefaultValue FALSE. | 
-  Bei checkDefaultValue TRUE enspricht das Verhalten dem von 
FValid(prop). 
-  Bei checkDefaultValue FALSE enspricht das Verhalten dem von 
PropCount(prop)>0.  
 | 
ExistIF( objects, condition )
| Parameter
 | 
objects | 
Klasse oder Objektliste
 | 
| condition | 
Bedingung, TARGET-Variablen können genutzt werden.
 | 
| Rückgabewert
 | 
Gibt TRUE zurück, wenn mindestens eins der Objekte in objects die condition erfüllt..
 | 
| Beispiel
 | 
ExistIF(ME.Order.RightmostOrder,TARGET.Qty>=100) | 
TRUE
 | 
ME ist hier ein Auftrag, der mindestens einen Auftrag in [Aufträge ganz rechts] hat, dessen [Menge] mindestens 100 ist]. Funktional entspricht das Beispiel SumIF(ME.Order.RightmostOrder,TARGET.Qty>=100,1)>0, allerdings wird es in der Regel schneller ausgewertet, da die Auswertung beendet wird, sobald ein Objekt die condition erfüllt.
 | 
| Bemerkungen
 | 
-  Ähnelt 
CheckAllContents_Or(), dort können aber keine TARGET-Variablen genutzt werden. 
-  Klassen werden mit ihrem internen Namen, von einfachen Anführungszeichen umschlossen, eingegeben, also etwa 'Order' für die Auftragsklasse.
  
 | 
FValid( prop )
| Parameter
 | 
prop | 
Eigenschaft des Objekts
 | 
| Rückgabewert
 | 
TRUE wenn prop einen Wert enthält, sonst FALSE.
 | 
| Beispiel
 | 
FValid(ME.Qty) | 
FALSE
 | 
ME ist hier ein Auftrag.
 | 
PropCount( prop )
| Parameter
 | 
prop | 
Eigenschaft des Objekts
 | 
| Rückgabewert
 | 
Gibt die Anzahl der Eigenschaftswerte von prop zurück, der [Standardwert] wird nicht gezählt.
 | 
| Beispiel
 | 
ME.Comments | 
3
 | 
ME ist hier ein Auftrag mit drei Einträgen für [Kommentar].
 | 
CheckAllContents_And( prop, condition, value )
| Parameter
 | 
prop | 
Eigenschaft des Objekts
 | 
| condition | 
Vergleichsoperator
 | 
| value | 
Vergleichswert
 | 
| Rückgabewert
 | 
Gibt TRUE zurück, wenn alle Eigenschaftswerte von prop condition und value entsprechen.
 | 
| Beispiel
 | 
<code>CheckAllContents_And(ME.Comments,'==','c') | 
FALSE
 | 
ME ist hier ein Auftrag mit [Kommentar] "a;b;c;d", es sind also nicht alle Werte gleich "c".
 | 
CheckAllContents_Or( prop, condition, value )
| Parameter
 | 
prop | 
Eigenschaft des Objekts
 | 
| condition | 
Vergleichsoperator
 | 
| value | 
Vergleichswert
 | 
| Rückgabewert
 | 
Gibt TRUE zurück, wenn mindestens ein Eigenschaftswert von prop condition und value entsprechen.
 | 
| Beispiel
 | 
<code>CheckAllContents_Or(ME.Comments,'==','c') | 
TRUE
 | 
ME ist hier ein Auftrag mit [Kommentar] "a;b;c;d", ein Werte ist also gleich "c".
 | 
Objekte
GetObjectName( obj )
| Parameter
 | 
obj | 
Objekt
 | 
| Rückgabewert
 | 
Gibt den Objektnamen von obj zurück.
 | 
| Beispiel
 | 
GetObjectName(PROJECT) | 
"Beispiel 1"
 | 
| Wenn [Alias] des Projekts "Beispiel 1" ist.
 | 
| Bemerkung
 | 
Es werden [Alias], [Anzeigename] und [Name] (in dieser Reihenfolge) ausgewertet.
 | 
DisplayStr( prop )
| Parameter
 | 
prop | 
Objekteigenschaft
 | 
| Rückgabewert
 | 
Gibt den Wert zurück, der von der [Anzeigeformel] für prop zurückgegeben würde.
 | 
| Beispiel
 | 
DisplayStr(ME.Qty) | 
"50 Stück"
 | 
ME ist hier ein Auftrag mit [Menge] und die [Anzeigeformel] von [Menge] INPUT+' Stück' ist.
 | 
GetEnumName( prop )
| Parameter
 | 
prop | 
Aufzählungseigenschaft
 | 
| Rückgabewert
 | 
Gibt den Namen des Eigenschafswerts von prop zurück.
 | 
| Beispiel
 | 
GetEnumName(ME.Status) | 
"Freigegeben"
 | 
ME ist hier ein Vorgang mit [Status] "I".
 | 
ExpressionStr( prop, 0 )
| Parameter
 | 
prop | 
Eigenschaft deren Formel bezogen wird
 | 
| Wird nicht genutzt
 | 
| Rückgabewert
 | 
Gibt den Formelstring von prop zurück.
 | 
| Beispiel
 | 
Find(ExpressionStr(ME.VirtualPropertyExpression,0),'Format')
 | 
| Filtert die Eigenschaftsdefinitionstabelle auf Einträge, deren [Virtuelle Eigenschaftsformel] "Format" enthält.
 | 
SetProps( objectList, expr )
| Parameter
 | 
objectList | 
Objektliste deren Eigenschaften gesetzt werden sollen
 | 
| expr  | 
Eigenschaftszuweisungsformel
 | 
| Rückgabewert
 | 
Setzt anhand von expr Eigenschaften der Objekte in objectList.
 | 
| Beispiel
 | 
SetProps(ME.LeftRecursiveOrder,TARGET.LET=ME.LET)
 | 
ME ist hier ein Auftrag, für den für alle Aufträge in [Übergeordnete Aufträge (rekursiv)] der [Fälligkeitstermin] auf den von ME gesetzt.
 | 
SetPropsIF( objectList, conditionExpr, expr )
| Parameter
 | 
objectList | 
Objektliste deren Eigenschaften gesetzt werden sollen
 | 
| conditionExpr | 
Filterformel
 | 
| expr  | 
Eigenschaftszuweisungsformel
 | 
| Rückgabewert
 | 
Setzt anhand von expr Eigenschaften der Objekte in objectList, die conditionExpr erfüllen.
 | 
| Beispiel
 | 
SetPropsIF(ME.LeftRecursiveOrder,
     ME.IsReplenishmentOrder=='1'
     && ME.LET<TARGET.LET,
     TARGET.LET=ME.LET
)
 | 
ME ist hier ein Auftrag, für den für alle Aufträge in [Übergeordnete Aufträge (rekursiv)] der [Fälligkeitstermin] auf den [Fälligkeitstermin] von ME gesetzt wird, falls deren [Fälligkeitstermin] später als dieser ist.
 | 
StrProps( props, delimiter )
Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: StrProps( objectList, expr, delimiter )
| 
 | 
Variante 1 | 
Variante 2
 | 
| Parameter
 | 
props | 
Zieleigenschaft (Array) | 
objectList | 
Objektliste
 | 
| delimiter | 
Trennzeichen | 
expr | 
Formel die eine Eigenschaft vorgibt
 | 
|   | 
delimiter | 
Trennzeichen
 | 
| Rückgabewert
 | 
Gibt einen String mit den Eigenschaftswerten von props, getrennt mit delimiter, zurück. | 
Gibt einen String mit den Eigenschaftswerten von expr der Objekte in objectList, getrennt mit delimiter, zurück.
 | 
| Beispiele
 | 
StrProps(ME.Comments,';') | 
"X;Y;Z" | 
StrProps(ME.Comments[2],';') | 
"Y"
 | 
ME ist hier ein Objekt mit [Kommentar] "X;Y;Z".
 | 
StrProps(ME.Child,TARGET.Code,';') | 
"A;B;C" | 
StrProps(ME.Child[1],TARGET.Code,';') | 
"A"
 | 
ME ist hier ein Objekt, dessen [Untergeordnete Objekte] "A", "B" und "C" sind.
 | 
StrPropsIF( objectList, conditionExpr, expr, delimiter )
| Parameter
 | 
objectList | 
Objektliste deren Eigenschaften gesetzt werden sollen
 | 
| conditionExpr | 
Filterformel
 | 
| expr  | 
Eigenschaftszuweisungsformel
 | 
| delimiter | 
Trennzeichen
 | 
| Rückgabewert
 | 
Gibt einen String mit den Eigenschaftswerten von expr der Objekte in objectList, getrennt mit delimiter, zurück, die conditionExpr entsprechen.
 | 
| Beispiel
 | 
StrPropsIF(ME.Child,Len(TARGET.Code,)==4,TARGET.Code,';') | 
"A:10;A:20" | 
"A:110" und "A:120" werden nicht ausgegeben, da sie mehr als vier Zeichen haben.
 | 
ME ist hier ein Objekt, dessen [Untergeordnete Objekte] "A:10", "A:20", "A:110" und "A:120" sind.
 | 
GetPropertyDef( propertyID )
Die Funktion kann überladen und somit auch mit anderem Parameter genutzt werden: GetPropertyDef( code )
| 
 | 
Variante 1 | 
Variante 2
 | 
| Parameter
 | 
propertyID | 
Integer, Eigenschafts-ID | 
code | 
Eigenschaftsdefinitionscode
 | 
| Rückgabewert
 | 
Eigenschaftsdefinitionsobjekt
 | 
GetClassDef( classID )
Die Funktion kann überladen und somit auch mit anderem Parameter genutzt werden: GetPropertyDef( code )
| 
 | 
Variante 1 | 
Variante 2
 | 
| Parameter
 | 
classID | 
Integer, Klassen-ID | 
code | 
Klassendefinitionscode
 | 
| Rückgabewert
 | 
Klassendefinitionsobjekt
 | 
ObjectList( list, object )
| Parameter
 | 
list | 
Array, welches Objekte enthält
 | 
| object | 
Objekt
 | 
| Rückgabewert
 | 
Gibt ein Array mit den object Objekten des Eigenschaftsarrays list' zurück.
 | 
| Beispiele
 | 
ObjectList(ME.ProductionTask.UseInstructions, Target.Resource) | 
Liste der Ressourcen, denen die Produktionsaufgabe zugewiesen ist.
 | 
ObjectList(ME.ProductionTask.InputInstructions, Target.Item) | 
Liste der Input-Artikel des Vorgangs.
 | 
ME ist hier jeweils ein Vorgang.
 | 
| Anmerkung
 | 
Die Formel ObjectList('Order', Target.Qty) gibt einen Fehler zurück, da das zweite Argument keine Objekteigenschaft ist.
 | 
ObjectListIf( list, condition, object )
| Parameter
 | 
list | 
Array, welches Objekte enthält
 | 
| condition | 
Bedingung um Objekte zu filtern
 | 
| object | 
Objekt
 | 
| Rückgabewert
 | 
Gibt ein Array mit den anhand von condition gefilterten object Objekten des Eigenschaftsarrays list' zurück.
 | 
| Beispiel
 | 
ObjectListIf(ME.Order.RightmostOrder, TARGET.Lateness>0s, Target) | 
Liste der Aufträge ganz rechts des Auftrags, die verspätet sind.
 | 
ME ist hier jeweils ein Vorgang.
 | 
| Anmerkung
 | 
Die Formel ObjectListIf('Order', TARGET.Lateness>0s, Target.Qty) gibt einen Fehler zurück, da das zweite Argument keine Objekteigenschaft ist.
 | 
Unique( list )
| Parameter
 | 
list | 
Array, welches Objekte enthält
 | 
| Rückgabewert
 | 
Gibt ein Array mit eindeutigen Objekten des Eigenschaftsarrays list' zurück.
 | 
| Beispiele
 | 
Unique(ObjectList(ME.Order.RightmostOrder, Target.Customer)) | 
Duplikatfreie Liste der Kunden der Aufträge ganz rechts des Auftrags.
 | 
Unique(ObjectList(ME.Child,TARGET.OperationMainRes)) | 
Duplikatfreie Liste der Hauptressourcen der Lose.
 | 
ME ist hier jeweils ein Vorgang.
 | 
| Anmerkung
 | 
Die Reihenfolge der duplikatfreien Liste entspricht dem ersten Auftreten der Objekte in der ursprünglichen Liste list.
 | 
Sort( list, key, ascend )
| Parameter
 | 
list | 
Array, welches Objekte enthält
 | 
| condition | 
Eigenschaft nach der sortiert werden soll
 | 
| object | 
Sortierreihefolge, TRUE für aufsteigend und FALSE für absteigend
 | 
| Rückgabewert
 | 
Gibt das anhand von key und ascend sortierte Array list an Eigenschaften zurück.
 | 
| Beispiel
 | 
Sort(ObjectList(ME.ProductionTask.UseInstructions,Target.Resource),Target.Code,TRUE) | 
Liste Ressourcen, denen der Vorgang zugewiesen ist, sortiert nach den [Ressourcencode].
 | 
ME ist hier ein Vorgang.
 | 
| Anmerkungen
 | 
-  Die Sortierung unterscheidet sich zwischen Zahlen und Zeichenketten. Nutzen Sie bei Bedarf Funktionen wie 
FindNumberL() zur Konvertierung.
-  Alphabetische Sortierung
 1 → 10 → 11 → 12 → 2 → 3 → 4 
-  Numerische Sortierung
 1 → 2 → 3 → 4 → 10 → 11 → 12 
  
-  Es wird stabil sortiert. Um nach mehreren Schlüsseln zu sortieren, kann 
Sort() verschachtelt werden. So wird bei Sort(Sort(list,key2,TRUE),key1,TRUE) nach key1 sortiert, ist dieser gleich, so wird nach key2 sortiert.  
 | 
Hilfe Nummer: 741560