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

ActionField1602

Beschrijving: Updates the Job's SLA and planning dates when its Priority is changed. Checks whether requested deliveries will (still) be in time. Custom: Nee

Propertiesbewerken

Property Type Accessor
Job Job Root

XMLbewerken

<Workflow Name="ActionField1602" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Updates the Job's SLA and planning dates when its Priority is changed. Checks whether requested deliveries will (still) be in time.</Description>
	<Properties>
		<Property	Name="Job"												Type="Job"			Accessor="Root"		Direction="In" />

		<Property	Name="MessageCode"										Type="String"		Accessor="Internal"						Default="Empty" />
		<Property	Name="OriginalJobScheduledStartDate"					Type="DateTime?"	Accessor="Internal"										Comment="To detect if the ScheduledStartDate has been changed." />
		<Property	Name="OriginalJobSLATargetDate"							Type="DateTime?"	Accessor="Internal"										Comment="To detect if the SLA TargetDate has been changed." />
		<Property	Name="OriginalJobTargetDate"							Type="DateTime?"	Accessor="Internal"										Comment="To detect if the TargetDate has been changed." />
		<Property	Name="PurchaseRequestLineDeliveryDate"					Type="DateTime"		Accessor="Internal" />
		<Property	Name="PurchaseRequestsThatCannotBeDeliveredInTimeCount"	Type="Int64"		Accessor="Internal"						Default="0" />
	</Properties>
	<Execution>
		<Comment><![CDATA[NOTE: when you make changes in this workflow, it's most likely you also need to make them in ActionField1608.wfl and ActionField1609.wfl in the case change of Urgency and Impact results in change in Priority.]]></Comment>

		<UserContent Name="Pre" />

		<Comment><![CDATA[ Explicitly assigning values from the job guaranties these wf properties will keep their value in case they are changed on the job by the BL followed by displaying a user message.]]></Comment>

		<Assign Name="OriginalJobScheduledStartDate" Property="${OriginalJobScheduledStartDate}" Value="${Job.ScheduledStartDate}" />
		<Assign Name="OriginalJobTargetDate" Property="${OriginalJobTargetDate}" Value="${Job.TargetDate}" />
		<Assign Name="OriginalJobSLATargetDate" Property="${OriginalJobSLATargetDate}" Value="${Job.ServiceContractTargetFinishedDate}" />

		<WorkflowCall Name="Job_SetPlanningDatesBySLA" WorkflowName="Job_SetPlanningDatesBySLA">
			<Parameter	Name="Job"	Direction="In"		Value="${Job}" />
		</WorkflowCall>

		<When Name="if no relevant servicelevel found, set planning fields from priority" Condition="${Job.ServiceLevel} == Empty || (${Job.ServiceLevel.ScheduledStartTimeQuantity} == 0 &amp;&amp; #{UltimoSettings.TargetDateFromSlaToJob} == False)">
			<WorkflowCall Name="Job_SetPlanningDatesByPriority" WorkflowName="Job_SetPlanningDatesByPriority">
				<Parameter	Name="Job"	Direction="In"		Value="${Job}" />
			</WorkflowCall>
		</When>

		<WorkflowCall Name="Job_WarnIfStartOrTargetDateIsInThePast" WorkflowName="Job_WarnIfStartOrTargetDateIsInThePast">
			<Parameter	Name="Job"								Direction="In"		Value="${Job}" />
			<Parameter	Name="OriginalJobScheduledStartDate"	Direction="In"		Value="${OriginalJobScheduledStartDate}" />
			<Parameter	Name="OriginalJobTargetDate"			Direction="In"		Value="${OriginalJobTargetDate}" />
		</WorkflowCall>

		<WorkflowCall Name="Job_WarnIfTargetDateIsPastSLATargetDate" WorkflowName="Job_WarnIfTargetDateIsPastSLATargetDate">
			<Parameter	Name="Job"						Direction="In"		Value="${Job}" />
			<Parameter	Name="OriginalJobSLATargetDate"	Direction="In"		Value="${OriginalJobSLATargetDate}" />
			<Parameter	Name="OriginalJobTargetDate"	Direction="In"		Value="${OriginalJobTargetDate}" />
		</WorkflowCall>

		<When Name="Check whether deliveries will be in time" Condition="${Job.ScheduledStartDate} != Empty">
			<WorkflowCall Name="Job_ValidatePurchaseRequestDeliveryDates" WorkflowName="Job_ValidatePurchaseRequestDeliveryDates">
				<Parameter	Name="Job"												Direction="In"		Value="${Job}" />
				<Parameter	Name="MessageCode"										Direction="Out"						OutputProperty="${MessageCode}" />
				<Parameter	Name="PurchaseRequestsThatCannotBeDeliveredInTimeCount"	Direction="Out"						OutputProperty="${PurchaseRequestsThatCannotBeDeliveredInTimeCount}" />
			</WorkflowCall>

			<When Name="PurchaseRequestLines that cannot be delivered in time" Condition="${MessageCode} != Empty">
				<Message Name="Inform about purchase request lines that cannot be delivered in time" MessageCode="${MessageCode}">
					<Parameter	Name="Job"		Direction="In"		Value="${Job}" />
					<Parameter	Name="RowCount"	Direction="In"		Value="${PurchaseRequestsThatCannotBeDeliveredInTimeCount}" />
				</Message>
			</When>
		</When>

		<When Name="Job has a Priority?" Condition="${Job.Priority} != Empty">
			<WorkflowCall Name="Job_InformUserInCaseOfMultipleJobScheduleParts" WorkflowName="Job_InformUserInCaseOfMultipleJobScheduleParts">
				<Parameter	Name="Job"								Direction="In"		Value="${Job}" />
				<Parameter	Name="OriginalJobScheduledStartDate"	Direction="In"		Value="${OriginalJobScheduledStartDate}" />
				<Parameter	Name="OriginalJobTargetDate"			Direction="In"		Value="${OriginalJobTargetDate}" />
			</WorkflowCall>

			<WorkflowCall Name="Job_ShowToastConsiderSendingNotification" WorkflowName="Job_ShowToastConsiderSendingNotification">
				<Parameter	Name="HasPriorityChanged"	Direction="In"		Value="True" />
				<Parameter	Name="Job"					Direction="In"		Value="${Job}" />
			</WorkflowCall>
		</When>

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