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

ActionField1115

Beschrijving: Validate EquipmentType on ProcessFunction for this Equipment (Element or BuildingPart). If not OK: reset the Equipment.EquipmentType and when BuildingPart also Equipment.PartOfEquipment. Custom: Nee

Propertiesbewerken

Property Type Accessor
Equipment Equipment Root

XMLbewerken

<Workflow Name="ActionField1115" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Validate EquipmentType on ProcessFunction for this Equipment (Element or BuildingPart). If not OK: reset the Equipment.EquipmentType and when BuildingPart also Equipment.PartOfEquipment.</Description>
	<Properties>
		<Property	Name="Equipment"					Type="Equipment"	Accessor="Root"		Direction="In" />

		<Property	Name="EquipmentTypeHierarchyCount"	Type="Int64"		Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<WorkflowCall Name="EquipmentOrProcessFunction_CopyMaintenanceState" WorkflowName="EquipmentOrProcessFunction_CopyMaintenanceState">
			<Parameter	Name="CopyFromHigherLevelObject"	Direction="In"		Value="True" />
			<Parameter	Name="DomainObject"					Direction="In"		Value="${Equipment}" />
		</WorkflowCall>

		<Choose Name="Supported contexts">
			<When Name="Context Element" Condition="${Equipment.Context} == EquipmentContext.Element">
				<When Name="EquipmentType" Condition="${Equipment.EquipmentType} != Empty">
					<Transaction>
						<GetCount Name="Get EquipmentTypeHierarchy" Type="EquipmentTypeHierarchy" OutputProperty="${EquipmentTypeHierarchyCount}">
							<Filters>
								<PropertyFilter	PropertyName="Id.EquipmentType"			Operator="="		PropertyValue="${Equipment.EquipmentType}" />
								<PropertyFilter	PropertyName="Id.PartOfEquipmentType"	Operator="="		PropertyValue="${Equipment.ProcessFunction.EquipmentType?}" />
							</Filters>
						</GetCount>
					</Transaction>

					<When Name="EquipmentTypeHierarchyCount" Condition="${EquipmentTypeHierarchyCount} == 0">
						<When Name="Element has an object" Condition="${Equipment.ProcessFunction} != Empty">
							<Choose Name="Has element's object an object type?">
								<When Name="Element's object has an object type" Condition="${Equipment.ProcessFunction.EquipmentType} != Empty">
									<Message Name="Element's object's equipment type" MessageCode="2331">
										<Parameter	Name="DomainObject"	Direction="In"		Value="${Equipment}" />
									</Message>
								</When>

								<Otherwise Name="Element's object has not an object type">
									<Message Name="Element's object has not an object type" MessageCode="2404">
										<Parameter	Name="DomainObject"	Direction="In"		Value="${Equipment}" />
									</Message>
								</Otherwise>
							</Choose>
						</When>

						<Transaction>
							<Assign Name="Empty element's EquipmentType" Property="${Equipment.EquipmentType}" Value="Empty" />
						</Transaction>

						<Stop Name="Context Element" Mode="EndAll" />
					</When>
				</When>
			</When>


			<When Name="Context BuildingPart" Condition="${Equipment.Context} == EquipmentContext.BuildingPart">
				<When Name="HasAnElementAndProcessFuntionDiffers?" Condition="${Equipment.PartOfEquipment} != Empty &amp;&amp; ${Equipment.ProcessFunction} != ${Equipment.PartOfEquipment.ProcessFunction}">
					<When Name="HasAnObject?" Condition="${Equipment.ProcessFunction} != Empty">
						<Message Name="BuildingPart's process function" MessageCode="2332">
							<Parameter	Name="DomainObject"	Direction="In"		Value="${Equipment}" />
						</Message>

						<When Name="HasAnEquipmentType?" Condition="${Equipment.ProcessFunction.EquipmentType} != Empty &amp;&amp; ${Equipment.EquipmentType} != Empty">
							<Message Name="Element's object's equipment type" MessageCode="2331">
								<Parameter	Name="DomainObject"	Direction="In"		Value="${Equipment}" />
							</Message>
						</When>
					</When>

					<Transaction>
						<Assign Name="Empty building part's PartOfEquipment" Property="${Equipment.PartOfEquipment}" Value="Empty" />
						<Assign Name="Empty element's EquipmentType" Property="${Equipment.EquipmentType}" Value="Empty" />
					</Transaction>

					<Stop Name="Context BuildingPart" Mode="EndAll" />
				</When>
			</When>

			<Otherwise Name="Unsupported contexts">
				<Stop Name="Unsupported context" Mode="Abort" />
			</Otherwise>
		</Choose>

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