== Physical Plan ==
CollectLimit (101)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- Project (100)
+- Exchange (99)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- ObjectHashAggregate (98)
+- Exchange (97)
+- ObjectHashAggregate (96)
+- Project (95)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- Project (94)
+- BroadcastHashJoin LeftOuter BuildRight (93)
:- Project (67)
: +- Project (66)
: +- ObjectHashAggregate (65)
: +- Exchange (64)
: +- ObjectHashAggregate (63)
: +- ObjectHashAggregate (62)
: +- Exchange (61)
: +- ObjectHashAggregate (60)
: +- Project (59)
: +- Project (58)
: +- Project (57)
: +- * Project (56)
: +- * Filter (55)
: +- InMemoryTableScan (7)
: +- InMemoryRelation (8)
: +- * Project (54)
: +- * SortMergeJoin LeftOuter (53)
: :- * Project (45)
: : +- * SortMergeJoin LeftOuter (44)
: : :- * Project (36)
: : : +- * SortMergeJoin LeftOuter (35)
: : : :- * Sort (29)
: : : : +- Exchange (28)
: : : : +- * Project (27)
: : : : +- * BroadcastHashJoin LeftOuter BuildRight (26)
: : : : :- * Project (18)
: : : : : +- * Generate (17)
: : : : : +- * Filter (16)
: : : : : +- InMemoryTableScan (9)
: : : : : +- InMemoryRelation (10)
: : : : : +- * Filter (15)
: : : : : +- InMemoryTableScan (11)
: : : : : +- InMemoryRelation (12)
: : : : : +- * Filter (14)
: : : : : +- * Scan ExistingRDD (13)
: : : : +- BroadcastExchange (25)
: : : : +- * Project (24)
: : : : +- Exchange (23)
: : : : +- * Project (22)
: : : : +- * Filter (21)
: : : : +- * ColumnarToRow (20)
: : : : +- Scan parquet (19)
: : : +- * Sort (34)
: : : +- Exchange (33)
: : : +- * Project (32)
: : : +- * Filter (31)
: : : +- * Scan ExistingRDD (30)
: : +- * Sort (43)
: : +- ObjectHashAggregate (42)
: : +- Exchange (41)
: : +- ObjectHashAggregate (40)
: : +- * Project (39)
: : +- * Filter (38)
: : +- * Scan ExistingRDD (37)
: +- * Sort (52)
: +- ObjectHashAggregate (51)
: +- Exchange (50)
: +- ObjectHashAggregate (49)
: +- * Project (48)
: +- * Filter (47)
: +- * Scan ExistingRDD (46)
+- BroadcastExchange (92)
+- Project (91)
+- * BroadcastHashJoin Inner BuildLeft (90)
:- BroadcastExchange (71)
: +- * Filter (70)
: +- InMemoryTableScan (68)
: +- InMemoryRelation (69)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * HashAggregate (89)
+- Exchange (88)
+- * HashAggregate (87)
+- * Project (86)
+- * BroadcastHashJoin Inner BuildLeft (85)
:- BroadcastExchange (78)
: +- * Project (77)
: +- * Generate (76)
: +- * Project (75)
: +- * Filter (74)
: +- InMemoryTableScan (72)
: +- InMemoryRelation (73)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * Project (84)
+- Exchange (83)
+- * Project (82)
+- * Filter (81)
+- * ColumnarToRow (80)
+- Scan parquet (79)
(1) InMemoryTableScan
Output: []
(2) InMemoryRelation
Arguments: [shardId#870565, orderProposals#874643], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [3]: [shardId#870565, resultSeparationId#874639L, orderProposals#874643]
Arguments: [shardId#870565, resultSeparationId#874639L, orderProposals#874643]
(4) InMemoryRelation
Arguments: [shardId#870565, resultSeparationId#874639L, orderProposals#874643], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [2]: [orderProposal#872903, shardId#870565]
Arguments: [orderProposal#872903, shardId#870565]
(6) InMemoryRelation
Arguments: [shardId#870565, orderProposal#872903], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [39]: [availabilityDateTime#871255, channelStreamSpecificKpis#871996, constraintLabels#871267, constraintOperators#871268, constraintValues#871270, deliveryDateTime#871254, isFallbackOrderOnly#871257, logisticUnits#871272, measurements#871265, minimumOrderQuantity#871266, netPriceAmount#871263, netPriceCurrencyCode#871264, netPriceQuantity#871260, netPriceQuantityUom#871261, netPriceQuantityUomUuid#871262, nextAvailabilityDateTime#871256, optimizationGroups#871273, orderDateTime#871253, orderProposalId#871235L, orderProposalItemGroupId#871237, orderProposalItemId#871236, orderQuantityBaseUom#871258, orderQuantityBaseUomUuid#871259, originalReplenishmentRunId#871238L, plant#871249, previousOrderProposal#871241L, prodLocSpecificKpis#871981, product#871248, productGroup#871277, qty#871079, quantityAfterProdPlantOptimization#871078, quantityKpis#872009, shardId#870565, sourceOfSupplyUuid#871244, splitIndicator#871240L, subrange#871247, supplier#871246, supplierGroup#871245, supplyingPlant#871276]
Arguments: [availabilityDateTime#871255, channelStreamSpecificKpis#871996, constraintLabels#871267, constraintOperators#871268, constraintValues#871270, deliveryDateTime#871254, isFallbackOrderOnly#871257, logisticUnits#871272, measurements#871265, minimumOrderQuantity#871266, netPriceAmount#871263, netPriceCurrencyCode#871264, netPriceQuantity#871260, netPriceQuantityUom#871261, netPriceQuantityUomUuid#871262, nextAvailabilityDateTime#871256, optimizationGroups#871273, orderDateTime#871253, orderProposalId#871235L, orderProposalItemGroupId#871237, orderProposalItemId#871236, orderQuantityBaseUom#871258, orderQuantityBaseUomUuid#871259, originalReplenishmentRunId#871238L, plant#871249, ... 14 more fields], [NOT (isFallbackOrderOnly#871257 <=> true)]
(8) InMemoryRelation
Arguments: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871235L, originalReplenishmentRunId#871238L, supplierGroup#871245, supplier#871246, supplyingPlant#871276, productGroup#871277, product#871248, plant#871249, subrange#871247, orderDateTime#871253, deliveryDateTime#871254, availabilityDateTime#871255, nextAvailabilityDateTime#871256, constraintValues#871270, constraintOperators#871268, constraintLabels#871267, logisticUnits#871272, orderQuantityBaseUom#871258, orderQuantityBaseUomUuid#871259, splitIndicator#871240L, netPriceAmount#871263, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [2]: [shardId#870565, items#870567]
Arguments: [shardId#870565, items#870567], [(size(items#870567, true) > 0), isnotnull(items#870567)]
(10) InMemoryRelation
Arguments: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, optimizationInsights#870571], StorageLevel(disk, memory, 2 replicas)
(11) InMemoryTableScan
Output [6]: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, optimizationInsights#870571]
Arguments: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, optimizationInsights#870571], [isnotnull(shardId#870565), (shardId#870565 = 0_1_10000002109)]
(12) InMemoryRelation
Arguments: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, lastModified#870570, optimizationInsights#870571], StorageLevel(disk, memory, 2 replicas)
(13) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, lastModified#870570, optimizationInsights#870571]
Arguments: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, lastModified#870570, optimizationInsights#870571], MapPartitionsRDD[40891] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(14) Filter [codegen id : 1]
Input [7]: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, lastModified#870570, optimizationInsights#870571]
Condition : (isnotnull(shardId#870565) AND (shardId#870565 = 0_1_10000002109))
(15) Filter [codegen id : 1]
Input [6]: [shardId#870565, orderProposalId#870566L, items#870567, optimizationGroups#870568, isOptimal#870569, optimizationInsights#870571]
Condition : (isnotnull(shardId#870565) AND (shardId#870565 = 0_1_10000002109))
(16) Filter [codegen id : 3]
Input [2]: [shardId#870565, items#870567]
Condition : ((size(items#870567, true) > 0) AND isnotnull(items#870567))
(17) Generate [codegen id : 3]
Input [2]: [shardId#870565, items#870567]
Arguments: explode(items#870567), [shardId#870565], false, [item#871076]
(18) Project [codegen id : 3]
Output [4]: [shardId#870565, item#871076.worklistShardItemId AS worklistShardItemId#871077L, item#871076.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#871078, item#871076.qty AS qty#871079]
Input [2]: [shardId#870565, item#871076]
(19) Scan parquet
Output [38]: [orderProposalId#871278L, orderProposalItemId#871279, supplierGroup#871280, supplier#871281, plant#871282, deliveryDateTime#871283, subrange#871284, supplyingPlant#871285, productGroup#871286, product#871287, orderDateTime#871288, availabilityDateTime#871289, nextAvailabilityDateTime#871290, sourceOfSupplyUuid#871292, isFallbackOrderOnly#871295, splitIndicator#871297L, previousOrderProposal#871298L, worklistShardItemId#871301L, orderProposalItemGroupId#871302, externalProductId#871303, externalPlantId#871304, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, measurements#871319, originalReplenishmentRunId#871320L, optimizationGroups#871321, shardId#871322, sequenceId#871300]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000002109]
PartitionFilters: [isnotnull(shardId#871322), isnotnull(sequenceId#871300), (shardId#871322 = 0_1_10000002109), (sequenceId#871300 = 1)]
PushedFilters: [IsNotNull(worklistShardItemId)]
ReadSchema: struct<orderProposalId:bigint,orderProposalItemId:string,supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:string,supplyingPlant:string,productGroup:string,product:string,orderDateTime:timestamp,availabilityDateTime:timestamp,nextAvailabilityDateTime:timestamp,sourceOfSupplyUuid:string,isFallbackOrderOnly:boolean,splitIndicator:bigint,previousOrderProposal:bigint,worklistShardItemId:bigint,orderProposalItemGroupId:string,externalProductId:string,externalPlantId:string,logisticUnits:array<struct<uom:string,uomUuid:string,numerator:int,denominator:int,isOrderUnit:boolean,isPreferred:boolean>>,orderQuantityBaseUom:string,orderQuantityBaseUomUuid:string,minimumOrderQuantity:double,constraintLabels:array<string>,constraintOperators:array<string>,constraintValues:array<double>,netPriceAmount:double,netPriceCurrencyCode:string,netPriceQuantity:double,netPriceQuantityUom:string,netPriceQuantityUomUuid:string,measurements:array<struct<value:double,dimensionType:int,dimensionCode:string,dimensionCodeUuid:string,isoCode:string>>,originalReplenishmentRunId:bigint,optimizationGroups:array<string>>
(20) ColumnarToRow [codegen id : 1]
Input [38]: [orderProposalId#871278L, orderProposalItemId#871279, supplierGroup#871280, supplier#871281, plant#871282, deliveryDateTime#871283, subrange#871284, supplyingPlant#871285, productGroup#871286, product#871287, orderDateTime#871288, availabilityDateTime#871289, nextAvailabilityDateTime#871290, sourceOfSupplyUuid#871292, isFallbackOrderOnly#871295, splitIndicator#871297L, previousOrderProposal#871298L, worklistShardItemId#871301L, orderProposalItemGroupId#871302, externalProductId#871303, externalPlantId#871304, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, measurements#871319, originalReplenishmentRunId#871320L, optimizationGroups#871321, shardId#871322, sequenceId#871300]
(21) Filter [codegen id : 1]
Input [38]: [orderProposalId#871278L, orderProposalItemId#871279, supplierGroup#871280, supplier#871281, plant#871282, deliveryDateTime#871283, subrange#871284, supplyingPlant#871285, productGroup#871286, product#871287, orderDateTime#871288, availabilityDateTime#871289, nextAvailabilityDateTime#871290, sourceOfSupplyUuid#871292, isFallbackOrderOnly#871295, splitIndicator#871297L, previousOrderProposal#871298L, worklistShardItemId#871301L, orderProposalItemGroupId#871302, externalProductId#871303, externalPlantId#871304, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, measurements#871319, originalReplenishmentRunId#871320L, optimizationGroups#871321, shardId#871322, sequenceId#871300]
Condition : isnotnull(worklistShardItemId#871301L)
(22) Project [codegen id : 1]
Output [36]: [orderProposalId#871278L, orderProposalItemId#871279, supplierGroup#871280, supplier#871281, plant#871282, deliveryDateTime#871283, subrange#871284, supplyingPlant#871285, productGroup#871286, product#871287, orderDateTime#871288, availabilityDateTime#871289, nextAvailabilityDateTime#871290, sourceOfSupplyUuid#871292, isFallbackOrderOnly#871295, splitIndicator#871297L, previousOrderProposal#871298L, worklistShardItemId#871301L, orderProposalItemGroupId#871302, externalProductId#871303, externalPlantId#871304, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, measurements#871319, originalReplenishmentRunId#871320L, optimizationGroups#871321]
Input [38]: [orderProposalId#871278L, orderProposalItemId#871279, supplierGroup#871280, supplier#871281, plant#871282, deliveryDateTime#871283, subrange#871284, supplyingPlant#871285, productGroup#871286, product#871287, orderDateTime#871288, availabilityDateTime#871289, nextAvailabilityDateTime#871290, sourceOfSupplyUuid#871292, isFallbackOrderOnly#871295, splitIndicator#871297L, previousOrderProposal#871298L, worklistShardItemId#871301L, orderProposalItemGroupId#871302, externalProductId#871303, externalPlantId#871304, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, measurements#871319, originalReplenishmentRunId#871320L, optimizationGroups#871321, shardId#871322, sequenceId#871300]
(23) Exchange
Input [36]: [orderProposalId#871278L, orderProposalItemId#871279, supplierGroup#871280, supplier#871281, plant#871282, deliveryDateTime#871283, subrange#871284, supplyingPlant#871285, productGroup#871286, product#871287, orderDateTime#871288, availabilityDateTime#871289, nextAvailabilityDateTime#871290, sourceOfSupplyUuid#871292, isFallbackOrderOnly#871295, splitIndicator#871297L, previousOrderProposal#871298L, worklistShardItemId#871301L, orderProposalItemGroupId#871302, externalProductId#871303, externalPlantId#871304, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, measurements#871319, originalReplenishmentRunId#871320L, optimizationGroups#871321]
Arguments: hashpartitioning(worklistShardItemId#871301L, 20), REPARTITION_BY_NUM, [plan_id=342791]
(24) Project [codegen id : 2]
Output [36]: [worklistShardItemId#871301L, orderProposalId#871278L, orderProposalItemId#871279, orderProposalItemGroupId#871302, originalReplenishmentRunId#871320L, splitIndicator#871297L, previousOrderProposal#871298L, sourceOfSupplyUuid#871292, supplierGroup#871280, supplier#871281, subrange#871284, product#871287, plant#871282, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, isFallbackOrderOnly#871295, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, netPriceAmount#871314, netPriceCurrencyCode#871315, measurements#871319, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, logisticUnits#871305, optimizationGroups#871321, externalProductId#871303, externalPlantId#871304, supplyingPlant#871285, productGroup#871286]
Input [36]: [orderProposalId#871278L, orderProposalItemId#871279, supplierGroup#871280, supplier#871281, plant#871282, deliveryDateTime#871283, subrange#871284, supplyingPlant#871285, productGroup#871286, product#871287, orderDateTime#871288, availabilityDateTime#871289, nextAvailabilityDateTime#871290, sourceOfSupplyUuid#871292, isFallbackOrderOnly#871295, splitIndicator#871297L, previousOrderProposal#871298L, worklistShardItemId#871301L, orderProposalItemGroupId#871302, externalProductId#871303, externalPlantId#871304, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, measurements#871319, originalReplenishmentRunId#871320L, optimizationGroups#871321]
(25) BroadcastExchange
Input [36]: [worklistShardItemId#871301L, orderProposalId#871278L, orderProposalItemId#871279, orderProposalItemGroupId#871302, originalReplenishmentRunId#871320L, splitIndicator#871297L, previousOrderProposal#871298L, sourceOfSupplyUuid#871292, supplierGroup#871280, supplier#871281, subrange#871284, product#871287, plant#871282, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, isFallbackOrderOnly#871295, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, netPriceAmount#871314, netPriceCurrencyCode#871315, measurements#871319, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, logisticUnits#871305, optimizationGroups#871321, externalProductId#871303, externalPlantId#871304, supplyingPlant#871285, productGroup#871286]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=342795]
(26) BroadcastHashJoin [codegen id : 3]
Left keys [1]: [worklistShardItemId#871077L]
Right keys [1]: [worklistShardItemId#871301L]
Join type: LeftOuter
Join condition: (shardId#870565 = 0_1_10000002109)
(27) Project [codegen id : 3]
Output [39]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295]
Input [40]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, worklistShardItemId#871301L, orderProposalId#871278L, orderProposalItemId#871279, orderProposalItemGroupId#871302, originalReplenishmentRunId#871320L, splitIndicator#871297L, previousOrderProposal#871298L, sourceOfSupplyUuid#871292, supplierGroup#871280, supplier#871281, subrange#871284, product#871287, plant#871282, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, isFallbackOrderOnly#871295, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, netPriceAmount#871314, netPriceCurrencyCode#871315, measurements#871319, minimumOrderQuantity#871308, constraintLabels#871309, constraintOperators#871310, constraintValues#871311, logisticUnits#871305, optimizationGroups#871321, externalProductId#871303, externalPlantId#871304, supplyingPlant#871285, productGroup#871286]
(28) Exchange
Input [39]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295]
Arguments: hashpartitioning(shardId#870565, worklistShardItemId#871077L, 20), ENSURE_REQUIREMENTS, [plan_id=342800]
(29) Sort [codegen id : 4]
Input [39]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295]
Arguments: [shardId#870565 ASC NULLS FIRST, worklistShardItemId#871077L ASC NULLS FIRST], false, 0
(30) Scan ExistingRDD [codegen id : 5]
Output [6]: [shardId#871974, worklistShardItemId#871975L, qty#871976, demandChannel#871977, demandStream#871978, kpis#871979]
Arguments: [shardId#871974, worklistShardItemId#871975L, qty#871976, demandChannel#871977, demandStream#871978, kpis#871979], MapPartitionsRDD[40965] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(31) Filter [codegen id : 5]
Input [6]: [shardId#871974, worklistShardItemId#871975L, qty#871976, demandChannel#871977, demandStream#871978, kpis#871979]
Condition : (((isnull(qty#871976) AND isnull(demandChannel#871977)) AND isnull(demandStream#871978)) AND (isnotnull(shardId#871974) AND isnotnull(worklistShardItemId#871975L)))
(32) Project [codegen id : 5]
Output [3]: [shardId#871974, worklistShardItemId#871975L, coalesce(kpis#871979, []) AS prodLocSpecificKpis#871980]
Input [6]: [shardId#871974, worklistShardItemId#871975L, qty#871976, demandChannel#871977, demandStream#871978, kpis#871979]
(33) Exchange
Input [3]: [shardId#871974, worklistShardItemId#871975L, prodLocSpecificKpis#871980]
Arguments: hashpartitioning(shardId#871974, worklistShardItemId#871975L, 20), ENSURE_REQUIREMENTS, [plan_id=342806]
(34) Sort [codegen id : 6]
Input [3]: [shardId#871974, worklistShardItemId#871975L, prodLocSpecificKpis#871980]
Arguments: [shardId#871974 ASC NULLS FIRST, worklistShardItemId#871975L ASC NULLS FIRST], false, 0
(35) SortMergeJoin [codegen id : 7]
Left keys [2]: [shardId#870565, worklistShardItemId#871077L]
Right keys [2]: [shardId#871974, worklistShardItemId#871975L]
Join type: LeftOuter
Join condition: None
(36) Project [codegen id : 7]
Output [40]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295, coalesce(prodLocSpecificKpis#871980, []) AS prodLocSpecificKpis#871981]
Input [42]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295, shardId#871974, worklistShardItemId#871975L, prodLocSpecificKpis#871980]
(37) Scan ExistingRDD [codegen id : 8]
Output [6]: [shardId#871990, worklistShardItemId#871991L, qty#871992, demandChannel#871993, demandStream#871994, kpis#871995]
Arguments: [shardId#871990, worklistShardItemId#871991L, qty#871992, demandChannel#871993, demandStream#871994, kpis#871995], MapPartitionsRDD[40965] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(38) Filter [codegen id : 8]
Input [6]: [shardId#871990, worklistShardItemId#871991L, qty#871992, demandChannel#871993, demandStream#871994, kpis#871995]
Condition : ((((isnull(qty#871992) AND isnotnull(demandChannel#871993)) AND isnotnull(demandStream#871994)) AND (size(kpis#871995, true) > 0)) AND (isnotnull(shardId#871990) AND isnotnull(worklistShardItemId#871991L)))
(39) Project [codegen id : 8]
Output [5]: [shardId#871990, worklistShardItemId#871991L, demandChannel#871993, demandStream#871994, kpis#871995]
Input [6]: [shardId#871990, worklistShardItemId#871991L, qty#871992, demandChannel#871993, demandStream#871994, kpis#871995]
(40) ObjectHashAggregate
Input [5]: [shardId#871990, worklistShardItemId#871991L, demandChannel#871993, demandStream#871994, kpis#871995]
Keys [2]: [shardId#871990, worklistShardItemId#871991L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#871993, demandStream, demandStream#871994, kpis, kpis#871995), 0, 0)]
Aggregate Attributes [1]: [buf#872170]
Results [3]: [shardId#871990, worklistShardItemId#871991L, buf#872171]
(41) Exchange
Input [3]: [shardId#871990, worklistShardItemId#871991L, buf#872171]
Arguments: hashpartitioning(shardId#871990, worklistShardItemId#871991L, 20), ENSURE_REQUIREMENTS, [plan_id=342817]
(42) ObjectHashAggregate
Input [3]: [shardId#871990, worklistShardItemId#871991L, buf#872171]
Keys [2]: [shardId#871990, worklistShardItemId#871991L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#871993, demandStream, demandStream#871994, kpis, kpis#871995), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#871993, demandStream, demandStream#871994, kpis, kpis#871995), 0, 0)#871989]
Results [3]: [shardId#871990, worklistShardItemId#871991L, collect_list(struct(demandChannel, demandChannel#871993, demandStream, demandStream#871994, kpis, kpis#871995), 0, 0)#871989 AS channelStreamSpecificKpis#871982]
(43) Sort [codegen id : 9]
Input [3]: [shardId#871990, worklistShardItemId#871991L, channelStreamSpecificKpis#871982]
Arguments: [shardId#871990 ASC NULLS FIRST, worklistShardItemId#871991L ASC NULLS FIRST], false, 0
(44) SortMergeJoin [codegen id : 10]
Left keys [2]: [shardId#870565, worklistShardItemId#871077L]
Right keys [2]: [shardId#871990, worklistShardItemId#871991L]
Join type: LeftOuter
Join condition: None
(45) Project [codegen id : 10]
Output [41]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295, prodLocSpecificKpis#871981, coalesce(channelStreamSpecificKpis#871982, []) AS channelStreamSpecificKpis#871996]
Input [43]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295, prodLocSpecificKpis#871981, shardId#871990, worklistShardItemId#871991L, channelStreamSpecificKpis#871982]
(46) Scan ExistingRDD [codegen id : 11]
Output [6]: [shardId#872003, worklistShardItemId#872004L, qty#872005, demandChannel#872006, demandStream#872007, kpis#872008]
Arguments: [shardId#872003, worklistShardItemId#872004L, qty#872005, demandChannel#872006, demandStream#872007, kpis#872008], MapPartitionsRDD[40965] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(47) Filter [codegen id : 11]
Input [6]: [shardId#872003, worklistShardItemId#872004L, qty#872005, demandChannel#872006, demandStream#872007, kpis#872008]
Condition : ((isnotnull(qty#872005) AND isnotnull(kpis#872008)) AND (isnotnull(shardId#872003) AND isnotnull(worklistShardItemId#872004L)))
(48) Project [codegen id : 11]
Output [4]: [shardId#872003, worklistShardItemId#872004L, qty#872005, kpis#872008]
Input [6]: [shardId#872003, worklistShardItemId#872004L, qty#872005, demandChannel#872006, demandStream#872007, kpis#872008]
(49) ObjectHashAggregate
Input [4]: [shardId#872003, worklistShardItemId#872004L, qty#872005, kpis#872008]
Keys [2]: [shardId#872003, worklistShardItemId#872004L]
Functions [1]: [partial_collect_list(struct(qty, qty#872005, kpis, kpis#872008), 0, 0)]
Aggregate Attributes [1]: [buf#872172]
Results [3]: [shardId#872003, worklistShardItemId#872004L, buf#872173]
(50) Exchange
Input [3]: [shardId#872003, worklistShardItemId#872004L, buf#872173]
Arguments: hashpartitioning(shardId#872003, worklistShardItemId#872004L, 20), ENSURE_REQUIREMENTS, [plan_id=342829]
(51) ObjectHashAggregate
Input [3]: [shardId#872003, worklistShardItemId#872004L, buf#872173]
Keys [2]: [shardId#872003, worklistShardItemId#872004L]
Functions [1]: [collect_list(struct(qty, qty#872005, kpis, kpis#872008), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#872005, kpis, kpis#872008), 0, 0)#872002]
Results [3]: [shardId#872003, worklistShardItemId#872004L, map_from_entries(collect_list(struct(qty, qty#872005, kpis, kpis#872008), 0, 0)#872002) AS quantityKpis#871997]
(52) Sort [codegen id : 12]
Input [3]: [shardId#872003, worklistShardItemId#872004L, quantityKpis#871997]
Arguments: [shardId#872003 ASC NULLS FIRST, worklistShardItemId#872004L ASC NULLS FIRST], false, 0
(53) SortMergeJoin [codegen id : 13]
Left keys [2]: [shardId#870565, worklistShardItemId#871077L]
Right keys [2]: [shardId#872003, worklistShardItemId#872004L]
Join type: LeftOuter
Join condition: None
(54) Project [codegen id : 13]
Output [42]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295, prodLocSpecificKpis#871981, channelStreamSpecificKpis#871996, coalesce(quantityKpis#871997, map(keys: [], values: [])) AS quantityKpis#872009]
Input [44]: [shardId#870565, worklistShardItemId#871077L, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871278L, originalReplenishmentRunId#871320L, supplierGroup#871280, supplier#871281, supplyingPlant#871285, productGroup#871286, product#871287, plant#871282, subrange#871284, orderDateTime#871288, deliveryDateTime#871283, availabilityDateTime#871289, nextAvailabilityDateTime#871290, constraintValues#871311, constraintOperators#871310, constraintLabels#871309, logisticUnits#871305, orderQuantityBaseUom#871306, orderQuantityBaseUomUuid#871307, splitIndicator#871297L, netPriceAmount#871314, netPriceCurrencyCode#871315, netPriceQuantity#871316, netPriceQuantityUom#871317, netPriceQuantityUomUuid#871318, sourceOfSupplyUuid#871292, minimumOrderQuantity#871308, orderProposalItemId#871279, orderProposalItemGroupId#871302, optimizationGroups#871321, measurements#871319, externalProductId#871303, externalPlantId#871304, previousOrderProposal#871298L, isFallbackOrderOnly#871295, prodLocSpecificKpis#871981, channelStreamSpecificKpis#871996, shardId#872003, worklistShardItemId#872004L, quantityKpis#871997]
(55) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#871255, channelStreamSpecificKpis#871996, constraintLabels#871267, constraintOperators#871268, constraintValues#871270, deliveryDateTime#871254, isFallbackOrderOnly#871257, logisticUnits#871272, measurements#871265, minimumOrderQuantity#871266, netPriceAmount#871263, netPriceCurrencyCode#871264, netPriceQuantity#871260, netPriceQuantityUom#871261, netPriceQuantityUomUuid#871262, nextAvailabilityDateTime#871256, optimizationGroups#871273, orderDateTime#871253, orderProposalId#871235L, orderProposalItemGroupId#871237, orderProposalItemId#871236, orderQuantityBaseUom#871258, orderQuantityBaseUomUuid#871259, originalReplenishmentRunId#871238L, plant#871249, previousOrderProposal#871241L, prodLocSpecificKpis#871981, product#871248, productGroup#871277, qty#871079, quantityAfterProdPlantOptimization#871078, quantityKpis#872009, shardId#870565, sourceOfSupplyUuid#871244, splitIndicator#871240L, subrange#871247, supplier#871246, supplierGroup#871245, supplyingPlant#871276]
Condition : NOT (isFallbackOrderOnly#871257 <=> true)
(56) Project [codegen id : 1]
Output [36]: [shardId#870565, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871235L, originalReplenishmentRunId#871238L, supplierGroup#871245, supplier#871246, supplyingPlant#871276, productGroup#871277, product#871248, plant#871249, subrange#871247, orderDateTime#871253, deliveryDateTime#871254, availabilityDateTime#871255, nextAvailabilityDateTime#871256, logisticUnits#871272, orderQuantityBaseUom#871258, orderQuantityBaseUomUuid#871259, splitIndicator#871240L, netPriceAmount#871263, netPriceCurrencyCode#871264, netPriceQuantity#871260, netPriceQuantityUom#871261, netPriceQuantityUomUuid#871262, sourceOfSupplyUuid#871244, minimumOrderQuantity#871266, orderProposalItemId#871236, orderProposalItemGroupId#871237, optimizationGroups#871273, measurements#871265, previousOrderProposal#871241L, prodLocSpecificKpis#871981, channelStreamSpecificKpis#871996, quantityKpis#872009, arrays_zip(constraintLabels#871267, constraintOperators#871268, constraintValues#871270, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#872423]
Input [39]: [availabilityDateTime#871255, channelStreamSpecificKpis#871996, constraintLabels#871267, constraintOperators#871268, constraintValues#871270, deliveryDateTime#871254, isFallbackOrderOnly#871257, logisticUnits#871272, measurements#871265, minimumOrderQuantity#871266, netPriceAmount#871263, netPriceCurrencyCode#871264, netPriceQuantity#871260, netPriceQuantityUom#871261, netPriceQuantityUomUuid#871262, nextAvailabilityDateTime#871256, optimizationGroups#871273, orderDateTime#871253, orderProposalId#871235L, orderProposalItemGroupId#871237, orderProposalItemId#871236, orderQuantityBaseUom#871258, orderQuantityBaseUomUuid#871259, originalReplenishmentRunId#871238L, plant#871249, previousOrderProposal#871241L, prodLocSpecificKpis#871981, product#871248, productGroup#871277, qty#871079, quantityAfterProdPlantOptimization#871078, quantityKpis#872009, shardId#870565, sourceOfSupplyUuid#871244, splitIndicator#871240L, subrange#871247, supplier#871246, supplierGroup#871245, supplyingPlant#871276]
(57) Project
Output [37]: [shardId#870565, qty#871079, orderProposalId#871235L, originalReplenishmentRunId#871238L, supplierGroup#871245, supplier#871246, supplyingPlant#871276, productGroup#871277, product#871248, plant#871249, subrange#871247, orderDateTime#871253, deliveryDateTime#871254, availabilityDateTime#871255, nextAvailabilityDateTime#871256, logisticUnits#871272, orderQuantityBaseUom#871258, orderQuantityBaseUomUuid#871259, splitIndicator#871240L, netPriceAmount#871263, netPriceCurrencyCode#871264, netPriceQuantity#871260, netPriceQuantityUom#871261, netPriceQuantityUomUuid#871262, sourceOfSupplyUuid#871244, orderProposalItemId#871236, orderProposalItemGroupId#871237, optimizationGroups#871273, measurements#871265, previousOrderProposal#871241L, prodLocSpecificKpis#871981, channelStreamSpecificKpis#871996, quantityKpis#872009, struct(minServiceLevel, array_min(filter(constraintStructArray#872423, lambdafunction((lambda x_2242#872430.constraintLabels = ServiceLevel), lambda x_2242#872430, false)).constraintValues), minServiceLevelMinStock, null, maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#872423, lambdafunction((lambda x_2243#872431.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_2243#872431, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#872423, lambdafunction((lambda x_2244#872432.constraintLabels = RangeOfCoverage), lambda x_2244#872432, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#871266, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#871981, lambdafunction((lambda x_2245#872433.label = NonListingStartTimestamp), lambda x_2245#872433, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#872429, CASE WHEN (qty#871079 <=> quantityAfterProdPlantOptimization#871078) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#871079 * (cast(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2246#872501.isOrderUnit, lambda x_2246#872501, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2246#872502.isOrderUnit, lambda x_2246#872502, false)), 1, None, false).numerator as double))), qty#871079), orderQuantityUom, coalesce(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2246#872503.isOrderUnit, lambda x_2246#872503, false)), 1, None, false).uom, orderQuantityBaseUom#871258), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2246#872504.isOrderUnit, lambda x_2246#872504, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#871259), candidateOrderQuantityInBaseUnit, qty#871079, orderQuantityBaseUom, orderQuantityBaseUom#871258, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#871259, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#871272, lambdafunction((lambda x_2248#872505.isPreferred AND (((qty#871079 * cast(lambda x_2248#872505.denominator as double)) % cast(lambda x_2248#872505.numerator as double)) = 0.0)), lambda x_2248#872505, false)), lambdafunction(struct(inPreferredQuantity, ((qty#871079 * cast(lambda x_2249#872543.denominator as double)) / cast(lambda x_2249#872543.numerator as double)), uom, lambda x_2249#872543.uom, uomUuid, lambda x_2249#872543.uomUuid), lambda x_2249#872543, false))).inPreferredQuantity, coalesce((qty#871079 * (cast(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2247#872506.isOrderUnit, lambda x_2247#872506, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2247#872507.isOrderUnit, lambda x_2247#872507, false)), 1, None, false).numerator as double))), qty#871079)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#871272, lambdafunction((lambda x_2248#872508.isPreferred AND (((qty#871079 * cast(lambda x_2248#872508.denominator as double)) % cast(lambda x_2248#872508.numerator as double)) = 0.0)), lambda x_2248#872508, false)), lambdafunction(struct(inPreferredQuantity, ((qty#871079 * cast(lambda x_2249#872544.denominator as double)) / cast(lambda x_2249#872544.numerator as double)), uom, lambda x_2249#872544.uom, uomUuid, lambda x_2249#872544.uomUuid), lambda x_2249#872544, false))).uom, coalesce(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2247#872509.isOrderUnit, lambda x_2247#872509, false)), 1, None, false).uom, orderQuantityBaseUom#871258)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#871272, lambdafunction((lambda x_2248#872510.isPreferred AND (((qty#871079 * cast(lambda x_2248#872510.denominator as double)) % cast(lambda x_2248#872510.numerator as double)) = 0.0)), lambda x_2248#872510, false)), lambdafunction(struct(inPreferredQuantity, ((qty#871079 * cast(lambda x_2249#872545.denominator as double)) / cast(lambda x_2249#872545.numerator as double)), uom, lambda x_2249#872545.uom, uomUuid, lambda x_2249#872545.uomUuid), lambda x_2249#872545, false))).uomUuid, coalesce(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2247#872511.isOrderUnit, lambda x_2247#872511, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#871259)), serviceLevel, coalesce(filter(element_at(quantityKpis#872009, qty#871079, None, false), lambdafunction((lambda x_2254#872512.label = ServiceLevel), lambda x_2254#872512, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#871079 * (cast(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2246#872515.isOrderUnit, lambda x_2246#872515, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2246#872516.isOrderUnit, lambda x_2246#872516, false)), 1, None, false).numerator as double))), qty#871079), orderQuantityUom, coalesce(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2246#872517.isOrderUnit, lambda x_2246#872517, false)), 1, None, false).uom, orderQuantityBaseUom#871258), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2246#872518.isOrderUnit, lambda x_2246#872518, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#871259), candidateOrderQuantityInBaseUnit, qty#871079, orderQuantityBaseUom, orderQuantityBaseUom#871258, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#871259, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#871272, lambdafunction((lambda x_2248#872519.isPreferred AND (((qty#871079 * cast(lambda x_2248#872519.denominator as double)) % cast(lambda x_2248#872519.numerator as double)) = 0.0)), lambda x_2248#872519, false)), lambdafunction(struct(inPreferredQuantity, ((qty#871079 * cast(lambda x_2249#872546.denominator as double)) / cast(lambda x_2249#872546.numerator as double)), uom, lambda x_2249#872546.uom, uomUuid, lambda x_2249#872546.uomUuid), lambda x_2249#872546, false))).inPreferredQuantity, coalesce((qty#871079 * (cast(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2247#872520.isOrderUnit, lambda x_2247#872520, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2247#872521.isOrderUnit, lambda x_2247#872521, false)), 1, None, false).numerator as double))), qty#871079)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#871272, lambdafunction((lambda x_2248#872522.isPreferred AND (((qty#871079 * cast(lambda x_2248#872522.denominator as double)) % cast(lambda x_2248#872522.numerator as double)) = 0.0)), lambda x_2248#872522, false)), lambdafunction(struct(inPreferredQuantity, ((qty#871079 * cast(lambda x_2249#872547.denominator as double)) / cast(lambda x_2249#872547.numerator as double)), uom, lambda x_2249#872547.uom, uomUuid, lambda x_2249#872547.uomUuid), lambda x_2249#872547, false))).uom, coalesce(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2247#872523.isOrderUnit, lambda x_2247#872523, false)), 1, None, false).uom, orderQuantityBaseUom#871258)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#871272, lambdafunction((lambda x_2248#872524.isPreferred AND (((qty#871079 * cast(lambda x_2248#872524.denominator as double)) % cast(lambda x_2248#872524.numerator as double)) = 0.0)), lambda x_2248#872524, false)), lambdafunction(struct(inPreferredQuantity, ((qty#871079 * cast(lambda x_2249#872548.denominator as double)) / cast(lambda x_2249#872548.numerator as double)), uom, lambda x_2249#872548.uom, uomUuid, lambda x_2249#872548.uomUuid), lambda x_2249#872548, false))).uomUuid, coalesce(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2247#872525.isOrderUnit, lambda x_2247#872525, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#871259)), serviceLevel, coalesce(filter(element_at(quantityKpis#872009, qty#871079, None, false), lambdafunction((lambda x_2257#872526.label = ServiceLevel), lambda x_2257#872526, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#871078 * (cast(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2250#872529.isOrderUnit, lambda x_2250#872529, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2250#872530.isOrderUnit, lambda x_2250#872530, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#871078), orderQuantityUom, coalesce(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2250#872531.isOrderUnit, lambda x_2250#872531, false)), 1, None, false).uom, orderQuantityBaseUom#871258), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2250#872532.isOrderUnit, lambda x_2250#872532, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#871259), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#871078, orderQuantityBaseUom, orderQuantityBaseUom#871258, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#871259, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#871272, lambdafunction((lambda x_2252#872533.isPreferred AND (((quantityAfterProdPlantOptimization#871078 * cast(lambda x_2252#872533.denominator as double)) % cast(lambda x_2252#872533.numerator as double)) = 0.0)), lambda x_2252#872533, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#871078 * cast(lambda x_2253#872549.denominator as double)) / cast(lambda x_2253#872549.numerator as double)), uom, lambda x_2253#872549.uom, uomUuid, lambda x_2253#872549.uomUuid), lambda x_2253#872549, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#871078 * (cast(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2251#872534.isOrderUnit, lambda x_2251#872534, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2251#872535.isOrderUnit, lambda x_2251#872535, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#871078)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#871272, lambdafunction((lambda x_2252#872536.isPreferred AND (((quantityAfterProdPlantOptimization#871078 * cast(lambda x_2252#872536.denominator as double)) % cast(lambda x_2252#872536.numerator as double)) = 0.0)), lambda x_2252#872536, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#871078 * cast(lambda x_2253#872550.denominator as double)) / cast(lambda x_2253#872550.numerator as double)), uom, lambda x_2253#872550.uom, uomUuid, lambda x_2253#872550.uomUuid), lambda x_2253#872550, false))).uom, coalesce(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2251#872537.isOrderUnit, lambda x_2251#872537, false)), 1, None, false).uom, orderQuantityBaseUom#871258)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#871272, lambdafunction((lambda x_2252#872538.isPreferred AND (((quantityAfterProdPlantOptimization#871078 * cast(lambda x_2252#872538.denominator as double)) % cast(lambda x_2252#872538.numerator as double)) = 0.0)), lambda x_2252#872538, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#871078 * cast(lambda x_2253#872551.denominator as double)) / cast(lambda x_2253#872551.numerator as double)), uom, lambda x_2253#872551.uom, uomUuid, lambda x_2253#872551.uomUuid), lambda x_2253#872551, false))).uomUuid, coalesce(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2251#872539.isOrderUnit, lambda x_2251#872539, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#871259)), serviceLevel, coalesce(filter(element_at(quantityKpis#872009, quantityAfterProdPlantOptimization#871078, None, false), lambdafunction((lambda x_2260#872540.label = ServiceLevel), lambda x_2260#872540, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#872500, coalesce(filter(prodLocSpecificKpis#871981, lambdafunction((lambda x_2263#872553.label = InitialStockQty), lambda x_2263#872553, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#872552, coalesce(filter(prodLocSpecificKpis#871981, lambdafunction((lambda x_2264#872555.label = DemandPeriodEndTimestamp), lambda x_2264#872555, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#872554]
Input [36]: [shardId#870565, quantityAfterProdPlantOptimization#871078, qty#871079, orderProposalId#871235L, originalReplenishmentRunId#871238L, supplierGroup#871245, supplier#871246, supplyingPlant#871276, productGroup#871277, product#871248, plant#871249, subrange#871247, orderDateTime#871253, deliveryDateTime#871254, availabilityDateTime#871255, nextAvailabilityDateTime#871256, logisticUnits#871272, orderQuantityBaseUom#871258, orderQuantityBaseUomUuid#871259, splitIndicator#871240L, netPriceAmount#871263, netPriceCurrencyCode#871264, netPriceQuantity#871260, netPriceQuantityUom#871261, netPriceQuantityUomUuid#871262, sourceOfSupplyUuid#871244, minimumOrderQuantity#871266, orderProposalItemId#871236, orderProposalItemGroupId#871237, optimizationGroups#871273, measurements#871265, previousOrderProposal#871241L, prodLocSpecificKpis#871981, channelStreamSpecificKpis#871996, quantityKpis#872009, constraintStructArray#872423]
(58) Project
Output [21]: [shardId#870565, qty#871079, orderProposalId#871235L, originalReplenishmentRunId#871238L, supplierGroup#871245, supplier#871246, supplyingPlant#871276, productGroup#871277, product#871248, plant#871249, subrange#871247, orderDateTime#871253, deliveryDateTime#871254, logisticUnits#871272, orderQuantityBaseUom#871258, orderQuantityBaseUomUuid#871259, splitIndicator#871240L, orderProposalItemId#871236, orderProposalItemGroupId#871237, previousOrderProposal#871241L, struct(itemId, 123456, itemGroupId, 123456, supplier, supplier#871246, supplyingPlant, supplyingPlant#871276, productGroup, productGroup#871277, product, product#871248, plant, plant#871249, supplierSubRange, subrange#871247, sourceOfSupplyUuid, sourceOfSupplyUuid#871244, deliveryDateTime, deliveryDateTime#871254, unitPrice, netPriceAmount#871263, unitPriceCurrency, netPriceCurrencyCode#871264, unitPriceQuantity, ... 37 more fields) AS parentItem#872634]
Input [37]: [shardId#870565, qty#871079, orderProposalId#871235L, originalReplenishmentRunId#871238L, supplierGroup#871245, supplier#871246, supplyingPlant#871276, productGroup#871277, product#871248, plant#871249, subrange#871247, orderDateTime#871253, deliveryDateTime#871254, availabilityDateTime#871255, nextAvailabilityDateTime#871256, logisticUnits#871272, orderQuantityBaseUom#871258, orderQuantityBaseUomUuid#871259, splitIndicator#871240L, netPriceAmount#871263, netPriceCurrencyCode#871264, netPriceQuantity#871260, netPriceQuantityUom#871261, netPriceQuantityUomUuid#871262, sourceOfSupplyUuid#871244, orderProposalItemId#871236, orderProposalItemGroupId#871237, optimizationGroups#871273, measurements#871265, previousOrderProposal#871241L, prodLocSpecificKpis#871981, channelStreamSpecificKpis#871996, quantityKpis#872009, constraintBenchmark#872429, calculationAnalysis#872500, inventoryDateTime#872552, demandPeriodEndDateTime#872554]
(59) Project
Output [12]: [shardId#870565, orderProposalId#871235L, originalReplenishmentRunId#871238L, supplierGroup#871245, supplier#871246, supplyingPlant#871276, orderDateTime#871253, splitIndicator#871240L, orderProposalItemGroupId#871237, previousOrderProposal#871241L, parentItem#872634, struct(itemId, orderProposalItemId#871236, supplier, supplier#871246, supplyingPlant, supplyingPlant#871276, productGroup, productGroup#871277, product, product#871248, plant, plant#871249, supplierSubRange, subrange#871247, deliveryDateTime, deliveryDateTime#871254, orderQuantity, coalesce((qty#871079 * (cast(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2288#872668.isOrderUnit, lambda x_2288#872668, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2288#872669.isOrderUnit, lambda x_2288#872669, false)), 1, None, false).numerator as double))), qty#871079), orderQuantityUom, coalesce(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2288#872670.isOrderUnit, lambda x_2288#872670, false)), 1, None, false).uom, orderQuantityBaseUom#871258), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#871272, lambdafunction(lambda x_2288#872671.isOrderUnit, lambda x_2288#872671, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#871259), orderQuantityInBaseUnit, qty#871079, orderQuantityBaseUom, ... 13 more fields) AS item#872665]
Input [21]: [shardId#870565, qty#871079, orderProposalId#871235L, originalReplenishmentRunId#871238L, supplierGroup#871245, supplier#871246, supplyingPlant#871276, productGroup#871277, product#871248, plant#871249, subrange#871247, orderDateTime#871253, deliveryDateTime#871254, logisticUnits#871272, orderQuantityBaseUom#871258, orderQuantityBaseUomUuid#871259, splitIndicator#871240L, orderProposalItemId#871236, orderProposalItemGroupId#871237, previousOrderProposal#871241L, parentItem#872634]
(60) ObjectHashAggregate
Input [12]: [shardId#870565, orderProposalId#871235L, originalReplenishmentRunId#871238L, supplierGroup#871245, supplier#871246, supplyingPlant#871276, orderDateTime#871253, splitIndicator#871240L, orderProposalItemGroupId#871237, previousOrderProposal#871241L, parentItem#872634, item#872665]
Keys [4]: [shardId#870565, orderProposalId#871235L, splitIndicator#871240L, orderProposalItemGroupId#871237]
Functions [8]: [partial_max(originalReplenishmentRunId#871238L), partial_max(supplierGroup#871245), partial_max(supplier#871246), partial_max(supplyingPlant#871276), partial_max(orderDateTime#871253), partial_collect_list(parentItem#872634, 0, 0), partial_collect_set(previousOrderProposal#871241L, 0, 0), partial_collect_list(item#872665, 0, 0)]
Aggregate Attributes [8]: [max#873926L, max#873927, max#873928, max#873929, max#873930, buf#873931, buf#873932, buf#873933]
Results [12]: [shardId#870565, orderProposalId#871235L, splitIndicator#871240L, orderProposalItemGroupId#871237, max#873934L, max#873935, max#873936, max#873937, max#873938, buf#873939, buf#873940, buf#873941]
(61) Exchange
Input [12]: [shardId#870565, orderProposalId#871235L, splitIndicator#871240L, orderProposalItemGroupId#871237, max#873934L, max#873935, max#873936, max#873937, max#873938, buf#873939, buf#873940, buf#873941]
Arguments: hashpartitioning(shardId#870565, orderProposalId#871235L, splitIndicator#871240L, orderProposalItemGroupId#871237, 20), ENSURE_REQUIREMENTS, [plan_id=343067]
(62) ObjectHashAggregate
Input [12]: [shardId#870565, orderProposalId#871235L, splitIndicator#871240L, orderProposalItemGroupId#871237, max#873934L, max#873935, max#873936, max#873937, max#873938, buf#873939, buf#873940, buf#873941]
Keys [4]: [shardId#870565, orderProposalId#871235L, splitIndicator#871240L, orderProposalItemGroupId#871237]
Functions [8]: [max(originalReplenishmentRunId#871238L), max(supplierGroup#871245), max(supplier#871246), max(supplyingPlant#871276), max(orderDateTime#871253), collect_list(parentItem#872634, 0, 0), collect_set(previousOrderProposal#871241L, 0, 0), collect_list(item#872665, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#871238L)#872734L, max(supplierGroup#871245)#872735, max(supplier#871246)#872736, max(supplyingPlant#871276)#872737, max(orderDateTime#871253)#872738, collect_list(parentItem#872634, 0, 0)#872739, collect_set(previousOrderProposal#871241L, 0, 0)#872741, collect_list(item#872665, 0, 0)#872740]
Results [10]: [shardId#870565, orderProposalId#871235L, max(originalReplenishmentRunId#871238L)#872734L AS originalReplenishmentRunId#872682L, max(supplierGroup#871245)#872735 AS supplierGroup#872683, max(supplier#871246)#872736 AS supplier#872684, max(supplyingPlant#871276)#872737 AS supplyingPlant#872685, max(orderDateTime#871253)#872738 AS orderDateTime#872686, collect_list(parentItem#872634, 0, 0)#872739 AS parentItems#872687, collect_set(previousOrderProposal#871241L, 0, 0)#872741 AS previousOrderProposals#872689, struct(itemGroupId, coalesce(orderProposalItemGroupId#871237, cast((monotonically_increasing_id() % 9999999999) as string)), items, collect_list(item#872665, 0, 0)#872740) AS itemGroup#872743]
(63) ObjectHashAggregate
Input [10]: [shardId#870565, orderProposalId#871235L, originalReplenishmentRunId#872682L, supplierGroup#872683, supplier#872684, supplyingPlant#872685, orderDateTime#872686, parentItems#872687, previousOrderProposals#872689, itemGroup#872743]
Keys [2]: [shardId#870565, orderProposalId#871235L]
Functions [8]: [partial_max(originalReplenishmentRunId#872682L), partial_max(supplierGroup#872683), partial_max(supplier#872684), partial_max(supplyingPlant#872685), partial_max(orderDateTime#872686), partial_collect_list(itemGroup#872743, 0, 0), partial_collect_list(parentItems#872687, 0, 0), partial_collect_set(previousOrderProposals#872689, 0, 0)]
Aggregate Attributes [8]: [max#873910L, max#873911, max#873912, max#873913, max#873914, buf#873915, buf#873916, buf#873917]
Results [10]: [shardId#870565, orderProposalId#871235L, max#873918L, max#873919, max#873920, max#873921, max#873922, buf#873923, buf#873924, buf#873925]
(64) Exchange
Input [10]: [shardId#870565, orderProposalId#871235L, max#873918L, max#873919, max#873920, max#873921, max#873922, buf#873923, buf#873924, buf#873925]
Arguments: hashpartitioning(shardId#870565, orderProposalId#871235L, 20), ENSURE_REQUIREMENTS, [plan_id=343070]
(65) ObjectHashAggregate
Input [10]: [shardId#870565, orderProposalId#871235L, max#873918L, max#873919, max#873920, max#873921, max#873922, buf#873923, buf#873924, buf#873925]
Keys [2]: [shardId#870565, orderProposalId#871235L]
Functions [8]: [max(originalReplenishmentRunId#872682L), max(supplierGroup#872683), max(supplier#872684), max(supplyingPlant#872685), max(orderDateTime#872686), collect_list(itemGroup#872743, 0, 0), collect_list(parentItems#872687, 0, 0), collect_set(previousOrderProposals#872689, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#872682L)#872765L, max(supplierGroup#872683)#872766, max(supplier#872684)#872767, max(supplyingPlant#872685)#872768, max(orderDateTime#872686)#872769, collect_list(itemGroup#872743, 0, 0)#872770, collect_list(parentItems#872687, 0, 0)#872771, collect_set(previousOrderProposals#872689, 0, 0)#872772]
Results [10]: [shardId#870565, orderProposalId#871235L, max(originalReplenishmentRunId#872682L)#872765L AS originalReplenishmentRunId#872744L, max(supplierGroup#872683)#872766 AS supplierGroup#872745, max(supplier#872684)#872767 AS supplier#872746, max(supplyingPlant#872685)#872768 AS supplyingPlant#872747, max(orderDateTime#872686)#872769 AS orderDateTime#872748, collect_list(itemGroup#872743, 0, 0)#872770 AS itemGroups#872749, flatten(collect_list(parentItems#872687, 0, 0)#872771) AS parentItems#872750, flatten(collect_set(previousOrderProposals#872689, 0, 0)#872772) AS previousOrderProposals#872751]
(66) Project
Output [2]: [shardId#870565, struct(orderProposalId, orderProposalId#871235L, originalReplenishmentRunId, originalReplenishmentRunId#872744L, supplierGroup, supplierGroup#872745, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#872745) THEN supplier#872746 END, supplyingPlant, supplyingPlant#872747, orderDateTime, orderDateTime#872748, itemGroups, itemGroups#872749, previousOrderProposals, array_distinct(previousOrderProposals#872751), parentItems, parentItems#872750) AS orderProposal#872776]
Input [10]: [shardId#870565, orderProposalId#871235L, originalReplenishmentRunId#872744L, supplierGroup#872745, supplier#872746, supplyingPlant#872747, orderDateTime#872748, itemGroups#872749, parentItems#872750, previousOrderProposals#872751]
(67) Project
Output [11]: [shardId#870565, orderProposal#872776.orderProposalId AS _extract_orderProposalId#873542L, orderProposal#872776.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#873543L, orderProposal#872776.supplierGroup AS _extract_supplierGroup#873544, orderProposal#872776.supplier AS _extract_supplier#873545, orderProposal#872776.supplyingPlant AS _extract_supplyingPlant#873546, orderProposal#872776.orderDateTime AS _extract_orderDateTime#873547, orderProposal#872776.itemGroups AS _extract_itemGroups#873548, orderProposal#872776.previousOrderProposals AS _extract_previousOrderProposals#873549, orderProposal#872776.parentItems AS _extract_parentItems#873550, orderProposal#872776.orderProposalId AS _extract_orderProposalId#873551L]
Input [2]: [shardId#870565, orderProposal#872776]
(68) InMemoryTableScan
Output [3]: [shardId#872799, orderProposalId#872800L, optimizationGroups#872802]
Arguments: [shardId#872799, orderProposalId#872800L, optimizationGroups#872802], [isnotnull(orderProposalId#872800L)]
(69) InMemoryRelation
Arguments: [shardId#872799, orderProposalId#872800L, items#872801, optimizationGroups#872802, isOptimal#872803, optimizationInsights#872805], StorageLevel(disk, memory, 2 replicas)
(70) Filter [codegen id : 2]
Input [3]: [shardId#872799, orderProposalId#872800L, optimizationGroups#872802]
Condition : isnotnull(orderProposalId#872800L)
(71) BroadcastExchange
Input [3]: [shardId#872799, orderProposalId#872800L, optimizationGroups#872802]
Arguments: HashedRelationBroadcastMode(List(input[1, bigint, false]),false), [plan_id=343077]
(72) InMemoryTableScan
Output [2]: [items#872418, shardId#872416]
Arguments: [items#872418, shardId#872416], [(size(items#872418.worklistShardItemId, true) > 0), isnotnull(items#872418.worklistShardItemId), (shardId#872416 = 0_1_10000002109)]
(73) InMemoryRelation
Arguments: [shardId#872416, orderProposalId#872417L, items#872418, optimizationGroups#872419, isOptimal#872420, optimizationInsights#872422], StorageLevel(disk, memory, 2 replicas)
(74) Filter [codegen id : 3]
Input [2]: [items#872418, shardId#872416]
Condition : (((size(items#872418.worklistShardItemId, true) > 0) AND isnotnull(items#872418.worklistShardItemId)) AND (shardId#872416 = 0_1_10000002109))
(75) Project [codegen id : 3]
Output [1]: [items#872418.worklistShardItemId AS _extract_worklistShardItemId#873447]
Input [2]: [items#872418, shardId#872416]
(76) Generate [codegen id : 3]
Input [1]: [_extract_worklistShardItemId#873447]
Arguments: explode(_extract_worklistShardItemId#873447), false, [item#872806L]
(77) Project [codegen id : 3]
Output [1]: [item#872806L AS worklistShardItemId#872807L]
Input [1]: [item#872806L]
(78) BroadcastExchange
Input [1]: [worklistShardItemId#872807L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=343085]
(79) Scan parquet
Output [5]: [orderProposalId#872855L, isFallbackOrderOnly#872872, worklistShardItemId#872878L, shardId#872899, sequenceId#872877]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000002109]
PartitionFilters: [isnotnull(shardId#872899), isnotnull(sequenceId#872877), (shardId#872899 = 0_1_10000002109), (sequenceId#872877 = 1)]
PushedFilters: [IsNotNull(worklistShardItemId), Not(EqualNullSafe(isFallbackOrderOnly,true)), IsNotNull(orderProposalId)]
ReadSchema: struct<orderProposalId:bigint,isFallbackOrderOnly:boolean,worklistShardItemId:bigint>
(80) ColumnarToRow [codegen id : 4]
Input [5]: [orderProposalId#872855L, isFallbackOrderOnly#872872, worklistShardItemId#872878L, shardId#872899, sequenceId#872877]
(81) Filter [codegen id : 4]
Input [5]: [orderProposalId#872855L, isFallbackOrderOnly#872872, worklistShardItemId#872878L, shardId#872899, sequenceId#872877]
Condition : ((isnotnull(worklistShardItemId#872878L) AND NOT (isFallbackOrderOnly#872872 <=> true)) AND isnotnull(orderProposalId#872855L))
(82) Project [codegen id : 4]
Output [2]: [orderProposalId#872855L, worklistShardItemId#872878L]
Input [5]: [orderProposalId#872855L, isFallbackOrderOnly#872872, worklistShardItemId#872878L, shardId#872899, sequenceId#872877]
(83) Exchange
Input [2]: [orderProposalId#872855L, worklistShardItemId#872878L]
Arguments: hashpartitioning(worklistShardItemId#872878L, 20), REPARTITION_BY_NUM, [plan_id=343092]
(84) Project
Output [2]: [worklistShardItemId#872878L, orderProposalId#872855L]
Input [2]: [orderProposalId#872855L, worklistShardItemId#872878L]
(85) BroadcastHashJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#872807L]
Right keys [1]: [worklistShardItemId#872878L]
Join type: Inner
Join condition: None
(86) Project [codegen id : 5]
Output [1]: [orderProposalId#872855L]
Input [3]: [worklistShardItemId#872807L, worklistShardItemId#872878L, orderProposalId#872855L]
(87) HashAggregate [codegen id : 5]
Input [1]: [orderProposalId#872855L]
Keys [1]: [orderProposalId#872855L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#872855L]
(88) Exchange
Input [1]: [orderProposalId#872855L]
Arguments: hashpartitioning(orderProposalId#872855L, 20), ENSURE_REQUIREMENTS, [plan_id=343099]
(89) HashAggregate
Input [1]: [orderProposalId#872855L]
Keys [1]: [orderProposalId#872855L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#872855L]
(90) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [orderProposalId#872800L]
Right keys [1]: [orderProposalId#872855L]
Join type: Inner
Join condition: None
(91) Project
Output [3]: [orderProposalId#872800L, shardId#872799, coalesce(transform(optimizationGroups#872802, lambdafunction(struct(optGroupId, lambda x_2292#872797.optGroupId, minOrderProfile, lambda x_2292#872797.minOrderProfile, assignmentDetails, lambda x_2292#872797.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_2292#872797.minOrderGoal.dimensionType, unit, lambda x_2292#872797.minOrderGoal.unit, unitUuid, lambda x_2292#872797.minOrderGoal.unitUuid, goalValue, lambda x_2292#872797.minOrderGoal.minOrderValue, calcValue, lambda x_2292#872797.minOrderGoal.calculatedOrderValue), transportLoadProfile, DummyTloProfile01, transportLoadGoal, [3,5000.0,false,PAL,a7f3c91d204eb8f56d12a09e3b785c4f,TON,b4e8d1f0c73a92e61d05b8f4a291c07e,40.0]), lambda x_2292#872797, false)), []) AS optimizationGroups#872796]
Input [4]: [shardId#872799, orderProposalId#872800L, optimizationGroups#872802, orderProposalId#872855L]
(92) BroadcastExchange
Input [3]: [orderProposalId#872800L, shardId#872799, optimizationGroups#872796]
Arguments: HashedRelationBroadcastMode(List(coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[0, bigint, true], 0), isnull(input[0, bigint, true])),false), [plan_id=343105]
(93) BroadcastHashJoin
Left keys [4]: [coalesce(shardId#870565, ), isnull(shardId#870565), coalesce(_extract_orderProposalId#873551L, 0), isnull(_extract_orderProposalId#873551L)]
Right keys [4]: [coalesce(shardId#872799, ), isnull(shardId#872799), coalesce(orderProposalId#872800L, 0), isnull(orderProposalId#872800L)]
Join type: LeftOuter
Join condition: None
(94) Project
Output [2]: [shardId#870565, named_struct(orderProposalId, _extract_orderProposalId#873551L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#873543L, supplierGroup, _extract_supplierGroup#873544, optimizationGroups, coalesce(optimizationGroups#872796, []), supplier, _extract_supplier#873545, supplyingPlant, _extract_supplyingPlant#873546, orderDateTime, _extract_orderDateTime#873547, itemGroups, _extract_itemGroups#873548, previousOrderProposals, _extract_previousOrderProposals#873549, parentItems, _extract_parentItems#873550) AS orderProposal#872903]
Input [14]: [shardId#870565, _extract_orderProposalId#873542L, _extract_originalReplenishmentRunId#873543L, _extract_supplierGroup#873544, _extract_supplier#873545, _extract_supplyingPlant#873546, _extract_orderDateTime#873547, _extract_itemGroups#873548, _extract_previousOrderProposals#873549, _extract_parentItems#873550, _extract_orderProposalId#873551L, orderProposalId#872800L, shardId#872799, optimizationGroups#872796]
(95) Project
Output [3]: [shardId#870565, orderProposal#872903, CASE WHEN (size(orderProposal#872903.parentItems, true) > 2000) THEN xxhash64(orderProposal#872903.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#872903.orderProposalId as decimal(20,0)), 1), 42) END AS resultSeparationId#874639L]
Input [2]: [orderProposal#872903, shardId#870565]
(96) ObjectHashAggregate
Input [3]: [shardId#870565, orderProposal#872903, resultSeparationId#874639L]
Keys [2]: [shardId#870565, resultSeparationId#874639L]
Functions [1]: [partial_collect_list(orderProposal#872903, 0, 0)]
Aggregate Attributes [1]: [buf#874678]
Results [3]: [shardId#870565, resultSeparationId#874639L, buf#874679]
(97) Exchange
Input [3]: [shardId#870565, resultSeparationId#874639L, buf#874679]
Arguments: hashpartitioning(shardId#870565, resultSeparationId#874639L, 20), ENSURE_REQUIREMENTS, [plan_id=343240]
(98) ObjectHashAggregate
Input [3]: [shardId#870565, resultSeparationId#874639L, buf#874679]
Keys [2]: [shardId#870565, resultSeparationId#874639L]
Functions [1]: [collect_list(orderProposal#872903, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#872903, 0, 0)#874647]
Results [3]: [shardId#870565, resultSeparationId#874639L, collect_list(orderProposal#872903, 0, 0)#874647 AS orderProposals#874643]
(99) Exchange
Input [3]: [shardId#870565, resultSeparationId#874639L, orderProposals#874643]
Arguments: SinglePartition, REPARTITION_BY_NUM, [plan_id=343283]
(100) Project
Output [2]: [shardId#870565, orderProposals#874643]
Input [3]: [shardId#870565, resultSeparationId#874639L, orderProposals#874643]
(101) CollectLimit
Input: []
Arguments: 1