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

ActionField590

Beschrijving: Change status of PurchaseRequestLine to Tender. Create new PurchaseRequest(Tender) or select an existing PurchaseRequest(Tender) for this PurchaseRequestLine. Custom: Nee

Propertiesbewerken

Property Type Accessor
PurchaseRequestLine PurchaseRequestLine Root

XMLbewerken

<Workflow Name="ActionField590" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Change status of PurchaseRequestLine to Tender. Create new PurchaseRequest(Tender) or select an existing PurchaseRequest(Tender) for this PurchaseRequestLine.</Description>
	<Properties>
		<Property	Name="PurchaseRequestLine"	Type="PurchaseRequestLine"	Accessor="Root"		Direction="In" />

		<Property	Name="AddToPurchaseRequest"	Type="RequestResult"		Accessor="Internal"						Default="No" />
		<Property	Name="OtherScreen"			Type="UltimoString"			Accessor="Internal"						Default="Pchr02" />
		<Property	Name="PurchaseRequest"		Type="PurchaseRequest"		Accessor="Internal" />
		<Property	Name="RequestForQuotation"	Type="RequestForQuotation"	Accessor="Internal" />
		<Property	Name="ScreenActive"			Type="UltimoString"			Accessor="Internal"						Default="Pchr03" />
		<Property	Name="WhereClause"			Type="UltimoString"			Accessor="Internal"						Default="PchrContext=2 and PchrRecStatus in(1,64)" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Question Name="AddToExistingPurchaseRequest?" Type="YesNoCancel" MessageCode="1184" Default="No" OutputProperty="${AddToPurchaseRequest}" />

		<Choose Name="AddToExistingPurchaseRequest">
			<When Name="Answer is Yes" Condition="${AddToPurchaseRequest} == Yes">
				<Dialog Name="PurchaseRequestDialog" TitleCode="SELECT_QUOTATION_PROCESS">
					<Container>
						<SelectionList Name="PurchaseRequest" OutputProperty="${PurchaseRequest}" ColumnName="PchrId" ViewfieldConfiguration="OFFERTETRAJECT" Required="True" SqlWhereClause="${WhereClause}" />
					</Container>
				</Dialog>
			</When>


			<When Name="Answer is No" Condition="${AddToPurchaseRequest} == No">
				<When Name="Check if RequestDeliveryDate is not Empty » IsEmpty" Condition="${PurchaseRequestLine.RequestedDeliveryDate} != Empty">
					<Message Name="ummPURCHASELINEDELIVERYDATE(2033)" MessageCode="1213">
						<Parameter	Name="PurchaseRequestLine"	Direction="In"		Value="${PurchaseRequestLine}" />
					</Message>
				</When>

				<Transaction>
					<Insert Name="InsertNewPurchaseRequest" ObjectType="PurchaseRequest" OutputProperty="${PurchaseRequest}">
						<Parameter	Name="Context"	Direction="In"		Value="PurchaseRequestContext.Tender" />
						<Parameter	Name="Status"	Direction="In"		Value="PurchaseRequestStatus.None" />
					</Insert>

					<ChangeStatus Name="ChangeStatusToCreated" DomainObject="${PurchaseRequest}" NewStatus="PurchaseRequestStatus.Created" />

					<Assign Name="AssignDate" Property="${PurchaseRequest.Date}" Value="#{Environment.CurrentDate}" />
				</Transaction>
			</When>


			<When Name="Answer is Cancel" Condition="${AddToPurchaseRequest} == Cancel">
				<Stop Name="Stop" Mode="Abort" />
			</When>
		</Choose>

		<Transaction>
			<Assign Name="SetTenderId" Property="${PurchaseRequestLine.Tender}" Value="${PurchaseRequest}" />

			<ChangeStatus Name="PurchaseRequestLineStatusToTender" DomainObject="${PurchaseRequestLine}" NewStatus="PurchaseRequestLineStatus.Tender" />
		</Transaction>

		<UserContent Name="Post" />

		<Choose Name="SetNextScreen">
			<When Name="If PurchaseRequest.Status is Active" Condition="${PurchaseRequest.Status} == PurchaseRequestStatus.Active">
				<View Name="ActiveScreen" ViewName="DataEntryScreen">
					<Parameter	Name="DomainObject"			Direction="In"		Value="${PurchaseRequest}" />
					<Parameter	Name="FocusEditableField"	Direction="In"		Value="=${PurchaseRequest.Description} == Empty" />
					<Parameter	Name="ScreenName"			Direction="In"		Value="${ScreenActive}" />
				</View>
			</When>

			<Otherwise Name="Other status">
				<View Name="OtherStatusScreen" ViewName="DataEntryScreen">
					<Parameter	Name="DomainObject"			Direction="In"		Value="${PurchaseRequest}" />
					<Parameter	Name="FocusEditableField"	Direction="In"		Value="=${PurchaseRequest.Description} == Empty" />
					<Parameter	Name="ScreenName"			Direction="In"		Value="${OtherScreen}" />
				</View>
			</Otherwise>
		</Choose>
	</Execution>
</Workflow>