== 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#712663, orderProposals#716580], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [3]: [shardId#712663, resultSeparationId#716576L, orderProposals#716580]
Arguments: [shardId#712663, resultSeparationId#716576L, orderProposals#716580]
(4) InMemoryRelation
Arguments: [shardId#712663, resultSeparationId#716576L, orderProposals#716580], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [2]: [orderProposal#714824, shardId#712663]
Arguments: [orderProposal#714824, shardId#712663]
(6) InMemoryRelation
Arguments: [shardId#712663, orderProposal#714824], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [39]: [availabilityDateTime#713353, channelStreamSpecificKpis#713917, constraintLabels#713365, constraintOperators#713366, constraintValues#713368, deliveryDateTime#713352, isFallbackOrderOnly#713355, logisticUnits#713370, measurements#713363, minimumOrderQuantity#713364, netPriceAmount#713361, netPriceCurrencyCode#713362, netPriceQuantity#713358, netPriceQuantityUom#713359, netPriceQuantityUomUuid#713360, nextAvailabilityDateTime#713354, optimizationGroups#713371, orderDateTime#713351, orderProposalId#713333L, orderProposalItemGroupId#713335, orderProposalItemId#713334, orderQuantityBaseUom#713356, orderQuantityBaseUomUuid#713357, originalReplenishmentRunId#713336L, plant#713347, previousOrderProposal#713339L, prodLocSpecificKpis#713902, product#713346, productGroup#713375, qty#713177, quantityAfterProdPlantOptimization#713176, quantityKpis#713930, shardId#712663, sourceOfSupplyUuid#713342, splitIndicator#713338L, subrange#713345, supplier#713344, supplierGroup#713343, supplyingPlant#713374]
Arguments: [availabilityDateTime#713353, channelStreamSpecificKpis#713917, constraintLabels#713365, constraintOperators#713366, constraintValues#713368, deliveryDateTime#713352, isFallbackOrderOnly#713355, logisticUnits#713370, measurements#713363, minimumOrderQuantity#713364, netPriceAmount#713361, netPriceCurrencyCode#713362, netPriceQuantity#713358, netPriceQuantityUom#713359, netPriceQuantityUomUuid#713360, nextAvailabilityDateTime#713354, optimizationGroups#713371, orderDateTime#713351, orderProposalId#713333L, orderProposalItemGroupId#713335, orderProposalItemId#713334, orderQuantityBaseUom#713356, orderQuantityBaseUomUuid#713357, originalReplenishmentRunId#713336L, plant#713347, ... 14 more fields], [NOT (isFallbackOrderOnly#713355 <=> true)]
(8) InMemoryRelation
Arguments: [shardId#712663, worklistShardItemId#713175L, quantityAfterProdPlantOptimization#713176, qty#713177, orderProposalId#713333L, originalReplenishmentRunId#713336L, supplierGroup#713343, supplier#713344, supplyingPlant#713374, productGroup#713375, product#713346, plant#713347, subrange#713345, orderDateTime#713351, deliveryDateTime#713352, availabilityDateTime#713353, nextAvailabilityDateTime#713354, constraintValues#713368, constraintOperators#713366, constraintLabels#713365, logisticUnits#713370, orderQuantityBaseUom#713356, orderQuantityBaseUomUuid#713357, splitIndicator#713338L, netPriceAmount#713361, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [2]: [shardId#712663, items#712665]
Arguments: [shardId#712663, items#712665], [(size(items#712665, true) > 0), isnotnull(items#712665)]
(10) InMemoryRelation
Arguments: [shardId#712663, orderProposalId#712664L, items#712665, optimizationGroups#712666, isOptimal#712667, optimizationInsights#712669], StorageLevel(disk, memory, 2 replicas)
(11) InMemoryTableScan
Output [6]: [shardId#712663, orderProposalId#712664L, items#712665, optimizationGroups#712666, isOptimal#712667, optimizationInsights#712669]
Arguments: [shardId#712663, orderProposalId#712664L, items#712665, optimizationGroups#712666, isOptimal#712667, optimizationInsights#712669], [isnotnull(shardId#712663), (shardId#712663 = 0_1_10000002107)]
(12) InMemoryRelation
Arguments: [shardId#712663, orderProposalId#712664L, items#712665, optimizationGroups#712666, isOptimal#712667, lastModified#712668, optimizationInsights#712669], StorageLevel(disk, memory, 2 replicas)
(13) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#712663, orderProposalId#712664L, items#712665, optimizationGroups#712666, isOptimal#712667, lastModified#712668, optimizationInsights#712669]
Arguments: [shardId#712663, orderProposalId#712664L, items#712665, optimizationGroups#712666, isOptimal#712667, lastModified#712668, optimizationInsights#712669], MapPartitionsRDD[33617] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(14) Filter [codegen id : 1]
Input [7]: [shardId#712663, orderProposalId#712664L, items#712665, optimizationGroups#712666, isOptimal#712667, lastModified#712668, optimizationInsights#712669]
Condition : (isnotnull(shardId#712663) AND (shardId#712663 = 0_1_10000002107))
(15) Filter [codegen id : 1]
Input [6]: [shardId#712663, orderProposalId#712664L, items#712665, optimizationGroups#712666, isOptimal#712667, optimizationInsights#712669]
Condition : (isnotnull(shardId#712663) AND (shardId#712663 = 0_1_10000002107))
(16) Filter [codegen id : 3]
Input [2]: [shardId#712663, items#712665]
Condition : ((size(items#712665, true) > 0) AND isnotnull(items#712665))
(17) Generate [codegen id : 3]
Input [2]: [shardId#712663, items#712665]
Arguments: explode(items#712665), [shardId#712663], false, [item#713174]
(18) Project [codegen id : 3]
Output [4]: [shardId#712663, item#713174.worklistShardItemId AS worklistShardItemId#713175L, item#713174.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#713176, item#713174.qty AS qty#713177]
Input [2]: [shardId#712663, item#713174]
(19) Scan parquet
Output [38]: [orderProposalId#713376L, orderProposalItemId#713377, supplierGroup#713378, supplier#713379, plant#713380, deliveryDateTime#713381, subrange#713382, supplyingPlant#713383, productGroup#713384, product#713385, orderDateTime#713386, availabilityDateTime#713387, nextAvailabilityDateTime#713388, sourceOfSupplyUuid#713390, isFallbackOrderOnly#713393, splitIndicator#713395L, previousOrderProposal#713396L, worklistShardItemId#713399L, orderProposalItemGroupId#713400, externalProductId#713401, externalPlantId#713402, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, minimumOrderQuantity#713406, constraintLabels#713407, constraintOperators#713408, constraintValues#713409, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, measurements#713417, originalReplenishmentRunId#713418L, optimizationGroups#713419, shardId#713420, sequenceId#713398]
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#713420), isnotnull(sequenceId#713398), (shardId#713420 = 0_1_10000002107), (sequenceId#713398 = 6)]
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#713376L, orderProposalItemId#713377, supplierGroup#713378, supplier#713379, plant#713380, deliveryDateTime#713381, subrange#713382, supplyingPlant#713383, productGroup#713384, product#713385, orderDateTime#713386, availabilityDateTime#713387, nextAvailabilityDateTime#713388, sourceOfSupplyUuid#713390, isFallbackOrderOnly#713393, splitIndicator#713395L, previousOrderProposal#713396L, worklistShardItemId#713399L, orderProposalItemGroupId#713400, externalProductId#713401, externalPlantId#713402, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, minimumOrderQuantity#713406, constraintLabels#713407, constraintOperators#713408, constraintValues#713409, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, measurements#713417, originalReplenishmentRunId#713418L, optimizationGroups#713419, shardId#713420, sequenceId#713398]
(21) Filter [codegen id : 1]
Input [38]: [orderProposalId#713376L, orderProposalItemId#713377, supplierGroup#713378, supplier#713379, plant#713380, deliveryDateTime#713381, subrange#713382, supplyingPlant#713383, productGroup#713384, product#713385, orderDateTime#713386, availabilityDateTime#713387, nextAvailabilityDateTime#713388, sourceOfSupplyUuid#713390, isFallbackOrderOnly#713393, splitIndicator#713395L, previousOrderProposal#713396L, worklistShardItemId#713399L, orderProposalItemGroupId#713400, externalProductId#713401, externalPlantId#713402, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, minimumOrderQuantity#713406, constraintLabels#713407, constraintOperators#713408, constraintValues#713409, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, measurements#713417, originalReplenishmentRunId#713418L, optimizationGroups#713419, shardId#713420, sequenceId#713398]
Condition : isnotnull(worklistShardItemId#713399L)
(22) Project [codegen id : 1]
Output [36]: [orderProposalId#713376L, orderProposalItemId#713377, supplierGroup#713378, supplier#713379, plant#713380, deliveryDateTime#713381, subrange#713382, supplyingPlant#713383, productGroup#713384, product#713385, orderDateTime#713386, availabilityDateTime#713387, nextAvailabilityDateTime#713388, sourceOfSupplyUuid#713390, isFallbackOrderOnly#713393, splitIndicator#713395L, previousOrderProposal#713396L, worklistShardItemId#713399L, orderProposalItemGroupId#713400, externalProductId#713401, externalPlantId#713402, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, minimumOrderQuantity#713406, constraintLabels#713407, constraintOperators#713408, constraintValues#713409, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, measurements#713417, originalReplenishmentRunId#713418L, optimizationGroups#713419]
Input [38]: [orderProposalId#713376L, orderProposalItemId#713377, supplierGroup#713378, supplier#713379, plant#713380, deliveryDateTime#713381, subrange#713382, supplyingPlant#713383, productGroup#713384, product#713385, orderDateTime#713386, availabilityDateTime#713387, nextAvailabilityDateTime#713388, sourceOfSupplyUuid#713390, isFallbackOrderOnly#713393, splitIndicator#713395L, previousOrderProposal#713396L, worklistShardItemId#713399L, orderProposalItemGroupId#713400, externalProductId#713401, externalPlantId#713402, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, minimumOrderQuantity#713406, constraintLabels#713407, constraintOperators#713408, constraintValues#713409, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, measurements#713417, originalReplenishmentRunId#713418L, optimizationGroups#713419, shardId#713420, sequenceId#713398]
(23) Exchange
Input [36]: [orderProposalId#713376L, orderProposalItemId#713377, supplierGroup#713378, supplier#713379, plant#713380, deliveryDateTime#713381, subrange#713382, supplyingPlant#713383, productGroup#713384, product#713385, orderDateTime#713386, availabilityDateTime#713387, nextAvailabilityDateTime#713388, sourceOfSupplyUuid#713390, isFallbackOrderOnly#713393, splitIndicator#713395L, previousOrderProposal#713396L, worklistShardItemId#713399L, orderProposalItemGroupId#713400, externalProductId#713401, externalPlantId#713402, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, minimumOrderQuantity#713406, constraintLabels#713407, constraintOperators#713408, constraintValues#713409, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, measurements#713417, originalReplenishmentRunId#713418L, optimizationGroups#713419]
Arguments: hashpartitioning(worklistShardItemId#713399L, 20), REPARTITION_BY_NUM, [plan_id=283656]
(24) Project [codegen id : 2]
Output [36]: [worklistShardItemId#713399L, orderProposalId#713376L, orderProposalItemId#713377, orderProposalItemGroupId#713400, originalReplenishmentRunId#713418L, splitIndicator#713395L, previousOrderProposal#713396L, sourceOfSupplyUuid#713390, supplierGroup#713378, supplier#713379, subrange#713382, product#713385, plant#713380, orderDateTime#713386, deliveryDateTime#713381, availabilityDateTime#713387, nextAvailabilityDateTime#713388, isFallbackOrderOnly#713393, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, netPriceAmount#713412, netPriceCurrencyCode#713413, measurements#713417, minimumOrderQuantity#713406, constraintLabels#713407, constraintOperators#713408, constraintValues#713409, logisticUnits#713403, optimizationGroups#713419, externalProductId#713401, externalPlantId#713402, supplyingPlant#713383, productGroup#713384]
Input [36]: [orderProposalId#713376L, orderProposalItemId#713377, supplierGroup#713378, supplier#713379, plant#713380, deliveryDateTime#713381, subrange#713382, supplyingPlant#713383, productGroup#713384, product#713385, orderDateTime#713386, availabilityDateTime#713387, nextAvailabilityDateTime#713388, sourceOfSupplyUuid#713390, isFallbackOrderOnly#713393, splitIndicator#713395L, previousOrderProposal#713396L, worklistShardItemId#713399L, orderProposalItemGroupId#713400, externalProductId#713401, externalPlantId#713402, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, minimumOrderQuantity#713406, constraintLabels#713407, constraintOperators#713408, constraintValues#713409, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, measurements#713417, originalReplenishmentRunId#713418L, optimizationGroups#713419]
(25) BroadcastExchange
Input [36]: [worklistShardItemId#713399L, orderProposalId#713376L, orderProposalItemId#713377, orderProposalItemGroupId#713400, originalReplenishmentRunId#713418L, splitIndicator#713395L, previousOrderProposal#713396L, sourceOfSupplyUuid#713390, supplierGroup#713378, supplier#713379, subrange#713382, product#713385, plant#713380, orderDateTime#713386, deliveryDateTime#713381, availabilityDateTime#713387, nextAvailabilityDateTime#713388, isFallbackOrderOnly#713393, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, netPriceAmount#713412, netPriceCurrencyCode#713413, measurements#713417, minimumOrderQuantity#713406, constraintLabels#713407, constraintOperators#713408, constraintValues#713409, logisticUnits#713403, optimizationGroups#713419, externalProductId#713401, externalPlantId#713402, supplyingPlant#713383, productGroup#713384]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=283660]
(26) BroadcastHashJoin [codegen id : 3]
Left keys [1]: [worklistShardItemId#713175L]
Right keys [1]: [worklistShardItemId#713399L]
Join type: LeftOuter
Join condition: (shardId#712663 = 0_1_10000002107)
(27) Project [codegen id : 3]
Output [39]: [shardId#712663, worklistShardItemId#713175L, quantityAfterProdPlantOptimization#713176, qty#713177, orderProposalId#713376L, originalReplenishmentRunId#713418L, supplierGroup#713378, supplier#713379, supplyingPlant#713383, productGroup#713384, product#713385, plant#713380, subrange#713382, orderDateTime#713386, deliveryDateTime#713381, availabilityDateTime#713387, nextAvailabilityDateTime#713388, constraintValues#713409, constraintOperators#713408, constraintLabels#713407, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, splitIndicator#713395L, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, sourceOfSupplyUuid#713390, minimumOrderQuantity#713406, orderProposalItemId#713377, orderProposalItemGroupId#713400, optimizationGroups#713419, measurements#713417, externalProductId#713401, externalPlantId#713402, previousOrderProposal#713396L, isFallbackOrderOnly#713393]
Input [40]: [shardId#712663, worklistShardItemId#713175L, quantityAfterProdPlantOptimization#713176, qty#713177, worklistShardItemId#713399L, orderProposalId#713376L, orderProposalItemId#713377, orderProposalItemGroupId#713400, originalReplenishmentRunId#713418L, splitIndicator#713395L, previousOrderProposal#713396L, sourceOfSupplyUuid#713390, supplierGroup#713378, supplier#713379, subrange#713382, product#713385, plant#713380, orderDateTime#713386, deliveryDateTime#713381, availabilityDateTime#713387, nextAvailabilityDateTime#713388, isFallbackOrderOnly#713393, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, netPriceAmount#713412, netPriceCurrencyCode#713413, measurements#713417, minimumOrderQuantity#713406, constraintLabels#713407, constraintOperators#713408, constraintValues#713409, logisticUnits#713403, optimizationGroups#713419, externalProductId#713401, externalPlantId#713402, supplyingPlant#713383, productGroup#713384]
(28) Exchange
Input [39]: [shardId#712663, worklistShardItemId#713175L, quantityAfterProdPlantOptimization#713176, qty#713177, orderProposalId#713376L, originalReplenishmentRunId#713418L, supplierGroup#713378, supplier#713379, supplyingPlant#713383, productGroup#713384, product#713385, plant#713380, subrange#713382, orderDateTime#713386, deliveryDateTime#713381, availabilityDateTime#713387, nextAvailabilityDateTime#713388, constraintValues#713409, constraintOperators#713408, constraintLabels#713407, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, splitIndicator#713395L, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, sourceOfSupplyUuid#713390, minimumOrderQuantity#713406, orderProposalItemId#713377, orderProposalItemGroupId#713400, optimizationGroups#713419, measurements#713417, externalProductId#713401, externalPlantId#713402, previousOrderProposal#713396L, isFallbackOrderOnly#713393]
Arguments: hashpartitioning(shardId#712663, worklistShardItemId#713175L, 20), ENSURE_REQUIREMENTS, [plan_id=283665]
(29) Sort [codegen id : 4]
Input [39]: [shardId#712663, worklistShardItemId#713175L, quantityAfterProdPlantOptimization#713176, qty#713177, orderProposalId#713376L, originalReplenishmentRunId#713418L, supplierGroup#713378, supplier#713379, supplyingPlant#713383, productGroup#713384, product#713385, plant#713380, subrange#713382, orderDateTime#713386, deliveryDateTime#713381, availabilityDateTime#713387, nextAvailabilityDateTime#713388, constraintValues#713409, constraintOperators#713408, constraintLabels#713407, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, splitIndicator#713395L, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, sourceOfSupplyUuid#713390, minimumOrderQuantity#713406, orderProposalItemId#713377, orderProposalItemGroupId#713400, optimizationGroups#713419, measurements#713417, externalProductId#713401, externalPlantId#713402, previousOrderProposal#713396L, isFallbackOrderOnly#713393]
Arguments: [shardId#712663 ASC NULLS FIRST, worklistShardItemId#713175L ASC NULLS FIRST], false, 0
(30) Scan ExistingRDD [codegen id : 5]
Output [6]: [shardId#713895, worklistShardItemId#713896L, qty#713897, demandChannel#713898, demandStream#713899, kpis#713900]
Arguments: [shardId#713895, worklistShardItemId#713896L, qty#713897, demandChannel#713898, demandStream#713899, kpis#713900], MapPartitionsRDD[33677] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(31) Filter [codegen id : 5]
Input [6]: [shardId#713895, worklistShardItemId#713896L, qty#713897, demandChannel#713898, demandStream#713899, kpis#713900]
Condition : (((isnull(qty#713897) AND isnull(demandChannel#713898)) AND isnull(demandStream#713899)) AND (isnotnull(shardId#713895) AND isnotnull(worklistShardItemId#713896L)))
(32) Project [codegen id : 5]
Output [3]: [shardId#713895, worklistShardItemId#713896L, coalesce(kpis#713900, []) AS prodLocSpecificKpis#713901]
Input [6]: [shardId#713895, worklistShardItemId#713896L, qty#713897, demandChannel#713898, demandStream#713899, kpis#713900]
(33) Exchange
Input [3]: [shardId#713895, worklistShardItemId#713896L, prodLocSpecificKpis#713901]
Arguments: hashpartitioning(shardId#713895, worklistShardItemId#713896L, 20), ENSURE_REQUIREMENTS, [plan_id=283671]
(34) Sort [codegen id : 6]
Input [3]: [shardId#713895, worklistShardItemId#713896L, prodLocSpecificKpis#713901]
Arguments: [shardId#713895 ASC NULLS FIRST, worklistShardItemId#713896L ASC NULLS FIRST], false, 0
(35) SortMergeJoin [codegen id : 7]
Left keys [2]: [shardId#712663, worklistShardItemId#713175L]
Right keys [2]: [shardId#713895, worklistShardItemId#713896L]
Join type: LeftOuter
Join condition: None
(36) Project [codegen id : 7]
Output [40]: [shardId#712663, worklistShardItemId#713175L, quantityAfterProdPlantOptimization#713176, qty#713177, orderProposalId#713376L, originalReplenishmentRunId#713418L, supplierGroup#713378, supplier#713379, supplyingPlant#713383, productGroup#713384, product#713385, plant#713380, subrange#713382, orderDateTime#713386, deliveryDateTime#713381, availabilityDateTime#713387, nextAvailabilityDateTime#713388, constraintValues#713409, constraintOperators#713408, constraintLabels#713407, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, splitIndicator#713395L, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, sourceOfSupplyUuid#713390, minimumOrderQuantity#713406, orderProposalItemId#713377, orderProposalItemGroupId#713400, optimizationGroups#713419, measurements#713417, externalProductId#713401, externalPlantId#713402, previousOrderProposal#713396L, isFallbackOrderOnly#713393, coalesce(prodLocSpecificKpis#713901, []) AS prodLocSpecificKpis#713902]
Input [42]: [shardId#712663, worklistShardItemId#713175L, quantityAfterProdPlantOptimization#713176, qty#713177, orderProposalId#713376L, originalReplenishmentRunId#713418L, supplierGroup#713378, supplier#713379, supplyingPlant#713383, productGroup#713384, product#713385, plant#713380, subrange#713382, orderDateTime#713386, deliveryDateTime#713381, availabilityDateTime#713387, nextAvailabilityDateTime#713388, constraintValues#713409, constraintOperators#713408, constraintLabels#713407, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, splitIndicator#713395L, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, sourceOfSupplyUuid#713390, minimumOrderQuantity#713406, orderProposalItemId#713377, orderProposalItemGroupId#713400, optimizationGroups#713419, measurements#713417, externalProductId#713401, externalPlantId#713402, previousOrderProposal#713396L, isFallbackOrderOnly#713393, shardId#713895, worklistShardItemId#713896L, prodLocSpecificKpis#713901]
(37) Scan ExistingRDD [codegen id : 8]
Output [6]: [shardId#713911, worklistShardItemId#713912L, qty#713913, demandChannel#713914, demandStream#713915, kpis#713916]
Arguments: [shardId#713911, worklistShardItemId#713912L, qty#713913, demandChannel#713914, demandStream#713915, kpis#713916], MapPartitionsRDD[33677] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(38) Filter [codegen id : 8]
Input [6]: [shardId#713911, worklistShardItemId#713912L, qty#713913, demandChannel#713914, demandStream#713915, kpis#713916]
Condition : ((((isnull(qty#713913) AND isnotnull(demandChannel#713914)) AND isnotnull(demandStream#713915)) AND (size(kpis#713916, true) > 0)) AND (isnotnull(shardId#713911) AND isnotnull(worklistShardItemId#713912L)))
(39) Project [codegen id : 8]
Output [5]: [shardId#713911, worklistShardItemId#713912L, demandChannel#713914, demandStream#713915, kpis#713916]
Input [6]: [shardId#713911, worklistShardItemId#713912L, qty#713913, demandChannel#713914, demandStream#713915, kpis#713916]
(40) ObjectHashAggregate
Input [5]: [shardId#713911, worklistShardItemId#713912L, demandChannel#713914, demandStream#713915, kpis#713916]
Keys [2]: [shardId#713911, worklistShardItemId#713912L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#713914, demandStream, demandStream#713915, kpis, kpis#713916), 0, 0)]
Aggregate Attributes [1]: [buf#714091]
Results [3]: [shardId#713911, worklistShardItemId#713912L, buf#714092]
(41) Exchange
Input [3]: [shardId#713911, worklistShardItemId#713912L, buf#714092]
Arguments: hashpartitioning(shardId#713911, worklistShardItemId#713912L, 20), ENSURE_REQUIREMENTS, [plan_id=283682]
(42) ObjectHashAggregate
Input [3]: [shardId#713911, worklistShardItemId#713912L, buf#714092]
Keys [2]: [shardId#713911, worklistShardItemId#713912L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#713914, demandStream, demandStream#713915, kpis, kpis#713916), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#713914, demandStream, demandStream#713915, kpis, kpis#713916), 0, 0)#713910]
Results [3]: [shardId#713911, worklistShardItemId#713912L, collect_list(struct(demandChannel, demandChannel#713914, demandStream, demandStream#713915, kpis, kpis#713916), 0, 0)#713910 AS channelStreamSpecificKpis#713903]
(43) Sort [codegen id : 9]
Input [3]: [shardId#713911, worklistShardItemId#713912L, channelStreamSpecificKpis#713903]
Arguments: [shardId#713911 ASC NULLS FIRST, worklistShardItemId#713912L ASC NULLS FIRST], false, 0
(44) SortMergeJoin [codegen id : 10]
Left keys [2]: [shardId#712663, worklistShardItemId#713175L]
Right keys [2]: [shardId#713911, worklistShardItemId#713912L]
Join type: LeftOuter
Join condition: None
(45) Project [codegen id : 10]
Output [41]: [shardId#712663, worklistShardItemId#713175L, quantityAfterProdPlantOptimization#713176, qty#713177, orderProposalId#713376L, originalReplenishmentRunId#713418L, supplierGroup#713378, supplier#713379, supplyingPlant#713383, productGroup#713384, product#713385, plant#713380, subrange#713382, orderDateTime#713386, deliveryDateTime#713381, availabilityDateTime#713387, nextAvailabilityDateTime#713388, constraintValues#713409, constraintOperators#713408, constraintLabels#713407, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, splitIndicator#713395L, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, sourceOfSupplyUuid#713390, minimumOrderQuantity#713406, orderProposalItemId#713377, orderProposalItemGroupId#713400, optimizationGroups#713419, measurements#713417, externalProductId#713401, externalPlantId#713402, previousOrderProposal#713396L, isFallbackOrderOnly#713393, prodLocSpecificKpis#713902, coalesce(channelStreamSpecificKpis#713903, []) AS channelStreamSpecificKpis#713917]
Input [43]: [shardId#712663, worklistShardItemId#713175L, quantityAfterProdPlantOptimization#713176, qty#713177, orderProposalId#713376L, originalReplenishmentRunId#713418L, supplierGroup#713378, supplier#713379, supplyingPlant#713383, productGroup#713384, product#713385, plant#713380, subrange#713382, orderDateTime#713386, deliveryDateTime#713381, availabilityDateTime#713387, nextAvailabilityDateTime#713388, constraintValues#713409, constraintOperators#713408, constraintLabels#713407, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, splitIndicator#713395L, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, sourceOfSupplyUuid#713390, minimumOrderQuantity#713406, orderProposalItemId#713377, orderProposalItemGroupId#713400, optimizationGroups#713419, measurements#713417, externalProductId#713401, externalPlantId#713402, previousOrderProposal#713396L, isFallbackOrderOnly#713393, prodLocSpecificKpis#713902, shardId#713911, worklistShardItemId#713912L, channelStreamSpecificKpis#713903]
(46) Scan ExistingRDD [codegen id : 11]
Output [6]: [shardId#713924, worklistShardItemId#713925L, qty#713926, demandChannel#713927, demandStream#713928, kpis#713929]
Arguments: [shardId#713924, worklistShardItemId#713925L, qty#713926, demandChannel#713927, demandStream#713928, kpis#713929], MapPartitionsRDD[33677] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(47) Filter [codegen id : 11]
Input [6]: [shardId#713924, worklistShardItemId#713925L, qty#713926, demandChannel#713927, demandStream#713928, kpis#713929]
Condition : ((isnotnull(qty#713926) AND isnotnull(kpis#713929)) AND (isnotnull(shardId#713924) AND isnotnull(worklistShardItemId#713925L)))
(48) Project [codegen id : 11]
Output [4]: [shardId#713924, worklistShardItemId#713925L, qty#713926, kpis#713929]
Input [6]: [shardId#713924, worklistShardItemId#713925L, qty#713926, demandChannel#713927, demandStream#713928, kpis#713929]
(49) ObjectHashAggregate
Input [4]: [shardId#713924, worklistShardItemId#713925L, qty#713926, kpis#713929]
Keys [2]: [shardId#713924, worklistShardItemId#713925L]
Functions [1]: [partial_collect_list(struct(qty, qty#713926, kpis, kpis#713929), 0, 0)]
Aggregate Attributes [1]: [buf#714093]
Results [3]: [shardId#713924, worklistShardItemId#713925L, buf#714094]
(50) Exchange
Input [3]: [shardId#713924, worklistShardItemId#713925L, buf#714094]
Arguments: hashpartitioning(shardId#713924, worklistShardItemId#713925L, 20), ENSURE_REQUIREMENTS, [plan_id=283694]
(51) ObjectHashAggregate
Input [3]: [shardId#713924, worklistShardItemId#713925L, buf#714094]
Keys [2]: [shardId#713924, worklistShardItemId#713925L]
Functions [1]: [collect_list(struct(qty, qty#713926, kpis, kpis#713929), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#713926, kpis, kpis#713929), 0, 0)#713923]
Results [3]: [shardId#713924, worklistShardItemId#713925L, map_from_entries(collect_list(struct(qty, qty#713926, kpis, kpis#713929), 0, 0)#713923) AS quantityKpis#713918]
(52) Sort [codegen id : 12]
Input [3]: [shardId#713924, worklistShardItemId#713925L, quantityKpis#713918]
Arguments: [shardId#713924 ASC NULLS FIRST, worklistShardItemId#713925L ASC NULLS FIRST], false, 0
(53) SortMergeJoin [codegen id : 13]
Left keys [2]: [shardId#712663, worklistShardItemId#713175L]
Right keys [2]: [shardId#713924, worklistShardItemId#713925L]
Join type: LeftOuter
Join condition: None
(54) Project [codegen id : 13]
Output [42]: [shardId#712663, worklistShardItemId#713175L, quantityAfterProdPlantOptimization#713176, qty#713177, orderProposalId#713376L, originalReplenishmentRunId#713418L, supplierGroup#713378, supplier#713379, supplyingPlant#713383, productGroup#713384, product#713385, plant#713380, subrange#713382, orderDateTime#713386, deliveryDateTime#713381, availabilityDateTime#713387, nextAvailabilityDateTime#713388, constraintValues#713409, constraintOperators#713408, constraintLabels#713407, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, splitIndicator#713395L, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, sourceOfSupplyUuid#713390, minimumOrderQuantity#713406, orderProposalItemId#713377, orderProposalItemGroupId#713400, optimizationGroups#713419, measurements#713417, externalProductId#713401, externalPlantId#713402, previousOrderProposal#713396L, isFallbackOrderOnly#713393, prodLocSpecificKpis#713902, channelStreamSpecificKpis#713917, coalesce(quantityKpis#713918, map(keys: [], values: [])) AS quantityKpis#713930]
Input [44]: [shardId#712663, worklistShardItemId#713175L, quantityAfterProdPlantOptimization#713176, qty#713177, orderProposalId#713376L, originalReplenishmentRunId#713418L, supplierGroup#713378, supplier#713379, supplyingPlant#713383, productGroup#713384, product#713385, plant#713380, subrange#713382, orderDateTime#713386, deliveryDateTime#713381, availabilityDateTime#713387, nextAvailabilityDateTime#713388, constraintValues#713409, constraintOperators#713408, constraintLabels#713407, logisticUnits#713403, orderQuantityBaseUom#713404, orderQuantityBaseUomUuid#713405, splitIndicator#713395L, netPriceAmount#713412, netPriceCurrencyCode#713413, netPriceQuantity#713414, netPriceQuantityUom#713415, netPriceQuantityUomUuid#713416, sourceOfSupplyUuid#713390, minimumOrderQuantity#713406, orderProposalItemId#713377, orderProposalItemGroupId#713400, optimizationGroups#713419, measurements#713417, externalProductId#713401, externalPlantId#713402, previousOrderProposal#713396L, isFallbackOrderOnly#713393, prodLocSpecificKpis#713902, channelStreamSpecificKpis#713917, shardId#713924, worklistShardItemId#713925L, quantityKpis#713918]
(55) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#713353, channelStreamSpecificKpis#713917, constraintLabels#713365, constraintOperators#713366, constraintValues#713368, deliveryDateTime#713352, isFallbackOrderOnly#713355, logisticUnits#713370, measurements#713363, minimumOrderQuantity#713364, netPriceAmount#713361, netPriceCurrencyCode#713362, netPriceQuantity#713358, netPriceQuantityUom#713359, netPriceQuantityUomUuid#713360, nextAvailabilityDateTime#713354, optimizationGroups#713371, orderDateTime#713351, orderProposalId#713333L, orderProposalItemGroupId#713335, orderProposalItemId#713334, orderQuantityBaseUom#713356, orderQuantityBaseUomUuid#713357, originalReplenishmentRunId#713336L, plant#713347, previousOrderProposal#713339L, prodLocSpecificKpis#713902, product#713346, productGroup#713375, qty#713177, quantityAfterProdPlantOptimization#713176, quantityKpis#713930, shardId#712663, sourceOfSupplyUuid#713342, splitIndicator#713338L, subrange#713345, supplier#713344, supplierGroup#713343, supplyingPlant#713374]
Condition : NOT (isFallbackOrderOnly#713355 <=> true)
(56) Project [codegen id : 1]
Output [36]: [shardId#712663, quantityAfterProdPlantOptimization#713176, qty#713177, orderProposalId#713333L, originalReplenishmentRunId#713336L, supplierGroup#713343, supplier#713344, supplyingPlant#713374, productGroup#713375, product#713346, plant#713347, subrange#713345, orderDateTime#713351, deliveryDateTime#713352, availabilityDateTime#713353, nextAvailabilityDateTime#713354, logisticUnits#713370, orderQuantityBaseUom#713356, orderQuantityBaseUomUuid#713357, splitIndicator#713338L, netPriceAmount#713361, netPriceCurrencyCode#713362, netPriceQuantity#713358, netPriceQuantityUom#713359, netPriceQuantityUomUuid#713360, sourceOfSupplyUuid#713342, minimumOrderQuantity#713364, orderProposalItemId#713334, orderProposalItemGroupId#713335, optimizationGroups#713371, measurements#713363, previousOrderProposal#713339L, prodLocSpecificKpis#713902, channelStreamSpecificKpis#713917, quantityKpis#713930, arrays_zip(constraintLabels#713365, constraintOperators#713366, constraintValues#713368, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#714344]
Input [39]: [availabilityDateTime#713353, channelStreamSpecificKpis#713917, constraintLabels#713365, constraintOperators#713366, constraintValues#713368, deliveryDateTime#713352, isFallbackOrderOnly#713355, logisticUnits#713370, measurements#713363, minimumOrderQuantity#713364, netPriceAmount#713361, netPriceCurrencyCode#713362, netPriceQuantity#713358, netPriceQuantityUom#713359, netPriceQuantityUomUuid#713360, nextAvailabilityDateTime#713354, optimizationGroups#713371, orderDateTime#713351, orderProposalId#713333L, orderProposalItemGroupId#713335, orderProposalItemId#713334, orderQuantityBaseUom#713356, orderQuantityBaseUomUuid#713357, originalReplenishmentRunId#713336L, plant#713347, previousOrderProposal#713339L, prodLocSpecificKpis#713902, product#713346, productGroup#713375, qty#713177, quantityAfterProdPlantOptimization#713176, quantityKpis#713930, shardId#712663, sourceOfSupplyUuid#713342, splitIndicator#713338L, subrange#713345, supplier#713344, supplierGroup#713343, supplyingPlant#713374]
(57) Project
Output [37]: [shardId#712663, qty#713177, orderProposalId#713333L, originalReplenishmentRunId#713336L, supplierGroup#713343, supplier#713344, supplyingPlant#713374, productGroup#713375, product#713346, plant#713347, subrange#713345, orderDateTime#713351, deliveryDateTime#713352, availabilityDateTime#713353, nextAvailabilityDateTime#713354, logisticUnits#713370, orderQuantityBaseUom#713356, orderQuantityBaseUomUuid#713357, splitIndicator#713338L, netPriceAmount#713361, netPriceCurrencyCode#713362, netPriceQuantity#713358, netPriceQuantityUom#713359, netPriceQuantityUomUuid#713360, sourceOfSupplyUuid#713342, orderProposalItemId#713334, orderProposalItemGroupId#713335, optimizationGroups#713371, measurements#713363, previousOrderProposal#713339L, prodLocSpecificKpis#713902, channelStreamSpecificKpis#713917, quantityKpis#713930, struct(minServiceLevel, array_min(filter(constraintStructArray#714344, lambdafunction((lambda x_1855#714351.constraintLabels = ServiceLevel), lambda x_1855#714351, false)).constraintValues), minServiceLevelMinStock, null, maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#714344, lambdafunction((lambda x_1856#714352.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_1856#714352, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#714344, lambdafunction((lambda x_1857#714353.constraintLabels = RangeOfCoverage), lambda x_1857#714353, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#713364, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#713902, lambdafunction((lambda x_1858#714354.label = NonListingStartTimestamp), lambda x_1858#714354, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#714350, CASE WHEN (qty#713177 <=> quantityAfterProdPlantOptimization#713176) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#713177 * (cast(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1859#714422.isOrderUnit, lambda x_1859#714422, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1859#714423.isOrderUnit, lambda x_1859#714423, false)), 1, None, false).numerator as double))), qty#713177), orderQuantityUom, coalesce(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1859#714424.isOrderUnit, lambda x_1859#714424, false)), 1, None, false).uom, orderQuantityBaseUom#713356), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1859#714425.isOrderUnit, lambda x_1859#714425, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#713357), candidateOrderQuantityInBaseUnit, qty#713177, orderQuantityBaseUom, orderQuantityBaseUom#713356, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#713357, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#713370, lambdafunction((lambda x_1861#714426.isPreferred AND (((qty#713177 * cast(lambda x_1861#714426.denominator as double)) % cast(lambda x_1861#714426.numerator as double)) = 0.0)), lambda x_1861#714426, false)), lambdafunction(struct(inPreferredQuantity, ((qty#713177 * cast(lambda x_1862#714464.denominator as double)) / cast(lambda x_1862#714464.numerator as double)), uom, lambda x_1862#714464.uom, uomUuid, lambda x_1862#714464.uomUuid), lambda x_1862#714464, false))).inPreferredQuantity, coalesce((qty#713177 * (cast(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1860#714427.isOrderUnit, lambda x_1860#714427, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1860#714428.isOrderUnit, lambda x_1860#714428, false)), 1, None, false).numerator as double))), qty#713177)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#713370, lambdafunction((lambda x_1861#714429.isPreferred AND (((qty#713177 * cast(lambda x_1861#714429.denominator as double)) % cast(lambda x_1861#714429.numerator as double)) = 0.0)), lambda x_1861#714429, false)), lambdafunction(struct(inPreferredQuantity, ((qty#713177 * cast(lambda x_1862#714465.denominator as double)) / cast(lambda x_1862#714465.numerator as double)), uom, lambda x_1862#714465.uom, uomUuid, lambda x_1862#714465.uomUuid), lambda x_1862#714465, false))).uom, coalesce(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1860#714430.isOrderUnit, lambda x_1860#714430, false)), 1, None, false).uom, orderQuantityBaseUom#713356)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#713370, lambdafunction((lambda x_1861#714431.isPreferred AND (((qty#713177 * cast(lambda x_1861#714431.denominator as double)) % cast(lambda x_1861#714431.numerator as double)) = 0.0)), lambda x_1861#714431, false)), lambdafunction(struct(inPreferredQuantity, ((qty#713177 * cast(lambda x_1862#714466.denominator as double)) / cast(lambda x_1862#714466.numerator as double)), uom, lambda x_1862#714466.uom, uomUuid, lambda x_1862#714466.uomUuid), lambda x_1862#714466, false))).uomUuid, coalesce(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1860#714432.isOrderUnit, lambda x_1860#714432, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#713357)), serviceLevel, coalesce(filter(element_at(quantityKpis#713930, qty#713177, None, false), lambdafunction((lambda x_1867#714433.label = ServiceLevel), lambda x_1867#714433, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#713177 * (cast(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1859#714436.isOrderUnit, lambda x_1859#714436, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1859#714437.isOrderUnit, lambda x_1859#714437, false)), 1, None, false).numerator as double))), qty#713177), orderQuantityUom, coalesce(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1859#714438.isOrderUnit, lambda x_1859#714438, false)), 1, None, false).uom, orderQuantityBaseUom#713356), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1859#714439.isOrderUnit, lambda x_1859#714439, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#713357), candidateOrderQuantityInBaseUnit, qty#713177, orderQuantityBaseUom, orderQuantityBaseUom#713356, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#713357, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#713370, lambdafunction((lambda x_1861#714440.isPreferred AND (((qty#713177 * cast(lambda x_1861#714440.denominator as double)) % cast(lambda x_1861#714440.numerator as double)) = 0.0)), lambda x_1861#714440, false)), lambdafunction(struct(inPreferredQuantity, ((qty#713177 * cast(lambda x_1862#714467.denominator as double)) / cast(lambda x_1862#714467.numerator as double)), uom, lambda x_1862#714467.uom, uomUuid, lambda x_1862#714467.uomUuid), lambda x_1862#714467, false))).inPreferredQuantity, coalesce((qty#713177 * (cast(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1860#714441.isOrderUnit, lambda x_1860#714441, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1860#714442.isOrderUnit, lambda x_1860#714442, false)), 1, None, false).numerator as double))), qty#713177)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#713370, lambdafunction((lambda x_1861#714443.isPreferred AND (((qty#713177 * cast(lambda x_1861#714443.denominator as double)) % cast(lambda x_1861#714443.numerator as double)) = 0.0)), lambda x_1861#714443, false)), lambdafunction(struct(inPreferredQuantity, ((qty#713177 * cast(lambda x_1862#714468.denominator as double)) / cast(lambda x_1862#714468.numerator as double)), uom, lambda x_1862#714468.uom, uomUuid, lambda x_1862#714468.uomUuid), lambda x_1862#714468, false))).uom, coalesce(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1860#714444.isOrderUnit, lambda x_1860#714444, false)), 1, None, false).uom, orderQuantityBaseUom#713356)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#713370, lambdafunction((lambda x_1861#714445.isPreferred AND (((qty#713177 * cast(lambda x_1861#714445.denominator as double)) % cast(lambda x_1861#714445.numerator as double)) = 0.0)), lambda x_1861#714445, false)), lambdafunction(struct(inPreferredQuantity, ((qty#713177 * cast(lambda x_1862#714469.denominator as double)) / cast(lambda x_1862#714469.numerator as double)), uom, lambda x_1862#714469.uom, uomUuid, lambda x_1862#714469.uomUuid), lambda x_1862#714469, false))).uomUuid, coalesce(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1860#714446.isOrderUnit, lambda x_1860#714446, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#713357)), serviceLevel, coalesce(filter(element_at(quantityKpis#713930, qty#713177, None, false), lambdafunction((lambda x_1870#714447.label = ServiceLevel), lambda x_1870#714447, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#713176 * (cast(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1863#714450.isOrderUnit, lambda x_1863#714450, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1863#714451.isOrderUnit, lambda x_1863#714451, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#713176), orderQuantityUom, coalesce(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1863#714452.isOrderUnit, lambda x_1863#714452, false)), 1, None, false).uom, orderQuantityBaseUom#713356), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1863#714453.isOrderUnit, lambda x_1863#714453, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#713357), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#713176, orderQuantityBaseUom, orderQuantityBaseUom#713356, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#713357, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#713370, lambdafunction((lambda x_1865#714454.isPreferred AND (((quantityAfterProdPlantOptimization#713176 * cast(lambda x_1865#714454.denominator as double)) % cast(lambda x_1865#714454.numerator as double)) = 0.0)), lambda x_1865#714454, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#713176 * cast(lambda x_1866#714470.denominator as double)) / cast(lambda x_1866#714470.numerator as double)), uom, lambda x_1866#714470.uom, uomUuid, lambda x_1866#714470.uomUuid), lambda x_1866#714470, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#713176 * (cast(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1864#714455.isOrderUnit, lambda x_1864#714455, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1864#714456.isOrderUnit, lambda x_1864#714456, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#713176)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#713370, lambdafunction((lambda x_1865#714457.isPreferred AND (((quantityAfterProdPlantOptimization#713176 * cast(lambda x_1865#714457.denominator as double)) % cast(lambda x_1865#714457.numerator as double)) = 0.0)), lambda x_1865#714457, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#713176 * cast(lambda x_1866#714471.denominator as double)) / cast(lambda x_1866#714471.numerator as double)), uom, lambda x_1866#714471.uom, uomUuid, lambda x_1866#714471.uomUuid), lambda x_1866#714471, false))).uom, coalesce(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1864#714458.isOrderUnit, lambda x_1864#714458, false)), 1, None, false).uom, orderQuantityBaseUom#713356)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#713370, lambdafunction((lambda x_1865#714459.isPreferred AND (((quantityAfterProdPlantOptimization#713176 * cast(lambda x_1865#714459.denominator as double)) % cast(lambda x_1865#714459.numerator as double)) = 0.0)), lambda x_1865#714459, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#713176 * cast(lambda x_1866#714472.denominator as double)) / cast(lambda x_1866#714472.numerator as double)), uom, lambda x_1866#714472.uom, uomUuid, lambda x_1866#714472.uomUuid), lambda x_1866#714472, false))).uomUuid, coalesce(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1864#714460.isOrderUnit, lambda x_1864#714460, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#713357)), serviceLevel, coalesce(filter(element_at(quantityKpis#713930, quantityAfterProdPlantOptimization#713176, None, false), lambdafunction((lambda x_1873#714461.label = ServiceLevel), lambda x_1873#714461, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#714421, coalesce(filter(prodLocSpecificKpis#713902, lambdafunction((lambda x_1876#714474.label = InitialStockQty), lambda x_1876#714474, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#714473, coalesce(filter(prodLocSpecificKpis#713902, lambdafunction((lambda x_1877#714476.label = DemandPeriodEndTimestamp), lambda x_1877#714476, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#714475]
Input [36]: [shardId#712663, quantityAfterProdPlantOptimization#713176, qty#713177, orderProposalId#713333L, originalReplenishmentRunId#713336L, supplierGroup#713343, supplier#713344, supplyingPlant#713374, productGroup#713375, product#713346, plant#713347, subrange#713345, orderDateTime#713351, deliveryDateTime#713352, availabilityDateTime#713353, nextAvailabilityDateTime#713354, logisticUnits#713370, orderQuantityBaseUom#713356, orderQuantityBaseUomUuid#713357, splitIndicator#713338L, netPriceAmount#713361, netPriceCurrencyCode#713362, netPriceQuantity#713358, netPriceQuantityUom#713359, netPriceQuantityUomUuid#713360, sourceOfSupplyUuid#713342, minimumOrderQuantity#713364, orderProposalItemId#713334, orderProposalItemGroupId#713335, optimizationGroups#713371, measurements#713363, previousOrderProposal#713339L, prodLocSpecificKpis#713902, channelStreamSpecificKpis#713917, quantityKpis#713930, constraintStructArray#714344]
(58) Project
Output [21]: [shardId#712663, qty#713177, orderProposalId#713333L, originalReplenishmentRunId#713336L, supplierGroup#713343, supplier#713344, supplyingPlant#713374, productGroup#713375, product#713346, plant#713347, subrange#713345, orderDateTime#713351, deliveryDateTime#713352, logisticUnits#713370, orderQuantityBaseUom#713356, orderQuantityBaseUomUuid#713357, splitIndicator#713338L, orderProposalItemId#713334, orderProposalItemGroupId#713335, previousOrderProposal#713339L, struct(itemId, 123456, itemGroupId, 123456, supplier, supplier#713344, supplyingPlant, supplyingPlant#713374, productGroup, productGroup#713375, product, product#713346, plant, plant#713347, supplierSubRange, subrange#713345, sourceOfSupplyUuid, sourceOfSupplyUuid#713342, deliveryDateTime, deliveryDateTime#713352, unitPrice, netPriceAmount#713361, unitPriceCurrency, netPriceCurrencyCode#713362, unitPriceQuantity, ... 37 more fields) AS parentItem#714555]
Input [37]: [shardId#712663, qty#713177, orderProposalId#713333L, originalReplenishmentRunId#713336L, supplierGroup#713343, supplier#713344, supplyingPlant#713374, productGroup#713375, product#713346, plant#713347, subrange#713345, orderDateTime#713351, deliveryDateTime#713352, availabilityDateTime#713353, nextAvailabilityDateTime#713354, logisticUnits#713370, orderQuantityBaseUom#713356, orderQuantityBaseUomUuid#713357, splitIndicator#713338L, netPriceAmount#713361, netPriceCurrencyCode#713362, netPriceQuantity#713358, netPriceQuantityUom#713359, netPriceQuantityUomUuid#713360, sourceOfSupplyUuid#713342, orderProposalItemId#713334, orderProposalItemGroupId#713335, optimizationGroups#713371, measurements#713363, previousOrderProposal#713339L, prodLocSpecificKpis#713902, channelStreamSpecificKpis#713917, quantityKpis#713930, constraintBenchmark#714350, calculationAnalysis#714421, inventoryDateTime#714473, demandPeriodEndDateTime#714475]
(59) Project
Output [12]: [shardId#712663, orderProposalId#713333L, originalReplenishmentRunId#713336L, supplierGroup#713343, supplier#713344, supplyingPlant#713374, orderDateTime#713351, splitIndicator#713338L, orderProposalItemGroupId#713335, previousOrderProposal#713339L, parentItem#714555, struct(itemId, orderProposalItemId#713334, supplier, supplier#713344, supplyingPlant, supplyingPlant#713374, productGroup, productGroup#713375, product, product#713346, plant, plant#713347, supplierSubRange, subrange#713345, deliveryDateTime, deliveryDateTime#713352, orderQuantity, coalesce((qty#713177 * (cast(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1901#714589.isOrderUnit, lambda x_1901#714589, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1901#714590.isOrderUnit, lambda x_1901#714590, false)), 1, None, false).numerator as double))), qty#713177), orderQuantityUom, coalesce(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1901#714591.isOrderUnit, lambda x_1901#714591, false)), 1, None, false).uom, orderQuantityBaseUom#713356), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#713370, lambdafunction(lambda x_1901#714592.isOrderUnit, lambda x_1901#714592, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#713357), orderQuantityInBaseUnit, qty#713177, orderQuantityBaseUom, ... 13 more fields) AS item#714586]
Input [21]: [shardId#712663, qty#713177, orderProposalId#713333L, originalReplenishmentRunId#713336L, supplierGroup#713343, supplier#713344, supplyingPlant#713374, productGroup#713375, product#713346, plant#713347, subrange#713345, orderDateTime#713351, deliveryDateTime#713352, logisticUnits#713370, orderQuantityBaseUom#713356, orderQuantityBaseUomUuid#713357, splitIndicator#713338L, orderProposalItemId#713334, orderProposalItemGroupId#713335, previousOrderProposal#713339L, parentItem#714555]
(60) ObjectHashAggregate
Input [12]: [shardId#712663, orderProposalId#713333L, originalReplenishmentRunId#713336L, supplierGroup#713343, supplier#713344, supplyingPlant#713374, orderDateTime#713351, splitIndicator#713338L, orderProposalItemGroupId#713335, previousOrderProposal#713339L, parentItem#714555, item#714586]
Keys [4]: [shardId#712663, orderProposalId#713333L, splitIndicator#713338L, orderProposalItemGroupId#713335]
Functions [8]: [partial_max(originalReplenishmentRunId#713336L), partial_max(supplierGroup#713343), partial_max(supplier#713344), partial_max(supplyingPlant#713374), partial_max(orderDateTime#713351), partial_collect_list(parentItem#714555, 0, 0), partial_collect_set(previousOrderProposal#713339L, 0, 0), partial_collect_list(item#714586, 0, 0)]
Aggregate Attributes [8]: [max#715847L, max#715848, max#715849, max#715850, max#715851, buf#715852, buf#715853, buf#715854]
Results [12]: [shardId#712663, orderProposalId#713333L, splitIndicator#713338L, orderProposalItemGroupId#713335, max#715855L, max#715856, max#715857, max#715858, max#715859, buf#715860, buf#715861, buf#715862]
(61) Exchange
Input [12]: [shardId#712663, orderProposalId#713333L, splitIndicator#713338L, orderProposalItemGroupId#713335, max#715855L, max#715856, max#715857, max#715858, max#715859, buf#715860, buf#715861, buf#715862]
Arguments: hashpartitioning(shardId#712663, orderProposalId#713333L, splitIndicator#713338L, orderProposalItemGroupId#713335, 20), ENSURE_REQUIREMENTS, [plan_id=283937]
(62) ObjectHashAggregate
Input [12]: [shardId#712663, orderProposalId#713333L, splitIndicator#713338L, orderProposalItemGroupId#713335, max#715855L, max#715856, max#715857, max#715858, max#715859, buf#715860, buf#715861, buf#715862]
Keys [4]: [shardId#712663, orderProposalId#713333L, splitIndicator#713338L, orderProposalItemGroupId#713335]
Functions [8]: [max(originalReplenishmentRunId#713336L), max(supplierGroup#713343), max(supplier#713344), max(supplyingPlant#713374), max(orderDateTime#713351), collect_list(parentItem#714555, 0, 0), collect_set(previousOrderProposal#713339L, 0, 0), collect_list(item#714586, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#713336L)#714655L, max(supplierGroup#713343)#714656, max(supplier#713344)#714657, max(supplyingPlant#713374)#714658, max(orderDateTime#713351)#714659, collect_list(parentItem#714555, 0, 0)#714660, collect_set(previousOrderProposal#713339L, 0, 0)#714662, collect_list(item#714586, 0, 0)#714661]
Results [10]: [shardId#712663, orderProposalId#713333L, max(originalReplenishmentRunId#713336L)#714655L AS originalReplenishmentRunId#714603L, max(supplierGroup#713343)#714656 AS supplierGroup#714604, max(supplier#713344)#714657 AS supplier#714605, max(supplyingPlant#713374)#714658 AS supplyingPlant#714606, max(orderDateTime#713351)#714659 AS orderDateTime#714607, collect_list(parentItem#714555, 0, 0)#714660 AS parentItems#714608, collect_set(previousOrderProposal#713339L, 0, 0)#714662 AS previousOrderProposals#714610, struct(itemGroupId, coalesce(orderProposalItemGroupId#713335, cast((monotonically_increasing_id() % 9999999999) as string)), items, collect_list(item#714586, 0, 0)#714661) AS itemGroup#714664]
(63) ObjectHashAggregate
Input [10]: [shardId#712663, orderProposalId#713333L, originalReplenishmentRunId#714603L, supplierGroup#714604, supplier#714605, supplyingPlant#714606, orderDateTime#714607, parentItems#714608, previousOrderProposals#714610, itemGroup#714664]
Keys [2]: [shardId#712663, orderProposalId#713333L]
Functions [8]: [partial_max(originalReplenishmentRunId#714603L), partial_max(supplierGroup#714604), partial_max(supplier#714605), partial_max(supplyingPlant#714606), partial_max(orderDateTime#714607), partial_collect_list(itemGroup#714664, 0, 0), partial_collect_list(parentItems#714608, 0, 0), partial_collect_set(previousOrderProposals#714610, 0, 0)]
Aggregate Attributes [8]: [max#715831L, max#715832, max#715833, max#715834, max#715835, buf#715836, buf#715837, buf#715838]
Results [10]: [shardId#712663, orderProposalId#713333L, max#715839L, max#715840, max#715841, max#715842, max#715843, buf#715844, buf#715845, buf#715846]
(64) Exchange
Input [10]: [shardId#712663, orderProposalId#713333L, max#715839L, max#715840, max#715841, max#715842, max#715843, buf#715844, buf#715845, buf#715846]
Arguments: hashpartitioning(shardId#712663, orderProposalId#713333L, 20), ENSURE_REQUIREMENTS, [plan_id=283940]
(65) ObjectHashAggregate
Input [10]: [shardId#712663, orderProposalId#713333L, max#715839L, max#715840, max#715841, max#715842, max#715843, buf#715844, buf#715845, buf#715846]
Keys [2]: [shardId#712663, orderProposalId#713333L]
Functions [8]: [max(originalReplenishmentRunId#714603L), max(supplierGroup#714604), max(supplier#714605), max(supplyingPlant#714606), max(orderDateTime#714607), collect_list(itemGroup#714664, 0, 0), collect_list(parentItems#714608, 0, 0), collect_set(previousOrderProposals#714610, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#714603L)#714686L, max(supplierGroup#714604)#714687, max(supplier#714605)#714688, max(supplyingPlant#714606)#714689, max(orderDateTime#714607)#714690, collect_list(itemGroup#714664, 0, 0)#714691, collect_list(parentItems#714608, 0, 0)#714692, collect_set(previousOrderProposals#714610, 0, 0)#714693]
Results [10]: [shardId#712663, orderProposalId#713333L, max(originalReplenishmentRunId#714603L)#714686L AS originalReplenishmentRunId#714665L, max(supplierGroup#714604)#714687 AS supplierGroup#714666, max(supplier#714605)#714688 AS supplier#714667, max(supplyingPlant#714606)#714689 AS supplyingPlant#714668, max(orderDateTime#714607)#714690 AS orderDateTime#714669, collect_list(itemGroup#714664, 0, 0)#714691 AS itemGroups#714670, flatten(collect_list(parentItems#714608, 0, 0)#714692) AS parentItems#714671, flatten(collect_set(previousOrderProposals#714610, 0, 0)#714693) AS previousOrderProposals#714672]
(66) Project
Output [2]: [shardId#712663, struct(orderProposalId, orderProposalId#713333L, originalReplenishmentRunId, originalReplenishmentRunId#714665L, supplierGroup, supplierGroup#714666, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#714666) THEN supplier#714667 END, supplyingPlant, supplyingPlant#714668, orderDateTime, orderDateTime#714669, itemGroups, itemGroups#714670, previousOrderProposals, array_distinct(previousOrderProposals#714672), parentItems, parentItems#714671) AS orderProposal#714697]
Input [10]: [shardId#712663, orderProposalId#713333L, originalReplenishmentRunId#714665L, supplierGroup#714666, supplier#714667, supplyingPlant#714668, orderDateTime#714669, itemGroups#714670, parentItems#714671, previousOrderProposals#714672]
(67) Project
Output [11]: [shardId#712663, orderProposal#714697.orderProposalId AS _extract_orderProposalId#715463L, orderProposal#714697.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#715464L, orderProposal#714697.supplierGroup AS _extract_supplierGroup#715465, orderProposal#714697.supplier AS _extract_supplier#715466, orderProposal#714697.supplyingPlant AS _extract_supplyingPlant#715467, orderProposal#714697.orderDateTime AS _extract_orderDateTime#715468, orderProposal#714697.itemGroups AS _extract_itemGroups#715469, orderProposal#714697.previousOrderProposals AS _extract_previousOrderProposals#715470, orderProposal#714697.parentItems AS _extract_parentItems#715471, orderProposal#714697.orderProposalId AS _extract_orderProposalId#715472L]
Input [2]: [shardId#712663, orderProposal#714697]
(68) Exchange
Input [11]: [shardId#712663, _extract_orderProposalId#715463L, _extract_originalReplenishmentRunId#715464L, _extract_supplierGroup#715465, _extract_supplier#715466, _extract_supplyingPlant#715467, _extract_orderDateTime#715468, _extract_itemGroups#715469, _extract_previousOrderProposals#715470, _extract_parentItems#715471, _extract_orderProposalId#715472L]
Arguments: hashpartitioning(coalesce(shardId#712663, ), isnull(shardId#712663), coalesce(_extract_orderProposalId#715472L, 0), isnull(_extract_orderProposalId#715472L), 20), ENSURE_REQUIREMENTS, [plan_id=283944]
(69) Sort
Input [11]: [shardId#712663, _extract_orderProposalId#715463L, _extract_originalReplenishmentRunId#715464L, _extract_supplierGroup#715465, _extract_supplier#715466, _extract_supplyingPlant#715467, _extract_orderDateTime#715468, _extract_itemGroups#715469, _extract_previousOrderProposals#715470, _extract_parentItems#715471, _extract_orderProposalId#715472L]
Arguments: [coalesce(shardId#712663, ) ASC NULLS FIRST, isnull(shardId#712663) ASC NULLS FIRST, coalesce(_extract_orderProposalId#715472L, 0) ASC NULLS FIRST, isnull(_extract_orderProposalId#715472L) ASC NULLS FIRST], false, 0
(70) InMemoryTableScan
Output [3]: [shardId#714720, orderProposalId#714721L, optimizationGroups#714723]
Arguments: [shardId#714720, orderProposalId#714721L, optimizationGroups#714723], [isnotnull(orderProposalId#714721L)]
(71) InMemoryRelation
Arguments: [shardId#714720, orderProposalId#714721L, items#714722, optimizationGroups#714723, isOptimal#714724, optimizationInsights#714726], StorageLevel(disk, memory, 2 replicas)
(72) Filter [codegen id : 2]
Input [3]: [shardId#714720, orderProposalId#714721L, optimizationGroups#714723]
Condition : isnotnull(orderProposalId#714721L)
(73) BroadcastExchange
Input [3]: [shardId#714720, orderProposalId#714721L, optimizationGroups#714723]
Arguments: HashedRelationBroadcastMode(List(input[1, bigint, false]),false), [plan_id=283949]
(74) InMemoryTableScan
Output [2]: [items#714339, shardId#714337]
Arguments: [items#714339, shardId#714337], [(size(items#714339.worklistShardItemId, true) > 0), isnotnull(items#714339.worklistShardItemId), (shardId#714337 = 0_1_10000002107)]
(75) InMemoryRelation
Arguments: [shardId#714337, orderProposalId#714338L, items#714339, optimizationGroups#714340, isOptimal#714341, optimizationInsights#714343], StorageLevel(disk, memory, 2 replicas)
(76) Filter [codegen id : 3]
Input [2]: [items#714339, shardId#714337]
Condition : (((size(items#714339.worklistShardItemId, true) > 0) AND isnotnull(items#714339.worklistShardItemId)) AND (shardId#714337 = 0_1_10000002107))
(77) Project [codegen id : 3]
Output [1]: [items#714339.worklistShardItemId AS _extract_worklistShardItemId#715368]
Input [2]: [items#714339, shardId#714337]
(78) Generate [codegen id : 3]
Input [1]: [_extract_worklistShardItemId#715368]
Arguments: explode(_extract_worklistShardItemId#715368), false, [item#714727L]
(79) Project [codegen id : 3]
Output [1]: [item#714727L AS worklistShardItemId#714728L]
Input [1]: [item#714727L]
(80) BroadcastExchange
Input [1]: [worklistShardItemId#714728L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=283957]
(81) Scan parquet
Output [5]: [orderProposalId#714776L, isFallbackOrderOnly#714793, worklistShardItemId#714799L, shardId#714820, sequenceId#714798]
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#714820), isnotnull(sequenceId#714798), (shardId#714820 = 0_1_10000002107), (sequenceId#714798 = 6)]
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#714776L, isFallbackOrderOnly#714793, worklistShardItemId#714799L, shardId#714820, sequenceId#714798]
(83) Filter [codegen id : 4]
Input [5]: [orderProposalId#714776L, isFallbackOrderOnly#714793, worklistShardItemId#714799L, shardId#714820, sequenceId#714798]
Condition : ((isnotnull(worklistShardItemId#714799L) AND NOT (isFallbackOrderOnly#714793 <=> true)) AND isnotnull(orderProposalId#714776L))
(84) Project [codegen id : 4]
Output [2]: [orderProposalId#714776L, worklistShardItemId#714799L]
Input [5]: [orderProposalId#714776L, isFallbackOrderOnly#714793, worklistShardItemId#714799L, shardId#714820, sequenceId#714798]
(85) Exchange
Input [2]: [orderProposalId#714776L, worklistShardItemId#714799L]
Arguments: hashpartitioning(worklistShardItemId#714799L, 20), REPARTITION_BY_NUM, [plan_id=283964]
(86) Project
Output [2]: [worklistShardItemId#714799L, orderProposalId#714776L]
Input [2]: [orderProposalId#714776L, worklistShardItemId#714799L]
(87) BroadcastHashJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#714728L]
Right keys [1]: [worklistShardItemId#714799L]
Join type: Inner
Join condition: None
(88) Project [codegen id : 5]
Output [1]: [orderProposalId#714776L]
Input [3]: [worklistShardItemId#714728L, worklistShardItemId#714799L, orderProposalId#714776L]
(89) HashAggregate [codegen id : 5]
Input [1]: [orderProposalId#714776L]
Keys [1]: [orderProposalId#714776L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#714776L]
(90) Exchange
Input [1]: [orderProposalId#714776L]
Arguments: hashpartitioning(orderProposalId#714776L, 20), ENSURE_REQUIREMENTS, [plan_id=283971]
(91) HashAggregate
Input [1]: [orderProposalId#714776L]
Keys [1]: [orderProposalId#714776L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#714776L]
(92) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [orderProposalId#714721L]
Right keys [1]: [orderProposalId#714776L]
Join type: Inner
Join condition: None
(93) Project
Output [3]: [orderProposalId#714721L, shardId#714720, coalesce(transform(optimizationGroups#714723, lambdafunction(struct(optGroupId, lambda x_1905#714718.optGroupId, minOrderProfile, lambda x_1905#714718.minOrderProfile, assignmentDetails, lambda x_1905#714718.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_1905#714718.minOrderGoal.dimensionType, unit, lambda x_1905#714718.minOrderGoal.unit, unitUuid, lambda x_1905#714718.minOrderGoal.unitUuid, goalValue, lambda x_1905#714718.minOrderGoal.minOrderValue, calcValue, lambda x_1905#714718.minOrderGoal.calculatedOrderValue), transportLoadProfile, DummyTloProfile01, transportLoadGoal, [3,5000.0,false,PAL,a7f3c91d204eb8f56d12a09e3b785c4f,TON,b4e8d1f0c73a92e61d05b8f4a291c07e,40.0]), lambda x_1905#714718, false)), []) AS optimizationGroups#714717]
Input [4]: [shardId#714720, orderProposalId#714721L, optimizationGroups#714723, orderProposalId#714776L]
(94) Exchange
Input [3]: [orderProposalId#714721L, shardId#714720, optimizationGroups#714717]
Arguments: hashpartitioning(coalesce(shardId#714720, ), isnull(shardId#714720), coalesce(orderProposalId#714721L, 0), isnull(orderProposalId#714721L), 20), ENSURE_REQUIREMENTS, [plan_id=283977]
(95) Sort [codegen id : 7]
Input [3]: [orderProposalId#714721L, shardId#714720, optimizationGroups#714717]
Arguments: [coalesce(shardId#714720, ) ASC NULLS FIRST, isnull(shardId#714720) ASC NULLS FIRST, coalesce(orderProposalId#714721L, 0) ASC NULLS FIRST, isnull(orderProposalId#714721L) ASC NULLS FIRST], false, 0
(96) SortMergeJoin
Left keys [4]: [coalesce(shardId#712663, ), isnull(shardId#712663), coalesce(_extract_orderProposalId#715472L, 0), isnull(_extract_orderProposalId#715472L)]
Right keys [4]: [coalesce(shardId#714720, ), isnull(shardId#714720), coalesce(orderProposalId#714721L, 0), isnull(orderProposalId#714721L)]
Join type: LeftOuter
Join condition: None
(97) Project
Output [2]: [shardId#712663, named_struct(orderProposalId, _extract_orderProposalId#715472L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#715464L, supplierGroup, _extract_supplierGroup#715465, optimizationGroups, coalesce(optimizationGroups#714717, []), supplier, _extract_supplier#715466, supplyingPlant, _extract_supplyingPlant#715467, orderDateTime, _extract_orderDateTime#715468, itemGroups, _extract_itemGroups#715469, previousOrderProposals, _extract_previousOrderProposals#715470, parentItems, _extract_parentItems#715471) AS orderProposal#714824]
Input [14]: [shardId#712663, _extract_orderProposalId#715463L, _extract_originalReplenishmentRunId#715464L, _extract_supplierGroup#715465, _extract_supplier#715466, _extract_supplyingPlant#715467, _extract_orderDateTime#715468, _extract_itemGroups#715469, _extract_previousOrderProposals#715470, _extract_parentItems#715471, _extract_orderProposalId#715472L, orderProposalId#714721L, shardId#714720, optimizationGroups#714717]
(98) Project
Output [3]: [shardId#712663, orderProposal#714824, CASE WHEN (size(orderProposal#714824.parentItems, true) > 2000) THEN xxhash64(orderProposal#714824.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#714824.orderProposalId as decimal(20,0)), 0), 42) END AS resultSeparationId#716576L]
Input [2]: [orderProposal#714824, shardId#712663]
(99) ObjectHashAggregate
Input [3]: [shardId#712663, orderProposal#714824, resultSeparationId#716576L]
Keys [2]: [shardId#712663, resultSeparationId#716576L]
Functions [1]: [partial_collect_list(orderProposal#714824, 0, 0)]
Aggregate Attributes [1]: [buf#716615]
Results [3]: [shardId#712663, resultSeparationId#716576L, buf#716616]
(100) Exchange
Input [3]: [shardId#712663, resultSeparationId#716576L, buf#716616]
Arguments: hashpartitioning(shardId#712663, resultSeparationId#716576L, 20), ENSURE_REQUIREMENTS, [plan_id=284124]
(101) ObjectHashAggregate
Input [3]: [shardId#712663, resultSeparationId#716576L, buf#716616]
Keys [2]: [shardId#712663, resultSeparationId#716576L]
Functions [1]: [collect_list(orderProposal#714824, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#714824, 0, 0)#716584]
Results [3]: [shardId#712663, resultSeparationId#716576L, collect_list(orderProposal#714824, 0, 0)#716584 AS orderProposals#716580]
(102) Exchange
Input [3]: [shardId#712663, resultSeparationId#716576L, orderProposals#716580]
Arguments: SinglePartition, REPARTITION_BY_NUM, [plan_id=284167]
(103) Project
Output [2]: [shardId#712663, orderProposals#716580]
Input [3]: [shardId#712663, resultSeparationId#716576L, orderProposals#716580]
(104) CollectLimit
Input: []
Arguments: 1