Parameter wiederholen

Aus Asprova Hilfe
(Weitergeleitet von Einen Befehl wiederholen)
Wechseln zu: Navigation, Suche
Hilfe Nummer: 778500

In Asprova lassen sich Bedingungen zur automatischen Wiederholung von Parametern (Ausführung in Schleifen) hinterlegen.

Schleifeneigenschaften

Planungsparameter haben Eigenschaften für die Steuerung von Schleifen. Diese finden sich im Eigenschaftsfenster unter dem Reiter [Steuerung].

Planungsparametereinstellungen
Eigenschaft Wert
 —  Standardplanung Standardplanung
Ausführungsbedingung
Schleifenwiederholungen MAX 1
 +  Schleifenzähler (0) 1
 +  Schleifeninitialisierungsformel (0) <Schleifenzähler initialisieren>
 +  Schleifenbedingungsformel (0) <Zähler ist kleiner oder gleich MAX>
 +  Schleifeninkrementformel (0) <Schleifenzähler inkrementieren>
 ◀   ▶   Einstellungen   Filter   Link   Verknüpfungen   Plan   Nachrichten   Steuerung   Ereignisse 
Schleifeneigenschaften
Eigenschaft Erläuterung Standardwert
Ausführungsbedingung Bedingung unter der dieser Parameter ausgeführt wird. Bei FALSE wird die Ausführung übersprungen. Bedingung gilt nur für diesen Parameter und nicht für untergeordnete Parameter.
Schleifenwiederholungen MAX Maximale Anzahl an Schleifen. Die Schleife wird beendet, sobald der [Schleifenzähler] diesen Wert überschreitet, dies gilt selbst die [Schleifenbedingungsformel] TRUE zurückgibt. Wenn kein Wert hinterlegt ist, interpretiert Asprova dies als "1".
Verwenden Sie diese Eigenschaft, um eine Schleife um eine feste Anzahl zu wiederholen.
1
Schleifenzähler Zählt wie oft der Parameter bereits wiederholt wurde. Es sind mehrere Werte hinterlegbar. 1
Schleifeninitialisierungsformel Wird nur einmal, vor Beginn der ersten Schleife, ausgeführt. Es sind mehrere Formeln hinterlegbar und es werden immer alle Formeln ausgeführt. ME.LoopCounter[1]=1
Schleifenbedingungsformel Eine weitere Schleife wird ausgeführt, wenn sie TRUE zurückgibt. Es sind mehrere Formeln hinterlegbar und es werden immer alle Formeln ausgewertet.
Verwenden Sie diese Eigenschaft, wenn die Anzahl der Wiederholungen nicht von vorn herein klar ist. Für [Schleifenwiederholungen MAX] sollte dann ein hoher Wert gesetzt werden (also ein Wert, der voraussichtlich größer ist, als die Anzahl der Schleifenwiederholungen auf Grund der [Schleifenbedingungsformel]).
ME.Command_LoopCounter[1]<=ME.Command_LoopMaxFrequency
Schleifeninkrementformel Wird nach Ausführung des Parameters ausgeführt. Es sind mehrere Formeln hinterlegbar und es werden immer alle ausgeführt. ME.LoopCounter[1]=ME.LoopCounter[1]+1

Schleifenablauf

  1. Ausführen der [Schleifeninitialisierungssformel]
  2. Auswerten der [Schleifenbedingungsformel] zur Bestätigung der Schleifenbedingungen
    • Beenden ohne Ausführung des Parameters, falls die Anzahl der Wiederholungen [Schleifenwiederholungen MAX] überschreitet
    • Ausführen des Parameters, falls alle [Schleifenbedingungsformel]n TRUE zurückgeben
    • Beenden ohne Ausführung des Parameters, falls eine der [Schleifenbedingungsformel]n FALSE zurückgibt
  3. Ausführen der [Schleifeninkrementformel]
  4. Zurück zu 2.

Der Standardwert zur Ausführung des Befehles wird auf einmal gesetzt, wie aus dem Ablauf des Schleifenprozesses ersichtlich ist.

Hinweise

  • Kann eine der Formeln nicht ausgeführt werden, so wird der Prozess an dieser Stelle beendet und der nächste Befehl nicht ausgeführt.
  • Die folgenden vier Eigenschaften werden vor Beginn der ersten Schleife ausgewertet. Wird eine davon währen der Schleifeausführung geändert, hat dies keinen Einfluss auf den Schleifenablauf.
    • Schleifenwiederholungen MAX
    • Schleifeninitialisierungssformel
    • Schleifenbedingungsformel
    • Schleifeninkrementformel

Beispiel

Eine vierwöchige Planung wird auf einzelne Wochen verteilt und Aufträge werden vorwärts ab dem Beginn der Woche von ihrem [Fälligkeitstermin] zugewiesen.

Schritt Erläuterung Eigenschaft Wert
Einstellen der Schleife Es sollen vier Schleifen ausgeführt werden. Schleifenwiederholungen MAX 4
Zeitperioden Anhand des [Schleifenzählers] wird bestimmt ab wann Aufträge zugewiesen werden können. Zuweisungsbeginn PROJECT.SchedulingStartTime+(1w*(PROJECT.CommandReschedule.LoopCounter[1]-1))
Filter Anhand des [Schleifenzählers] wird über den [Fälligkeitstermin] bestimmt, welche Aufträgen in der Zuweisungsperiode liegen. Aufträge filtern ME.LET>=PROJECT.BasisTime+(1w*(PROJECT.CommandReschedule.LoopCounter[1]-1))&&ME.LET<PROJECT.BasisTime+(1w*PROJECT.CommandReschedule.LoopCounter[1])

Hilfe Nummer: 778500