Prozessgültigkeitsbedingung: Unterschied zwischen den Versionen

Aus Asprova Hilfe
Wechseln zu: Navigation, Suche
K (Strukturierung)
(Überarbeitung)
Zeile 4: Zeile 4:
  
 
== Übersicht ==
 
== Übersicht ==
Gültigkeitsbedingungen können für Prozesse hinterlegt werden. Diese erlauben es, Prozesse dynamisch einzubeziehen oder auszuschließen, je nach hinterlegten Bedingungen.
+
{|
 +
|- valign="top"
 +
|Für jeden Prozess kann eine [Prozessgültigkeitsbedingung] gesetzt werden, so dieser, in Abhängigkeit unterschiedlicher Bedingungen,  dynamisch geplant oder ausgelassen werden kann.
  
[Tabelle] - "Integrierte Stammdaten" - Eigenschaft: "Formel für Prozessgültigkeitsbedingung":
+
Die [Prozessgültigkeitsbedingung] wird in den Integrierten Stammdaten im Stil "Detail" angezeigt.
  
[[Image:proc-cond00.jpg]]
+
Gibt die [Prozessgültigkeitsbedingung] <code>FALSE</code> zurück, so werden alle Anweisungen des Prozesses ignoriert. Der gesamte Prozess wird während "Vorgangserstellung und Stücklistenauflösung" übergangen und die Berechnung springt zum vorherigen Prozess.
 +
;Hinweis
 +
:Für die automatische Erstellung für Input- und Output-Anweisungen bei Zwischenprodukten wird die [Prozessgültigkeitsbedingung] ignoriert, so dass diese unabhängig von der [Prozessgültigkeitsbedingung] erstellt werden.
 +
||
 +
{| class="wikitable
 +
|+ Integrierte Stammdaten
 +
|-
 +
!style="background: #3C78AE; color:white"|Artikel!!style="background: #3C78AE; color:white"|Prozess-<br>nummer!!style="background: #3C78AE; color:white"|Prozess-<br>code!!style="background: #3C78AE; color:white; border-top:2px solid red; border-right:2px solid red; border-left:2px solid red;"|Prozessgültigkeits-<br>bedingung!!style="background: #3C78AE; color:white"|Anweisungstyp!!style="background: #3C78AE; color:white"|Anweisungs-<br>code
 +
|- style="background: white"
 +
|rowspan="7" valign="top"|Artikel A||align="right"|10||P10||style=" border-right:2px solid red; border-left:2px solid red;"| ||style="background:#C8FFE6"|Nutzungsanweisung||style="background:#C8FFE6"|M
 +
|- style="background: white"
 +
|rowspan="2" align="right" valign="top"|20||rowspan="2" valign="top"|P20||style=" border-right:2px solid red; border-left:2px solid red;"| ||style="background: #FFE6C8"|Input-Anweisung||style="background: #FFE6C8"|In0
 +
|- style="background: white"
 +
|style=" border-right:2px solid red; border-left:2px solid red;"| ||style="background:#C8FFE6"|Nutzungsanweisung||style="background:#C8FFE6"|M
 +
|- style="background: white"
 +
|rowspan="2" align="right" valign="top"|30||rowspan="2" valign="top"|P30||style=" border-right:2px solid red; border-left:2px solid red;"| ||style="background: #FFE6C8"|Input-Anweisung||style="background: #FFE6C8"|In0
 +
|- style="background: white"
 +
|style=" border-right:2px solid red; border-left:2px solid red;"| ||style="background:#C8FFE6"|Nutzungsanweisung||style="background:#C8FFE6"|M
 +
|- style="background: white"
 +
|rowspan="2" align="right" valign="top"|40||rowspan="2" valign="top"|P40||style=" border-right:2px solid red; border-left:2px solid red;"| ||style="background: #FFE6C8"|Input-Anweisung||style="background: #FFE6C8"|In0
 +
|- style="background: white"
 +
|style=" border-right:2px solid red; border-left:2px solid red;"| ||style="background:#C8FFE6"|Nutzungsanweisung||style="background:#C8FFE6"|M
 +
|- style="background: white"
 +
|rowspan="6" valign="top"|Artikel B||align="right"|10||P10||style=" border-right:2px solid red; border-left:2px solid red;"| ||style="background:#C8FFE6"|Nutzungsanweisung||style="background:#C8FFE6"|M
 +
|- style="background: white"
 +
|rowspan="3" align="right" valign="top"|20||rowspan="3" valign="top"|P20||rowspan="3" valign="top" style=" border-right:2px solid red; border-left:2px solid red;"|ME.Spec1=='Y'||style="background: #FFE6C8;|Input-Anweisung||style="background: #FFE6C8;|In0
 +
|- style="background: white"
 +
|style="background:#C8FFE6"|Nutzungsanweisung||style="background:#C8FFE6"|M
 +
|- style="background: white"
 +
|style="background: #FFE6C8;|Output-Anweisung||style="background: #FFE6C8"|Out1
 +
|- style="background: white"
 +
|rowspan="2" align="right" valign="top"|30||rowspan="2" valign="top"|P30||style=" border-right:2px solid red; border-left:2px solid red;"| ||style="background: #FFE6C8"|Input-Anweisung||style="background: #FFE6C8"|In0
 +
|- style="background: white"
 +
|style=" border-right:2px solid red; border-left:2px solid red; border-bottom:2px solid red;"| ||style="background:#C8FFE6"|Nutzungsanweisung||style="background:#C8FFE6"|M
 +
|-
 +
|}
  
Wenn die Prozessgültigkeitsbedingung FALSE ausgibt, werden alle Anweisungen in diesem Vorgang gesperrt. Der gesamte Prozess wird bei Auftragserstellung als nicht existierend behandelt und die Berechnung springt zum vorherigen Prozess.
+
|-
 +
|}
  
 
== Beispiel ==
 
== Beispiel ==
Zeile 62: Zeile 100:
 
[[Image:proc-cond34.jpg]]
 
[[Image:proc-cond34.jpg]]
  
== Hinweise ==
+
== Hinweis ==
* Verwenden Sie Prozessgültigkeitsbedingungen bitte mit Vorsicht, denn der Prozessablauf der folgender Prozesse kann durch sie ungültig gemacht werden! Wie bei teilenden und zusammenlaufenden Prozessen, gilt diese Empfehlung auch für lineare Prozesse.
+
Verwenden Sie Prozessgültigkeitsbedingungen bitte mit Vorsicht, denn der Prozessablauf der folgender Prozesse kann durch sie ungültig gemacht werden! Wie bei teilenden und zusammenlaufenden Prozessen, gilt diese Empfehlung auch für lineare Prozesse.
* Während Auftragserstellung werden Einstellungen in der Prozessgültigkeitsbedingung für die automatische Erstellung für Input- und Output-Anweisungen bei Zwischenprodukten ignoriert.
 
  
 
<hr>
 
<hr>
 
<div align="right">Hilfe Nummer: 750300</div>
 
<div align="right">Hilfe Nummer: 750300</div>

Version vom 25. Juni 2018, 21:43 Uhr

Hilfe Nummer: 750300

Übersicht

Für jeden Prozess kann eine [Prozessgültigkeitsbedingung] gesetzt werden, so dieser, in Abhängigkeit unterschiedlicher Bedingungen, dynamisch geplant oder ausgelassen werden kann.

Die [Prozessgültigkeitsbedingung] wird in den Integrierten Stammdaten im Stil "Detail" angezeigt.

Gibt die [Prozessgültigkeitsbedingung] FALSE zurück, so werden alle Anweisungen des Prozesses ignoriert. Der gesamte Prozess wird während "Vorgangserstellung und Stücklistenauflösung" übergangen und die Berechnung springt zum vorherigen Prozess.

Hinweis
Für die automatische Erstellung für Input- und Output-Anweisungen bei Zwischenprodukten wird die [Prozessgültigkeitsbedingung] ignoriert, so dass diese unabhängig von der [Prozessgültigkeitsbedingung] erstellt werden.
Integrierte Stammdaten
Artikel Prozess-
nummer
Prozess-
code
Prozessgültigkeits-
bedingung
Anweisungstyp Anweisungs-
code
Artikel A 10 P10 Nutzungsanweisung M
20 P20 Input-Anweisung In0
Nutzungsanweisung M
30 P30 Input-Anweisung In0
Nutzungsanweisung M
40 P40 Input-Anweisung In0
Nutzungsanweisung M
Artikel B 10 P10 Nutzungsanweisung M
20 P20 ME.Spec1=='Y' Input-Anweisung In0
Nutzungsanweisung M
Output-Anweisung Out1
30 P30 Input-Anweisung In0
Nutzungsanweisung M

Beispiel

Linearer Prozess

"Artikel A" verfügt über einen linearen Prozessverlauf aus 4 Prozessen. Die Prozessgültigkeitsbedingung gibt vor, dass wenn Spezifikation1 gleich "X" ist, dann ist Prozess 20 ungültig und Prozess 30 gültig. Umgekehrt gilt: Wenn Spezifikation1 gleich "Y" ist, dann ist Prozess 20 gültig und Prozess 30 ungültig.

Proc-cond01.jpg

Wenn Spezifikation1 des Auftrages gleich "X" ist, dann ist Prozess 20 ungültig und der folgende Prozess 30 bekommt Prozess 10 als Input. Das Ergebnis dieser Einrichtung sieht wie folgt aus:

Proc-cond03.jpg

Wenn die Spezifikation1 des Auftrages gleich "Y" ist, dann ist Prozess 30 ungültig, und der folgende Prozess 40 bekommt Prozess 20 als Input. Die Ergebnisse dieser Anordnung sehen wie folgt aus:

Proc-cond02.jpg

Prozesszusammenfluss

Artikel B wird durch einen zusammenlaufenden Prozess, dem Output zweier vorheriger Prozesse, hergestellt. Die hinterlegte Prozessgültigkeitsbedingung bestimmt, dass wenn Spezifikation1 gleich "X" ist, wird Prozess 20 ungültig und Prozess 40 gültig. Und wenn Spezifikation1 gleich "Y" ist, wird Prozess 20 gültig und Prozess 40 ungültig. Das heißt, eine der im abschließenden Prozess mündenden Inputs wird gesperrt, oder erlaubt.

Proc-cond04.jpg

Im nachfolgenden Screenshot wird Prozess 40 gesperrt, wenn Spezifikation 1 gleich "Y" ist. Der zusammenlaufende Prozess 50 hat einen aus Prozess 40 kommenden Input. Ein gesperrter Prozess hat zur Folge, dass der Input auch gesperrt ist. Für Prozess 40 können keine weitere Aufträge erstellt werden, sodass nur die drei verbleibenden, gültigen Prozesse geplant werden:

Proc-cond05.jpg

In Beispiel 2 wurde die Auftragserstellung durchgeführt, als ob der gesperrte Prozess nicht existieren würde. Dies führt unter Umständen dazu, dass ein zusammenlaufender Prozessfluss in einen linearen Prozessfluss umgewandelt wird.

Im obigen Beispiel, wenn Sie den zusammenlaufenden Ablauf beibehalten und die Prozesse 50 und 30 verbinden wollten, würden Sie eine andere Input-Anweisung in Prozess 50 festlegen, um den Input von Prozess 30 zu verwenden. Nutzen Sie dafür die Prozessgültigkeitsbedingung dieser Inputanweisung.

Folgend wird ein Beispiel einer solchen Einstellung gezeigt, in dem der zusammenlaufende Prozessablauf beibehalten wird, wenn einer der darin mündenden Prozesse, Prozess 20 oder Prozess 40, gesperrt ist.

Proc-cond21.jpg

Wenn die Auftragsspezifikation1 gleich "Y" ist, wird anhand der obigen Einstellungen der Prozess 40, wie bisher, gesperrt. Da die Input-Anweisung aus Prozess 50, welche ihren Input aus Prozess 40 bezieht, auch gesperrt ist und durch einen Prozess ersetzt wird, welche ihren Input aus Prozess 30 bezieht, bleibt das Zusammenlaufen der Prozesse noch erhalten. Die hat zur Folge, dass eine Seite der zusammenlaufenden Prozesse ein einzelner Prozess ist:

Proc-cond22.jpg

Prozessteilung

Artikel C verfügt über einen aufteilenden Prozessverlauf. Die Prozessgültigkeitsbedingung wird so festgelegt, dass Bezug auf die Einstellung der Spezifikation1 des Auftrages genommen wird:
Wenn Spezifikation1 "X" ist, dann ist Prozess 20 gültig und Prozess 40 ungültig
Wenn Spezifikation1 "Y" ist, dann ist Prozess 20 ungültig und Prozess 40 gültig.
Gültigkeitsbedingungen werden auch für Input-Anweisungen hinterlegt, um der Ablauf zu sichern; egal welcher Prozessverlauf genutzt wird.

Proc-cond31.jpg

Wenn Spezifikation1 des Auftrages auf "X" gestellt ist, ist Prozess 40 gültig, selbst wenn der vorherige Prozess von Prozess 50 ungültig wurde. Dies liegt an den Einstellungen für die Gültigkeitsbedingung der Input-Anweisung von Prozess 50. Schließlich es gibt noch einen verfügbaren Input aus Prozess 10.

Als Ergebnis dieses Vorgehens wird eine Seite des Prozessverlaufes auf einen einzelnen Prozess reduziert:

Proc-cond33.jpg

Bei keine Angabe für die Gültigkeitsbedingung in der Input-Formel, würde nur die Prozessgültigkeitsbedingung ihren Effekt entfalten. Wenn der Auftrag, wie vorher, einen Wert der Spezifikation1 von "X" erhält und Prozess 40 ungültig wird, dann folgt Prozess 50 direkt auf Prozess 30. Da der Output von Prozess 30 jedoch als abschließender Output definiert ist, kann dieser nicht auch an Prozess 50 weitergegeben werden. Somit schlägt die Erstellung dieses Auftrages fehl und der Auftragsname wird durchkreuzt.

Proc-cond34.jpg

Hinweis

Verwenden Sie Prozessgültigkeitsbedingungen bitte mit Vorsicht, denn der Prozessablauf der folgender Prozesse kann durch sie ungültig gemacht werden! Wie bei teilenden und zusammenlaufenden Prozessen, gilt diese Empfehlung auch für lineare Prozesse.


Hilfe Nummer: 750300