== Physical Plan ==
CollectLimit (104)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- Project (103)
+- Exchange (102)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- ObjectHashAggregate (101)
+- Exchange (100)
+- ObjectHashAggregate (99)
+- Project (98)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- Project (97)
+- SortMergeJoin LeftOuter (96)
:- Sort (69)
: +- Exchange (68)
: +- 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)
+- * Sort (95)
+- Exchange (94)
+- Project (93)
+- * BroadcastHashJoin Inner BuildLeft (92)
:- BroadcastExchange (73)
: +- * Filter (72)
: +- InMemoryTableScan (70)
: +- InMemoryRelation (71)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * HashAggregate (91)
+- Exchange (90)
+- * HashAggregate (89)
+- * Project (88)
+- * BroadcastHashJoin Inner BuildLeft (87)
:- BroadcastExchange (80)
: +- * Project (79)
: +- * Generate (78)
: +- * Project (77)
: +- * Filter (76)
: +- InMemoryTableScan (74)
: +- InMemoryRelation (75)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * Project (86)
+- Exchange (85)
+- * Project (84)
+- * Filter (83)
+- * ColumnarToRow (82)
+- Scan parquet (81)
(1) InMemoryTableScan
Output: []
(2) InMemoryRelation
Arguments: [shardId#691888, orderProposals#695982], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [3]: [shardId#691888, resultSeparationId#695978L, orderProposals#695982]
Arguments: [shardId#691888, resultSeparationId#695978L, orderProposals#695982]
(4) InMemoryRelation
Arguments: [shardId#691888, resultSeparationId#695978L, orderProposals#695982], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [2]: [orderProposal#694226, shardId#691888]
Arguments: [orderProposal#694226, shardId#691888]
(6) InMemoryRelation
Arguments: [shardId#691888, orderProposal#694226], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [39]: [availabilityDateTime#692578, channelStreamSpecificKpis#693319, constraintLabels#692590, constraintOperators#692591, constraintValues#692593, deliveryDateTime#692577, isFallbackOrderOnly#692580, logisticUnits#692595, measurements#692588, minimumOrderQuantity#692589, netPriceAmount#692586, netPriceCurrencyCode#692587, netPriceQuantity#692583, netPriceQuantityUom#692584, netPriceQuantityUomUuid#692585, nextAvailabilityDateTime#692579, optimizationGroups#692596, orderDateTime#692576, orderProposalId#692558L, orderProposalItemGroupId#692560, orderProposalItemId#692559, orderQuantityBaseUom#692581, orderQuantityBaseUomUuid#692582, originalReplenishmentRunId#692561L, plant#692572, previousOrderProposal#692564L, prodLocSpecificKpis#693304, product#692571, productGroup#692600, qty#692402, quantityAfterProdPlantOptimization#692401, quantityKpis#693332, shardId#691888, sourceOfSupplyUuid#692567, splitIndicator#692563L, subrange#692570, supplier#692569, supplierGroup#692568, supplyingPlant#692599]
Arguments: [availabilityDateTime#692578, channelStreamSpecificKpis#693319, constraintLabels#692590, constraintOperators#692591, constraintValues#692593, deliveryDateTime#692577, isFallbackOrderOnly#692580, logisticUnits#692595, measurements#692588, minimumOrderQuantity#692589, netPriceAmount#692586, netPriceCurrencyCode#692587, netPriceQuantity#692583, netPriceQuantityUom#692584, netPriceQuantityUomUuid#692585, nextAvailabilityDateTime#692579, optimizationGroups#692596, orderDateTime#692576, orderProposalId#692558L, orderProposalItemGroupId#692560, orderProposalItemId#692559, orderQuantityBaseUom#692581, orderQuantityBaseUomUuid#692582, originalReplenishmentRunId#692561L, plant#692572, ... 14 more fields], [NOT (isFallbackOrderOnly#692580 <=> true)]
(8) InMemoryRelation
Arguments: [shardId#691888, worklistShardItemId#692400L, quantityAfterProdPlantOptimization#692401, qty#692402, orderProposalId#692558L, originalReplenishmentRunId#692561L, supplierGroup#692568, supplier#692569, supplyingPlant#692599, productGroup#692600, product#692571, plant#692572, subrange#692570, orderDateTime#692576, deliveryDateTime#692577, availabilityDateTime#692578, nextAvailabilityDateTime#692579, constraintValues#692593, constraintOperators#692591, constraintLabels#692590, logisticUnits#692595, orderQuantityBaseUom#692581, orderQuantityBaseUomUuid#692582, splitIndicator#692563L, netPriceAmount#692586, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [2]: [shardId#691888, items#691890]
Arguments: [shardId#691888, items#691890], [(size(items#691890, true) > 0), isnotnull(items#691890)]
(10) InMemoryRelation
Arguments: [shardId#691888, orderProposalId#691889L, items#691890, optimizationGroups#691891, isOptimal#691892, optimizationInsights#691894], StorageLevel(disk, memory, 2 replicas)
(11) InMemoryTableScan
Output [6]: [shardId#691888, orderProposalId#691889L, items#691890, optimizationGroups#691891, isOptimal#691892, optimizationInsights#691894]
Arguments: [shardId#691888, orderProposalId#691889L, items#691890, optimizationGroups#691891, isOptimal#691892, optimizationInsights#691894], [isnotnull(shardId#691888), (shardId#691888 = 0_1_10000002107)]
(12) InMemoryRelation
Arguments: [shardId#691888, orderProposalId#691889L, items#691890, optimizationGroups#691891, isOptimal#691892, lastModified#691893, optimizationInsights#691894], StorageLevel(disk, memory, 2 replicas)
(13) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#691888, orderProposalId#691889L, items#691890, optimizationGroups#691891, isOptimal#691892, lastModified#691893, optimizationInsights#691894]
Arguments: [shardId#691888, orderProposalId#691889L, items#691890, optimizationGroups#691891, isOptimal#691892, lastModified#691893, optimizationInsights#691894], MapPartitionsRDD[32831] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(14) Filter [codegen id : 1]
Input [7]: [shardId#691888, orderProposalId#691889L, items#691890, optimizationGroups#691891, isOptimal#691892, lastModified#691893, optimizationInsights#691894]
Condition : (isnotnull(shardId#691888) AND (shardId#691888 = 0_1_10000002107))
(15) Filter [codegen id : 1]
Input [6]: [shardId#691888, orderProposalId#691889L, items#691890, optimizationGroups#691891, isOptimal#691892, optimizationInsights#691894]
Condition : (isnotnull(shardId#691888) AND (shardId#691888 = 0_1_10000002107))
(16) Filter [codegen id : 3]
Input [2]: [shardId#691888, items#691890]
Condition : ((size(items#691890, true) > 0) AND isnotnull(items#691890))
(17) Generate [codegen id : 3]
Input [2]: [shardId#691888, items#691890]
Arguments: explode(items#691890), [shardId#691888], false, [item#692399]
(18) Project [codegen id : 3]
Output [4]: [shardId#691888, item#692399.worklistShardItemId AS worklistShardItemId#692400L, item#692399.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#692401, item#692399.qty AS qty#692402]
Input [2]: [shardId#691888, item#692399]
(19) Scan parquet
Output [38]: [orderProposalId#692601L, orderProposalItemId#692602, supplierGroup#692603, supplier#692604, plant#692605, deliveryDateTime#692606, subrange#692607, supplyingPlant#692608, productGroup#692609, product#692610, orderDateTime#692611, availabilityDateTime#692612, nextAvailabilityDateTime#692613, sourceOfSupplyUuid#692615, isFallbackOrderOnly#692618, splitIndicator#692620L, previousOrderProposal#692621L, worklistShardItemId#692624L, orderProposalItemGroupId#692625, externalProductId#692626, externalPlantId#692627, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, minimumOrderQuantity#692631, constraintLabels#692632, constraintOperators#692633, constraintValues#692634, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, measurements#692642, originalReplenishmentRunId#692643L, optimizationGroups#692644, shardId#692645, sequenceId#692623]
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/10000002107]
PartitionFilters: [isnotnull(shardId#692645), isnotnull(sequenceId#692623), (shardId#692645 = 0_1_10000002107), (sequenceId#692623 = 5)]
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#692601L, orderProposalItemId#692602, supplierGroup#692603, supplier#692604, plant#692605, deliveryDateTime#692606, subrange#692607, supplyingPlant#692608, productGroup#692609, product#692610, orderDateTime#692611, availabilityDateTime#692612, nextAvailabilityDateTime#692613, sourceOfSupplyUuid#692615, isFallbackOrderOnly#692618, splitIndicator#692620L, previousOrderProposal#692621L, worklistShardItemId#692624L, orderProposalItemGroupId#692625, externalProductId#692626, externalPlantId#692627, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, minimumOrderQuantity#692631, constraintLabels#692632, constraintOperators#692633, constraintValues#692634, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, measurements#692642, originalReplenishmentRunId#692643L, optimizationGroups#692644, shardId#692645, sequenceId#692623]
(21) Filter [codegen id : 1]
Input [38]: [orderProposalId#692601L, orderProposalItemId#692602, supplierGroup#692603, supplier#692604, plant#692605, deliveryDateTime#692606, subrange#692607, supplyingPlant#692608, productGroup#692609, product#692610, orderDateTime#692611, availabilityDateTime#692612, nextAvailabilityDateTime#692613, sourceOfSupplyUuid#692615, isFallbackOrderOnly#692618, splitIndicator#692620L, previousOrderProposal#692621L, worklistShardItemId#692624L, orderProposalItemGroupId#692625, externalProductId#692626, externalPlantId#692627, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, minimumOrderQuantity#692631, constraintLabels#692632, constraintOperators#692633, constraintValues#692634, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, measurements#692642, originalReplenishmentRunId#692643L, optimizationGroups#692644, shardId#692645, sequenceId#692623]
Condition : isnotnull(worklistShardItemId#692624L)
(22) Project [codegen id : 1]
Output [36]: [orderProposalId#692601L, orderProposalItemId#692602, supplierGroup#692603, supplier#692604, plant#692605, deliveryDateTime#692606, subrange#692607, supplyingPlant#692608, productGroup#692609, product#692610, orderDateTime#692611, availabilityDateTime#692612, nextAvailabilityDateTime#692613, sourceOfSupplyUuid#692615, isFallbackOrderOnly#692618, splitIndicator#692620L, previousOrderProposal#692621L, worklistShardItemId#692624L, orderProposalItemGroupId#692625, externalProductId#692626, externalPlantId#692627, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, minimumOrderQuantity#692631, constraintLabels#692632, constraintOperators#692633, constraintValues#692634, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, measurements#692642, originalReplenishmentRunId#692643L, optimizationGroups#692644]
Input [38]: [orderProposalId#692601L, orderProposalItemId#692602, supplierGroup#692603, supplier#692604, plant#692605, deliveryDateTime#692606, subrange#692607, supplyingPlant#692608, productGroup#692609, product#692610, orderDateTime#692611, availabilityDateTime#692612, nextAvailabilityDateTime#692613, sourceOfSupplyUuid#692615, isFallbackOrderOnly#692618, splitIndicator#692620L, previousOrderProposal#692621L, worklistShardItemId#692624L, orderProposalItemGroupId#692625, externalProductId#692626, externalPlantId#692627, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, minimumOrderQuantity#692631, constraintLabels#692632, constraintOperators#692633, constraintValues#692634, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, measurements#692642, originalReplenishmentRunId#692643L, optimizationGroups#692644, shardId#692645, sequenceId#692623]
(23) Exchange
Input [36]: [orderProposalId#692601L, orderProposalItemId#692602, supplierGroup#692603, supplier#692604, plant#692605, deliveryDateTime#692606, subrange#692607, supplyingPlant#692608, productGroup#692609, product#692610, orderDateTime#692611, availabilityDateTime#692612, nextAvailabilityDateTime#692613, sourceOfSupplyUuid#692615, isFallbackOrderOnly#692618, splitIndicator#692620L, previousOrderProposal#692621L, worklistShardItemId#692624L, orderProposalItemGroupId#692625, externalProductId#692626, externalPlantId#692627, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, minimumOrderQuantity#692631, constraintLabels#692632, constraintOperators#692633, constraintValues#692634, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, measurements#692642, originalReplenishmentRunId#692643L, optimizationGroups#692644]
Arguments: hashpartitioning(worklistShardItemId#692624L, 20), REPARTITION_BY_NUM, [plan_id=278803]
(24) Project [codegen id : 2]
Output [36]: [worklistShardItemId#692624L, orderProposalId#692601L, orderProposalItemId#692602, orderProposalItemGroupId#692625, originalReplenishmentRunId#692643L, splitIndicator#692620L, previousOrderProposal#692621L, sourceOfSupplyUuid#692615, supplierGroup#692603, supplier#692604, subrange#692607, product#692610, plant#692605, orderDateTime#692611, deliveryDateTime#692606, availabilityDateTime#692612, nextAvailabilityDateTime#692613, isFallbackOrderOnly#692618, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, netPriceAmount#692637, netPriceCurrencyCode#692638, measurements#692642, minimumOrderQuantity#692631, constraintLabels#692632, constraintOperators#692633, constraintValues#692634, logisticUnits#692628, optimizationGroups#692644, externalProductId#692626, externalPlantId#692627, supplyingPlant#692608, productGroup#692609]
Input [36]: [orderProposalId#692601L, orderProposalItemId#692602, supplierGroup#692603, supplier#692604, plant#692605, deliveryDateTime#692606, subrange#692607, supplyingPlant#692608, productGroup#692609, product#692610, orderDateTime#692611, availabilityDateTime#692612, nextAvailabilityDateTime#692613, sourceOfSupplyUuid#692615, isFallbackOrderOnly#692618, splitIndicator#692620L, previousOrderProposal#692621L, worklistShardItemId#692624L, orderProposalItemGroupId#692625, externalProductId#692626, externalPlantId#692627, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, minimumOrderQuantity#692631, constraintLabels#692632, constraintOperators#692633, constraintValues#692634, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, measurements#692642, originalReplenishmentRunId#692643L, optimizationGroups#692644]
(25) BroadcastExchange
Input [36]: [worklistShardItemId#692624L, orderProposalId#692601L, orderProposalItemId#692602, orderProposalItemGroupId#692625, originalReplenishmentRunId#692643L, splitIndicator#692620L, previousOrderProposal#692621L, sourceOfSupplyUuid#692615, supplierGroup#692603, supplier#692604, subrange#692607, product#692610, plant#692605, orderDateTime#692611, deliveryDateTime#692606, availabilityDateTime#692612, nextAvailabilityDateTime#692613, isFallbackOrderOnly#692618, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, netPriceAmount#692637, netPriceCurrencyCode#692638, measurements#692642, minimumOrderQuantity#692631, constraintLabels#692632, constraintOperators#692633, constraintValues#692634, logisticUnits#692628, optimizationGroups#692644, externalProductId#692626, externalPlantId#692627, supplyingPlant#692608, productGroup#692609]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=278807]
(26) BroadcastHashJoin [codegen id : 3]
Left keys [1]: [worklistShardItemId#692400L]
Right keys [1]: [worklistShardItemId#692624L]
Join type: LeftOuter
Join condition: (shardId#691888 = 0_1_10000002107)
(27) Project [codegen id : 3]
Output [39]: [shardId#691888, worklistShardItemId#692400L, quantityAfterProdPlantOptimization#692401, qty#692402, orderProposalId#692601L, originalReplenishmentRunId#692643L, supplierGroup#692603, supplier#692604, supplyingPlant#692608, productGroup#692609, product#692610, plant#692605, subrange#692607, orderDateTime#692611, deliveryDateTime#692606, availabilityDateTime#692612, nextAvailabilityDateTime#692613, constraintValues#692634, constraintOperators#692633, constraintLabels#692632, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, splitIndicator#692620L, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, sourceOfSupplyUuid#692615, minimumOrderQuantity#692631, orderProposalItemId#692602, orderProposalItemGroupId#692625, optimizationGroups#692644, measurements#692642, externalProductId#692626, externalPlantId#692627, previousOrderProposal#692621L, isFallbackOrderOnly#692618]
Input [40]: [shardId#691888, worklistShardItemId#692400L, quantityAfterProdPlantOptimization#692401, qty#692402, worklistShardItemId#692624L, orderProposalId#692601L, orderProposalItemId#692602, orderProposalItemGroupId#692625, originalReplenishmentRunId#692643L, splitIndicator#692620L, previousOrderProposal#692621L, sourceOfSupplyUuid#692615, supplierGroup#692603, supplier#692604, subrange#692607, product#692610, plant#692605, orderDateTime#692611, deliveryDateTime#692606, availabilityDateTime#692612, nextAvailabilityDateTime#692613, isFallbackOrderOnly#692618, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, netPriceAmount#692637, netPriceCurrencyCode#692638, measurements#692642, minimumOrderQuantity#692631, constraintLabels#692632, constraintOperators#692633, constraintValues#692634, logisticUnits#692628, optimizationGroups#692644, externalProductId#692626, externalPlantId#692627, supplyingPlant#692608, productGroup#692609]
(28) Exchange
Input [39]: [shardId#691888, worklistShardItemId#692400L, quantityAfterProdPlantOptimization#692401, qty#692402, orderProposalId#692601L, originalReplenishmentRunId#692643L, supplierGroup#692603, supplier#692604, supplyingPlant#692608, productGroup#692609, product#692610, plant#692605, subrange#692607, orderDateTime#692611, deliveryDateTime#692606, availabilityDateTime#692612, nextAvailabilityDateTime#692613, constraintValues#692634, constraintOperators#692633, constraintLabels#692632, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, splitIndicator#692620L, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, sourceOfSupplyUuid#692615, minimumOrderQuantity#692631, orderProposalItemId#692602, orderProposalItemGroupId#692625, optimizationGroups#692644, measurements#692642, externalProductId#692626, externalPlantId#692627, previousOrderProposal#692621L, isFallbackOrderOnly#692618]
Arguments: hashpartitioning(shardId#691888, worklistShardItemId#692400L, 20), ENSURE_REQUIREMENTS, [plan_id=278812]
(29) Sort [codegen id : 4]
Input [39]: [shardId#691888, worklistShardItemId#692400L, quantityAfterProdPlantOptimization#692401, qty#692402, orderProposalId#692601L, originalReplenishmentRunId#692643L, supplierGroup#692603, supplier#692604, supplyingPlant#692608, productGroup#692609, product#692610, plant#692605, subrange#692607, orderDateTime#692611, deliveryDateTime#692606, availabilityDateTime#692612, nextAvailabilityDateTime#692613, constraintValues#692634, constraintOperators#692633, constraintLabels#692632, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, splitIndicator#692620L, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, sourceOfSupplyUuid#692615, minimumOrderQuantity#692631, orderProposalItemId#692602, orderProposalItemGroupId#692625, optimizationGroups#692644, measurements#692642, externalProductId#692626, externalPlantId#692627, previousOrderProposal#692621L, isFallbackOrderOnly#692618]
Arguments: [shardId#691888 ASC NULLS FIRST, worklistShardItemId#692400L ASC NULLS FIRST], false, 0
(30) Scan ExistingRDD [codegen id : 5]
Output [6]: [shardId#693297, worklistShardItemId#693298L, qty#693299, demandChannel#693300, demandStream#693301, kpis#693302]
Arguments: [shardId#693297, worklistShardItemId#693298L, qty#693299, demandChannel#693300, demandStream#693301, kpis#693302], MapPartitionsRDD[32905] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(31) Filter [codegen id : 5]
Input [6]: [shardId#693297, worklistShardItemId#693298L, qty#693299, demandChannel#693300, demandStream#693301, kpis#693302]
Condition : (((isnull(qty#693299) AND isnull(demandChannel#693300)) AND isnull(demandStream#693301)) AND (isnotnull(shardId#693297) AND isnotnull(worklistShardItemId#693298L)))
(32) Project [codegen id : 5]
Output [3]: [shardId#693297, worklistShardItemId#693298L, coalesce(kpis#693302, []) AS prodLocSpecificKpis#693303]
Input [6]: [shardId#693297, worklistShardItemId#693298L, qty#693299, demandChannel#693300, demandStream#693301, kpis#693302]
(33) Exchange
Input [3]: [shardId#693297, worklistShardItemId#693298L, prodLocSpecificKpis#693303]
Arguments: hashpartitioning(shardId#693297, worklistShardItemId#693298L, 20), ENSURE_REQUIREMENTS, [plan_id=278818]
(34) Sort [codegen id : 6]
Input [3]: [shardId#693297, worklistShardItemId#693298L, prodLocSpecificKpis#693303]
Arguments: [shardId#693297 ASC NULLS FIRST, worklistShardItemId#693298L ASC NULLS FIRST], false, 0
(35) SortMergeJoin [codegen id : 7]
Left keys [2]: [shardId#691888, worklistShardItemId#692400L]
Right keys [2]: [shardId#693297, worklistShardItemId#693298L]
Join type: LeftOuter
Join condition: None
(36) Project [codegen id : 7]
Output [40]: [shardId#691888, worklistShardItemId#692400L, quantityAfterProdPlantOptimization#692401, qty#692402, orderProposalId#692601L, originalReplenishmentRunId#692643L, supplierGroup#692603, supplier#692604, supplyingPlant#692608, productGroup#692609, product#692610, plant#692605, subrange#692607, orderDateTime#692611, deliveryDateTime#692606, availabilityDateTime#692612, nextAvailabilityDateTime#692613, constraintValues#692634, constraintOperators#692633, constraintLabels#692632, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, splitIndicator#692620L, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, sourceOfSupplyUuid#692615, minimumOrderQuantity#692631, orderProposalItemId#692602, orderProposalItemGroupId#692625, optimizationGroups#692644, measurements#692642, externalProductId#692626, externalPlantId#692627, previousOrderProposal#692621L, isFallbackOrderOnly#692618, coalesce(prodLocSpecificKpis#693303, []) AS prodLocSpecificKpis#693304]
Input [42]: [shardId#691888, worklistShardItemId#692400L, quantityAfterProdPlantOptimization#692401, qty#692402, orderProposalId#692601L, originalReplenishmentRunId#692643L, supplierGroup#692603, supplier#692604, supplyingPlant#692608, productGroup#692609, product#692610, plant#692605, subrange#692607, orderDateTime#692611, deliveryDateTime#692606, availabilityDateTime#692612, nextAvailabilityDateTime#692613, constraintValues#692634, constraintOperators#692633, constraintLabels#692632, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, splitIndicator#692620L, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, sourceOfSupplyUuid#692615, minimumOrderQuantity#692631, orderProposalItemId#692602, orderProposalItemGroupId#692625, optimizationGroups#692644, measurements#692642, externalProductId#692626, externalPlantId#692627, previousOrderProposal#692621L, isFallbackOrderOnly#692618, shardId#693297, worklistShardItemId#693298L, prodLocSpecificKpis#693303]
(37) Scan ExistingRDD [codegen id : 8]
Output [6]: [shardId#693313, worklistShardItemId#693314L, qty#693315, demandChannel#693316, demandStream#693317, kpis#693318]
Arguments: [shardId#693313, worklistShardItemId#693314L, qty#693315, demandChannel#693316, demandStream#693317, kpis#693318], MapPartitionsRDD[32905] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(38) Filter [codegen id : 8]
Input [6]: [shardId#693313, worklistShardItemId#693314L, qty#693315, demandChannel#693316, demandStream#693317, kpis#693318]
Condition : ((((isnull(qty#693315) AND isnotnull(demandChannel#693316)) AND isnotnull(demandStream#693317)) AND (size(kpis#693318, true) > 0)) AND (isnotnull(shardId#693313) AND isnotnull(worklistShardItemId#693314L)))
(39) Project [codegen id : 8]
Output [5]: [shardId#693313, worklistShardItemId#693314L, demandChannel#693316, demandStream#693317, kpis#693318]
Input [6]: [shardId#693313, worklistShardItemId#693314L, qty#693315, demandChannel#693316, demandStream#693317, kpis#693318]
(40) ObjectHashAggregate
Input [5]: [shardId#693313, worklistShardItemId#693314L, demandChannel#693316, demandStream#693317, kpis#693318]
Keys [2]: [shardId#693313, worklistShardItemId#693314L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#693316, demandStream, demandStream#693317, kpis, kpis#693318), 0, 0)]
Aggregate Attributes [1]: [buf#693493]
Results [3]: [shardId#693313, worklistShardItemId#693314L, buf#693494]
(41) Exchange
Input [3]: [shardId#693313, worklistShardItemId#693314L, buf#693494]
Arguments: hashpartitioning(shardId#693313, worklistShardItemId#693314L, 20), ENSURE_REQUIREMENTS, [plan_id=278829]
(42) ObjectHashAggregate
Input [3]: [shardId#693313, worklistShardItemId#693314L, buf#693494]
Keys [2]: [shardId#693313, worklistShardItemId#693314L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#693316, demandStream, demandStream#693317, kpis, kpis#693318), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#693316, demandStream, demandStream#693317, kpis, kpis#693318), 0, 0)#693312]
Results [3]: [shardId#693313, worklistShardItemId#693314L, collect_list(struct(demandChannel, demandChannel#693316, demandStream, demandStream#693317, kpis, kpis#693318), 0, 0)#693312 AS channelStreamSpecificKpis#693305]
(43) Sort [codegen id : 9]
Input [3]: [shardId#693313, worklistShardItemId#693314L, channelStreamSpecificKpis#693305]
Arguments: [shardId#693313 ASC NULLS FIRST, worklistShardItemId#693314L ASC NULLS FIRST], false, 0
(44) SortMergeJoin [codegen id : 10]
Left keys [2]: [shardId#691888, worklistShardItemId#692400L]
Right keys [2]: [shardId#693313, worklistShardItemId#693314L]
Join type: LeftOuter
Join condition: None
(45) Project [codegen id : 10]
Output [41]: [shardId#691888, worklistShardItemId#692400L, quantityAfterProdPlantOptimization#692401, qty#692402, orderProposalId#692601L, originalReplenishmentRunId#692643L, supplierGroup#692603, supplier#692604, supplyingPlant#692608, productGroup#692609, product#692610, plant#692605, subrange#692607, orderDateTime#692611, deliveryDateTime#692606, availabilityDateTime#692612, nextAvailabilityDateTime#692613, constraintValues#692634, constraintOperators#692633, constraintLabels#692632, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, splitIndicator#692620L, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, sourceOfSupplyUuid#692615, minimumOrderQuantity#692631, orderProposalItemId#692602, orderProposalItemGroupId#692625, optimizationGroups#692644, measurements#692642, externalProductId#692626, externalPlantId#692627, previousOrderProposal#692621L, isFallbackOrderOnly#692618, prodLocSpecificKpis#693304, coalesce(channelStreamSpecificKpis#693305, []) AS channelStreamSpecificKpis#693319]
Input [43]: [shardId#691888, worklistShardItemId#692400L, quantityAfterProdPlantOptimization#692401, qty#692402, orderProposalId#692601L, originalReplenishmentRunId#692643L, supplierGroup#692603, supplier#692604, supplyingPlant#692608, productGroup#692609, product#692610, plant#692605, subrange#692607, orderDateTime#692611, deliveryDateTime#692606, availabilityDateTime#692612, nextAvailabilityDateTime#692613, constraintValues#692634, constraintOperators#692633, constraintLabels#692632, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, splitIndicator#692620L, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, sourceOfSupplyUuid#692615, minimumOrderQuantity#692631, orderProposalItemId#692602, orderProposalItemGroupId#692625, optimizationGroups#692644, measurements#692642, externalProductId#692626, externalPlantId#692627, previousOrderProposal#692621L, isFallbackOrderOnly#692618, prodLocSpecificKpis#693304, shardId#693313, worklistShardItemId#693314L, channelStreamSpecificKpis#693305]
(46) Scan ExistingRDD [codegen id : 11]
Output [6]: [shardId#693326, worklistShardItemId#693327L, qty#693328, demandChannel#693329, demandStream#693330, kpis#693331]
Arguments: [shardId#693326, worklistShardItemId#693327L, qty#693328, demandChannel#693329, demandStream#693330, kpis#693331], MapPartitionsRDD[32905] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(47) Filter [codegen id : 11]
Input [6]: [shardId#693326, worklistShardItemId#693327L, qty#693328, demandChannel#693329, demandStream#693330, kpis#693331]
Condition : ((isnotnull(qty#693328) AND isnotnull(kpis#693331)) AND (isnotnull(shardId#693326) AND isnotnull(worklistShardItemId#693327L)))
(48) Project [codegen id : 11]
Output [4]: [shardId#693326, worklistShardItemId#693327L, qty#693328, kpis#693331]
Input [6]: [shardId#693326, worklistShardItemId#693327L, qty#693328, demandChannel#693329, demandStream#693330, kpis#693331]
(49) ObjectHashAggregate
Input [4]: [shardId#693326, worklistShardItemId#693327L, qty#693328, kpis#693331]
Keys [2]: [shardId#693326, worklistShardItemId#693327L]
Functions [1]: [partial_collect_list(struct(qty, qty#693328, kpis, kpis#693331), 0, 0)]
Aggregate Attributes [1]: [buf#693495]
Results [3]: [shardId#693326, worklistShardItemId#693327L, buf#693496]
(50) Exchange
Input [3]: [shardId#693326, worklistShardItemId#693327L, buf#693496]
Arguments: hashpartitioning(shardId#693326, worklistShardItemId#693327L, 20), ENSURE_REQUIREMENTS, [plan_id=278841]
(51) ObjectHashAggregate
Input [3]: [shardId#693326, worklistShardItemId#693327L, buf#693496]
Keys [2]: [shardId#693326, worklistShardItemId#693327L]
Functions [1]: [collect_list(struct(qty, qty#693328, kpis, kpis#693331), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#693328, kpis, kpis#693331), 0, 0)#693325]
Results [3]: [shardId#693326, worklistShardItemId#693327L, map_from_entries(collect_list(struct(qty, qty#693328, kpis, kpis#693331), 0, 0)#693325) AS quantityKpis#693320]
(52) Sort [codegen id : 12]
Input [3]: [shardId#693326, worklistShardItemId#693327L, quantityKpis#693320]
Arguments: [shardId#693326 ASC NULLS FIRST, worklistShardItemId#693327L ASC NULLS FIRST], false, 0
(53) SortMergeJoin [codegen id : 13]
Left keys [2]: [shardId#691888, worklistShardItemId#692400L]
Right keys [2]: [shardId#693326, worklistShardItemId#693327L]
Join type: LeftOuter
Join condition: None
(54) Project [codegen id : 13]
Output [42]: [shardId#691888, worklistShardItemId#692400L, quantityAfterProdPlantOptimization#692401, qty#692402, orderProposalId#692601L, originalReplenishmentRunId#692643L, supplierGroup#692603, supplier#692604, supplyingPlant#692608, productGroup#692609, product#692610, plant#692605, subrange#692607, orderDateTime#692611, deliveryDateTime#692606, availabilityDateTime#692612, nextAvailabilityDateTime#692613, constraintValues#692634, constraintOperators#692633, constraintLabels#692632, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, splitIndicator#692620L, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, sourceOfSupplyUuid#692615, minimumOrderQuantity#692631, orderProposalItemId#692602, orderProposalItemGroupId#692625, optimizationGroups#692644, measurements#692642, externalProductId#692626, externalPlantId#692627, previousOrderProposal#692621L, isFallbackOrderOnly#692618, prodLocSpecificKpis#693304, channelStreamSpecificKpis#693319, coalesce(quantityKpis#693320, map(keys: [], values: [])) AS quantityKpis#693332]
Input [44]: [shardId#691888, worklistShardItemId#692400L, quantityAfterProdPlantOptimization#692401, qty#692402, orderProposalId#692601L, originalReplenishmentRunId#692643L, supplierGroup#692603, supplier#692604, supplyingPlant#692608, productGroup#692609, product#692610, plant#692605, subrange#692607, orderDateTime#692611, deliveryDateTime#692606, availabilityDateTime#692612, nextAvailabilityDateTime#692613, constraintValues#692634, constraintOperators#692633, constraintLabels#692632, logisticUnits#692628, orderQuantityBaseUom#692629, orderQuantityBaseUomUuid#692630, splitIndicator#692620L, netPriceAmount#692637, netPriceCurrencyCode#692638, netPriceQuantity#692639, netPriceQuantityUom#692640, netPriceQuantityUomUuid#692641, sourceOfSupplyUuid#692615, minimumOrderQuantity#692631, orderProposalItemId#692602, orderProposalItemGroupId#692625, optimizationGroups#692644, measurements#692642, externalProductId#692626, externalPlantId#692627, previousOrderProposal#692621L, isFallbackOrderOnly#692618, prodLocSpecificKpis#693304, channelStreamSpecificKpis#693319, shardId#693326, worklistShardItemId#693327L, quantityKpis#693320]
(55) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#692578, channelStreamSpecificKpis#693319, constraintLabels#692590, constraintOperators#692591, constraintValues#692593, deliveryDateTime#692577, isFallbackOrderOnly#692580, logisticUnits#692595, measurements#692588, minimumOrderQuantity#692589, netPriceAmount#692586, netPriceCurrencyCode#692587, netPriceQuantity#692583, netPriceQuantityUom#692584, netPriceQuantityUomUuid#692585, nextAvailabilityDateTime#692579, optimizationGroups#692596, orderDateTime#692576, orderProposalId#692558L, orderProposalItemGroupId#692560, orderProposalItemId#692559, orderQuantityBaseUom#692581, orderQuantityBaseUomUuid#692582, originalReplenishmentRunId#692561L, plant#692572, previousOrderProposal#692564L, prodLocSpecificKpis#693304, product#692571, productGroup#692600, qty#692402, quantityAfterProdPlantOptimization#692401, quantityKpis#693332, shardId#691888, sourceOfSupplyUuid#692567, splitIndicator#692563L, subrange#692570, supplier#692569, supplierGroup#692568, supplyingPlant#692599]
Condition : NOT (isFallbackOrderOnly#692580 <=> true)
(56) Project [codegen id : 1]
Output [36]: [shardId#691888, quantityAfterProdPlantOptimization#692401, qty#692402, orderProposalId#692558L, originalReplenishmentRunId#692561L, supplierGroup#692568, supplier#692569, supplyingPlant#692599, productGroup#692600, product#692571, plant#692572, subrange#692570, orderDateTime#692576, deliveryDateTime#692577, availabilityDateTime#692578, nextAvailabilityDateTime#692579, logisticUnits#692595, orderQuantityBaseUom#692581, orderQuantityBaseUomUuid#692582, splitIndicator#692563L, netPriceAmount#692586, netPriceCurrencyCode#692587, netPriceQuantity#692583, netPriceQuantityUom#692584, netPriceQuantityUomUuid#692585, sourceOfSupplyUuid#692567, minimumOrderQuantity#692589, orderProposalItemId#692559, orderProposalItemGroupId#692560, optimizationGroups#692596, measurements#692588, previousOrderProposal#692564L, prodLocSpecificKpis#693304, channelStreamSpecificKpis#693319, quantityKpis#693332, arrays_zip(constraintLabels#692590, constraintOperators#692591, constraintValues#692593, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#693746]
Input [39]: [availabilityDateTime#692578, channelStreamSpecificKpis#693319, constraintLabels#692590, constraintOperators#692591, constraintValues#692593, deliveryDateTime#692577, isFallbackOrderOnly#692580, logisticUnits#692595, measurements#692588, minimumOrderQuantity#692589, netPriceAmount#692586, netPriceCurrencyCode#692587, netPriceQuantity#692583, netPriceQuantityUom#692584, netPriceQuantityUomUuid#692585, nextAvailabilityDateTime#692579, optimizationGroups#692596, orderDateTime#692576, orderProposalId#692558L, orderProposalItemGroupId#692560, orderProposalItemId#692559, orderQuantityBaseUom#692581, orderQuantityBaseUomUuid#692582, originalReplenishmentRunId#692561L, plant#692572, previousOrderProposal#692564L, prodLocSpecificKpis#693304, product#692571, productGroup#692600, qty#692402, quantityAfterProdPlantOptimization#692401, quantityKpis#693332, shardId#691888, sourceOfSupplyUuid#692567, splitIndicator#692563L, subrange#692570, supplier#692569, supplierGroup#692568, supplyingPlant#692599]
(57) Project
Output [37]: [shardId#691888, qty#692402, orderProposalId#692558L, originalReplenishmentRunId#692561L, supplierGroup#692568, supplier#692569, supplyingPlant#692599, productGroup#692600, product#692571, plant#692572, subrange#692570, orderDateTime#692576, deliveryDateTime#692577, availabilityDateTime#692578, nextAvailabilityDateTime#692579, logisticUnits#692595, orderQuantityBaseUom#692581, orderQuantityBaseUomUuid#692582, splitIndicator#692563L, netPriceAmount#692586, netPriceCurrencyCode#692587, netPriceQuantity#692583, netPriceQuantityUom#692584, netPriceQuantityUomUuid#692585, sourceOfSupplyUuid#692567, orderProposalItemId#692559, orderProposalItemGroupId#692560, optimizationGroups#692596, measurements#692588, previousOrderProposal#692564L, prodLocSpecificKpis#693304, channelStreamSpecificKpis#693319, quantityKpis#693332, struct(minServiceLevel, array_min(filter(constraintStructArray#693746, lambdafunction((lambda x_1789#693753.constraintLabels = ServiceLevel), lambda x_1789#693753, false)).constraintValues), minServiceLevelMinStock, null, maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#693746, lambdafunction((lambda x_1790#693754.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_1790#693754, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#693746, lambdafunction((lambda x_1791#693755.constraintLabels = RangeOfCoverage), lambda x_1791#693755, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#692589, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#693304, lambdafunction((lambda x_1792#693756.label = NonListingStartTimestamp), lambda x_1792#693756, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#693752, CASE WHEN (qty#692402 <=> quantityAfterProdPlantOptimization#692401) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#692402 * (cast(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1793#693824.isOrderUnit, lambda x_1793#693824, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1793#693825.isOrderUnit, lambda x_1793#693825, false)), 1, None, false).numerator as double))), qty#692402), orderQuantityUom, coalesce(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1793#693826.isOrderUnit, lambda x_1793#693826, false)), 1, None, false).uom, orderQuantityBaseUom#692581), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1793#693827.isOrderUnit, lambda x_1793#693827, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#692582), candidateOrderQuantityInBaseUnit, qty#692402, orderQuantityBaseUom, orderQuantityBaseUom#692581, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#692582, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#692595, lambdafunction((lambda x_1795#693828.isPreferred AND (((qty#692402 * cast(lambda x_1795#693828.denominator as double)) % cast(lambda x_1795#693828.numerator as double)) = 0.0)), lambda x_1795#693828, false)), lambdafunction(struct(inPreferredQuantity, ((qty#692402 * cast(lambda x_1796#693866.denominator as double)) / cast(lambda x_1796#693866.numerator as double)), uom, lambda x_1796#693866.uom, uomUuid, lambda x_1796#693866.uomUuid), lambda x_1796#693866, false))).inPreferredQuantity, coalesce((qty#692402 * (cast(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1794#693829.isOrderUnit, lambda x_1794#693829, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1794#693830.isOrderUnit, lambda x_1794#693830, false)), 1, None, false).numerator as double))), qty#692402)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#692595, lambdafunction((lambda x_1795#693831.isPreferred AND (((qty#692402 * cast(lambda x_1795#693831.denominator as double)) % cast(lambda x_1795#693831.numerator as double)) = 0.0)), lambda x_1795#693831, false)), lambdafunction(struct(inPreferredQuantity, ((qty#692402 * cast(lambda x_1796#693867.denominator as double)) / cast(lambda x_1796#693867.numerator as double)), uom, lambda x_1796#693867.uom, uomUuid, lambda x_1796#693867.uomUuid), lambda x_1796#693867, false))).uom, coalesce(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1794#693832.isOrderUnit, lambda x_1794#693832, false)), 1, None, false).uom, orderQuantityBaseUom#692581)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#692595, lambdafunction((lambda x_1795#693833.isPreferred AND (((qty#692402 * cast(lambda x_1795#693833.denominator as double)) % cast(lambda x_1795#693833.numerator as double)) = 0.0)), lambda x_1795#693833, false)), lambdafunction(struct(inPreferredQuantity, ((qty#692402 * cast(lambda x_1796#693868.denominator as double)) / cast(lambda x_1796#693868.numerator as double)), uom, lambda x_1796#693868.uom, uomUuid, lambda x_1796#693868.uomUuid), lambda x_1796#693868, false))).uomUuid, coalesce(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1794#693834.isOrderUnit, lambda x_1794#693834, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#692582)), serviceLevel, coalesce(filter(element_at(quantityKpis#693332, qty#692402, None, false), lambdafunction((lambda x_1801#693835.label = ServiceLevel), lambda x_1801#693835, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#692402 * (cast(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1793#693838.isOrderUnit, lambda x_1793#693838, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1793#693839.isOrderUnit, lambda x_1793#693839, false)), 1, None, false).numerator as double))), qty#692402), orderQuantityUom, coalesce(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1793#693840.isOrderUnit, lambda x_1793#693840, false)), 1, None, false).uom, orderQuantityBaseUom#692581), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1793#693841.isOrderUnit, lambda x_1793#693841, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#692582), candidateOrderQuantityInBaseUnit, qty#692402, orderQuantityBaseUom, orderQuantityBaseUom#692581, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#692582, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#692595, lambdafunction((lambda x_1795#693842.isPreferred AND (((qty#692402 * cast(lambda x_1795#693842.denominator as double)) % cast(lambda x_1795#693842.numerator as double)) = 0.0)), lambda x_1795#693842, false)), lambdafunction(struct(inPreferredQuantity, ((qty#692402 * cast(lambda x_1796#693869.denominator as double)) / cast(lambda x_1796#693869.numerator as double)), uom, lambda x_1796#693869.uom, uomUuid, lambda x_1796#693869.uomUuid), lambda x_1796#693869, false))).inPreferredQuantity, coalesce((qty#692402 * (cast(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1794#693843.isOrderUnit, lambda x_1794#693843, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1794#693844.isOrderUnit, lambda x_1794#693844, false)), 1, None, false).numerator as double))), qty#692402)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#692595, lambdafunction((lambda x_1795#693845.isPreferred AND (((qty#692402 * cast(lambda x_1795#693845.denominator as double)) % cast(lambda x_1795#693845.numerator as double)) = 0.0)), lambda x_1795#693845, false)), lambdafunction(struct(inPreferredQuantity, ((qty#692402 * cast(lambda x_1796#693870.denominator as double)) / cast(lambda x_1796#693870.numerator as double)), uom, lambda x_1796#693870.uom, uomUuid, lambda x_1796#693870.uomUuid), lambda x_1796#693870, false))).uom, coalesce(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1794#693846.isOrderUnit, lambda x_1794#693846, false)), 1, None, false).uom, orderQuantityBaseUom#692581)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#692595, lambdafunction((lambda x_1795#693847.isPreferred AND (((qty#692402 * cast(lambda x_1795#693847.denominator as double)) % cast(lambda x_1795#693847.numerator as double)) = 0.0)), lambda x_1795#693847, false)), lambdafunction(struct(inPreferredQuantity, ((qty#692402 * cast(lambda x_1796#693871.denominator as double)) / cast(lambda x_1796#693871.numerator as double)), uom, lambda x_1796#693871.uom, uomUuid, lambda x_1796#693871.uomUuid), lambda x_1796#693871, false))).uomUuid, coalesce(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1794#693848.isOrderUnit, lambda x_1794#693848, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#692582)), serviceLevel, coalesce(filter(element_at(quantityKpis#693332, qty#692402, None, false), lambdafunction((lambda x_1804#693849.label = ServiceLevel), lambda x_1804#693849, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#692401 * (cast(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1797#693852.isOrderUnit, lambda x_1797#693852, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1797#693853.isOrderUnit, lambda x_1797#693853, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#692401), orderQuantityUom, coalesce(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1797#693854.isOrderUnit, lambda x_1797#693854, false)), 1, None, false).uom, orderQuantityBaseUom#692581), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1797#693855.isOrderUnit, lambda x_1797#693855, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#692582), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#692401, orderQuantityBaseUom, orderQuantityBaseUom#692581, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#692582, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#692595, lambdafunction((lambda x_1799#693856.isPreferred AND (((quantityAfterProdPlantOptimization#692401 * cast(lambda x_1799#693856.denominator as double)) % cast(lambda x_1799#693856.numerator as double)) = 0.0)), lambda x_1799#693856, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#692401 * cast(lambda x_1800#693872.denominator as double)) / cast(lambda x_1800#693872.numerator as double)), uom, lambda x_1800#693872.uom, uomUuid, lambda x_1800#693872.uomUuid), lambda x_1800#693872, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#692401 * (cast(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1798#693857.isOrderUnit, lambda x_1798#693857, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1798#693858.isOrderUnit, lambda x_1798#693858, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#692401)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#692595, lambdafunction((lambda x_1799#693859.isPreferred AND (((quantityAfterProdPlantOptimization#692401 * cast(lambda x_1799#693859.denominator as double)) % cast(lambda x_1799#693859.numerator as double)) = 0.0)), lambda x_1799#693859, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#692401 * cast(lambda x_1800#693873.denominator as double)) / cast(lambda x_1800#693873.numerator as double)), uom, lambda x_1800#693873.uom, uomUuid, lambda x_1800#693873.uomUuid), lambda x_1800#693873, false))).uom, coalesce(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1798#693860.isOrderUnit, lambda x_1798#693860, false)), 1, None, false).uom, orderQuantityBaseUom#692581)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#692595, lambdafunction((lambda x_1799#693861.isPreferred AND (((quantityAfterProdPlantOptimization#692401 * cast(lambda x_1799#693861.denominator as double)) % cast(lambda x_1799#693861.numerator as double)) = 0.0)), lambda x_1799#693861, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#692401 * cast(lambda x_1800#693874.denominator as double)) / cast(lambda x_1800#693874.numerator as double)), uom, lambda x_1800#693874.uom, uomUuid, lambda x_1800#693874.uomUuid), lambda x_1800#693874, false))).uomUuid, coalesce(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1798#693862.isOrderUnit, lambda x_1798#693862, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#692582)), serviceLevel, coalesce(filter(element_at(quantityKpis#693332, quantityAfterProdPlantOptimization#692401, None, false), lambdafunction((lambda x_1807#693863.label = ServiceLevel), lambda x_1807#693863, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#693823, coalesce(filter(prodLocSpecificKpis#693304, lambdafunction((lambda x_1810#693876.label = InitialStockQty), lambda x_1810#693876, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#693875, coalesce(filter(prodLocSpecificKpis#693304, lambdafunction((lambda x_1811#693878.label = DemandPeriodEndTimestamp), lambda x_1811#693878, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#693877]
Input [36]: [shardId#691888, quantityAfterProdPlantOptimization#692401, qty#692402, orderProposalId#692558L, originalReplenishmentRunId#692561L, supplierGroup#692568, supplier#692569, supplyingPlant#692599, productGroup#692600, product#692571, plant#692572, subrange#692570, orderDateTime#692576, deliveryDateTime#692577, availabilityDateTime#692578, nextAvailabilityDateTime#692579, logisticUnits#692595, orderQuantityBaseUom#692581, orderQuantityBaseUomUuid#692582, splitIndicator#692563L, netPriceAmount#692586, netPriceCurrencyCode#692587, netPriceQuantity#692583, netPriceQuantityUom#692584, netPriceQuantityUomUuid#692585, sourceOfSupplyUuid#692567, minimumOrderQuantity#692589, orderProposalItemId#692559, orderProposalItemGroupId#692560, optimizationGroups#692596, measurements#692588, previousOrderProposal#692564L, prodLocSpecificKpis#693304, channelStreamSpecificKpis#693319, quantityKpis#693332, constraintStructArray#693746]
(58) Project
Output [21]: [shardId#691888, qty#692402, orderProposalId#692558L, originalReplenishmentRunId#692561L, supplierGroup#692568, supplier#692569, supplyingPlant#692599, productGroup#692600, product#692571, plant#692572, subrange#692570, orderDateTime#692576, deliveryDateTime#692577, logisticUnits#692595, orderQuantityBaseUom#692581, orderQuantityBaseUomUuid#692582, splitIndicator#692563L, orderProposalItemId#692559, orderProposalItemGroupId#692560, previousOrderProposal#692564L, struct(itemId, 123456, itemGroupId, 123456, supplier, supplier#692569, supplyingPlant, supplyingPlant#692599, productGroup, productGroup#692600, product, product#692571, plant, plant#692572, supplierSubRange, subrange#692570, sourceOfSupplyUuid, sourceOfSupplyUuid#692567, deliveryDateTime, deliveryDateTime#692577, unitPrice, netPriceAmount#692586, unitPriceCurrency, netPriceCurrencyCode#692587, unitPriceQuantity, ... 37 more fields) AS parentItem#693957]
Input [37]: [shardId#691888, qty#692402, orderProposalId#692558L, originalReplenishmentRunId#692561L, supplierGroup#692568, supplier#692569, supplyingPlant#692599, productGroup#692600, product#692571, plant#692572, subrange#692570, orderDateTime#692576, deliveryDateTime#692577, availabilityDateTime#692578, nextAvailabilityDateTime#692579, logisticUnits#692595, orderQuantityBaseUom#692581, orderQuantityBaseUomUuid#692582, splitIndicator#692563L, netPriceAmount#692586, netPriceCurrencyCode#692587, netPriceQuantity#692583, netPriceQuantityUom#692584, netPriceQuantityUomUuid#692585, sourceOfSupplyUuid#692567, orderProposalItemId#692559, orderProposalItemGroupId#692560, optimizationGroups#692596, measurements#692588, previousOrderProposal#692564L, prodLocSpecificKpis#693304, channelStreamSpecificKpis#693319, quantityKpis#693332, constraintBenchmark#693752, calculationAnalysis#693823, inventoryDateTime#693875, demandPeriodEndDateTime#693877]
(59) Project
Output [12]: [shardId#691888, orderProposalId#692558L, originalReplenishmentRunId#692561L, supplierGroup#692568, supplier#692569, supplyingPlant#692599, orderDateTime#692576, splitIndicator#692563L, orderProposalItemGroupId#692560, previousOrderProposal#692564L, parentItem#693957, struct(itemId, orderProposalItemId#692559, supplier, supplier#692569, supplyingPlant, supplyingPlant#692599, productGroup, productGroup#692600, product, product#692571, plant, plant#692572, supplierSubRange, subrange#692570, deliveryDateTime, deliveryDateTime#692577, orderQuantity, coalesce((qty#692402 * (cast(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1835#693991.isOrderUnit, lambda x_1835#693991, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1835#693992.isOrderUnit, lambda x_1835#693992, false)), 1, None, false).numerator as double))), qty#692402), orderQuantityUom, coalesce(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1835#693993.isOrderUnit, lambda x_1835#693993, false)), 1, None, false).uom, orderQuantityBaseUom#692581), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#692595, lambdafunction(lambda x_1835#693994.isOrderUnit, lambda x_1835#693994, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#692582), orderQuantityInBaseUnit, qty#692402, orderQuantityBaseUom, ... 13 more fields) AS item#693988]
Input [21]: [shardId#691888, qty#692402, orderProposalId#692558L, originalReplenishmentRunId#692561L, supplierGroup#692568, supplier#692569, supplyingPlant#692599, productGroup#692600, product#692571, plant#692572, subrange#692570, orderDateTime#692576, deliveryDateTime#692577, logisticUnits#692595, orderQuantityBaseUom#692581, orderQuantityBaseUomUuid#692582, splitIndicator#692563L, orderProposalItemId#692559, orderProposalItemGroupId#692560, previousOrderProposal#692564L, parentItem#693957]
(60) ObjectHashAggregate
Input [12]: [shardId#691888, orderProposalId#692558L, originalReplenishmentRunId#692561L, supplierGroup#692568, supplier#692569, supplyingPlant#692599, orderDateTime#692576, splitIndicator#692563L, orderProposalItemGroupId#692560, previousOrderProposal#692564L, parentItem#693957, item#693988]
Keys [4]: [shardId#691888, orderProposalId#692558L, splitIndicator#692563L, orderProposalItemGroupId#692560]
Functions [8]: [partial_max(originalReplenishmentRunId#692561L), partial_max(supplierGroup#692568), partial_max(supplier#692569), partial_max(supplyingPlant#692599), partial_max(orderDateTime#692576), partial_collect_list(parentItem#693957, 0, 0), partial_collect_set(previousOrderProposal#692564L, 0, 0), partial_collect_list(item#693988, 0, 0)]
Aggregate Attributes [8]: [max#695249L, max#695250, max#695251, max#695252, max#695253, buf#695254, buf#695255, buf#695256]
Results [12]: [shardId#691888, orderProposalId#692558L, splitIndicator#692563L, orderProposalItemGroupId#692560, max#695257L, max#695258, max#695259, max#695260, max#695261, buf#695262, buf#695263, buf#695264]
(61) Exchange
Input [12]: [shardId#691888, orderProposalId#692558L, splitIndicator#692563L, orderProposalItemGroupId#692560, max#695257L, max#695258, max#695259, max#695260, max#695261, buf#695262, buf#695263, buf#695264]
Arguments: hashpartitioning(shardId#691888, orderProposalId#692558L, splitIndicator#692563L, orderProposalItemGroupId#692560, 20), ENSURE_REQUIREMENTS, [plan_id=279084]
(62) ObjectHashAggregate
Input [12]: [shardId#691888, orderProposalId#692558L, splitIndicator#692563L, orderProposalItemGroupId#692560, max#695257L, max#695258, max#695259, max#695260, max#695261, buf#695262, buf#695263, buf#695264]
Keys [4]: [shardId#691888, orderProposalId#692558L, splitIndicator#692563L, orderProposalItemGroupId#692560]
Functions [8]: [max(originalReplenishmentRunId#692561L), max(supplierGroup#692568), max(supplier#692569), max(supplyingPlant#692599), max(orderDateTime#692576), collect_list(parentItem#693957, 0, 0), collect_set(previousOrderProposal#692564L, 0, 0), collect_list(item#693988, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#692561L)#694057L, max(supplierGroup#692568)#694058, max(supplier#692569)#694059, max(supplyingPlant#692599)#694060, max(orderDateTime#692576)#694061, collect_list(parentItem#693957, 0, 0)#694062, collect_set(previousOrderProposal#692564L, 0, 0)#694064, collect_list(item#693988, 0, 0)#694063]
Results [10]: [shardId#691888, orderProposalId#692558L, max(originalReplenishmentRunId#692561L)#694057L AS originalReplenishmentRunId#694005L, max(supplierGroup#692568)#694058 AS supplierGroup#694006, max(supplier#692569)#694059 AS supplier#694007, max(supplyingPlant#692599)#694060 AS supplyingPlant#694008, max(orderDateTime#692576)#694061 AS orderDateTime#694009, collect_list(parentItem#693957, 0, 0)#694062 AS parentItems#694010, collect_set(previousOrderProposal#692564L, 0, 0)#694064 AS previousOrderProposals#694012, struct(itemGroupId, coalesce(orderProposalItemGroupId#692560, cast((monotonically_increasing_id() % 9999999999) as string)), items, collect_list(item#693988, 0, 0)#694063) AS itemGroup#694066]
(63) ObjectHashAggregate
Input [10]: [shardId#691888, orderProposalId#692558L, originalReplenishmentRunId#694005L, supplierGroup#694006, supplier#694007, supplyingPlant#694008, orderDateTime#694009, parentItems#694010, previousOrderProposals#694012, itemGroup#694066]
Keys [2]: [shardId#691888, orderProposalId#692558L]
Functions [8]: [partial_max(originalReplenishmentRunId#694005L), partial_max(supplierGroup#694006), partial_max(supplier#694007), partial_max(supplyingPlant#694008), partial_max(orderDateTime#694009), partial_collect_list(itemGroup#694066, 0, 0), partial_collect_list(parentItems#694010, 0, 0), partial_collect_set(previousOrderProposals#694012, 0, 0)]
Aggregate Attributes [8]: [max#695233L, max#695234, max#695235, max#695236, max#695237, buf#695238, buf#695239, buf#695240]
Results [10]: [shardId#691888, orderProposalId#692558L, max#695241L, max#695242, max#695243, max#695244, max#695245, buf#695246, buf#695247, buf#695248]
(64) Exchange
Input [10]: [shardId#691888, orderProposalId#692558L, max#695241L, max#695242, max#695243, max#695244, max#695245, buf#695246, buf#695247, buf#695248]
Arguments: hashpartitioning(shardId#691888, orderProposalId#692558L, 20), ENSURE_REQUIREMENTS, [plan_id=279087]
(65) ObjectHashAggregate
Input [10]: [shardId#691888, orderProposalId#692558L, max#695241L, max#695242, max#695243, max#695244, max#695245, buf#695246, buf#695247, buf#695248]
Keys [2]: [shardId#691888, orderProposalId#692558L]
Functions [8]: [max(originalReplenishmentRunId#694005L), max(supplierGroup#694006), max(supplier#694007), max(supplyingPlant#694008), max(orderDateTime#694009), collect_list(itemGroup#694066, 0, 0), collect_list(parentItems#694010, 0, 0), collect_set(previousOrderProposals#694012, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#694005L)#694088L, max(supplierGroup#694006)#694089, max(supplier#694007)#694090, max(supplyingPlant#694008)#694091, max(orderDateTime#694009)#694092, collect_list(itemGroup#694066, 0, 0)#694093, collect_list(parentItems#694010, 0, 0)#694094, collect_set(previousOrderProposals#694012, 0, 0)#694095]
Results [10]: [shardId#691888, orderProposalId#692558L, max(originalReplenishmentRunId#694005L)#694088L AS originalReplenishmentRunId#694067L, max(supplierGroup#694006)#694089 AS supplierGroup#694068, max(supplier#694007)#694090 AS supplier#694069, max(supplyingPlant#694008)#694091 AS supplyingPlant#694070, max(orderDateTime#694009)#694092 AS orderDateTime#694071, collect_list(itemGroup#694066, 0, 0)#694093 AS itemGroups#694072, flatten(collect_list(parentItems#694010, 0, 0)#694094) AS parentItems#694073, flatten(collect_set(previousOrderProposals#694012, 0, 0)#694095) AS previousOrderProposals#694074]
(66) Project
Output [2]: [shardId#691888, struct(orderProposalId, orderProposalId#692558L, originalReplenishmentRunId, originalReplenishmentRunId#694067L, supplierGroup, supplierGroup#694068, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#694068) THEN supplier#694069 END, supplyingPlant, supplyingPlant#694070, orderDateTime, orderDateTime#694071, itemGroups, itemGroups#694072, previousOrderProposals, array_distinct(previousOrderProposals#694074), parentItems, parentItems#694073) AS orderProposal#694099]
Input [10]: [shardId#691888, orderProposalId#692558L, originalReplenishmentRunId#694067L, supplierGroup#694068, supplier#694069, supplyingPlant#694070, orderDateTime#694071, itemGroups#694072, parentItems#694073, previousOrderProposals#694074]
(67) Project
Output [11]: [shardId#691888, orderProposal#694099.orderProposalId AS _extract_orderProposalId#694865L, orderProposal#694099.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#694866L, orderProposal#694099.supplierGroup AS _extract_supplierGroup#694867, orderProposal#694099.supplier AS _extract_supplier#694868, orderProposal#694099.supplyingPlant AS _extract_supplyingPlant#694869, orderProposal#694099.orderDateTime AS _extract_orderDateTime#694870, orderProposal#694099.itemGroups AS _extract_itemGroups#694871, orderProposal#694099.previousOrderProposals AS _extract_previousOrderProposals#694872, orderProposal#694099.parentItems AS _extract_parentItems#694873, orderProposal#694099.orderProposalId AS _extract_orderProposalId#694874L]
Input [2]: [shardId#691888, orderProposal#694099]
(68) Exchange
Input [11]: [shardId#691888, _extract_orderProposalId#694865L, _extract_originalReplenishmentRunId#694866L, _extract_supplierGroup#694867, _extract_supplier#694868, _extract_supplyingPlant#694869, _extract_orderDateTime#694870, _extract_itemGroups#694871, _extract_previousOrderProposals#694872, _extract_parentItems#694873, _extract_orderProposalId#694874L]
Arguments: hashpartitioning(coalesce(shardId#691888, ), isnull(shardId#691888), coalesce(_extract_orderProposalId#694874L, 0), isnull(_extract_orderProposalId#694874L), 20), ENSURE_REQUIREMENTS, [plan_id=279091]
(69) Sort
Input [11]: [shardId#691888, _extract_orderProposalId#694865L, _extract_originalReplenishmentRunId#694866L, _extract_supplierGroup#694867, _extract_supplier#694868, _extract_supplyingPlant#694869, _extract_orderDateTime#694870, _extract_itemGroups#694871, _extract_previousOrderProposals#694872, _extract_parentItems#694873, _extract_orderProposalId#694874L]
Arguments: [coalesce(shardId#691888, ) ASC NULLS FIRST, isnull(shardId#691888) ASC NULLS FIRST, coalesce(_extract_orderProposalId#694874L, 0) ASC NULLS FIRST, isnull(_extract_orderProposalId#694874L) ASC NULLS FIRST], false, 0
(70) InMemoryTableScan
Output [3]: [shardId#694122, orderProposalId#694123L, optimizationGroups#694125]
Arguments: [shardId#694122, orderProposalId#694123L, optimizationGroups#694125], [isnotnull(orderProposalId#694123L)]
(71) InMemoryRelation
Arguments: [shardId#694122, orderProposalId#694123L, items#694124, optimizationGroups#694125, isOptimal#694126, optimizationInsights#694128], StorageLevel(disk, memory, 2 replicas)
(72) Filter [codegen id : 2]
Input [3]: [shardId#694122, orderProposalId#694123L, optimizationGroups#694125]
Condition : isnotnull(orderProposalId#694123L)
(73) BroadcastExchange
Input [3]: [shardId#694122, orderProposalId#694123L, optimizationGroups#694125]
Arguments: HashedRelationBroadcastMode(List(input[1, bigint, false]),false), [plan_id=279096]
(74) InMemoryTableScan
Output [2]: [items#693741, shardId#693739]
Arguments: [items#693741, shardId#693739], [(size(items#693741.worklistShardItemId, true) > 0), isnotnull(items#693741.worklistShardItemId), (shardId#693739 = 0_1_10000002107)]
(75) InMemoryRelation
Arguments: [shardId#693739, orderProposalId#693740L, items#693741, optimizationGroups#693742, isOptimal#693743, optimizationInsights#693745], StorageLevel(disk, memory, 2 replicas)
(76) Filter [codegen id : 3]
Input [2]: [items#693741, shardId#693739]
Condition : (((size(items#693741.worklistShardItemId, true) > 0) AND isnotnull(items#693741.worklistShardItemId)) AND (shardId#693739 = 0_1_10000002107))
(77) Project [codegen id : 3]
Output [1]: [items#693741.worklistShardItemId AS _extract_worklistShardItemId#694770]
Input [2]: [items#693741, shardId#693739]
(78) Generate [codegen id : 3]
Input [1]: [_extract_worklistShardItemId#694770]
Arguments: explode(_extract_worklistShardItemId#694770), false, [item#694129L]
(79) Project [codegen id : 3]
Output [1]: [item#694129L AS worklistShardItemId#694130L]
Input [1]: [item#694129L]
(80) BroadcastExchange
Input [1]: [worklistShardItemId#694130L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=279104]
(81) Scan parquet
Output [5]: [orderProposalId#694178L, isFallbackOrderOnly#694195, worklistShardItemId#694201L, shardId#694222, sequenceId#694200]
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/10000002107]
PartitionFilters: [isnotnull(shardId#694222), isnotnull(sequenceId#694200), (shardId#694222 = 0_1_10000002107), (sequenceId#694200 = 5)]
PushedFilters: [IsNotNull(worklistShardItemId), Not(EqualNullSafe(isFallbackOrderOnly,true)), IsNotNull(orderProposalId)]
ReadSchema: struct<orderProposalId:bigint,isFallbackOrderOnly:boolean,worklistShardItemId:bigint>
(82) ColumnarToRow [codegen id : 4]
Input [5]: [orderProposalId#694178L, isFallbackOrderOnly#694195, worklistShardItemId#694201L, shardId#694222, sequenceId#694200]
(83) Filter [codegen id : 4]
Input [5]: [orderProposalId#694178L, isFallbackOrderOnly#694195, worklistShardItemId#694201L, shardId#694222, sequenceId#694200]
Condition : ((isnotnull(worklistShardItemId#694201L) AND NOT (isFallbackOrderOnly#694195 <=> true)) AND isnotnull(orderProposalId#694178L))
(84) Project [codegen id : 4]
Output [2]: [orderProposalId#694178L, worklistShardItemId#694201L]
Input [5]: [orderProposalId#694178L, isFallbackOrderOnly#694195, worklistShardItemId#694201L, shardId#694222, sequenceId#694200]
(85) Exchange
Input [2]: [orderProposalId#694178L, worklistShardItemId#694201L]
Arguments: hashpartitioning(worklistShardItemId#694201L, 20), REPARTITION_BY_NUM, [plan_id=279111]
(86) Project
Output [2]: [worklistShardItemId#694201L, orderProposalId#694178L]
Input [2]: [orderProposalId#694178L, worklistShardItemId#694201L]
(87) BroadcastHashJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#694130L]
Right keys [1]: [worklistShardItemId#694201L]
Join type: Inner
Join condition: None
(88) Project [codegen id : 5]
Output [1]: [orderProposalId#694178L]
Input [3]: [worklistShardItemId#694130L, worklistShardItemId#694201L, orderProposalId#694178L]
(89) HashAggregate [codegen id : 5]
Input [1]: [orderProposalId#694178L]
Keys [1]: [orderProposalId#694178L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#694178L]
(90) Exchange
Input [1]: [orderProposalId#694178L]
Arguments: hashpartitioning(orderProposalId#694178L, 20), ENSURE_REQUIREMENTS, [plan_id=279118]
(91) HashAggregate
Input [1]: [orderProposalId#694178L]
Keys [1]: [orderProposalId#694178L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#694178L]
(92) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [orderProposalId#694123L]
Right keys [1]: [orderProposalId#694178L]
Join type: Inner
Join condition: None
(93) Project
Output [3]: [orderProposalId#694123L, shardId#694122, coalesce(transform(optimizationGroups#694125, lambdafunction(struct(optGroupId, lambda x_1839#694120.optGroupId, minOrderProfile, lambda x_1839#694120.minOrderProfile, assignmentDetails, lambda x_1839#694120.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_1839#694120.minOrderGoal.dimensionType, unit, lambda x_1839#694120.minOrderGoal.unit, unitUuid, lambda x_1839#694120.minOrderGoal.unitUuid, goalValue, lambda x_1839#694120.minOrderGoal.minOrderValue, calcValue, lambda x_1839#694120.minOrderGoal.calculatedOrderValue), transportLoadProfile, DummyTloProfile01, transportLoadGoal, [3,5000.0,false,PAL,a7f3c91d204eb8f56d12a09e3b785c4f,TON,b4e8d1f0c73a92e61d05b8f4a291c07e,40.0]), lambda x_1839#694120, false)), []) AS optimizationGroups#694119]
Input [4]: [shardId#694122, orderProposalId#694123L, optimizationGroups#694125, orderProposalId#694178L]
(94) Exchange
Input [3]: [orderProposalId#694123L, shardId#694122, optimizationGroups#694119]
Arguments: hashpartitioning(coalesce(shardId#694122, ), isnull(shardId#694122), coalesce(orderProposalId#694123L, 0), isnull(orderProposalId#694123L), 20), ENSURE_REQUIREMENTS, [plan_id=279124]
(95) Sort [codegen id : 7]
Input [3]: [orderProposalId#694123L, shardId#694122, optimizationGroups#694119]
Arguments: [coalesce(shardId#694122, ) ASC NULLS FIRST, isnull(shardId#694122) ASC NULLS FIRST, coalesce(orderProposalId#694123L, 0) ASC NULLS FIRST, isnull(orderProposalId#694123L) ASC NULLS FIRST], false, 0
(96) SortMergeJoin
Left keys [4]: [coalesce(shardId#691888, ), isnull(shardId#691888), coalesce(_extract_orderProposalId#694874L, 0), isnull(_extract_orderProposalId#694874L)]
Right keys [4]: [coalesce(shardId#694122, ), isnull(shardId#694122), coalesce(orderProposalId#694123L, 0), isnull(orderProposalId#694123L)]
Join type: LeftOuter
Join condition: None
(97) Project
Output [2]: [shardId#691888, named_struct(orderProposalId, _extract_orderProposalId#694874L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#694866L, supplierGroup, _extract_supplierGroup#694867, optimizationGroups, coalesce(optimizationGroups#694119, []), supplier, _extract_supplier#694868, supplyingPlant, _extract_supplyingPlant#694869, orderDateTime, _extract_orderDateTime#694870, itemGroups, _extract_itemGroups#694871, previousOrderProposals, _extract_previousOrderProposals#694872, parentItems, _extract_parentItems#694873) AS orderProposal#694226]
Input [14]: [shardId#691888, _extract_orderProposalId#694865L, _extract_originalReplenishmentRunId#694866L, _extract_supplierGroup#694867, _extract_supplier#694868, _extract_supplyingPlant#694869, _extract_orderDateTime#694870, _extract_itemGroups#694871, _extract_previousOrderProposals#694872, _extract_parentItems#694873, _extract_orderProposalId#694874L, orderProposalId#694123L, shardId#694122, optimizationGroups#694119]
(98) Project
Output [3]: [shardId#691888, orderProposal#694226, CASE WHEN (size(orderProposal#694226.parentItems, true) > 2000) THEN xxhash64(orderProposal#694226.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#694226.orderProposalId as decimal(20,0)), 0), 42) END AS resultSeparationId#695978L]
Input [2]: [orderProposal#694226, shardId#691888]
(99) ObjectHashAggregate
Input [3]: [shardId#691888, orderProposal#694226, resultSeparationId#695978L]
Keys [2]: [shardId#691888, resultSeparationId#695978L]
Functions [1]: [partial_collect_list(orderProposal#694226, 0, 0)]
Aggregate Attributes [1]: [buf#696017]
Results [3]: [shardId#691888, resultSeparationId#695978L, buf#696018]
(100) Exchange
Input [3]: [shardId#691888, resultSeparationId#695978L, buf#696018]
Arguments: hashpartitioning(shardId#691888, resultSeparationId#695978L, 20), ENSURE_REQUIREMENTS, [plan_id=279271]
(101) ObjectHashAggregate
Input [3]: [shardId#691888, resultSeparationId#695978L, buf#696018]
Keys [2]: [shardId#691888, resultSeparationId#695978L]
Functions [1]: [collect_list(orderProposal#694226, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#694226, 0, 0)#695986]
Results [3]: [shardId#691888, resultSeparationId#695978L, collect_list(orderProposal#694226, 0, 0)#695986 AS orderProposals#695982]
(102) Exchange
Input [3]: [shardId#691888, resultSeparationId#695978L, orderProposals#695982]
Arguments: SinglePartition, REPARTITION_BY_NUM, [plan_id=279314]
(103) Project
Output [2]: [shardId#691888, orderProposals#695982]
Input [3]: [shardId#691888, resultSeparationId#695978L, orderProposals#695982]
(104) CollectLimit
Input: []
Arguments: 1