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

ActionField694

Beschrijving: Change SpaceMaintenanceActivityMoment and YearPlanScenarioLines Year and update costs of SpaceMaintenanceActivities and SpaceMaintenances. Custom: Nee

Propertiesbewerken

Property Type Accessor
SpaceMaintenanceActivityMoment SpaceMaintenanceActivityMoment Root

XMLbewerken

<Workflow Name="ActionField694" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Change SpaceMaintenanceActivityMoment and YearPlanScenarioLines Year and update costs of SpaceMaintenanceActivities and SpaceMaintenances.</Description>
	<Properties>
		<Property	Name="SpaceMaintenanceActivityMoment"			Type="SpaceMaintenanceActivityMoment"			Accessor="Root"		Direction="In" />

		<Property	Name="ExistingMoment"							Type="SpaceMaintenanceActivityMoment"			Accessor="Internal" />
		<Property	Name="MaxYearInDefinitiveYearPlan"				Type="Int32?"									Accessor="Internal" />
		<Property	Name="NewYear"									Type="Int32"									Accessor="Internal" />
		<Property	Name="YearPlanScenarioLineMaintenanceMoment"	Type="YearPlanScenarioLineMaintenanceMoment"	Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Validation Name="OnlyAllowedWhenStatusIsNotActive" Condition="${SpaceMaintenanceActivityMoment.Id.SpaceMaintenanceActivity.Status} != SpaceMaintenanceActivityStatus.Active" MessageCode="1267" />
		<Validation Name="OnlyAllowedWhenCalculationMethodIsCustom" Condition="${SpaceMaintenanceActivityMoment.Id.SpaceMaintenanceActivity.MaintenanceFrequencyMethod} == 3" MessageCode="1265" />

		<Transaction>
			<GetMax Name="GetHighestDefintiveYearPlan" Type="YearPlanScenarioLine" OutputProperty="${MaxYearInDefinitiveYearPlan}" PropertyName="yrp.Year">
				<Joins>
					<Join	Name="Id.YearPlanScenario"	Alias="yrps"	Type="LeftOuterJoin" />
					<Join	Name="yrps.Id.YearPlan"		Alias="yrp"		Type="LeftOuterJoin" />
				</Joins>
				<Filters>
					<PropertyFilter	PropertyName="SpaceMaintenanceActivity"	Operator="="		PropertyValue="${SpaceMaintenanceActivityMoment.Id.SpaceMaintenanceActivity}" />
					<PropertyFilter	PropertyName="yrps.Status"				Operator="="		PropertyValue="YearPlanScenarioStatus.Definitive" />
				</Filters>
			</GetMax>

			<When Name="CheckIfMaxYearIsEmpty » MaxYearEmpty" Condition="${MaxYearInDefinitiveYearPlan} == Empty">
				<Assign Name="SetMaxYear" Property="${MaxYearInDefinitiveYearPlan}" Value="1900" />
			</When>

			<Validation Name="ValidYearEnteredDefPlanFound" Condition="${SpaceMaintenanceActivityMoment.Year} &gt; ${MaxYearInDefinitiveYearPlan}" MessageCode="1268" />
		</Transaction>

		<Dialog Name="GetNewYear" TitleCode="CHANGE_MAINTENANCE_YEAR">
			<Container>
				<Number Name="Year" Value="${SpaceMaintenanceActivityMoment.Year}" OutputProperty="${NewYear}" ColumnName="SpcmamYear" />
			</Container>
		</Dialog>

		<Transaction>
			<Validation Name="ValidYearEntered" Condition="${NewYear} &gt; ${MaxYearInDefinitiveYearPlan} &amp;&amp; ${NewYear} &lt; 2200" MessageCode="1266" />

			<GetItem Name="GetExistingMoment" Type="SpaceMaintenanceActivityMoment" OutputProperty="${ExistingMoment}">
				<Filters>
					<PropertyFilter	PropertyName="Year"							Operator="="		PropertyValue="${NewYear}" />
					<PropertyFilter	PropertyName="Id.SpaceMaintenanceActivity"	Operator="="		PropertyValue="${SpaceMaintenanceActivityMoment.Id.SpaceMaintenanceActivity}" />
				</Filters>
			</GetItem>

			<Validation Name="AbortIfMomentExists" Condition="${ExistingMoment} == Empty" MessageCode="1270" />

			<ForEach Name="RemoveYearPlanScenarioMomentsWhenAllowed" In="${SpaceMaintenanceActivityMoment.Id.SpaceMaintenanceActivity.YearPlanScenarioLines}" As="YearPlanScenarioLine">
				<When Name="CanBeChanged » WhenStatusConceptOrUpdatable" Condition="${YearPlanScenarioLine.Id.YearPlanScenario.Status} == YearPlanScenarioStatus.Concept || ${YearPlanScenarioLine.Id.YearPlanScenario.Status} == YearPlanScenarioStatus.Updatable">
					<GetItem Name="GetMoment" Type="YearPlanScenarioLineMaintenanceMoment" OutputProperty="${YearPlanScenarioLineMaintenanceMoment}">
						<Filters>
							<PropertyFilter	PropertyName="Id.YearPlanScenarioLine"	Operator="="		PropertyValue="${YearPlanScenarioLine}" />
							<PropertyFilter	PropertyName="Year"						Operator="="		PropertyValue="${SpaceMaintenanceActivityMoment.Year}" />
						</Filters>
					</GetItem>

					<When Name="IfFoundThenDelete » FoundMoment" Condition="${YearPlanScenarioLineMaintenanceMoment} != Empty">
						<Assign Name="AdjustYear" Property="${YearPlanScenarioLineMaintenanceMoment.Year}" Value="${NewYear}" />
					</When>
				</When>
			</ForEach>

			<Assign Name="AdjustYear" Property="${SpaceMaintenanceActivityMoment.Year}" Value="${NewYear}" />

			<WorkflowCall Name="Recalculate" WorkflowName="SpaceMaintenanceActivity_UpdateCostYears">
				<Parameter	Name="SpaceMaintenanceActivity"	Direction="In"		Value="${SpaceMaintenanceActivityMoment.Id.SpaceMaintenanceActivity}" />
			</WorkflowCall>
		</Transaction>

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