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

ActionField697

Beschrijving: Create LongTermAsset from a selected ProcessFunction, Department, Equipment or Building. Custom: Nee

Propertiesbewerken

Property Type Accessor
LongTermAsset LongTermAsset Optional
SpaceMaintenance SpaceMaintenance Optional

XMLbewerken

<Workflow Name="ActionField697" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Create LongTermAsset from a selected ProcessFunction, Department, Equipment or Building.</Description>
	<Properties>
		<Property	Name="LongTermAsset"			Type="LongTermAsset"	Accessor="Optional"	Direction="In"					Comment="Not in use" />
		<Property	Name="SpaceMaintenance"			Type="SpaceMaintenance"	Accessor="Optional"	Direction="In" />

		<Property	Name="Building"					Type="Building"			Accessor="Internal" />
		<Property	Name="Department"				Type="Department"		Accessor="Internal" />
		<Property	Name="DialogCount"				Type="Int64"			Accessor="Internal"						Default="0" />
		<Property	Name="Equipment"				Type="Equipment"		Accessor="Internal" />
		<Property	Name="LongTermAssetInserted"	Type="LongTermAsset"	Accessor="Internal" />
		<Property	Name="ProcessFunction"			Type="ProcessFunction"	Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<WorkflowCall Name="Dialog_CreateLongTermAssetMaintenanceConnection" WorkflowName="Dialog_CreateLongTermAssetMaintenanceConnection">
			<Parameter	Name="Building"			Direction="Out"		OutputProperty="${Building}" />
			<Parameter	Name="Department"		Direction="Out"		OutputProperty="${Department}" />
			<Parameter	Name="Equipment"		Direction="Out"		OutputProperty="${Equipment}" />
			<Parameter	Name="ProcessFunction"	Direction="Out"		OutputProperty="${ProcessFunction}" />
		</WorkflowCall>

		<Transaction>
			<Choose Name="ChooseProcessFunctionToUseSelected">
				<When Name="WhenProcessFunctionToUseSelected" Condition="${ProcessFunction} != Empty">
					<GetItem Name="GetItemLongTermAsset" Type="LongTermAsset" OutputProperty="${LongTermAssetInserted}">
						<Filters>
							<PropertyFilter	PropertyName="ProcessFunction"	Operator="="		PropertyValue="${ProcessFunction}" />
						</Filters>
					</GetItem>

					<When Name="ChooseProcessFunctionLongTermAssetNotSet » WhenProcessFunctionLongTermAssetNotSet" Condition="${LongTermAssetInserted} == Empty">
						<Insert Name="InsertProcessFunctionLongTermAsset" ObjectType="LongTermAsset" OutputProperty="${LongTermAssetInserted}">
							<Parameter	Name="Context"			Direction="In"		Value="LongTermAssetContext.LongTermAssetPlan" />
							<Parameter	Name="Status"			Direction="In"		Value="LongTermAssetStatus.Created" />
							<Parameter	Name="ConstructionYear"	Direction="In"		Value="=#coalesce(${ProcessFunction.ManufactureYear}, 0)" />
							<Parameter	Name="Description"		Direction="In"		Value="${ProcessFunction.Description}" />
							<Parameter	Name="ProcessFunction"	Direction="In"		Value="${ProcessFunction}" />
							<Parameter	Name="ReplacementCost"	Direction="In"		Value="${ProcessFunction.ReplacementCost}" />
						</Insert>

						<Assign Name="ProcessFunctionSetLongTermAsset" Property="${ProcessFunction.LongTermAsset}" Value="${LongTermAssetInserted}" />

						<Choose Name="CheckProcessFunctionToCreateSpaceMaintenance">
							<When Name="CreateProcessFunctionNewSpaceMaintenance" Condition="${LongTermAssetInserted.SpaceMaintenance} == Empty">
								<WorkflowCall Name="CreateProcessFunctionSpaceMaintenance" WorkflowName="LongTermAsset_CreateSpaceMaintenance">
									<Parameter	Name="LongTermAsset"	Direction="In"		Value="${LongTermAssetInserted}" />
									<Parameter	Name="SpaceMaintenance"	Direction="Out"											OutputProperty="${SpaceMaintenance}" />
								</WorkflowCall>
							</When>

							<Otherwise Name="ProcessFunctionSpaceMaintenanceExistsJustUseIt">
								<Assign Name="ProcessFunctionSetNewSpaceMaintenance" Property="${SpaceMaintenance}" Value="${LongTermAssetInserted.SpaceMaintenance}" />
							</Otherwise>
						</Choose>
					</When>

					<Assign Name="Copy RiskScore" Property="${LongTermAssetInserted.RiskScore}" Value="${ProcessFunction.RiskScore}" />
					<Assign Name="Copy RiskClass" Property="${LongTermAssetInserted.RiskClass}" Value="${ProcessFunction.RiskClass}" />
				</When>


				<When Name="WhenEquipmentToUseSelected" Condition="${Equipment} != Empty">
					<GetItem Name="GetItemLongTermAsset" Type="LongTermAsset" OutputProperty="${LongTermAssetInserted}">
						<Filters>
							<PropertyFilter	PropertyName="Equipment"	Operator="="		PropertyValue="${Equipment}" />
						</Filters>
					</GetItem>

					<When Name="ChooseEquipmentLongTermAssetNotSet » WhenEquipmentLongTermAssetNotSet" Condition="${LongTermAssetInserted} == Empty">
						<Insert Name="InsertEquipmentLongTermAsset" ObjectType="LongTermAsset" OutputProperty="${LongTermAssetInserted}">
							<Parameter	Name="Context"									Direction="In"		Value="LongTermAssetContext.LongTermAssetPlan" />
							<Parameter	Name="Status"									Direction="In"		Value="LongTermAssetStatus.Created" />
							<Parameter	Name="ConstructionYear"							Direction="In"		Value="=#coalesce(${Equipment.ManufactureYear}, 0)" />
							<Parameter	Name="CurrentAppearanceMaintenanceState"		Direction="In"		Value="${Equipment.CurrentAppearanceMaintenanceState}" />
							<Parameter	Name="CurrentAppearanceMaintenanceStateDate"	Direction="In"		Value="${Equipment.CurrentAppearanceMaintenanceStateDate}" />
							<Parameter	Name="CurrentMaintenanceState"					Direction="In"		Value="${Equipment.CurrentMaintenanceState}" />
							<Parameter	Name="CurrentMaintenanceStateDate"				Direction="In"		Value="${Equipment.CurrentMaintenanceStateDate}" />
							<Parameter	Name="Description"								Direction="In"		Value="${Equipment.Description}" />
							<Parameter	Name="Equipment"								Direction="In"		Value="${Equipment}" />
							<Parameter	Name="ReplacementCost"							Direction="In"		Value="${Equipment.ReplacementCost}" />
						</Insert>

						<Assign Name="EquipmentSetLongTermAsset" Property="${Equipment.LongTermAsset}" Value="${LongTermAssetInserted}" />

						<Choose Name="CheckEquipmentToCreateSpaceMaintenance">
							<When Name="CreateEquipmentNewSpaceMaintenance" Condition="${LongTermAssetInserted.SpaceMaintenance} == Empty">
								<WorkflowCall Name="CreateSpaceMaintenance" WorkflowName="LongTermAsset_CreateSpaceMaintenance">
									<Parameter	Name="LongTermAsset"	Direction="In"		Value="${LongTermAssetInserted}" />
									<Parameter	Name="SpaceMaintenance"	Direction="Out"											OutputProperty="${SpaceMaintenance}" />
								</WorkflowCall>
							</When>

							<Otherwise Name="EquipmentSpaceMaintenanceExistsJustUseIt">
								<Assign Name="EquipmentSetNewSpaceMaintenance" Property="${SpaceMaintenance}" Value="${LongTermAssetInserted.SpaceMaintenance}" />
							</Otherwise>
						</Choose>
					</When>

					<Assign Name="Copy RiskScore" Property="${LongTermAssetInserted.RiskScore}" Value="${Equipment.RiskScore}" />
					<Assign Name="Copy RiskClass" Property="${LongTermAssetInserted.RiskClass}" Value="${Equipment.RiskClass}" />
				</When>


				<When Name="WhenDepartmentToUseSelected" Condition="${Department} != Empty">
					<GetItem Name="GetItemLongTermAsset" Type="LongTermAsset" OutputProperty="${LongTermAssetInserted}">
						<Filters>
							<PropertyFilter	PropertyName="Department"	Operator="="		PropertyValue="${Department}" />
						</Filters>
					</GetItem>

					<When Name="ChooseDepartmentLongTermAssetNotSet » WhenDepartmentLongTermAssetNotSet" Condition="${LongTermAssetInserted} == Empty">
						<Insert Name="InsertDepartment" ObjectType="LongTermAsset" OutputProperty="${LongTermAssetInserted}">
							<Parameter	Name="Context"			Direction="In"		Value="LongTermAssetContext.LongTermAssetPlan" />
							<Parameter	Name="Status"			Direction="In"		Value="LongTermAssetStatus.Created" />
							<Parameter	Name="Department"		Direction="In"		Value="${Department}" />
							<Parameter	Name="Description"		Direction="In"		Value="${Department.Description}" />
							<Parameter	Name="ReplacementCost"	Direction="In"		Value="${Department.TotalCost}" />
						</Insert>

						<Assign Name="DepartmentSetLongTermAsset" Property="${Department.LongTermAsset}" Value="${LongTermAssetInserted}" />

						<Choose Name="CheckDepartmentToCreateSpaceMaintenance">
							<When Name="CreateDepartmentNewSpaceMaintenance" Condition="${LongTermAssetInserted.SpaceMaintenance} == Empty">
								<WorkflowCall Name="CreateSpaceMaintenance" WorkflowName="LongTermAsset_CreateSpaceMaintenance">
									<Parameter	Name="LongTermAsset"	Direction="In"		Value="${LongTermAssetInserted}" />
									<Parameter	Name="SpaceMaintenance"	Direction="Out"											OutputProperty="${SpaceMaintenance}" />
								</WorkflowCall>
							</When>

							<Otherwise Name="DepartmentSpaceMaintenanceExistsJustUseIt">
								<Assign Name="DepartmentSetNewSpaceMaintenance" Property="${SpaceMaintenance}" Value="${LongTermAssetInserted.SpaceMaintenance}" />
							</Otherwise>
						</Choose>
					</When>
				</When>


				<When Name="WhenBuildingToUseSelected" Condition="${Building} != Empty">
					<GetItem Name="GetItemLongTermAsset" Type="LongTermAsset" OutputProperty="${LongTermAssetInserted}">
						<Filters>
							<PropertyFilter	PropertyName="Building"	Operator="="		PropertyValue="${Building}" />
						</Filters>
					</GetItem>

					<When Name="ChooseBuildingLongTermAssetNotSet » WhenBuildingLongTermAssetNotSet" Condition="${LongTermAssetInserted} == Empty">
						<Insert Name="InsertBuilding" ObjectType="LongTermAsset" OutputProperty="${LongTermAssetInserted}">
							<Parameter	Name="Context"		Direction="In"		Value="LongTermAssetContext.LongTermAssetPlan" />
							<Parameter	Name="Status"		Direction="In"		Value="LongTermAssetStatus.Created" />
							<Parameter	Name="Building"		Direction="In"		Value="${Building}" />
							<Parameter	Name="Description"	Direction="In"		Value="${Building.Description}" />
						</Insert>

						<Assign Name="BuildingSetLongTermAsset" Property="${Building.LongTermAsset}" Value="${LongTermAssetInserted}" />

						<Choose Name="CheckBuildingToCreateSpaceMaintenance">
							<When Name="CreateBuildingNewSpaceMaintenance" Condition="${LongTermAssetInserted.SpaceMaintenance} == Empty">
								<WorkflowCall Name="CreateBuildingSpaceMaintenance" WorkflowName="LongTermAsset_CreateSpaceMaintenance">
									<Parameter	Name="LongTermAsset"	Direction="In"		Value="${LongTermAssetInserted}" />
									<Parameter	Name="SpaceMaintenance"	Direction="Out"											OutputProperty="${SpaceMaintenance}" />
								</WorkflowCall>
							</When>

							<Otherwise Name="BuildingSpaceMaintenanceExistsJustUseIt">
								<Assign Name="BuildingSetNewSpaceMaintenance" Property="${SpaceMaintenance}" Value="${LongTermAssetInserted.SpaceMaintenance}" />
							</Otherwise>
						</Choose>
					</When>
				</When>
			</Choose>
		</Transaction>

		<UserContent Name="Post" />

		<View Name="OpenScreen" ViewName="DataEntryScreen">
			<Parameter	Name="DomainObject"			Direction="In"		Value="${LongTermAssetInserted}" />
			<Parameter	Name="FocusEditableField"	Direction="In"		Value="=${LongTermAssetInserted.Description} == Empty" />
			<Parameter	Name="ScreenName"			Direction="In"		Value="Lta01" />
		</View>
	</Execution>
</Workflow>