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

ActionField1624

Beschrijving: Copy DowntimeRequired from Jobplan to PmJob. Custom: Nee

Propertiesbewerken

Property Type Accessor
JobPlan JobPlan Root
UpdatePmJobsWhenDowntimeRequiredIsFalse Boolean Optional

XMLbewerken

<Workflow Name="ActionField1624" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Copy DowntimeRequired from Jobplan to PmJob.</Description>
	<Properties>
		<Property	Name="JobPlan"									Type="JobPlan"				Accessor="Root"		Direction="In" />

		<Property	Name="UpdatePmJobsWhenDowntimeRequiredIsFalse"	Type="Boolean"				Accessor="Optional"	Direction="In"		Default="True"	Comment="Update PmJobs when DowntimeRequired is False" />

		<Property	Name="Count"									Type="Int64"				Accessor="Internal" />
		<Property	Name="PmJobJobPlans"							Type="List[PmJobJobPlan]"	Accessor="Internal" />
		<Property	Name="PmJobs"									Type="List[PmJob]"			Accessor="Internal" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<When Name="Name" Condition="${JobPlan.DowntimeRequired} == False &amp;&amp; ${UpdatePmJobsWhenDowntimeRequiredIsFalse} == False">
			<Stop Name="Stop" Mode="EndCurrent" />
		</When>

		<Transaction IncludeTrashedObjects="True" Comment="No untrash for PmJob">
			<GetList Name="Get PM jobs for this jobplan" Type="PmJob" OutputProperty="${PmJobs}" OrderBy="Id" OrderDirection="Ascending">
				<Filters>
					<PropertyFilter	PropertyName="JobPlan"	Operator="="		PropertyValue="${JobPlan}" />
					<NotFilter>
						<PropertyFilter	PropertyName="DowntimeRequired"	Operator="="		PropertyValue="${JobPlan.DowntimeRequired}" />
					</NotFilter>
				</Filters>
			</GetList>

			<ForEach Name="Update each PM job" In="${PmJobs}" As="PmJob">
				<Assign Name="Set DowntimeRequired" Property="${PmJob.DowntimeRequired}" Value="${JobPlan.DowntimeRequired}" />
			</ForEach>

			<GetList Name="Get PmJobJobPlan" Type="PmJobJobPlan" OutputProperty="${PmJobJobPlans}" OrderBy="Id" OrderDirection="Ascending" Comment="Get PmJobJobPlan linked with pmjob">
				<Joins>
					<Join	Name="PmJob"	Alias="pmJob"	Type="InnerJoin" />
				</Joins>
				<Filters>
					<PropertyFilter	PropertyName="JobPlan"	Operator="="		PropertyValue="${JobPlan}" />
					<NotFilter>
						<PropertyFilter	PropertyName="pmJob.DowntimeRequired"	Operator="="		PropertyValue="${JobPlan.DowntimeRequired}" />
					</NotFilter>
				</Filters>
			</GetList>

			<ForEach Name="ForEach PmJobJobPlan" In="${PmJobJobPlans}" As="PmJobJobPlan">
				<When Name="JobPlan.DowntimeRequired is True" Condition="${PmJobJobPlan.JobPlan.DowntimeRequired} == True">
					<Assign Name="Set DowntimeRequired" Property="${PmJobJobPlan.PmJob.DowntimeRequired}" Value="${JobPlan.DowntimeRequired}" />
				</When>

				<When Name="JobPlan.DowntimeRequired is False" Condition="${PmJobJobPlan.JobPlan.DowntimeRequired} == False">
					<GetCount Name="Get PmJobJobPlan" Type="PmJobJobPlan" OutputProperty="${Count}" Comment="Get PmJobJobPlan linked with pmjob">
						<Joins>
							<Join	Name="JobPlan"	Alias="jobPlan"	Type="InnerJoin" />
						</Joins>
						<Filters>
							<PropertyFilter	PropertyName="PmJob"					Operator="="		PropertyValue="${PmJobJobPlan.PmJob}" />
							<PropertyFilter	PropertyName="jobPlan.DowntimeRequired"	Operator="="		PropertyValue="true" />
						</Filters>
					</GetCount>

					<When Name="Change allowed" Condition="${Count} == 0 &amp;&amp; (${PmJobJobPlan.PmJob.JobPlan} == Empty || ${PmJobJobPlan.PmJob.JobPlan.DowntimeRequired} == False)">
						<Assign Name="Set DowntimeRequired" Property="${PmJobJobPlan.PmJob.DowntimeRequired}" Value="False" />
					</When>
				</When>
			</ForEach>
		</Transaction>

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