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

ActionField248

Beschrijving: Buildout Equipment from a ProcessFunction. Custom: Nee

Propertiesbewerken

Property Type Accessor
EquipmentProcessFunctionMutation EquipmentProcessFunctionMutation Root
EmployeeContextToSearch List[Context] Optional
EquipmentContextToSearch List[Context] Optional
LocationContextToSearch List[Context] Optional
ProcessFunctionContextToSearch List[Context] Optional
VendorContextToSearch List[Context] Optional
WarehouseContextToSearch List[Context] Optional

XMLbewerken

<Workflow Name="ActionField248" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Buildout Equipment from a ProcessFunction.</Description>
	<Properties>
		<Property	Name="EquipmentProcessFunctionMutation"	Type="EquipmentProcessFunctionMutation"	Accessor="Root"		Direction="In" />

		<Property	Name="EmployeeContextToSearch"			Type="List[Context]"					Accessor="Optional"	Direction="In"												Comment="Select Employee from Employees with these contexts" />
		<Property	Name="EquipmentContextToSearch"			Type="List[Context]"					Accessor="Optional"	Direction="In"		Default="EquipmentContext.Installation"	Comment="Select Equipment from Equipments with these contexts" />
		<Property	Name="LocationContextToSearch"			Type="List[Context]"					Accessor="Optional"	Direction="In"												Comment="Select Location from Locations with these contexts" />
		<Property	Name="ProcessFunctionContextToSearch"	Type="List[Context]"					Accessor="Optional"	Direction="In"												Comment="Select ProcessFunction from ProcessFunctions with these contexts" />
		<Property	Name="VendorContextToSearch"			Type="List[Context]"					Accessor="Optional"	Direction="In"												Comment="Select Vendor from Vendors with these contexts" />
		<Property	Name="WarehouseContextToSearch"			Type="List[Context]"					Accessor="Optional"	Direction="In"												Comment="Select Warehouse from Warehouses with these contexts" />

		<Property	Name="BuildOutChildEquipments"			Type="Boolean"							Accessor="Internal" />
		<Property	Name="ChildEquipmentCount"				Type="Int64"							Accessor="Internal" />
		<Property	Name="Destination"						Type="String"							Accessor="Internal" />
		<Property	Name="ExchangePart"						Type="Equipment"						Accessor="Internal" />
		<Property	Name="IsDefect"							Type="Boolean"							Accessor="Internal" />
		<Property	Name="Job"								Type="Job"								Accessor="Internal" />
		<Property	Name="Location"							Type="Location"							Accessor="Internal" />
		<Property	Name="MoveToProcessFunction"			Type="ProcessFunction"					Accessor="Internal" />
		<Property	Name="Remark"							Type="UltimoString"						Accessor="Internal" />
		<Property	Name="RemovalDate"						Type="DateTime?"						Accessor="Internal" />
		<Property	Name="RemovedBy"						Type="Employee"							Accessor="Internal" />
		<Property	Name="ToLocation"						Type="Boolean"							Accessor="Internal" />
		<Property	Name="ToVendor"							Type="Boolean"							Accessor="Internal" />
		<Property	Name="ToWarehouse"						Type="Boolean"							Accessor="Internal" />
		<Property	Name="Vendor"							Type="Vendor"							Accessor="Internal" />
		<Property	Name="Warehouse"						Type="Warehouse"						Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Assign Name="Assign ExchangePart for brevity" Property="${ExchangePart}" Value="${EquipmentProcessFunctionMutation.Equipment}" />

		<Choose Name="Check if equipment is a regular equipment or an exchange part">
			<When Name="When a regular equipment" Condition="${ExchangePart.ExchangePart} == False">
				<WorkflowCall Name="Select equipment to build out processfunction" WorkflowName="Dialog_ProcessFunction_BuildOutEquipment">
					<Parameter	Name="EmployeeContextsToSearch"			Direction="In"		Value="${EmployeeContextToSearch}" />
					<Parameter	Name="Equipment"						Direction="In"		Value="${ExchangePart}" />
					<Parameter	Name="EquipmentContextsToSearch"		Direction="In"		Value="${EquipmentContextToSearch}" />
					<Parameter	Name="ProcessFunctionContextsToSearch"	Direction="In"		Value="${ProcessFunctionContextToSearch}" />
					<Parameter	Name="MoveToProcessFunction"			Direction="Out"													OutputProperty="${MoveToProcessFunction}" />
					<Parameter	Name="Remark"							Direction="Out"													OutputProperty="${Remark}" />
					<Parameter	Name="RemovalDate"						Direction="Out"													OutputProperty="${RemovalDate}" />
					<Parameter	Name="RemovedBy"						Direction="Out"													OutputProperty="${RemovedBy}" />
				</WorkflowCall>

				<Transaction>
					<GetCount Name="HasChildEquipments" Type="Equipment" OutputProperty="${ChildEquipmentCount}">
						<Filters>
							<InFilter PropertyName="Id">
								<Subquery Type="EquipmentProcessFunctionMutation">
									<Filters>
										<PropertyFilter	PropertyName="ProcessFunction"	Operator="="		PropertyValue="${EquipmentProcessFunctionMutation.ProcessFunction}" />
										<PropertyFilter	PropertyName="Status"			Operator="="		PropertyValue="EquipmentProcessFunctionMutationStatus.BuildIn" />
									</Filters>
									<Properties>
										<Property Name="Equipment" Alias="EqmPfm" Type="Property" />
									</Properties>
								</Subquery>
							</InFilter>
							<CombinedFilter FilterOperator="And">
								<PropertyFilter	PropertyName="ExchangePart"		Operator="="		PropertyValue="False" />
								<PropertyFilter	PropertyName="PartOfEquipment"	Operator="="		PropertyValue="${ExchangePart}" />
							</CombinedFilter>
						</Filters>
					</GetCount>
				</Transaction>

				<When Name="EquipmentHasChildEquipments" Condition="${ChildEquipmentCount} &gt; 0">
					<Question Name="QuestionBuildOutChildEquipments" Type="YesNo" MessageCode="0323" OutputProperty="${BuildOutChildEquipments}">
						<Parameter	Name="Equipment"		Direction="In"		Value="${ExchangePart}" />
						<Parameter	Name="ProcessFunction"	Direction="In"		Value="${EquipmentProcessFunctionMutation.ProcessFunction}" />
					</Question>
				</When>

				<Transaction>
					<Command Name="ProcessFunction_BuildOutEquipment" CommandName="ProcessFunction_BuildOutEquipment">
						<Parameter	Name="BuildOutChildEquipments"	Direction="In"		Value="${BuildOutChildEquipments}" />
						<Parameter	Name="Equipment"				Direction="In"		Value="${ExchangePart}" />
						<Parameter	Name="MoveToProcessFunction"	Direction="In"		Value="${MoveToProcessFunction}" />
						<Parameter	Name="Remark"					Direction="In"		Value="${Remark}" />
						<Parameter	Name="RemovalDate"				Direction="In"		Value="${RemovalDate}" />
						<Parameter	Name="RemovedBy"				Direction="In"		Value="${RemovedBy}" />
					</Command>
				</Transaction>
			</When>

			<Otherwise Name="Otherwise, an exchange part">
				<Validation Name="EquipmentIsOnThisProcessFunction" Condition="${ExchangePart.ProcessFunction} == ${EquipmentProcessFunctionMutation.ProcessFunction}" MessageCode="0326">
					<Parameter	Name="EquipmentProcessFunctionMutation"	Direction="In"		Value="${EquipmentProcessFunctionMutation}" />
				</Validation>

				<WorkflowCall Name="Dialog_ProcessFunction_BuildOutExchangePart" WorkflowName="Dialog_ProcessFunction_BuildOutExchangePart">
					<Parameter	Name="EmployeeContextsToSearch"		Direction="In"		Value="${EmployeeContextToSearch}" />
					<Parameter	Name="EquipmentContextsToSearch"	Direction="In"		Value="${EquipmentContextToSearch}" />
					<Parameter	Name="ExchangePart"					Direction="In"		Value="${ExchangePart}" />
					<Parameter	Name="LocationContextsToSearch"		Direction="In"		Value="${LocationContextToSearch}" />
					<Parameter	Name="ProcessFunction"				Direction="In"		Value="${EquipmentProcessFunctionMutation.ProcessFunction}" />
					<Parameter	Name="VendorContextsToSearch"		Direction="In"		Value="${VendorContextToSearch}" />
					<Parameter	Name="WarehouseContextsToSearch"	Direction="In"		Value="${WarehouseContextToSearch}" />
					<Parameter	Name="Destination"					Direction="Out"																	OutputProperty="${Destination}" />
					<Parameter	Name="IsDefect"						Direction="Out"																	OutputProperty="${IsDefect}" />
					<Parameter	Name="Location"						Direction="Out"																	OutputProperty="${Location}" />
					<Parameter	Name="Remark"						Direction="Out"																	OutputProperty="${Remark}" />
					<Parameter	Name="RemovalDate"					Direction="Out"																	OutputProperty="${RemovalDate}" />
					<Parameter	Name="RemovedBy"					Direction="Out"																	OutputProperty="${RemovedBy}" />
					<Parameter	Name="Vendor"						Direction="Out"																	OutputProperty="${Vendor}" />
					<Parameter	Name="Warehouse"					Direction="Out"																	OutputProperty="${Warehouse}" />
				</WorkflowCall>

				<Transaction>
					<Command Name="ProcessFunction_BuildOutExchangePart" CommandName="ProcessFunction_BuildOutExchangePart">
						<Parameter	Name="ExchangePart"	Direction="In"		Value="${ExchangePart}" />
						<Parameter	Name="IsDefect"		Direction="In"		Value="${IsDefect}" />
						<Parameter	Name="Job"			Direction="In"		Value="${Job}" />
						<Parameter	Name="Location"		Direction="In"		Value="${Location}" />
						<Parameter	Name="Remark"		Direction="In"		Value="${Remark}" />
						<Parameter	Name="RemovalDate"	Direction="In"		Value="${RemovalDate}" />
						<Parameter	Name="RemovedBy"	Direction="In"		Value="${RemovedBy}" />
						<Parameter	Name="ToLocation"	Direction="In"		Value="=${Destination} == Location" />
						<Parameter	Name="ToVendor"		Direction="In"		Value="=${Destination} == Vendor" />
						<Parameter	Name="ToWarehouse"	Direction="In"		Value="=${Destination} == Warehouse" />
						<Parameter	Name="Vendor"		Direction="In"		Value="${Vendor}" />
						<Parameter	Name="Warehouse"	Direction="In"		Value="${Warehouse}" />
					</Command>

					<Choose Name="Check if exchange part is indicated (in dialog) to be defect or available">
						<When Name="When indicated to be defect" Condition="${IsDefect} == True">
							<When Name="When status is not already defect" Condition="${ExchangePart.Status} != EquipmentStatus.ExchangeDefect">
								<ChangeStatus Name="Change status to defect" DomainObject="${ExchangePart}" NewStatus="EquipmentStatus.ExchangeDefect" />
							</When>
						</When>

						<Otherwise Name="Otherwise, indicated to be available">
							<When Name="When status is not defect" Condition="${ExchangePart.Status} != EquipmentStatus.ExchangeDefect">
								<ChangeStatus Name="Change status to usable" DomainObject="${ExchangePart}" NewStatus="EquipmentStatus.ExchangeUsable" />
							</When>
						</Otherwise>
					</Choose>
				</Transaction>
			</Otherwise>
		</Choose>

		<UserContent Name="Post" />
	</Execution>
</Workflow>