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

ActionField1109

Beschrijving: Set Warehouse(Location) (via dialog) for JobMaterial. Custom: Nee

Propertiesbewerken

Property Type Accessor
JobMaterial JobMaterial Root

XMLbewerken

<Workflow Name="ActionField1109" Version="2025.07.28" WorkflowType="Standard" xmlns="urn:Ultimo.Framework.Workflow-mapping">
	<Security EditLevel="10" ViewLevel="20" UserContentLevel="30" />
	<Description>Set Warehouse(Location) (via dialog) for JobMaterial.</Description>
	<Properties>
		<Property	Name="JobMaterial"					Type="JobMaterial"						Accessor="Root"		Direction="In" />

		<Property	Name="ArticleWarehouseLocations"	Type="List[ArticleWarehouseLocation]"	Accessor="Internal" />
		<Property	Name="FoundWarehouseLocation"		Type="WarehouseLocation"				Accessor="Internal" />
		<Property	Name="SelectedWarehouse"			Type="Warehouse"						Accessor="Internal" />
		<Property	Name="Warehouse"					Type="Warehouse"						Accessor="Internal" />
		<Property	Name="WhereClause"					Type="UltimoString"						Accessor="Internal"						Default="not exists (select JobmWhsId from dba.JobMat where JobmJobId = '${JobMaterial.Id.Job.Id}' and JobmLineId = '${JobMaterial.Id.LineId}' and WhsId = JobMat.JobmWhsId) and exists (select ArtwWhsId from dba.ArticleWarehouse where ArticleWarehouse.ArtwArtId = '${JobMaterial.Article.Id}' and WhsId = ArticleWarehouse.ArtwWhsId)" />
	</Properties>
	<Execution>
		<UserContent Name="Pre" />

		<Validation Name="Processed picklist(s)" Condition="${JobMaterial.PickedQuantity} == 0" MessageCode="3766">
			<Parameter	Name="JobMaterial"	Direction="In"		Value="${JobMaterial}" />
		</Validation>

		<Dialog Name="JobMaterial_GetWarehouse" TitleCode="WAREHOUSE_ASSIGN">
			<Container Border="True">
				<SelectionList Name="SelectedWarehouse" OutputProperty="${SelectedWarehouse}" ColumnName="WhsId" Required="True" LabelCode="WAREHOUSECODE" SqlWhereClause="${WhereClause}" />
			</Container>
		</Dialog>

		<Transaction>
			<When Name="When ManageStockPerWarehouse" Condition="#{UltimoSettings.ManageStockPerWarehouse} == True &amp;&amp; ${JobMaterial.ArticleReserved} == True">
				<When Name="Check if JobMaterial.Warehouse is not empty" Condition="${JobMaterial.Warehouse} != Empty">
					<Comment><![CDATA[Decrease Actual Warehouse]]></Comment>

					<WorkflowCall Name="Article reserve" WorkflowName="Article_Reserve">
						<Parameter	Name="Article"				Direction="In"		Value="${JobMaterial.Article}" />
						<Parameter	Name="DomainObject"			Direction="In"		Value="${JobMaterial}" />
						<Parameter	Name="QuantityToReserve"	Direction="In"		Value="=${JobMaterial.ReservedQuantity} * -1" />
						<Parameter	Name="Site"					Direction="In"		Value="${JobMaterial.Id.Job.Site}" />
						<Parameter	Name="Warehouse"			Direction="In"		Value="${JobMaterial.Warehouse}" />
					</WorkflowCall>
				</When>

				<Comment><![CDATA[Increase new Warehouse]]></Comment>

				<WorkflowCall Name="Article reserve" WorkflowName="Article_Reserve">
					<Parameter	Name="Article"				Direction="In"		Value="${JobMaterial.Article}" />
					<Parameter	Name="DomainObject"			Direction="In"		Value="${JobMaterial}" />
					<Parameter	Name="QuantityToReserve"	Direction="In"		Value="=${JobMaterial.ReservedQuantity}" />
					<Parameter	Name="Site"					Direction="In"		Value="${JobMaterial.Id.Job.Site}" />
					<Parameter	Name="Warehouse"			Direction="In"		Value="${SelectedWarehouse}" />
				</WorkflowCall>
			</When>

			<Assign Name="Set JobMaterial.Warehouse" Property="${JobMaterial.Warehouse}" Value="${SelectedWarehouse}" />
			<Assign Name="Set JobMaterial.WarehouseLocation" Property="${JobMaterial.WarehouseLocation}" Value="Empty" />

			<When Name="Warehouse and article available" Condition="${JobMaterial.Warehouse} != Empty &amp;&amp; ${JobMaterial.Article} != Empty">
				<WorkflowCall Name="JobMaterial_GetWarehouseAndArticleWarehouseLocation" WorkflowName="JobMaterial_GetWarehouseAndArticleWarehouseLocation">
					<Parameter	Name="JobMaterial"	Direction="In"		Value="${JobMaterial}" />
				</WorkflowCall>
			</When>
		</Transaction>

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