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