Formeln: Unterschied zwischen den Versionen

Aus Asprova Hilfe
Wechseln zu: Navigation, Suche
(Imported from text file)
 
Zeile 4: Zeile 4:
 
<div align="right">[[Formeleditor|Formeleditor]]</div>
 
<div align="right">[[Formeleditor|Formeleditor]]</div>
 
<hr>
 
<hr>
Für Eigenschaften vom Typ Formel müssen Formeln festgelegt werden.
+
Für Eigenschaften vom Typ Formel müssen Formeln in das Eingabefeld eingetragen werden.
  
  
 
Grundsätzliches
 
Grundsätzliches
  
Eine Formel setzt sich zusammen aus
+
Eine Formel setzt sich zusammen aus:
  
  
Zeile 17: Zeile 17:
 
:*Funktionen
 
:*Funktionen
  
Zum Beispiel ist folgende Formel eine standardmäßige Vorgangsbalkentextformel für das Ressourcen-Gantt-Diagramm.
+
Die folgende Formel ist die standardmäßige Vorgangsbalkentextformel für das Ressourcen-Gantt-Diagramm:
  
 
: ME.WorkInst_Operation.Work_Order+'\n'+ME.WorkInst_Operation.Work_OperationOutMainItem+'\n'+ME.WorkInst_Operation.Work_OperationOutMainItemQty
 
: ME.WorkInst_Operation.Work_Order+'\n'+ME.WorkInst_Operation.Work_OperationOutMainItem+'\n'+ME.WorkInst_Operation.Work_OperationOutMainItemQty
  
"ME.WorkInst_Operation.Work_OperationOutMainItem" - diese Eigenschaft zeigt die Produktionsmenge eines Vorgangs an. <br />"+" ist ein Additionsoperator und verbindet Zeichenketten, wenn er zwischen solchen verwendet wird. <br />"'\n'" ist ein Zeichenkettewert (Sonderzeichen) und bewirkt einen Zeilenumbruch (newline).
+
"ME.WorkInst_Operation.Work_OperationOutMainItem" - diese Eigenschaft zeigt die Produktionsmenge eines Vorganges an.<br /><br />"+" ist ein Additionsoperator und verbindet Zeichenketten, wenn es zwischen solchen verwendet wird.<br /><br />"'\n'" ist ein Zeichenkettewert (Sonderzeichen) und bewirkt einen Zeilenumbruch (newline).
  
  
Zeile 28: Zeile 28:
 
[[Vorgang 4|Lange Namen und Kurze Namen]]
 
[[Vorgang 4|Lange Namen und Kurze Namen]]
  
Die Eigenschaftennamen haben jeweils einen langen und einen kurzen Namen. Wenn zum Beispiel eine Menge für einen Auftrag festgelegt wird, ist Qty der kurze Name und Order_Qty der lange Name. Grundsätzlich werden der Klassenname und ein Unterstrich vor den Kurznamen gesetzt. (Wenn ein bestimmter langer Name gesucht wird, schauen Sie bitte entweder in die "Klasseneigenschaften" der Hilfe oder überprüfen Sie ihn mit einer Reihe von "Code"-Zeichen, die in den Eigenschaften festgelegt sind.)
+
Eigenschaftennamen haben jeweils einen langen- und einen kurzen Namen. Zum Beispiel: Der kurze Name für Produktionsmenge eines Auftrages ist "Qty" und der lange name ist "Order_Qty". Grundsätzlich werden Klassenname und ein Unterstrich vor den Kurznamen gesetzt. (Wenn ein bestimmter, langer Name gesucht wird, schauen Sie entweder in die "Klasseneigenschaften" der Asprova-Hilfe, oder überprüfen Sie ihn anhand einer Reihe von "Code"-Zeichen, die in Eigenschaften festgelegt sind.)
  
 
Wenn ein Eigenschaftenname mithilfe von ME beschrieben wird, ist das Zielobjekt klar. Verwenden Sie in diesem Fall einen kurzen Namen. Dieser wird normalerweise verwendet. Der Name in der Dropdown-Liste ist auch ein kurzer Name.
 
Wenn ein Eigenschaftenname mithilfe von ME beschrieben wird, ist das Zielobjekt klar. Verwenden Sie in diesem Fall einen kurzen Namen. Dieser wird normalerweise verwendet. Der Name in der Dropdown-Liste ist auch ein kurzer Name.

Version vom 9. August 2017, 17:26 Uhr

Hilfe Nummer: 741000
Zusätzliche Informationen
Formeleditor

Für Eigenschaften vom Typ Formel müssen Formeln in das Eingabefeld eingetragen werden.


Grundsätzliches

Eine Formel setzt sich zusammen aus:


  • Eigenschaften
  • Werten
  • Operatoren
  • Funktionen

Die folgende Formel ist die standardmäßige Vorgangsbalkentextformel für das Ressourcen-Gantt-Diagramm:

ME.WorkInst_Operation.Work_Order+'\n'+ME.WorkInst_Operation.Work_OperationOutMainItem+'\n'+ME.WorkInst_Operation.Work_OperationOutMainItemQty

"ME.WorkInst_Operation.Work_OperationOutMainItem" - diese Eigenschaft zeigt die Produktionsmenge eines Vorganges an.

"+" ist ein Additionsoperator und verbindet Zeichenketten, wenn es zwischen solchen verwendet wird.

"'\n'" ist ein Zeichenkettewert (Sonderzeichen) und bewirkt einen Zeilenumbruch (newline).


Eigenschaften

Lange Namen und Kurze Namen

Eigenschaftennamen haben jeweils einen langen- und einen kurzen Namen. Zum Beispiel: Der kurze Name für Produktionsmenge eines Auftrages ist "Qty" und der lange name ist "Order_Qty". Grundsätzlich werden Klassenname und ein Unterstrich vor den Kurznamen gesetzt. (Wenn ein bestimmter, langer Name gesucht wird, schauen Sie entweder in die "Klasseneigenschaften" der Asprova-Hilfe, oder überprüfen Sie ihn anhand einer Reihe von "Code"-Zeichen, die in Eigenschaften festgelegt sind.)

Wenn ein Eigenschaftenname mithilfe von ME beschrieben wird, ist das Zielobjekt klar. Verwenden Sie in diesem Fall einen kurzen Namen. Dieser wird normalerweise verwendet. Der Name in der Dropdown-Liste ist auch ein kurzer Name.

Wenn ein übergeordnetes Objekt (Parent), ein untergeordnetes Objekt (Child) oder ein Sortierschlüssel in der Formel verwendet wird, ist das Zielobjekt unklar. In diesem Fall muss der lange Name verwendet werden.

ME

Wenn Sie eine Eigenschaft in einer Formel verwenden, geben Sie zunächst ein:

ME

ME bezieht sich auf das Objekt, dessen Formeltypeigenschaft der geschriebenen Formel entspricht. Im Fall der Eigenschaft "Gültigkeitsbedingung" einer Nutzungsanweisung der integrierten Stammdaten, bezieht sich ME auf einen Vorgang. Im Fall der Eigenschaft "Vorgangsbalkentextformel" des Ressourcen-Gantt-Diagramms, bezieht sich ME auf eine Nutzungsanweisung.

Mit der Eingabe eines Punktes "." hinter ME wird eine Liste von Eigenschaften angezeigt, aus denen Sie entpsrechend eine auswählen können. Natürlich können Sie den Namen der Eigenschaft auch direkt hinter der Zeitspanne eingeben.

Wenn Sie zum Beispiel das Fälligkeitsdatum (LET) für die Eigenschaft "Auftragsbalken Formel rechter Text" im Auftrags-Gantt-Diagramm eingeben wollen, geben Sie folgendes ein:

ME.LET

Sie können ME auch weglassen. In diesem Fall wird der Eigenschaftenname, den Sie eingegeben haben, als eine Eigenschaft von ME verarbeitet. Daher können Sie im obigen Beispiel "ME.LET" oder "LET" eingeben und beide Ausdrücke haben dieselbe Bedeutung.

Wenn die ausgewählte Eigenschaft vom Typ Objekt ist, können Sie wieder einen Punkt "." eingeben und eine Eigenschaft des Objekts auswählen (oder direkt eingeben). Wenn Sie zum Beispiel den Namen des Artikels eines Auftrags für eine Vorgangsbalkentextformel des Ressourcen-Gantt-Diagramms eingeben wollen, lautet die Formel:

ME.Order.Item.Name


OTHER

Für Eigenschaften wie "Verknüpfungsbedingung", die Werte zweier Eigenschaften vergleicht, können Sie OTHER zusätzlich zu ME verwenden. OTHER bezieht sich auch auf ein Objekt und kann genauso wie ME verwendet werden.

Wenn Sie zum Beispiel beschreiben wollen, dass die Auftragsspezifikation 1 zwischen zwei Eigenschaften, die "Verknüpfungsbedingung" der Artikelklasse verwenden, gleich ist, nehmen Sie folgende Formel

ME.Order.Spec1.Code==OTHER.Order.Spec1.Code

Sie können im Formeleditor nachschauen, ob Sie OTHER verwenden können oder nicht und um das Objekt zu finden, auf das sich OTHER bezieht.

Es gibt eine Eigenschaft, die Werte zweier Eigenschaften vergleicht, die "Ofengültigkeitsbedingung". Hier werden Eigenschaften allein anhand von ME verglichen, nicht aber unter Verwendung von OTHER.

Sie können zum Beispiel in einer Ofenwertbedingung festlegen, dass Aufträge simultan demselben Ofen zugeordnet werden können, wenn die Aufträge vom selben Kunden kommen.

ME.Order.Customer.Code


HOLDER

HOLDER bezieht sich auf ein Objekt, das die Eigenschaft "Formel" besitzt. In der Gültigkeitsbedingung einer Nutzungsanweisung der integrierten Stammdaten zum Beispiel ist ME ein Vorgang und HOLDER eine Hauptnutzungsanweisung. Wenn Sie sich auf den Ressourcencode der Nutzungsanweisung in der Gültigkeitsbedingung der Nutzungsanweisung in den integrierten Stammdaten beziehen, ist die Formel:

HOLDER.Resource.Code


PROJECT

PROJECT bezieht sich auf das derzeit geöffnete Projekt. Sie können auf die Eigenschaften verweisen, die in den Projekteinstellungen angezeigt werden. Sie können PROJECT in jeder Formel verwenden.

Wenn Sie zum Beispiel auf die Planungsbasiszeit verweisen, ist die Formel

PROJECT.BasisTime


WORKSPACE

WORKSPACE bezieht sich auf den Arbeitsplatz des derzeit geöffneten Projektes. Sie können auf die Eigenschaften verweisen, die in den Arbeitsplatzeinstellungen angezeigt werden.

Sie können WORKSPACE in jeder Formel verwenden.
Sie können zum Beispiel den Projektdateinamen über folgende Formel erhalten:

WORKSPACE.ProjectFileName


TARGET

TARGET kann nur innerhalb des Arguments einiger interner Funktionen verwendet werden.
Definieren Sie OBJECT für das erste Argument der internen Funktion und definieren Sie TARGET ab dem zweiten Argument und danach. TARGET verweist auf das OBJECT des ersten Arguments.

Für die Verwendung der Summenfunktion der internen Funktionen, ist die Formel zum Beispiel

Sum('Order',TARGET.Qty)

In diesem Fall bezieht sich TARGET auf "Order".


INPUT

INPUT wird in virtuellen Umkehrfunktionen der Eigenschaften, in Anzeigeformeln, Umkehrfunktionen der Anzeige und in Währungsformatformeln etc. verwendet. Prinzipiell bezieht es sich auf eine Zeichenkette, die in einer bestimmten Zelle eingegeben wurde. Mehr Details entnehmen Sie bitte den jeweiligen Eigenschaften.


DELETE

DELETE wird verwendet, wenn Sie einen Eigenschaftswert löschen möchten. Mit DELETE können Sie den Wert einer Eigenschaft auf der linken Seite der Zuordnungsformel löschen, wie in

ME.Name=DELETE


Eigenschaften mit mehreren Werten

Wenn eine Eigenschaft über mehrere Werte verfügt, können Sie nach dem Namen der Eigenschaft [n] eingeben. "n" ist eine Zahl, die den n'ten Wert mehrerer Eigenschaften beschreibt. Wenn Sie zum Beispiel den zweiten Kommentar eines Auftrags beschreiben wollen, ist die Formel

Order.Comments[2]

Wenn Sie "0" als "n" eingeben, wird das letzte Element ausgegeben. Wenn zum Beispiel "a;b;c" für die Eigenschaft Kommentare festgelegt wurden, wird "c" ausgegeben, wenn Comments[0] in die Formel geschrieben wird.

Wenn Sie kein [n] hinzufügen, werden alle Werte ausgegeben, wenn die Eigenschaft eine Zeichenkette ist. Ansonsten wird die letzte Eigenschaft ausgegeben. Wenn zum Beispiel "a;b;c" für die Eigenschaft Kommentare festgelegt sind, werden "a;b;c" ausgegeben aufgrund der Zeichenketteneigenschaft der Kommentare.


Eigenschaften mit mehreren Werten, wenn der Eigenschaftstyp ein Objekt ist

Für Objekttypeigenschaften mit mehreren Werten kann der Code des Objekts verwendet werden, um einen Index in der Liste mehrerer Werte festzulegen. Der Code ist eine Zeichenkette und die Werte der Eigenschaft werden nach einer passenden Zeichenkette durchsucht. Beim Vergleichen der Objekte mit der Zeichenkette wird nach folgender Priorität vorgegangen Code -> Anzeigename -> Alias.

Wenn zum Beispiel ME ein Vorgang ist, wird, um auf die Anweisung dieses Vorganges mit dem Code S1 zuzugreifen, die Formel

ME.ProductionTask.UseInstructions['S1']

verwendet.

Angenommen, der Benutzer fügt eine Klasse "MyClass" hinzu mit einer Eigenschaft, die "MyProperty1" heisst, dann kann mit folgender Formel auf die MyProperty-Eigenschaft des Objektes MyClass mit dem Namen "ABC" zugegriffen werden:

PROJECT.Child['MyClass'].Child['ABC'].MyProperty1

Weitere Informationen zu benutzerdefinierten Klassen finden Sie in Hinzufügen einer neuen Klassendefinition.


Werte

Sie werden auch häufig Werte wie Zahlen und Zeichenketten in Formeln verwenden. Wenn Sie solche Werte in Formeln verwenden, beachten Sie bitte die folgenden Punkte.


Zahlen Werden dargestellt wie sie sind. 123
Zeichenketten Werden in einfache Anführungszeichen eingeschlossen. '123'
Daten Werden in Rauten (#) eingeschlossen. #2005/01/01 12:00:00#
Wahr oder falsch Werden wie in der Spalte rechts dargestellt. TRUE, FALSE

"\" in einer Zeichenkette stellt zusammen mit dem benachbarten Zeichen ein Kontrollzeichen/ Steuerungszeichen dar. Daher müssen Sie, wenn Sie "\" eingeben wollen, "\\" schreiben. Sie können auch für Eigenschaften wie "Vorgangsbalkentextformel", die Sie in mehreren Zeilen darstellen können, "\n" eingeben, um eine neue Zeile festzulegen.

Wenn Sie zum Beispiel folgendes für die Vorgangsbalkentextformel des Ressourcen-Gantt-Diagramms eingeben

ME.Operation.Work_Order+'\n'+ME.Operation.OperationOutMainItem+'\n'+ME.Operation.OperationOutMainItemQty

werden bei der Darstellung des Formelergebnisses neue Zeilen eingefügt.


Operatoren

Sie können folgende Operatoren in Asprova verwenden


+ Addition, Verbindung von (Zeichen-)Ketten
- Subtraktion
* Multiplikation
/ Division
^ Potenzierung
% Rest
&& AND
OR
== Gleich (Vergleich)
!= Ungleich (Vergleich)
> Größer (Vergleich)
>= Größer oder gleich (Vergleich)
< Kleiner (Vergleich)
<= Kleiner oder gleich (Vergleich)
(,) Klammern
= Zuordnung

Die Prioritäten der Operatoren sind wie folgt


  1. ^
    • , /, %
  2. +, -
  3. ==, !=, >, <, >=, <=
  4. &&, ||
  5. =

Wenn Sie Klammern in einer Formel verwenden, werden die Inhalte der Klammern zuerst berechnet.


Funktionen

In Formeln können Sie Asprovas interne Funktionen verwenden und solche, die vom Benutzer eingetragen wurden. Wenn Sie Funktionen verwenden, stellen Sie bitte sicher, dass die Namen der Funktionen und die Parameter/ Argumente (math) korrekt beschrieben wurden.

Um Spec 1 auf einen Vorgang anzuwenden, können Sie folgende Funktion verwenden.

GetApplicableSpec(1,ME.Operation)

Hier finden Sie weitere Informationen über Asprovas interne Funktionen.


Einheiten

Sie können Zahlen mit Einheiten versehen. Verfügbare Einheiten sind die folgenden und können auch in Großbuchstaben geschrieben werden.


s Sekunden
m Minuten
h Stunden
d Tage
w Wochen
month Monate

Neben den oben genannten Einheiten sind folgende Einheiten verfügbar, um die Produktion, das Rüsten und Abrüsten in den integrierten Stammdaten festzulegen.


sp Produktionszeit pro Einheit (in Sekunden)
mp Produktionszeit pro Einheit (in Minuten)
hp Produktionszeit pro Einheit (in Stunden)
ps Menge, die in einer Sekunde produziert werden kann
pm Menge, die in einer Minute produziert werden kann
ph Menge, die in einer Stunde produziert werden kann

Wenn Sie zum Beispiel die Kapazität beschreiben, die 10 Minuten braucht, um eine Einheit herzustellen, schreiben Sie

10mp

Um 10 Minuten als festen Wert hinzuzufügen, schreiben Sie

10mp+10m

Zahlen müssen vor Einheiten stehen. Sie können Einheiten nicht nach einer Zahl in Klammern angeben.


Ergebnistyp / Typ des Rückgabewerts

Asprova enthält mehrere Typen von Eigenschaften und Werten. Der Ergebnistyp einer Formel, die mehrere Typen enthält, hängt vom Typ im linken Teil der Formel ab.

Im folgenden Beispiel

10m * 2

ist auf der rechten Seite des Operators eine Zahl ("2"), während die linke Seite die Zeit ("10m") anzeigt. Aufgrund dessen ist der Ergebnistyp eine Zeitangabe und das Vorgangsergebnis ist:

20m

Wenn Sie die linke und die rechte Seite der obigen Formel vertauschen,

2 * 10m

so dass die rechte Seite die Zeit ("10m") angibt und die linke Seite eine Zahl ("2") ist, wird der Ergebnistyp eine Zahl und das Vorgangsergebnis ist:

1200.0

Diese beiden Formeln mögen gleich aussehen, aber ihre Ergebnisse sind unterschiedlich. Das liegt an den unterschiedlichen Ergebnistypen der beiden Formeln. Innerhalb einer Formel wird Zeit in Sekunden berechnet, also wird "10m * 2" als "600 * 2" (=1200) interpretiert und "2 * 10m" würde als "2 * 600" (=1200) in diesen Formeln interpretiert. Bis zu dieser Stelle wären die Ergebnisse gleich, wenn aber der Ergebnistyp eine Zeitangabe wäre, würden 1200 Sekunden als 20 Minuten angesehen, während beim Ergebnistyp Zahl die 1200 stehen bliebe.

Beachten Sie bitte, dass Unterschiede im Ergebnistyp auch Unterschiede in den Ergebnissen der Formeln zur Folge haben, wie Sie oben sehen. Wenn Sie zum Beispiel nur Zahlen (d.h. ohne Einheiten) für Kapazitätswert und Rüstzeit zur Verfügung stellen, werden diese als Minutenangaben verarbeitet und die Ergebnisse der Zuordnung sind für die oben erwähnten Formeln unterschiedlich. (Wenn die Eigenschaft eine Zeitangabe ist, empfehlen wir ebenfalls eine Festsetzung des Ergebnistyps in Zeitangabe, z. B. 10m * 2.)

Im Formeleditor können Sie Ergebnistyp oder Vorgangsergebnis einer Formel überprüfen. Bitte nutzen Sie den Editor als Referenz, wenn Sie Formeln schreiben.


Eigenschaften ohne Wert

Wenn arithmetische Operatoren auf Zahlen angewendet werden und einer der Operanden nicht definiert ist, ist das Ergebnis der Berechnung wie folgt: (Die Bedeutungen der Ausdrücke innerhalb der Klammern sind unten angeben)

NS - Wert ist nicht definiert

S - Wert ist definiert

0 - numerischer Wert

NS+S = S
S+NS = S
NS-S = -S
S-NS = S
NS * S = 0
S * NS = 0
NS / S = 0
S / NS = NS

Berechnungsergebnis einer Formel, die Eigenschaften ohne Werte enthält

Die Berechnung einer Formel, die Eigenschaften ohne Werte enthält, fällt für jeden Operator wie unten beschrieben aus. "NS" und "X, Y" in den Ausdrücken haben folgende Bedeutung

NS = Es existiert kein Wert.
X, Y = Ein Wert existiert.


Operator ==

NS == NS -> TRUE
NS == X -> FALSE


Operator !=

NS != NS -> FALSE
NS != X -> TRUE


Operatoren >, <, >=, und <=

Wenn entweder die linke Seite oder die rechte Seite des Operators keinen Wert enthält oder beide Seiten keinen Wert enthalten, enthält das Formelergebnis auch keinen Wert.

NS > X -> NS
NS < X -> NS
NS >= X -> NS
NS <= X -> NS


Operator &&

&& mit einer Eigenschaft ohne Wert fällt wie unten angegeben aus. Was Zahlen anbelangt, wird 0 als FALSE bewertet und andere Zahlen (nicht 0) werden als TRUE bewertet. Andere Datentypen werden wie Eigenschaften ohne Daten behandelt.

NS && TRUE -> FALSE
NS && FALSE -> FALSE


Operator ||

|| mit einer Eigenschaft ohne Wert fällt wie unten angegeben aus. Was Zahlen anbelangt, wird 0 als FALSE bewertet und andere Zahlen (nicht 0) werden als TRUE bewertet. Andere Datentypen werden wie Eigenschaften ohne Daten behandelt.

NS || TRUE -> TRUE
NS || FALSE -> FALSE


IF

Das Format ist normalerweise IF(Condition, Value 1, Value 2) [entspricht IF(Bedingung, Wert 1, Wert2)]. Wenn die Bedingung TRUE [WAHR] ist, wird der Wert 1 ausgegeben. Wenn sie FALSE [UNWAHR] ist, wird der Wert 2 ausgegeben. Wenn eine Eigenschaft ohne Wert enthalten ist, ist das Ergebnis wie unten angegeben. Wenn der Bedingungsteil eine Zahl ist, wird 0 mit FALSE bewertet und andere Zahlen (nicht 0) werden mit TRUE bewertet. Andere Datentypen werden behandelt wie Eigenschaften ohne Daten.

IF( TRUE, NS, X ) -> NS
IF( FALSE, NS, X ) -> X
IF( NS, X, Y ) -> Y




Hilfe Nummer: 741000