Categorie: reference Bijgewerkt: 2026-04-08 actionfield workflow actionfield148

ActionField148

Beschrijving: Apply SpareParts of EquipmentType to Equipments and ProcessFunctions. Custom: Nee

Propertiesbewerken

Property Type Accessor
EquipmentType EquipmentType Root
EquipmentContexts List[Context] Optional
ProcessFunctionContexts List[Context] Optional
UseProcessFunction Boolean Optional

XMLbewerken

<Workflow Name="ActionField148" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Apply SpareParts of EquipmentType to Equipments and ProcessFunctions.</Description>
	<Properties>
		<Property	Name="EquipmentType"			Type="EquipmentType"			Accessor="Root"		Direction="In" />

		<Property	Name="EquipmentContexts"		Type="List[Context]"			Accessor="Optional"	Direction="In"														Comment="Update only equipments with these contexts" />
		<Property	Name="ProcessFunctionContexts"	Type="List[Context]"			Accessor="Optional"	Direction="In"														Comment="Update only processfunctions with these contexts" />
		<Property	Name="UseProcessFunction"		Type="Boolean"					Accessor="Optional"	Direction="In"		Default="#{UltimoSettings.UseProcessFunction}"	Comment="Update processfunctions also" />

		<Property	Name="Equipments"				Type="List[Equipment]"			Accessor="Internal" />
		<Property	Name="ProcessFunctions"			Type="List[ProcessFunction]"	Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Transaction>
			<Command Name="Fetch pieces of equipment" CommandName="EquipmentType_GetEquipments">
				<Parameter	Name="EquipmentContexts"	Direction="In"		Value="${EquipmentContexts}" />
				<Parameter	Name="EquipmentType"		Direction="In"		Value="${EquipmentType}" />
				<Parameter	Name="Equipments"			Direction="Out"										OutputProperty="${Equipments}" />
			</Command>
		</Transaction>

		<ForEach Name="Equipment" In="${Equipments}" As="Equipment">
			<Transaction>
				<Command Name="Update spare parts equipment" CommandName="Equipment_CopyEquipmentTypeSpareParts">
					<Parameter	Name="Equipment"	Direction="In"		Value="${Equipment}" />
				</Command>
			</Transaction>
		</ForEach>

		<When Name="Update ProcessFunctions?" Condition="${UseProcessFunction} == True">
			<Transaction>
				<Command Name="Fetch process functions" CommandName="EquipmentType_GetProcessFunctions">
					<Parameter	Name="EquipmentType"			Direction="In"		Value="${EquipmentType}" />
					<Parameter	Name="ProcessFunctionContexts"	Direction="In"		Value="${ProcessFunctionContexts}" />
					<Parameter	Name="ProcessFunctions"			Direction="Out"											OutputProperty="${ProcessFunctions}" />
				</Command>
			</Transaction>

			<ForEach Name="ProcessFunction" In="${ProcessFunctions}" As="ProcessFunction">
				<Transaction>
					<Command Name="Update spare parts process function" CommandName="ProcessFunction_CopyEquipmentTypeSpareParts">
						<Parameter	Name="ProcessFunction"	Direction="In"		Value="${ProcessFunction}" />
					</Command>
				</Transaction>
			</ForEach>
		</When>

		<UserContent Name="Post" />

		<Choose Name="Choose UseProcessFunction">
			<When Name="Report about ProcessFunctions?" Condition="${UseProcessFunction} == True">
				<Choose Name="Check ProcessFunctionCount/EquipmentCount">
					<When Name="ProcessFunctionCount 0 and EquipmentCount 0" Condition="${ProcessFunctions.Count?} == 0 &amp;&amp; ${Equipments.Count?} == 0">
						<Message Name="No equipments and no processfunctions found" MessageCode="0007">
							<Parameter	Name="EquipmentType"	Direction="In"		Value="${EquipmentType}" />
						</Message>
					</When>

					<Otherwise Name="ProcessFunctionCount &gt; 0 and/or EquipmentCount &gt; 0">
						<Message Name="Equipments or processfunctions found" MessageCode="0235">
							<Parameter	Name="Equipments"		Direction="In"		Value="${Equipments}" />
							<Parameter	Name="ProcessFunctions"	Direction="In"		Value="${ProcessFunctions}" />
						</Message>
					</Otherwise>
				</Choose>
			</When>

			<Otherwise Name="Report about Equipment only">
				<Choose Name="Check EquipmentCount">
					<When Name="EuipmentCount 0" Condition="${Equipments.Count?} == 0">
						<Message Name="No equipments found" MessageCode="0007">
							<Parameter	Name="EquipmentType"	Direction="In"		Value="${EquipmentType}" />
						</Message>
					</When>

					<Otherwise Name="EquipmentCount &gt; 0">
						<Message Name="Equipments found" MessageCode="0236">
							<Parameter	Name="EquipmentCount"	Direction="In"		Value="${Equipments.Count}" />
						</Message>
					</Otherwise>
				</Choose>
			</Otherwise>
		</Choose>
	</Execution>
</Workflow>