<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>http://hilfe.asprova.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=FW</id>
		<title>Asprova Hilfe - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="http://hilfe.asprova.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=FW"/>
		<link rel="alternate" type="text/html" href="http://hilfe.asprova.eu/index.php?title=Spezial:Beitr%C3%A4ge/FW"/>
		<updated>2026-06-13T21:28:12Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.28.0</generator>

	<entry>
		<id>http://hilfe.asprova.eu/index.php?title=Modulaufbau&amp;diff=6838</id>
		<title>Modulaufbau</title>
		<link rel="alternate" type="text/html" href="http://hilfe.asprova.eu/index.php?title=Modulaufbau&amp;diff=6838"/>
				<updated>2021-03-27T19:10:45Z</updated>
		
		<summary type="html">&lt;p&gt;FW: /* Übersicht */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Modulaufbau}}&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Hilfe Nummer: 3000&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Übersicht ==&lt;br /&gt;
Asprova ist in verschiedenen, sogenannten Modulen, erhältlich. Das jeweils darin enthaltene Spektrum an Funktionen unterscheidet sich von Modul zu Modul:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;4&amp;quot; colspan=&amp;quot;2&amp;quot;| !!colspan=&amp;quot;7&amp;quot; style=&amp;quot;width: 70%;&amp;quot;|Module&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;4&amp;quot; style=&amp;quot;width: 40%;&amp;quot;|Planen!!colspan=&amp;quot;2&amp;quot; style=&amp;quot;width: 20%;&amp;quot;|Bearbeiten!!style=&amp;quot;width: 10%;&amp;quot;|Betrachten&lt;br /&gt;
|-&lt;br /&gt;
![[Asprova APS|APS]]!![[Asprova MS|MS]]!![[Asprova MS Light|MS&amp;lt;br&amp;gt;Light]]!![[Asprova SCP|SCP]]!![[Asprova SED|SED]]!![[Asprova BOM|BOM]]!![[Asprova MES|MES]]&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|Advanced&amp;lt;br&amp;gt;Planning and&amp;lt;br&amp;gt;Scheduling||Manufacturing&amp;lt;br&amp;gt;Scheduler||Manufacturing&amp;lt;br&amp;gt;Scheduler&amp;lt;br&amp;gt;Light||Supply Chain&amp;lt;br&amp;gt;Planning||Schedule&amp;lt;br&amp;gt;Editor||Bill of&amp;lt;br&amp;gt;Material||Manufacturing&amp;lt;br&amp;gt;Execution&amp;lt;br&amp;gt;System&lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!rowspan=&amp;quot;10|Funktion!!Benutzeroberfläche&lt;br /&gt;
|&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!Ergebniseingabe&lt;br /&gt;
|&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!Stammdateneingabe&lt;br /&gt;
|&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!Auftragseingabe&lt;br /&gt;
|&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!Planbearbeitung&lt;br /&gt;
|&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!Materialbedarfsberechnung&lt;br /&gt;
|&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!Reihenfolgenbildung&lt;br /&gt;
|&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!Planung ohne Kapazitätsbeschränkung&lt;br /&gt;
|&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x2714;&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!Planung mit Kapazitätsbeschränkung&lt;br /&gt;
|&amp;amp;#x2714;||&amp;amp;#x2714;||&amp;amp;#x2714;||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x2714;&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#FFBFBF&amp;quot;&lt;br /&gt;
!Grobplanung mehrerer Werke&lt;br /&gt;
| || || ||style=&amp;quot;background:#E2EFDA&amp;quot;|&amp;amp;#x2714; || || ||&lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!rowspan=&amp;quot;8&amp;quot;|Option!!Verkaufsauftrag&lt;br /&gt;
|&amp;amp;#x2714;||style=&amp;quot;background:#DDE2FF&amp;quot;|&amp;amp;#x25EF;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;2,3&amp;lt;/sup&amp;gt;||&amp;amp;#x2714;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!Einkaufsauftrag&lt;br /&gt;
|&amp;amp;#x2714;||style=&amp;quot;background:#DDE2FF&amp;quot;|&amp;amp;#x25EF;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;2,3&amp;lt;/sup&amp;gt;||&amp;amp;#x2714;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#DDE2FF&amp;quot;&lt;br /&gt;
!KPI&lt;br /&gt;
|&amp;amp;#x25EF;||&amp;amp;#x25EF;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;||&amp;amp;#x25EF;||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#DDE2FF&amp;quot;&lt;br /&gt;
!Optimierungslogik&lt;br /&gt;
|&amp;amp;#x25EF;||&amp;amp;#x25EF;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#DDE2FF&amp;quot;&lt;br /&gt;
!Ereignis&lt;br /&gt;
|&amp;amp;#x25EF;||&amp;amp;#x25EF;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#DDE2FF&amp;quot;&lt;br /&gt;
!Gruppenzuweisung&lt;br /&gt;
|&amp;amp;#x25EF;||&amp;amp;#x25EF;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#DDE2FF&amp;quot;&lt;br /&gt;
!Zeitbeschränkung MAX&lt;br /&gt;
|&amp;amp;#x25EF;||&amp;amp;#x25EF;||&amp;amp;#x25EF;||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#DDE2FF&amp;quot;&lt;br /&gt;
!Ressourcensperre&lt;br /&gt;
|&amp;amp;#x25EF;||&amp;amp;#x25EF;||&amp;amp;#x25EF;||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#FFBFBF&amp;quot;&lt;br /&gt;
!Option für SCP!!Planbestand&lt;br /&gt;
| || || ||style=&amp;quot;background:#DDE2FF&amp;quot;|&amp;amp;#x25EF;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||&lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!rowspan=&amp;quot;5&amp;quot;|Option für MS Light!!Planungsbefehl&lt;br /&gt;
|&amp;amp;#x2714;||&amp;amp;#x2714;||style=&amp;quot;background:#DDE2FF&amp;quot;|&amp;amp;#x25EF;||&amp;amp;#x2714;||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!Automatisches Nachfüllen&lt;br /&gt;
|&amp;amp;#x2714;||&amp;amp;#x2714;||style=&amp;quot;background:#DDE2FF&amp;quot;|&amp;amp;#x25EF;||&amp;amp;#x2714;||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!Subressource&lt;br /&gt;
|&amp;amp;#x2714;||&amp;amp;#x2714;||style=&amp;quot;background:#DDE2FF&amp;quot;|&amp;amp;#x25EF;||&amp;amp;#x2714;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!Vorgangsteilung&lt;br /&gt;
|&amp;amp;#x2714;||&amp;amp;#x2714;||style=&amp;quot;background:#DDE2FF&amp;quot;|&amp;amp;#x25EF;||&amp;amp;#x2714;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|- align=&amp;quot;center&amp;quot; style=&amp;quot;background:#E2EFDA&amp;quot;&lt;br /&gt;
!Prozessaufteilung&lt;br /&gt;
|&amp;amp;#x2714;||&amp;amp;#x2714;||style=&amp;quot;background:#DDE2FF&amp;quot;|&amp;amp;#x25EF;||style=&amp;quot;background:#FFBFBF&amp;quot;| ||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFF2CC&amp;quot;|&amp;amp;#x25EF;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;||style=&amp;quot;background:#FFBFBF&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;9&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;5&amp;quot;|''Legende''&lt;br /&gt;
|style=&amp;quot;background:#E2EFDA&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;||colspan=&amp;quot;7&amp;quot;|Standardfunktion&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#FFF2CC&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x2714;||colspan=&amp;quot;7&amp;quot;|Standardfunktion mit Einschränkungen&amp;lt;br&amp;gt;&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; &amp;quot;Quick Shoot-Funktion&amp;quot; plant bis zu 100 Aufträge und 250 Vorgänge.&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#DDE2FF&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x25EF;||colspan=&amp;quot;7&amp;quot;|Option&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#FFF2CC&amp;quot; align=&amp;quot;center&amp;quot;|&amp;amp;#x25EF;||colspan=&amp;quot;7&amp;quot;|Option mit Einschränkungen&amp;lt;br&amp;gt;&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; Erfordert MS Light Option ''Planungsbefehl''&amp;lt;br&amp;gt;&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; Erfordert MS Light Option ''Automatisches Nachfüllen''&amp;lt;br&amp;gt;&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; Kann genutzt werden, falls die Daten von einem Planungsmodul mit der Option gespeichert wurden.&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background:#FFBFBF&amp;quot;| ||colspan=&amp;quot;7&amp;quot;|Nicht verfügbar&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vererbung von Optionen ==&lt;br /&gt;
Für die Bearbeitungsmodule können keine Optionen gekauft werden. Stattdessen erben sie die Optionen von den Planungsmodulen. Dies geschieht uanbhängig von der Art des Lizenzbezugs (lokaler Schutz oder Netzwerklizenz).&lt;br /&gt;
&lt;br /&gt;
Auch wenn die Bearbeitungsmodule keine Planung erlauben, so sind durch das Ererben der Option die folgenden Aktionen möglich.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;| !!Erlaubte Aktion&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;8&amp;quot;|Option&lt;br /&gt;
|Verkaufsauftrag||&lt;br /&gt;
* Verschieben von Verkaufsaufträgen&lt;br /&gt;
* Bearbeiten von Verkaufsplänen&lt;br /&gt;
|-&lt;br /&gt;
|Einkaufsauftrag||&lt;br /&gt;
* Verschieben von Einkaufsaufträgen&lt;br /&gt;
* Planzusammenfassung&lt;br /&gt;
|-&lt;br /&gt;
|KPI||KPI berechnen&lt;br /&gt;
|-&lt;br /&gt;
|Optimierungslogik||Bearbeiten von Eigenschaften des Befehls &amp;quot;Sequenzsteuerung&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Ereignis||Ereignisaufträge verschieben&lt;br /&gt;
|-&lt;br /&gt;
|Gruppenzuweisung||&lt;br /&gt;
|-&lt;br /&gt;
|Zeitbeschränkung MAX||Verletzungen der [Zeitbeschränkung MAX] werden in Gantt-Diagrammen orange angezeigt&lt;br /&gt;
|-&lt;br /&gt;
|Ressourcensperre||Eigenschaften der Ressourcensperre bearbeiten&lt;br /&gt;
|-&lt;br /&gt;
!Option für SCP&lt;br /&gt;
|Planbestand||Eigenschaften des Planbestands bearbeiten&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;5&amp;quot;|Option für&amp;lt;br&amp;gt;MS Light&lt;br /&gt;
|Planungsbefehl||Befehle in der Planungsparametertabelle und dem Befehlseditor bearbeiten&lt;br /&gt;
|-&lt;br /&gt;
|Automatisches Nachfüllen||&lt;br /&gt;
* Automatisches Nachfüllen während &amp;quot;Vorgangserstellung und Stücklistenauflösung&amp;quot;&lt;br /&gt;
* Bearbeiten entsprechender Eigenschaften&lt;br /&gt;
|-&lt;br /&gt;
|Subressource||Nutzungsanweisungen für Subressourcen anlegen und bearbeiten&lt;br /&gt;
|-&lt;br /&gt;
|Vorgangsteilung||&lt;br /&gt;
|-&lt;br /&gt;
|Prozessaufteilung||Während &amp;quot;Vorgangserstellung und Stücklistenauflösung&amp;quot; sich aufteilende Prozesse erstellen&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Beispiel ====&lt;br /&gt;
Für ein Projekt gibt es eine MS Lizenz mit Ressourcensperre, sowie eine SED Lizenz. SED erbt die Option Ressourcensperre, wenn die mit MS erstellte Projektdatei geöffnet wird. Beim Bearbeiten in SED werden Ressourcensperraufgaben aktualisiert oder neu angelegt.&lt;br /&gt;
&lt;br /&gt;
=== Vererbungsprozess ===&lt;br /&gt;
# When the scheduler module saves a project file, it embeds the allocated options and the save date of the project file.&lt;br /&gt;
# The editor module reads the embedded options and the save date when loading a project file, and if the current date is within one year from the save date, it inherits those options.&lt;br /&gt;
&lt;br /&gt;
1 is done for the Professional Edition only. It is not done in Asprova for the likes of the Trial Edition, Distributor Edition, and Professional Edition (Rental).&lt;br /&gt;
&lt;br /&gt;
When multiple scheduler modules have different options, the already embedded information is not overwritten nor deleted.&lt;br /&gt;
&lt;br /&gt;
==== Beispiel ====&lt;br /&gt;
When saving a project file with alternate Professional Edition Asprova licenses of serial numbers M and N (hereinafter referred to as # M, # N), the following occurs.&lt;br /&gt;
; Lizenz A&lt;br /&gt;
: MS + Ressourcensperre&lt;br /&gt;
; Lizenz B&lt;br /&gt;
: MS + Gruppenzuweisung&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Schritt&lt;br /&gt;
|1.||2.||3.&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Datum&lt;br /&gt;
|02.06.2020||03.06.2020||04.06.2020&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Ereignis&lt;br /&gt;
|A erstellt Projekt&amp;lt;br&amp;gt;und speichert||B speichert||A speichert&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;8&amp;quot;|Option&lt;br /&gt;
|Verkaufsauftrag||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt&lt;br /&gt;
|-&lt;br /&gt;
|Einkaufsauftrag||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt&lt;br /&gt;
|-&lt;br /&gt;
|KPI||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt&lt;br /&gt;
|-&lt;br /&gt;
|Optimierungslogik||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt&lt;br /&gt;
|-&lt;br /&gt;
|Ereignis||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt&lt;br /&gt;
|-&lt;br /&gt;
|Gruppenzuweisung||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt||style=&amp;quot;background:#E2EFDA&amp;quot;|03.06.2020||03.06.2020&lt;br /&gt;
|-&lt;br /&gt;
|Zeitbeschränkung MAX||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt||style=&amp;quot;background:#FFBFBF&amp;quot;|Nicht gesetzt&lt;br /&gt;
|-&lt;br /&gt;
|Ressourcensperre||style=&amp;quot;background:#E2EFDA&amp;quot;|02.06.2020||02.06.2020||style=&amp;quot;background:#E2EFDA&amp;quot;|04.06.2020&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;5&amp;quot;|''Grüne Zellen enthalten das letzte Speicherdatum.''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Hilfe Nummer: 3000&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>FW</name></author>	</entry>

	<entry>
		<id>http://hilfe.asprova.eu/index.php?title=Formeln&amp;diff=6824</id>
		<title>Formeln</title>
		<link rel="alternate" type="text/html" href="http://hilfe.asprova.eu/index.php?title=Formeln&amp;diff=6824"/>
				<updated>2020-10-23T12:58:18Z</updated>
		
		<summary type="html">&lt;p&gt;FW: /* Datentyp Objekt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Formeln}}&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Hilfe Nummer: 741000&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Zusätzliche Informationen|Zusätzliche Informationen]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Formeleditor|Formeleditor]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
Für Eigenschaften mit [Datentyp] &amp;quot;Formel&amp;quot; müssen Formeln in das Eingabefeld eingetragen werden.&lt;br /&gt;
&lt;br /&gt;
== Übersicht ==&lt;br /&gt;
Formeln können die folgenden Bestandteile haben:&lt;br /&gt;
* Eigenschaften&lt;br /&gt;
* Werte&lt;br /&gt;
* Operatoren&lt;br /&gt;
* Funktionen&lt;br /&gt;
&lt;br /&gt;
=== Beispiel ===&lt;br /&gt;
Die folgende Formel ist der [Standardwert] für [Vorgangsbalkentext] des Ressourcen-Gantt-Diagramms:&lt;br /&gt;
 ME.Operation.Order+'\n'+ME.Operation.OperationOutMainItem+'\n'+ME.Operation.OperationOutMainItemQty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ME.Operation.OperationOutMainItemQty&amp;lt;/code&amp;gt;&lt;br /&gt;
: Eigenschaft mit der Produktionsmenge des Vorgangs&lt;br /&gt;
&amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt;&lt;br /&gt;
: Additionsoperator (wird hier genutzt um mehrere Strings miteinander zu verbinden)&lt;br /&gt;
&amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt;&lt;br /&gt;
: String, die einen Zeilenumbruch vorgibt&lt;br /&gt;
&lt;br /&gt;
Bei der Berechnung von Zeiten oder Zeitspannen, sowie beim Definieren von Kapazitätswerten ([Rüsten], [Produktion] und [Abrüsten]) können [[Einheiten in Formeln|Einheiten]] genutzt werden. Es können auch Formeln genutzt werden, die [[Datentyp der Auswertungsergebnisse|mehrere Datentypen]] kombinieren, etwa Zeitspannen und Zahlen. Weitergehende Informationen zur Auswertung von Eigenschaften ohne Werte finden sich [[Eigenschaften ohne Wert auswerten|hier]].&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
=== Lang- und Kurznamen ===&lt;br /&gt;
Eigenschaften haben jeweils einen langen- und einen kurzen Namen. Der Kurzname für die [Menge] eines Auftrages ist &amp;lt;code&amp;gt;Qty&amp;lt;/code&amp;gt; und der Langname ist &amp;lt;code&amp;gt;Order_Qty&amp;lt;/code&amp;gt;. Für den Langnamen werden Klassenname und ein Unterstrich vor den Kurznamen gesetzt. (Um den Langnamen einer Eigenschaft sicher zu bestimmen, nutzen Sie entweder die Klassendefinition in dieser Hilfe oder direkt in Asprova deren [Code].)&lt;br /&gt;
&lt;br /&gt;
Wird eine Eigenschaft über &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; etc. referenziert, so ist das Zielobjekt eindeutig, so dass der Kurzname genutzt werden kann. Dies ist meistens der Fall, auch in der Dropdown-Liste der verfügbaren Eigenschaften wird dann der Kurzname verwendet. Wird ein übergeordnetes (&amp;lt;code&amp;gt;PARENT&amp;lt;/code&amp;gt;) oder untergeordnetes Objekt (&amp;lt;code&amp;gt;CHILD&amp;lt;/code&amp;gt;) referenziert oder ein Sortierschlüssel als Formel definiert, so ist das ist das Zielobjekt nicht eindeutig, da Eigenschaften unterschiedlicher Klassen den gleichen Kurznamen haben können. Hier muss der Langname verwendet werden.&lt;br /&gt;
&lt;br /&gt;
=== ME===&lt;br /&gt;
Wenn Sie eine Eigenschaft in einer Formel verwenden, geben Sie zunächst &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; ein. &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; ist das Objekt, auf das sich die Formel der Eigenschaft mit [Datentyp] &amp;quot;Formel&amp;quot; bezieht. So ist etwa bei der [Gültigkeitsbedingung] einer Hauptnutzungsanweisung in dern Integrierten Stammdaten &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; ein Vorgang. Beim [Vorgangsbalkentext] des Ressourcen-Gantt-Diagramms ist &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; eine Nutzungsanweisung. Wird nach &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; ein Punkt (&amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt;) eingegeben, so erscheint eine Dropdown-Liste der verfügbaren Eigenschaften, die durch einen  Klick ausgewählt werden können. Natürlich können Sie den Eigenschaftsnamen auch einfach hinter dem Punkt eingeben.&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Um im [Auftragsbalken Formel rechter Text] im Auftrags-Gantt-Diagramm den [Fälligkeitstermin] anzuzeigen, geben Sie &amp;lt;code&amp;gt;ME.LET&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; könnte hier weggelassen werden, der eingegebene Eigenschaftsname wird dann als eine Eigenschaft von &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; angesehen. Daher kann &amp;lt;code&amp;gt;ME.LET&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt; eingeben werden und das Ergebnis ist das Gleiche. Aus Gründen der Durchgängigkeit und des leichteren Verständnis, ist diese Vereinfachung jedoch nicht empfohlen.&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Um in der [Vorgangsbalkentextformel] des Ressourcen-Gantt-Diagramm den [Artikelname] des Auftragsartikels zu referenzieren, geben Sie &amp;lt;code&amp;gt;ME.Order.Item.Name&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
=== OTHER ===&lt;br /&gt;
Bei Eigenschaften wie der [Verknüpfungsbedingung], bei denen die Werte zweier Eigenschaften verglichen werden, kann zusätzlich zu &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; auch &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt; verwendet werden. &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt; bezieht sich auch auf ein Objekt und kann genauso wie &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Um in der [Verknüpfungsbedingung] eines Artikels festzulegen, dass zu Verknüpfen die [Spezifikation 1] der Aufträge gleich sein muss geben Sie &amp;lt;code&amp;gt;ME.Order.Spec1==OTHER.Order.Spec1&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Im [[Formeleditor|Formeleditor]] ist ersichtlich, ob &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt; verwendet werden kann und auf welches Objekt sich &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt; bezieht.&lt;br /&gt;
&lt;br /&gt;
Eine andere Eigenschaft, die sich auf zwei Eigenschaften bezieht ist die [Ofengültigkeitsbedingung] von Ressourcen. Hier können Eigenschaften auch nur über &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; und ohne &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt; verglichen werden.&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Die [Ofengültigkeitsbedingung], die die gleichzeitige Zuweisung von Aufträgen des gleichen Kunden erlaubt lautet &amp;lt;code&amp;gt;ME.Order.Customer.Code&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== HOLDER ===&lt;br /&gt;
&amp;lt;code&amp;gt;HOLDER&amp;lt;/code&amp;gt; bezieht sich auf das Objekt, zu der die Eigenschaft mit [Datentyp] &amp;quot;Formel&amp;quot; gehört. So ist etwa in der [Gültigkeitsbedingung] einer Hauptnutzungsanweisung in den Integrierten Stammdaten &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; ein Vorgang und &amp;lt;code&amp;gt;HOLDER&amp;lt;/code&amp;gt; die Hauptnutzungsanweisung. Um sich in der [Gültigkeitsbedingung] auf den [Code] der Ressource der Hauptnutzungsanweisung in der Gültigkeitsbedingung zu beziehen, wird die Formel &amp;lt;code&amp;gt;HOLDER.Resource.Code&amp;lt;/code&amp;gt; genutzt.&lt;br /&gt;
&lt;br /&gt;
=== PROJECT ===&lt;br /&gt;
&amp;lt;code&amp;gt;PROJECT&amp;lt;/code&amp;gt; bezieht sich auf das aktuell genutzte Projekt, so können die Projekteigenschaften referenziert werden. &amp;lt;code&amp;gt;PROJECT&amp;lt;/code&amp;gt; ist in allen Formeln nutzbar.&lt;br /&gt;
&lt;br /&gt;
;Beispiel&lt;br /&gt;
Um die [Planungsbasiszeit] zu referenzieren wird die Formel &amp;lt;code&amp;gt;PROJECT.BasisTime&amp;lt;/code&amp;gt; genutzt.&lt;br /&gt;
&lt;br /&gt;
=== WORKSPACE ===&lt;br /&gt;
&amp;lt;code&amp;gt;WORKSPACE&amp;lt;/code&amp;gt; bezieht sich auf den Arbeitsplatz des aktuell genutzten Projekt,  so können die Arbeitsplatzeigenschaften referenziert werden.&amp;lt;code&amp;gt;WORKSPACE&amp;lt;/code&amp;gt; ist in allen Formeln nutzbar.&lt;br /&gt;
&lt;br /&gt;
;Beispiel&lt;br /&gt;
Um den Namen der [Projektdatei] zu referenzieren wird die Formel &amp;lt;code&amp;gt;WORKSPACE.ProjectFileName&amp;lt;/code&amp;gt; genutzt.&lt;br /&gt;
&lt;br /&gt;
=== TARGET ===&lt;br /&gt;
&amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; ist nur als Argument bestimmter interner Funktionen verwendbar. Definieren Sie als erstes Argument der internen Funktion ein Objekt und definieren dann &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; ab dem zweiten Argument. &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; verweist auf das Objekt des ersten Arguments.&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Um die Summe der [Menge] aller Aufträge zu berechnen, wird die Formel &amp;lt;code&amp;gt;Sum('Order',TARGET.Qty)&amp;lt;/code&amp;gt; genutzt. &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; steht hier für die Auftragsklasse.&lt;br /&gt;
&lt;br /&gt;
==== Verschachtelung ====&lt;br /&gt;
Der Aufruf einer internen Funktion in einer anderen internen Funktion wird Verschachteln genannt. Verschachtelungen können sich über mehrere Ebenen erstrecken.&lt;br /&gt;
&lt;br /&gt;
Angenommen die internen Funktionen A und B akzeptieren beide &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; als Argument. Wenn B als Argument von A genutzt wird, so referenziert das &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt;-Argument in B das Objektargument in B.&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Es soll die größte [Menge] aller Aufträge mit dem frühesten [Fälligkeitstermin] unter [Aufträge ganz rechts] von &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; bestimmt werden:&lt;br /&gt;
 MaxIF(ME.RightmostOrder,&lt;br /&gt;
   TARGET.LET==Min(ME.RightmostOrder,&lt;br /&gt;
     TARGET.LET),&lt;br /&gt;
   TARGET.Qty&lt;br /&gt;
 )&lt;br /&gt;
Das erste &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; wird als &amp;lt;code&amp;gt;ME.RightmostOrder&amp;lt;/code&amp;gt; ausgewertet, also das erste Argument der &amp;lt;code&amp;gt;MaxIF&amp;lt;/code&amp;gt;-Funktion. Das zweite &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; wird auch als &amp;lt;code&amp;gt;ME.RightmostOrder&amp;lt;/code&amp;gt; ausgewertet, aber als das erste Argument der &amp;lt;code&amp;gt;MIN&amp;lt;/code&amp;gt;-Funktion.&lt;br /&gt;
&lt;br /&gt;
Akzeptiert eine verschachtelte interne Funktion &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; nichts als Argument, so kann in dieser trotzdem &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; genutzt werden, dieses bezieht sich dann aber auf die übergeordnete interne Funktion.&lt;br /&gt;
&lt;br /&gt;
=== INPUT ===&lt;br /&gt;
&amp;lt;code&amp;gt;INPUT&amp;lt;/code&amp;gt; wird in der [Virtuelle Eigenschaftsformel invers], der [Anzeigeformel], [Inverse Anzeigeformel], [Währung] etc. verwendet. Es bezieht sich prinzipiell auf die in eine Zelle eingegebene String. Weitere Details können der Beschreibung der jeweiligen Eigenschaften entnommen werden.&lt;br /&gt;
&lt;br /&gt;
=== DELETE ===&lt;br /&gt;
&amp;lt;code&amp;gt;DELETE&amp;lt;/code&amp;gt; wird verwendet, um Eigenschaftswerte zu löschen. Alternativ kann auch &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Der Name der Eigenschaft wird mit &amp;lt;code&amp;gt;ME.Name=DELETE&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;ME.Name=&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; gelöscht.&lt;br /&gt;
&lt;br /&gt;
; Hinweis&lt;br /&gt;
: Vor Version 15.0 wurde mit &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; ein ''NULL''-Zeichen eingefügt, ab Version 15.0 wird der Wert vollständig gelöscht, so dass das Verhalten genau dem von &amp;lt;code&amp;gt;DELETE&amp;lt;/code&amp;gt; entspricht.&lt;br /&gt;
&lt;br /&gt;
=== Eigenschaften mit mehreren Werten ===&lt;br /&gt;
Wenn eine Eigenschaft über mehrere Werte verfügt, können Sie hinter der Eigenschaft &amp;lt;code&amp;gt;[n]&amp;lt;/code&amp;gt; eingegeben, wobei ''n'' der Index des gewünschten Eigenschaftswerts ist.&lt;br /&gt;
; Beispiel&lt;br /&gt;
Um den zweiten [Kommentar] eines Auftrages zu referenzieren nutzen Sie die Formel &amp;lt;code&amp;gt;ME.Order.Comments[2]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie für ''n'' 0 angeben, wird das letzte Element ausgegeben. Wenn etwa [Kommentar] &amp;quot;a;b;c&amp;quot; ist, würde &amp;quot;c&amp;quot; zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie kein [n] anfügen werden alle Werte zurückgegeben, wenn die Werte Strings sind. Ansonsten wird der letzte Eigenschaftswert zurückgegeben. Wenn etwa [Kommentar] &amp;quot;a;b;c&amp;quot; ist, würde &amp;quot;a;b;c&amp;quot; zurückgegeben. Um auch bei andere Datentypen alle Werte zurückzugeben, kann die interne Funktion &amp;lt;code&amp;gt;StrProps()&amp;lt;/code&amp;gt; genutzt werden.&lt;br /&gt;
&lt;br /&gt;
==== Werte lesen, setzen und löschen ====&lt;br /&gt;
Das Lesen, Setzen und Löschen bei Eigenschaften mit mehreren Werten hängt von der genutzten Asprova-Version und den Projekteinstellungen ab.&lt;br /&gt;
&lt;br /&gt;
In den folgenden Tabellen ist die Anzahl der bereits in der Eigenschaft [Prop] gesetzten Werte N und es gilt 1 ≤ n ≤ N.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Ab Version 15.2 (und [Verhalten beim Setzen mehrerer Daten] &amp;quot;Unabhängig vom Datentyp&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Aktion&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Formel&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Datentyp&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Kommentar&lt;br /&gt;
|-&lt;br /&gt;
!String!!Andere&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Lesen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[n]&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FFFF99&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|n-te||rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[0]&amp;lt;/code&amp;gt;||style=&amp;quot;background: #D8E4BC&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|letzte&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop&amp;lt;/code&amp;gt;||style=&amp;quot;background: #B8CCE4&amp;quot; align=&amp;quot;center&amp;quot;|alle||style=&amp;quot;background: #D8E4BC&amp;quot; align=&amp;quot;center&amp;quot;|letzte||Strings nutzen ; als Trennzeichen&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Löschen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[n]=DELETE&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FFFF99&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|n-te||rowspan=&amp;quot;7&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[0]=DELETE&amp;lt;/code&amp;gt;||style=&amp;quot;background: #D8E4BC&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|letzte&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop=DELETE&amp;lt;/code&amp;gt;||style=&amp;quot;background: #B8CCE4&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|alle&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|Ändern||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[n]=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FFFF99&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|n-te&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[0]=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #D8E4BC&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|letzte&lt;br /&gt;
|-&lt;br /&gt;
|Löschen &amp;amp;&amp;lt;br&amp;gt;hinzufügen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #B7DEE8&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|alle löschen &amp;amp;&amp;lt;br&amp;gt;einen hinzufügen&lt;br /&gt;
|-&lt;br /&gt;
|Hinzufügen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[]=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FCD5B4&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|hinzufügen&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Vor Version 15.2 (oder [Verhalten beim Setzen mehrerer Daten] &amp;quot;Je nach Datentyp (altes Verhalten)&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Aktion&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Formel&lt;br /&gt;
!colspan=&amp;quot;4&amp;quot;|Datentyp&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Kommentar&lt;br /&gt;
|-&lt;br /&gt;
!String!!Objekt&amp;lt;br&amp;gt;(x ist Objekt)!!Objekt&amp;lt;br&amp;gt;(x ist String)!!Andere&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Lesen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[n]&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FFFF99&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot;|n-te||rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[0]&amp;lt;/code&amp;gt;||style=&amp;quot;background: #D8E4BC&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot;|letzte&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop&amp;lt;/code&amp;gt;||style=&amp;quot;background: #B8CCE4&amp;quot; align=&amp;quot;center&amp;quot;|alle||style=&amp;quot;background: #D8E4BC&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot;|letzte||Strings nutzen ; als Trennzeichen&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Löschen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[n]=DELETE&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FFFF99&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot;|n-te||rowspan=&amp;quot;5&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[0]=DELETE&amp;lt;/code&amp;gt;||style=&amp;quot;background: #D8E4BC&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot;|letzte&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop=DELETE&amp;lt;/code&amp;gt;||style=&amp;quot;background: #B8CCE4&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot;|alle&lt;br /&gt;
|-&lt;br /&gt;
|Ändern||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[n]=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FFFF99&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot;|n-te&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|Ändern &amp;amp;&amp;lt;br&amp;gt;hinzufügen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[0]=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FCD5B4&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|hinzufügen||style=&amp;quot;background: #D8E4BC&amp;quot; align=&amp;quot;center&amp;quot;|letzte&amp;lt;br&amp;gt;ändern||style=&amp;quot;background: #FCD5B4&amp;quot; align=&amp;quot;center&amp;quot;|hinzufügen&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FF99CC&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|alle&amp;lt;br&amp;gt;ändern||style=&amp;quot;background: #B7DEE8&amp;quot; align=&amp;quot;center&amp;quot;|alle löschen &amp;amp;&amp;lt;br&amp;gt;einen hinzufügen||style=&amp;quot;background: #FF99CC&amp;quot; align=&amp;quot;center&amp;quot;|alle&amp;lt;br&amp;gt;ändern||Wenn bei 'alle ändern' N = 0, dann einen hinzufügen&lt;br /&gt;
|-&lt;br /&gt;
|Hinzufügen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[]=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FCD5B4&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot;|hinzufügen||Nur ab Version 15.2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Datentyp Objekt ====&lt;br /&gt;
Für Eigenschaften mit [Datentyp] &amp;quot;Objekt&amp;quot; mit mehreren Werten, kann statt dem Index der [Code] der Objekte verwendet werden, um einen bestimmten Wert zu adressieren. Der [Code] ist ein String und die Werte der Eigenschaft werden nach einem passenden String durchsucht. Der Vergleich der Objekte mit dem String erfolgt in der Reihenfolge [Code] &amp;amp;#x2192; [Anzeigename] &amp;amp;#x2192; [Alias].&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Um auf die Nutzungsanweisung mit [Code] &amp;quot;S1&amp;quot; der Produktionsaufgabe eines Vorganges zuzugreifen, nutzen Sie die Formel &amp;lt;code&amp;gt;ME.ProductionTask.UseInstructions['S1']&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Angenommen dem Projekt wurde die benutzerdefinierte Klasse &amp;quot;Meine Klasse&amp;quot; (&amp;lt;code&amp;gt;MyClass&amp;lt;/code&amp;gt;) mit der Eigenschaft [Meine Eigenschaft 1] (&amp;lt;code&amp;gt;MyProperty1&amp;lt;/code&amp;gt;) hinzugefügt. Auf den Wert von [Meine Eigenschaft 1] des Objekts &amp;quot;ABC&amp;quot; in der Klasse &amp;quot;MyClass&amp;quot; kann mit &amp;lt;code&amp;gt;PROJECT.Child['MyClass'].Child['ABC'].MyClassUser_MyProperty1&amp;lt;/code&amp;gt; zugegriffen werden.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen zu benutzerdefinierten Klassen finden Sie unter [[Hinzufügen einer neuen Klassendefinition|Hinzufügen einer neuen Klassendefinition]].&lt;br /&gt;
&lt;br /&gt;
[[Datei:UserClassTable.png]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:UserClassPropEditor.png]]&lt;br /&gt;
&lt;br /&gt;
== Werte ==&lt;br /&gt;
Häufig werden Werte wie Zahlen und Strings in Formeln verwendet. Benutzen Sie in Formeln folgende Formatierungen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Formatierung von Werten in Formeln&lt;br /&gt;
|-&lt;br /&gt;
!Datentyp!!Beschreibung!!Beispiel&lt;br /&gt;
|-&lt;br /&gt;
|Zahl||Kann direkt eingegeben werden||123&lt;br /&gt;
|-&lt;br /&gt;
|String||Wird mit einfachen Anführungszeichen umschlossen||'123'&lt;br /&gt;
|-&lt;br /&gt;
|Datum||Wird mit Rauten umschlossen||#2020/06/01 12:00:00#&lt;br /&gt;
|-&lt;br /&gt;
|Bool||Direkte Eingabe des Werts||TRUE, FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Steuerzeichen in Strings ===&lt;br /&gt;
In Strings ist &amp;quot;\&amp;quot;, zusammen mit dem nachfolgenden Zeichen, ein Steuerzeichen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Verwendung von Steuerzeichen&lt;br /&gt;
|-&lt;br /&gt;
!Formel!!Rückgabewert!!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;'\\'&amp;lt;/code&amp;gt;||\||Wird als ein umgekehrter Schrägstrich ausgegeben&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;'\n'&amp;lt;/code&amp;gt;||&amp;amp;#8629;||Fügt einen Zeilenumbruch ein&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;amp;#39;\&amp;amp;#39;&amp;amp;#39;&amp;lt;/code&amp;gt;||'||Wird als einfaches Anführungszeichen ausgegeben &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Operatoren ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Verfügbare Operatoren&lt;br /&gt;
|-&lt;br /&gt;
!Operator!!Bedeutung!!Kommentar&lt;br /&gt;
|+||Addition, Verbindung von (Zeichen-)Ketten||&lt;br /&gt;
|-&lt;br /&gt;
|-||Subtraktion||&lt;br /&gt;
|-&lt;br /&gt;
|*||Multiplikation||&lt;br /&gt;
|-&lt;br /&gt;
|/||Division||&lt;br /&gt;
|-&lt;br /&gt;
|^||Potenzierung||&lt;br /&gt;
|-&lt;br /&gt;
|%||Modulo||Rest der Division&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;&amp;amp;||AND||Logisches UND&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;||OR||Logisches ODER&lt;br /&gt;
|-&lt;br /&gt;
|==||Gleich||Vergleich&lt;br /&gt;
|-&lt;br /&gt;
|!=||Ungleich||Vergleich&lt;br /&gt;
|-&lt;br /&gt;
|&amp;gt;||Größer||Vergleich&lt;br /&gt;
|-&lt;br /&gt;
|&amp;gt;=||Größer oder gleich||Vergleich&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;||Kleiner||Vergleich&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;=||Kleiner oder gleich||Vergleich&lt;br /&gt;
|-&lt;br /&gt;
|(, )||Klammern||&lt;br /&gt;
|-&lt;br /&gt;
|=||Zuweisung||Setzen von Werten&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die Operatoren werden in der folgenden Reihenfolge ausgewertet:&lt;br /&gt;
# ^&lt;br /&gt;
# *, /, %&lt;br /&gt;
# +, -&lt;br /&gt;
# ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;=&lt;br /&gt;
# &amp;amp;&amp;amp;, ||&lt;br /&gt;
# =&lt;br /&gt;
&lt;br /&gt;
Inhalte in Klammern werden zuerst ausgewertet.&lt;br /&gt;
&lt;br /&gt;
=== Kurzschlussauswertung ===&lt;br /&gt;
Asprova nutzt [https://de.wikipedia.org/wiki/Kurzschlussauswertung Kurzschlussauswertung] zur schnelleren Auswertung von Formeln. Durch eine entsprechende  Formelstruktur kann diese Funktionalität optimal genutzt werden. Weitere Informationen dazu finden Sie [[Beschleunigung der Fomelauswertung|hier]].&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
In Formeln können Sie interne und benutzerdefinierte Funktionen verwenden. Die Funktion zum Beziehen der, auf einen Vorgang anzuwendenden, [Spezifikation 1] lautet &amp;lt;code&amp;gt;GetApplicableSpec(1,ME.Operation)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Bei der Nutzung von Funktionen achten Sie bitte auf die korrekte Schreibweise von Funktionsnamen und Argumenten. Weitergehende Informationen zu Asprovas internen Funktionen finden sich [[Interne Funktionen|hier]].&lt;br /&gt;
&lt;br /&gt;
=== IF ===&lt;br /&gt;
Die interne Funktion &amp;lt;code&amp;gt;IF()&amp;lt;/code&amp;gt; ermöglicht die Bewertung von Vorgängen mit der folgenden Formel:&lt;br /&gt;
 IF(Bedingung,&lt;br /&gt;
   falls &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;,&lt;br /&gt;
   falls &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Ist die [Startzeit] vor dem 1. Juni 2020, so wird der erste [Kommentar] auf &amp;quot;ABC&amp;quot; gesetzt, sonst auf &amp;quot;XYZ&amp;quot;:&lt;br /&gt;
 ME.Comments=IF(ME.StartTime&amp;lt;=#2020/06/01,&lt;br /&gt;
   'ABC',&lt;br /&gt;
   'XYZ'&lt;br /&gt;
 )&lt;br /&gt;
oder&lt;br /&gt;
 IF(ME.StartTime&amp;lt;=#2020/06/01,&lt;br /&gt;
   ME.Comments='ABC',&lt;br /&gt;
   ME.Comments='XYZ'&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
Ab Version 13.1 können mehrere Bedingungen eingegeben werden:&lt;br /&gt;
 IF(Bedingung 1,&lt;br /&gt;
     falls &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;,&lt;br /&gt;
   Bedingung 2,&lt;br /&gt;
     falls &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;,&lt;br /&gt;
   ...&lt;br /&gt;
     ...&lt;br /&gt;
   Bedingung n,&lt;br /&gt;
     falls &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;,&lt;br /&gt;
     falls &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Bei [Priorität] ab 90 rot, von 50 bis 90 blau und bei weniger als 50 grün:&lt;br /&gt;
 IF(ME.Order.Priority&amp;gt;=90,&lt;br /&gt;
     RGB(255,0,0),&lt;br /&gt;
   ME.Order.Priority&amp;lt;50,&lt;br /&gt;
     RGB(0,255,0),&lt;br /&gt;
     RGB(0,0,255)&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
== Weitere Informationen ==&lt;br /&gt;
* [[Interne Funktionen]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Hilfe Nummer: 741000&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>FW</name></author>	</entry>

	<entry>
		<id>http://hilfe.asprova.eu/index.php?title=Formeln&amp;diff=6823</id>
		<title>Formeln</title>
		<link rel="alternate" type="text/html" href="http://hilfe.asprova.eu/index.php?title=Formeln&amp;diff=6823"/>
				<updated>2020-10-23T12:56:58Z</updated>
		
		<summary type="html">&lt;p&gt;FW: /* ME */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Formeln}}&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Hilfe Nummer: 741000&amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Zusätzliche Informationen|Zusätzliche Informationen]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Formeleditor|Formeleditor]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
Für Eigenschaften mit [Datentyp] &amp;quot;Formel&amp;quot; müssen Formeln in das Eingabefeld eingetragen werden.&lt;br /&gt;
&lt;br /&gt;
== Übersicht ==&lt;br /&gt;
Formeln können die folgenden Bestandteile haben:&lt;br /&gt;
* Eigenschaften&lt;br /&gt;
* Werte&lt;br /&gt;
* Operatoren&lt;br /&gt;
* Funktionen&lt;br /&gt;
&lt;br /&gt;
=== Beispiel ===&lt;br /&gt;
Die folgende Formel ist der [Standardwert] für [Vorgangsbalkentext] des Ressourcen-Gantt-Diagramms:&lt;br /&gt;
 ME.Operation.Order+'\n'+ME.Operation.OperationOutMainItem+'\n'+ME.Operation.OperationOutMainItemQty&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ME.Operation.OperationOutMainItemQty&amp;lt;/code&amp;gt;&lt;br /&gt;
: Eigenschaft mit der Produktionsmenge des Vorgangs&lt;br /&gt;
&amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt;&lt;br /&gt;
: Additionsoperator (wird hier genutzt um mehrere Strings miteinander zu verbinden)&lt;br /&gt;
&amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt;&lt;br /&gt;
: String, die einen Zeilenumbruch vorgibt&lt;br /&gt;
&lt;br /&gt;
Bei der Berechnung von Zeiten oder Zeitspannen, sowie beim Definieren von Kapazitätswerten ([Rüsten], [Produktion] und [Abrüsten]) können [[Einheiten in Formeln|Einheiten]] genutzt werden. Es können auch Formeln genutzt werden, die [[Datentyp der Auswertungsergebnisse|mehrere Datentypen]] kombinieren, etwa Zeitspannen und Zahlen. Weitergehende Informationen zur Auswertung von Eigenschaften ohne Werte finden sich [[Eigenschaften ohne Wert auswerten|hier]].&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
=== Lang- und Kurznamen ===&lt;br /&gt;
Eigenschaften haben jeweils einen langen- und einen kurzen Namen. Der Kurzname für die [Menge] eines Auftrages ist &amp;lt;code&amp;gt;Qty&amp;lt;/code&amp;gt; und der Langname ist &amp;lt;code&amp;gt;Order_Qty&amp;lt;/code&amp;gt;. Für den Langnamen werden Klassenname und ein Unterstrich vor den Kurznamen gesetzt. (Um den Langnamen einer Eigenschaft sicher zu bestimmen, nutzen Sie entweder die Klassendefinition in dieser Hilfe oder direkt in Asprova deren [Code].)&lt;br /&gt;
&lt;br /&gt;
Wird eine Eigenschaft über &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; etc. referenziert, so ist das Zielobjekt eindeutig, so dass der Kurzname genutzt werden kann. Dies ist meistens der Fall, auch in der Dropdown-Liste der verfügbaren Eigenschaften wird dann der Kurzname verwendet. Wird ein übergeordnetes (&amp;lt;code&amp;gt;PARENT&amp;lt;/code&amp;gt;) oder untergeordnetes Objekt (&amp;lt;code&amp;gt;CHILD&amp;lt;/code&amp;gt;) referenziert oder ein Sortierschlüssel als Formel definiert, so ist das ist das Zielobjekt nicht eindeutig, da Eigenschaften unterschiedlicher Klassen den gleichen Kurznamen haben können. Hier muss der Langname verwendet werden.&lt;br /&gt;
&lt;br /&gt;
=== ME===&lt;br /&gt;
Wenn Sie eine Eigenschaft in einer Formel verwenden, geben Sie zunächst &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; ein. &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; ist das Objekt, auf das sich die Formel der Eigenschaft mit [Datentyp] &amp;quot;Formel&amp;quot; bezieht. So ist etwa bei der [Gültigkeitsbedingung] einer Hauptnutzungsanweisung in dern Integrierten Stammdaten &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; ein Vorgang. Beim [Vorgangsbalkentext] des Ressourcen-Gantt-Diagramms ist &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; eine Nutzungsanweisung. Wird nach &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; ein Punkt (&amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt;) eingegeben, so erscheint eine Dropdown-Liste der verfügbaren Eigenschaften, die durch einen  Klick ausgewählt werden können. Natürlich können Sie den Eigenschaftsnamen auch einfach hinter dem Punkt eingeben.&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Um im [Auftragsbalken Formel rechter Text] im Auftrags-Gantt-Diagramm den [Fälligkeitstermin] anzuzeigen, geben Sie &amp;lt;code&amp;gt;ME.LET&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; könnte hier weggelassen werden, der eingegebene Eigenschaftsname wird dann als eine Eigenschaft von &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; angesehen. Daher kann &amp;lt;code&amp;gt;ME.LET&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;LET&amp;lt;/code&amp;gt; eingeben werden und das Ergebnis ist das Gleiche. Aus Gründen der Durchgängigkeit und des leichteren Verständnis, ist diese Vereinfachung jedoch nicht empfohlen.&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Um in der [Vorgangsbalkentextformel] des Ressourcen-Gantt-Diagramm den [Artikelname] des Auftragsartikels zu referenzieren, geben Sie &amp;lt;code&amp;gt;ME.Order.Item.Name&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
=== OTHER ===&lt;br /&gt;
Bei Eigenschaften wie der [Verknüpfungsbedingung], bei denen die Werte zweier Eigenschaften verglichen werden, kann zusätzlich zu &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; auch &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt; verwendet werden. &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt; bezieht sich auch auf ein Objekt und kann genauso wie &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Um in der [Verknüpfungsbedingung] eines Artikels festzulegen, dass zu Verknüpfen die [Spezifikation 1] der Aufträge gleich sein muss geben Sie &amp;lt;code&amp;gt;ME.Order.Spec1==OTHER.Order.Spec1&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Im [[Formeleditor|Formeleditor]] ist ersichtlich, ob &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt; verwendet werden kann und auf welches Objekt sich &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt; bezieht.&lt;br /&gt;
&lt;br /&gt;
Eine andere Eigenschaft, die sich auf zwei Eigenschaften bezieht ist die [Ofengültigkeitsbedingung] von Ressourcen. Hier können Eigenschaften auch nur über &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; und ohne &amp;lt;code&amp;gt;OTHER&amp;lt;/code&amp;gt; verglichen werden.&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Die [Ofengültigkeitsbedingung], die die gleichzeitige Zuweisung von Aufträgen des gleichen Kunden erlaubt lautet &amp;lt;code&amp;gt;ME.Order.Customer.Code&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== HOLDER ===&lt;br /&gt;
&amp;lt;code&amp;gt;HOLDER&amp;lt;/code&amp;gt; bezieht sich auf das Objekt, zu der die Eigenschaft mit [Datentyp] &amp;quot;Formel&amp;quot; gehört. So ist etwa in der [Gültigkeitsbedingung] einer Hauptnutzungsanweisung in den Integrierten Stammdaten &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; ein Vorgang und &amp;lt;code&amp;gt;HOLDER&amp;lt;/code&amp;gt; die Hauptnutzungsanweisung. Um sich in der [Gültigkeitsbedingung] auf den [Code] der Ressource der Hauptnutzungsanweisung in der Gültigkeitsbedingung zu beziehen, wird die Formel &amp;lt;code&amp;gt;HOLDER.Resource.Code&amp;lt;/code&amp;gt; genutzt.&lt;br /&gt;
&lt;br /&gt;
=== PROJECT ===&lt;br /&gt;
&amp;lt;code&amp;gt;PROJECT&amp;lt;/code&amp;gt; bezieht sich auf das aktuell genutzte Projekt, so können die Projekteigenschaften referenziert werden. &amp;lt;code&amp;gt;PROJECT&amp;lt;/code&amp;gt; ist in allen Formeln nutzbar.&lt;br /&gt;
&lt;br /&gt;
;Beispiel&lt;br /&gt;
Um die [Planungsbasiszeit] zu referenzieren wird die Formel &amp;lt;code&amp;gt;PROJECT.BasisTime&amp;lt;/code&amp;gt; genutzt.&lt;br /&gt;
&lt;br /&gt;
=== WORKSPACE ===&lt;br /&gt;
&amp;lt;code&amp;gt;WORKSPACE&amp;lt;/code&amp;gt; bezieht sich auf den Arbeitsplatz des aktuell genutzten Projekt,  so können die Arbeitsplatzeigenschaften referenziert werden.&amp;lt;code&amp;gt;WORKSPACE&amp;lt;/code&amp;gt; ist in allen Formeln nutzbar.&lt;br /&gt;
&lt;br /&gt;
;Beispiel&lt;br /&gt;
Um den Namen der [Projektdatei] zu referenzieren wird die Formel &amp;lt;code&amp;gt;WORKSPACE.ProjectFileName&amp;lt;/code&amp;gt; genutzt.&lt;br /&gt;
&lt;br /&gt;
=== TARGET ===&lt;br /&gt;
&amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; ist nur als Argument bestimmter interner Funktionen verwendbar. Definieren Sie als erstes Argument der internen Funktion ein Objekt und definieren dann &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; ab dem zweiten Argument. &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; verweist auf das Objekt des ersten Arguments.&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Um die Summe der [Menge] aller Aufträge zu berechnen, wird die Formel &amp;lt;code&amp;gt;Sum('Order',TARGET.Qty)&amp;lt;/code&amp;gt; genutzt. &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; steht hier für die Auftragsklasse.&lt;br /&gt;
&lt;br /&gt;
==== Verschachtelung ====&lt;br /&gt;
Der Aufruf einer internen Funktion in einer anderen internen Funktion wird Verschachteln genannt. Verschachtelungen können sich über mehrere Ebenen erstrecken.&lt;br /&gt;
&lt;br /&gt;
Angenommen die internen Funktionen A und B akzeptieren beide &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; als Argument. Wenn B als Argument von A genutzt wird, so referenziert das &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt;-Argument in B das Objektargument in B.&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Es soll die größte [Menge] aller Aufträge mit dem frühesten [Fälligkeitstermin] unter [Aufträge ganz rechts] von &amp;lt;code&amp;gt;ME&amp;lt;/code&amp;gt; bestimmt werden:&lt;br /&gt;
 MaxIF(ME.RightmostOrder,&lt;br /&gt;
   TARGET.LET==Min(ME.RightmostOrder,&lt;br /&gt;
     TARGET.LET),&lt;br /&gt;
   TARGET.Qty&lt;br /&gt;
 )&lt;br /&gt;
Das erste &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; wird als &amp;lt;code&amp;gt;ME.RightmostOrder&amp;lt;/code&amp;gt; ausgewertet, also das erste Argument der &amp;lt;code&amp;gt;MaxIF&amp;lt;/code&amp;gt;-Funktion. Das zweite &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; wird auch als &amp;lt;code&amp;gt;ME.RightmostOrder&amp;lt;/code&amp;gt; ausgewertet, aber als das erste Argument der &amp;lt;code&amp;gt;MIN&amp;lt;/code&amp;gt;-Funktion.&lt;br /&gt;
&lt;br /&gt;
Akzeptiert eine verschachtelte interne Funktion &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; nichts als Argument, so kann in dieser trotzdem &amp;lt;code&amp;gt;TARGET&amp;lt;/code&amp;gt; genutzt werden, dieses bezieht sich dann aber auf die übergeordnete interne Funktion.&lt;br /&gt;
&lt;br /&gt;
=== INPUT ===&lt;br /&gt;
&amp;lt;code&amp;gt;INPUT&amp;lt;/code&amp;gt; wird in der [Virtuelle Eigenschaftsformel invers], der [Anzeigeformel], [Inverse Anzeigeformel], [Währung] etc. verwendet. Es bezieht sich prinzipiell auf die in eine Zelle eingegebene String. Weitere Details können der Beschreibung der jeweiligen Eigenschaften entnommen werden.&lt;br /&gt;
&lt;br /&gt;
=== DELETE ===&lt;br /&gt;
&amp;lt;code&amp;gt;DELETE&amp;lt;/code&amp;gt; wird verwendet, um Eigenschaftswerte zu löschen. Alternativ kann auch &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Der Name der Eigenschaft wird mit &amp;lt;code&amp;gt;ME.Name=DELETE&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;ME.Name=&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; gelöscht.&lt;br /&gt;
&lt;br /&gt;
; Hinweis&lt;br /&gt;
: Vor Version 15.0 wurde mit &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; ein ''NULL''-Zeichen eingefügt, ab Version 15.0 wird der Wert vollständig gelöscht, so dass das Verhalten genau dem von &amp;lt;code&amp;gt;DELETE&amp;lt;/code&amp;gt; entspricht.&lt;br /&gt;
&lt;br /&gt;
=== Eigenschaften mit mehreren Werten ===&lt;br /&gt;
Wenn eine Eigenschaft über mehrere Werte verfügt, können Sie hinter der Eigenschaft &amp;lt;code&amp;gt;[n]&amp;lt;/code&amp;gt; eingegeben, wobei ''n'' der Index des gewünschten Eigenschaftswerts ist.&lt;br /&gt;
; Beispiel&lt;br /&gt;
Um den zweiten [Kommentar] eines Auftrages zu referenzieren nutzen Sie die Formel &amp;lt;code&amp;gt;ME.Order.Comments[2]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie für ''n'' 0 angeben, wird das letzte Element ausgegeben. Wenn etwa [Kommentar] &amp;quot;a;b;c&amp;quot; ist, würde &amp;quot;c&amp;quot; zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie kein [n] anfügen werden alle Werte zurückgegeben, wenn die Werte Strings sind. Ansonsten wird der letzte Eigenschaftswert zurückgegeben. Wenn etwa [Kommentar] &amp;quot;a;b;c&amp;quot; ist, würde &amp;quot;a;b;c&amp;quot; zurückgegeben. Um auch bei andere Datentypen alle Werte zurückzugeben, kann die interne Funktion &amp;lt;code&amp;gt;StrProps()&amp;lt;/code&amp;gt; genutzt werden.&lt;br /&gt;
&lt;br /&gt;
==== Werte lesen, setzen und löschen ====&lt;br /&gt;
Das Lesen, Setzen und Löschen bei Eigenschaften mit mehreren Werten hängt von der genutzten Asprova-Version und den Projekteinstellungen ab.&lt;br /&gt;
&lt;br /&gt;
In den folgenden Tabellen ist die Anzahl der bereits in der Eigenschaft [Prop] gesetzten Werte N und es gilt 1 ≤ n ≤ N.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Ab Version 15.2 (und [Verhalten beim Setzen mehrerer Daten] &amp;quot;Unabhängig vom Datentyp&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Aktion&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Formel&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|Datentyp&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Kommentar&lt;br /&gt;
|-&lt;br /&gt;
!String!!Andere&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Lesen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[n]&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FFFF99&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|n-te||rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[0]&amp;lt;/code&amp;gt;||style=&amp;quot;background: #D8E4BC&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|letzte&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop&amp;lt;/code&amp;gt;||style=&amp;quot;background: #B8CCE4&amp;quot; align=&amp;quot;center&amp;quot;|alle||style=&amp;quot;background: #D8E4BC&amp;quot; align=&amp;quot;center&amp;quot;|letzte||Strings nutzen ; als Trennzeichen&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Löschen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[n]=DELETE&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FFFF99&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|n-te||rowspan=&amp;quot;7&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[0]=DELETE&amp;lt;/code&amp;gt;||style=&amp;quot;background: #D8E4BC&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|letzte&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop=DELETE&amp;lt;/code&amp;gt;||style=&amp;quot;background: #B8CCE4&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|alle&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|Ändern||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[n]=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FFFF99&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|n-te&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[0]=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #D8E4BC&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|letzte&lt;br /&gt;
|-&lt;br /&gt;
|Löschen &amp;amp;&amp;lt;br&amp;gt;hinzufügen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #B7DEE8&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|alle löschen &amp;amp;&amp;lt;br&amp;gt;einen hinzufügen&lt;br /&gt;
|-&lt;br /&gt;
|Hinzufügen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[]=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FCD5B4&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|hinzufügen&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Vor Version 15.2 (oder [Verhalten beim Setzen mehrerer Daten] &amp;quot;Je nach Datentyp (altes Verhalten)&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Aktion&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Formel&lt;br /&gt;
!colspan=&amp;quot;4&amp;quot;|Datentyp&lt;br /&gt;
!rowspan=&amp;quot;2&amp;quot;|Kommentar&lt;br /&gt;
|-&lt;br /&gt;
!String!!Objekt&amp;lt;br&amp;gt;(x ist Objekt)!!Objekt&amp;lt;br&amp;gt;(x ist String)!!Andere&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Lesen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[n]&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FFFF99&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot;|n-te||rowspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[0]&amp;lt;/code&amp;gt;||style=&amp;quot;background: #D8E4BC&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot;|letzte&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop&amp;lt;/code&amp;gt;||style=&amp;quot;background: #B8CCE4&amp;quot; align=&amp;quot;center&amp;quot;|alle||style=&amp;quot;background: #D8E4BC&amp;quot; align=&amp;quot;center&amp;quot; colspan=&amp;quot;3&amp;quot;|letzte||Strings nutzen ; als Trennzeichen&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|Löschen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[n]=DELETE&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FFFF99&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot;|n-te||rowspan=&amp;quot;5&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[0]=DELETE&amp;lt;/code&amp;gt;||style=&amp;quot;background: #D8E4BC&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot;|letzte&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop=DELETE&amp;lt;/code&amp;gt;||style=&amp;quot;background: #B8CCE4&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot;|alle&lt;br /&gt;
|-&lt;br /&gt;
|Ändern||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[n]=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FFFF99&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot;|n-te&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|Ändern &amp;amp;&amp;lt;br&amp;gt;hinzufügen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[0]=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FCD5B4&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|hinzufügen||style=&amp;quot;background: #D8E4BC&amp;quot; align=&amp;quot;center&amp;quot;|letzte&amp;lt;br&amp;gt;ändern||style=&amp;quot;background: #FCD5B4&amp;quot; align=&amp;quot;center&amp;quot;|hinzufügen&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FF99CC&amp;quot; colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;|alle&amp;lt;br&amp;gt;ändern||style=&amp;quot;background: #B7DEE8&amp;quot; align=&amp;quot;center&amp;quot;|alle löschen &amp;amp;&amp;lt;br&amp;gt;einen hinzufügen||style=&amp;quot;background: #FF99CC&amp;quot; align=&amp;quot;center&amp;quot;|alle&amp;lt;br&amp;gt;ändern||Wenn bei 'alle ändern' N = 0, dann einen hinzufügen&lt;br /&gt;
|-&lt;br /&gt;
|Hinzufügen||style=&amp;quot;background: #DAEEF3&amp;quot;|&amp;lt;code&amp;gt;ME.Prop[]=x&amp;lt;/code&amp;gt;||style=&amp;quot;background: #FCD5B4&amp;quot; colspan=&amp;quot;4&amp;quot; align=&amp;quot;center&amp;quot;|hinzufügen||Nur ab Version 15.2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Datentyp Objekt ====&lt;br /&gt;
Für Eigenschaften mit [Datentyp] &amp;quot;Objekt&amp;quot; mit mehreren Werten, kann statt dem Index der [Code] der Objekte verwendet werden, um einen bestimmten Werte zu adressieren. Der [Code] ist eine String und die Werte der Eigenschaft werden nach einer passenden String durchsucht. Der Vergleich der Objekte mit der String erfolgt in der Reihenfolge [Code] &amp;amp;#x2192; [Anzeigename] &amp;amp;#x2192; [Alias].&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Um auf die Nutzungsanweisung mit [Code] &amp;quot;S1&amp;quot; der Produktionsaufgabe eines Vorganges zuzugreifen, nutzen Sie die Formel &amp;lt;code&amp;gt;ME.ProductionTask.UseInstructions['S1']&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Angenommen dem Projekt wurde die benutzerdefinierte Klasse &amp;quot;Meine Klasse&amp;quot; (&amp;lt;code&amp;gt;MyClass&amp;lt;/code&amp;gt;) mit der Eigenschaft [Meine Eigenschaft 1] (&amp;lt;code&amp;gt;MyProperty1&amp;lt;/code&amp;gt;) hinzugefügt. Auf den Wert von [Meine Eigenschaft 1] des Objekts &amp;quot;ABC&amp;quot; in der Klasse &amp;quot;MyClass&amp;quot; kann mit &amp;lt;code&amp;gt;PROJECT.Child['MyClass'].Child['ABC'].MyClassUser_MyProperty1&amp;lt;/code&amp;gt; zugegriffen werden.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen zu benutzerdefinierten Klassen finden Sie unter [[Hinzufügen einer neuen Klassendefinition|Hinzufügen einer neuen Klassendefinition]].&lt;br /&gt;
&lt;br /&gt;
[[Datei:UserClassTable.png]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:UserClassPropEditor.png]]&lt;br /&gt;
&lt;br /&gt;
== Werte ==&lt;br /&gt;
Häufig werden Werte wie Zahlen und Strings in Formeln verwendet. Benutzen Sie in Formeln folgende Formatierungen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Formatierung von Werten in Formeln&lt;br /&gt;
|-&lt;br /&gt;
!Datentyp!!Beschreibung!!Beispiel&lt;br /&gt;
|-&lt;br /&gt;
|Zahl||Kann direkt eingegeben werden||123&lt;br /&gt;
|-&lt;br /&gt;
|String||Wird mit einfachen Anführungszeichen umschlossen||'123'&lt;br /&gt;
|-&lt;br /&gt;
|Datum||Wird mit Rauten umschlossen||#2020/06/01 12:00:00#&lt;br /&gt;
|-&lt;br /&gt;
|Bool||Direkte Eingabe des Werts||TRUE, FALSE&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Steuerzeichen in Strings ===&lt;br /&gt;
In Strings ist &amp;quot;\&amp;quot;, zusammen mit dem nachfolgenden Zeichen, ein Steuerzeichen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Verwendung von Steuerzeichen&lt;br /&gt;
|-&lt;br /&gt;
!Formel!!Rückgabewert!!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;'\\'&amp;lt;/code&amp;gt;||\||Wird als ein umgekehrter Schrägstrich ausgegeben&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;'\n'&amp;lt;/code&amp;gt;||&amp;amp;#8629;||Fügt einen Zeilenumbruch ein&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;amp;#39;\&amp;amp;#39;&amp;amp;#39;&amp;lt;/code&amp;gt;||'||Wird als einfaches Anführungszeichen ausgegeben &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Operatoren ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Verfügbare Operatoren&lt;br /&gt;
|-&lt;br /&gt;
!Operator!!Bedeutung!!Kommentar&lt;br /&gt;
|+||Addition, Verbindung von (Zeichen-)Ketten||&lt;br /&gt;
|-&lt;br /&gt;
|-||Subtraktion||&lt;br /&gt;
|-&lt;br /&gt;
|*||Multiplikation||&lt;br /&gt;
|-&lt;br /&gt;
|/||Division||&lt;br /&gt;
|-&lt;br /&gt;
|^||Potenzierung||&lt;br /&gt;
|-&lt;br /&gt;
|%||Modulo||Rest der Division&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;&amp;amp;||AND||Logisches UND&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;||OR||Logisches ODER&lt;br /&gt;
|-&lt;br /&gt;
|==||Gleich||Vergleich&lt;br /&gt;
|-&lt;br /&gt;
|!=||Ungleich||Vergleich&lt;br /&gt;
|-&lt;br /&gt;
|&amp;gt;||Größer||Vergleich&lt;br /&gt;
|-&lt;br /&gt;
|&amp;gt;=||Größer oder gleich||Vergleich&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;||Kleiner||Vergleich&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;=||Kleiner oder gleich||Vergleich&lt;br /&gt;
|-&lt;br /&gt;
|(, )||Klammern||&lt;br /&gt;
|-&lt;br /&gt;
|=||Zuweisung||Setzen von Werten&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die Operatoren werden in der folgenden Reihenfolge ausgewertet:&lt;br /&gt;
# ^&lt;br /&gt;
# *, /, %&lt;br /&gt;
# +, -&lt;br /&gt;
# ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;=&lt;br /&gt;
# &amp;amp;&amp;amp;, ||&lt;br /&gt;
# =&lt;br /&gt;
&lt;br /&gt;
Inhalte in Klammern werden zuerst ausgewertet.&lt;br /&gt;
&lt;br /&gt;
=== Kurzschlussauswertung ===&lt;br /&gt;
Asprova nutzt [https://de.wikipedia.org/wiki/Kurzschlussauswertung Kurzschlussauswertung] zur schnelleren Auswertung von Formeln. Durch eine entsprechende  Formelstruktur kann diese Funktionalität optimal genutzt werden. Weitere Informationen dazu finden Sie [[Beschleunigung der Fomelauswertung|hier]].&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
In Formeln können Sie interne und benutzerdefinierte Funktionen verwenden. Die Funktion zum Beziehen der, auf einen Vorgang anzuwendenden, [Spezifikation 1] lautet &amp;lt;code&amp;gt;GetApplicableSpec(1,ME.Operation)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Bei der Nutzung von Funktionen achten Sie bitte auf die korrekte Schreibweise von Funktionsnamen und Argumenten. Weitergehende Informationen zu Asprovas internen Funktionen finden sich [[Interne Funktionen|hier]].&lt;br /&gt;
&lt;br /&gt;
=== IF ===&lt;br /&gt;
Die interne Funktion &amp;lt;code&amp;gt;IF()&amp;lt;/code&amp;gt; ermöglicht die Bewertung von Vorgängen mit der folgenden Formel:&lt;br /&gt;
 IF(Bedingung,&lt;br /&gt;
   falls &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;,&lt;br /&gt;
   falls &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Ist die [Startzeit] vor dem 1. Juni 2020, so wird der erste [Kommentar] auf &amp;quot;ABC&amp;quot; gesetzt, sonst auf &amp;quot;XYZ&amp;quot;:&lt;br /&gt;
 ME.Comments=IF(ME.StartTime&amp;lt;=#2020/06/01,&lt;br /&gt;
   'ABC',&lt;br /&gt;
   'XYZ'&lt;br /&gt;
 )&lt;br /&gt;
oder&lt;br /&gt;
 IF(ME.StartTime&amp;lt;=#2020/06/01,&lt;br /&gt;
   ME.Comments='ABC',&lt;br /&gt;
   ME.Comments='XYZ'&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
Ab Version 13.1 können mehrere Bedingungen eingegeben werden:&lt;br /&gt;
 IF(Bedingung 1,&lt;br /&gt;
     falls &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;,&lt;br /&gt;
   Bedingung 2,&lt;br /&gt;
     falls &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;,&lt;br /&gt;
   ...&lt;br /&gt;
     ...&lt;br /&gt;
   Bedingung n,&lt;br /&gt;
     falls &amp;lt;code&amp;gt;TRUE&amp;lt;/code&amp;gt;,&lt;br /&gt;
     falls &amp;lt;code&amp;gt;FALSE&amp;lt;/code&amp;gt;&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
; Beispiel&lt;br /&gt;
Bei [Priorität] ab 90 rot, von 50 bis 90 blau und bei weniger als 50 grün:&lt;br /&gt;
 IF(ME.Order.Priority&amp;gt;=90,&lt;br /&gt;
     RGB(255,0,0),&lt;br /&gt;
   ME.Order.Priority&amp;lt;50,&lt;br /&gt;
     RGB(0,255,0),&lt;br /&gt;
     RGB(0,0,255)&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
== Weitere Informationen ==&lt;br /&gt;
* [[Interne Funktionen]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;Hilfe Nummer: 741000&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>FW</name></author>	</entry>

	</feed>