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

ActionField236

Beschrijving: Re-open approved PmWorkOrders and approve them again. Custom: Nee

Propertiesbewerken

Property Type Accessor
ContextForBatchProcessing Context Optional
PMWorkOrderApproveMethod Boolean Optional
PMWorkOrderGroupEndDateMethod Int32 Optional

XMLbewerken

<Workflow Name="ActionField236" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Re-open approved PmWorkOrders and approve them again.</Description>
	<Properties>
		<Property	Name="ContextForBatchProcessing"		Type="Context"				Accessor="Optional"	Direction="In"		Default="PmWorkOrderContext.Standard"	Comment="This property replaces the setting ContextForBatchProcessing" />
		<Property	Name="PMWorkOrderApproveMethod"			Type="Boolean"				Accessor="Optional"	Direction="In"		Default="False"							Comment="Not in Use" />
		<Property	Name="PMWorkOrderGroupEndDateMethod"	Type="Int32"				Accessor="Optional"	Direction="In"		Default="1"								Comment="0=PeriodicActivityEndDateManual (PmwEndDate = 0, PmwRecStatus = Created) ,1=PeriodicActivityEndDateEquipment (PmwEndDate comes from EqmLastPmDate of EqmInstDate) ,2=PeriodicActivityEndDateGivenByUser (PmwEndDate is calculated from maintenance date given by user)" />

		<Property	Name="ApprovedPmWorkOrders"				Type="List[PmWorkOrder]"	Accessor="Internal" />
		<Property	Name="NumberOfPmWorkOrdersReapproved"	Type="Int64"				Accessor="Internal" />
	</Properties>
	<Settings>
		<SettingsGroup Name="PmWorkOrder">
			<Setting	Name="ApprovePmJobs"	Type="Boolean"	Value="False" />
		</SettingsGroup>
	</Settings>
	<Execution>
		<UserContent Name="Pre" />

		<Assign Name="Set setting PMWorkOrderGroupEndDateMethod" Property="#{Settings.PmWorkOrder.PMWorkOrderGroupEndDateMethod}" Value="${PMWorkOrderGroupEndDateMethod}" />

		<Transaction>
			<GetList Name="Get approved PmWorkOrders" Type="PmWorkOrder" OutputProperty="${ApprovedPmWorkOrders}" OrderBy="Id" OrderDirection="Ascending">
				<Filters>
					<CombinedFilter FilterOperator="And">
						<PropertyFilter	PropertyName="Context"	Operator="="		PropertyValue="${ContextForBatchProcessing}" />
						<PropertyFilter	PropertyName="Status"	Operator="="		PropertyValue="PmWorkOrderStatus.Approved" />
					</CombinedFilter>
				</Filters>
			</GetList>
		</Transaction>

		<ForEach Name="Reapprove PmWorkOrders" In="${ApprovedPmWorkOrders}" As="PmWorkOrder">
			<Transaction>
				<ChangeStatus Name="Reopen PmWorkOrder" DomainObject="${PmWorkOrder}" NewStatus="PmWorkOrderStatus.Created" />

				<ChangeStatus Name="Reapprove PmWorkOrder" DomainObject="${PmWorkOrder}" NewStatus="PmWorkOrderStatus.Approved" />

				<Counter Name="Increment number of PmWorkOrders reapproved" Property="${NumberOfPmWorkOrdersReapproved}" Step="1" />
			</Transaction>
		</ForEach>

		<UserContent Name="Post" />

		<Choose Name="Number of PmWorkOrders reapproved">
			<When Name="None" Condition="${NumberOfPmWorkOrdersReapproved} == 0">
				<Message Name="ummPMMODELS_STATUS_APPROVED_NOTFOUND" MessageCode="0156" />
			</When>

			<Otherwise Name="One or more">
				<Message Name="ummPMMODELS_UPDATE_SUCCESS" MessageCode="0157">
					<Parameter	Name="NumberOfPmWorkOrdersReapproved"	Direction="In"		Value="${NumberOfPmWorkOrdersReapproved}" />
				</Message>
			</Otherwise>
		</Choose>
	</Execution>
</Workflow>