== Physical Plan ==
* HashAggregate (99)
+- Exchange (98)
+- * HashAggregate (97)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- ObjectHashAggregate (96)
+- Exchange (95)
+- ObjectHashAggregate (94)
+- Project (93)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- Project (92)
+- BroadcastHashJoin LeftOuter BuildRight (91)
:- Project (65)
: +- Project (64)
: +- ObjectHashAggregate (63)
: +- Exchange (62)
: +- ObjectHashAggregate (61)
: +- ObjectHashAggregate (60)
: +- Exchange (59)
: +- ObjectHashAggregate (58)
: +- Project (57)
: +- Project (56)
: +- Project (55)
: +- * Project (54)
: +- * Filter (53)
: +- InMemoryTableScan (5)
: +- InMemoryRelation (6)
: +- * Project (52)
: +- * SortMergeJoin LeftOuter (51)
: :- * Project (43)
: : +- * SortMergeJoin LeftOuter (42)
: : :- * Project (34)
: : : +- * SortMergeJoin LeftOuter (33)
: : : :- * Sort (27)
: : : : +- Exchange (26)
: : : : +- * Project (25)
: : : : +- * BroadcastHashJoin LeftOuter BuildRight (24)
: : : : :- * Project (16)
: : : : : +- * Generate (15)
: : : : : +- * Filter (14)
: : : : : +- InMemoryTableScan (7)
: : : : : +- InMemoryRelation (8)
: : : : : +- * Filter (13)
: : : : : +- InMemoryTableScan (9)
: : : : : +- InMemoryRelation (10)
: : : : : +- * Filter (12)
: : : : : +- * Scan ExistingRDD (11)
: : : : +- BroadcastExchange (23)
: : : : +- * Project (22)
: : : : +- Exchange (21)
: : : : +- * Project (20)
: : : : +- * Filter (19)
: : : : +- * ColumnarToRow (18)
: : : : +- Scan parquet (17)
: : : +- * Sort (32)
: : : +- Exchange (31)
: : : +- * Project (30)
: : : +- * Filter (29)
: : : +- * Scan ExistingRDD (28)
: : +- * Sort (41)
: : +- ObjectHashAggregate (40)
: : +- Exchange (39)
: : +- ObjectHashAggregate (38)
: : +- * Project (37)
: : +- * Filter (36)
: : +- * Scan ExistingRDD (35)
: +- * Sort (50)
: +- ObjectHashAggregate (49)
: +- Exchange (48)
: +- ObjectHashAggregate (47)
: +- * Project (46)
: +- * Filter (45)
: +- * Scan ExistingRDD (44)
+- BroadcastExchange (90)
+- Project (89)
+- * BroadcastHashJoin Inner BuildLeft (88)
:- BroadcastExchange (69)
: +- * Filter (68)
: +- InMemoryTableScan (66)
: +- InMemoryRelation (67)
: +- * Filter (13)
: +- InMemoryTableScan (9)
: +- InMemoryRelation (10)
: +- * Filter (12)
: +- * Scan ExistingRDD (11)
+- * HashAggregate (87)
+- Exchange (86)
+- * HashAggregate (85)
+- * Project (84)
+- * BroadcastHashJoin Inner BuildLeft (83)
:- BroadcastExchange (76)
: +- * Project (75)
: +- * Generate (74)
: +- * Project (73)
: +- * Filter (72)
: +- InMemoryTableScan (70)
: +- InMemoryRelation (71)
: +- * Filter (13)
: +- InMemoryTableScan (9)
: +- InMemoryRelation (10)
: +- * Filter (12)
: +- * Scan ExistingRDD (11)
+- * Project (82)
+- Exchange (81)
+- * Project (80)
+- * Filter (79)
+- * ColumnarToRow (78)
+- Scan parquet (77)
(1) InMemoryTableScan
Output: []
(2) InMemoryRelation
Arguments: [shardId#15070782, resultSeparationId#15074661L, orderProposals#15074665], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [2]: [orderProposal#15072925, shardId#15070782]
Arguments: [orderProposal#15072925, shardId#15070782]
(4) InMemoryRelation
Arguments: [shardId#15070782, orderProposal#15072925], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [39]: [availabilityDateTime#15071472, channelStreamSpecificKpis#15072037, constraintLabels#15071484, constraintOperators#15071485, constraintValues#15071487, deliveryDateTime#15071471, isFallbackOrderOnly#15071474, logisticUnits#15071489, measurements#15071482, minimumOrderQuantity#15071483, netPriceAmount#15071480, netPriceCurrencyCode#15071481, netPriceQuantity#15071477, netPriceQuantityUom#15071478, netPriceQuantityUomUuid#15071479, nextAvailabilityDateTime#15071473, optimizationGroups#15071490, orderDateTime#15071470, orderProposalId#15071452L, orderProposalItemGroupId#15071454, orderProposalItemId#15071453, orderQuantityBaseUom#15071475, orderQuantityBaseUomUuid#15071476, originalReplenishmentRunId#15071455L, plant#15071466, previousOrderProposal#15071458L, prodLocSpecificKpis#15072022, product#15071465, productGroup#15071494, qty#15071296, quantityAfterProdPlantOptimization#15071295, quantityKpis#15072050, shardId#15070782, sourceOfSupplyUuid#15071461, splitIndicator#15071457L, subrange#15071464, supplier#15071463, supplierGroup#15071462, supplyingPlant#15071493]
Arguments: [availabilityDateTime#15071472, channelStreamSpecificKpis#15072037, constraintLabels#15071484, constraintOperators#15071485, constraintValues#15071487, deliveryDateTime#15071471, isFallbackOrderOnly#15071474, logisticUnits#15071489, measurements#15071482, minimumOrderQuantity#15071483, netPriceAmount#15071480, netPriceCurrencyCode#15071481, netPriceQuantity#15071477, netPriceQuantityUom#15071478, netPriceQuantityUomUuid#15071479, nextAvailabilityDateTime#15071473, optimizationGroups#15071490, orderDateTime#15071470, orderProposalId#15071452L, orderProposalItemGroupId#15071454, orderProposalItemId#15071453, orderQuantityBaseUom#15071475, orderQuantityBaseUomUuid#15071476, originalReplenishmentRunId#15071455L, plant#15071466, ... 14 more fields], [NOT (isFallbackOrderOnly#15071474 <=> true)]
(6) InMemoryRelation
Arguments: [shardId#15070782, worklistShardItemId#15071294L, quantityAfterProdPlantOptimization#15071295, qty#15071296, orderProposalId#15071452L, originalReplenishmentRunId#15071455L, supplierGroup#15071462, supplier#15071463, supplyingPlant#15071493, productGroup#15071494, product#15071465, plant#15071466, subrange#15071464, orderDateTime#15071470, deliveryDateTime#15071471, availabilityDateTime#15071472, nextAvailabilityDateTime#15071473, constraintValues#15071487, constraintOperators#15071485, constraintLabels#15071484, logisticUnits#15071489, orderQuantityBaseUom#15071475, orderQuantityBaseUomUuid#15071476, splitIndicator#15071457L, netPriceAmount#15071480, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [2]: [shardId#15070782, items#15070784]
Arguments: [shardId#15070782, items#15070784], [(size(items#15070784, true) > 0), isnotnull(items#15070784)]
(8) InMemoryRelation
Arguments: [shardId#15070782, orderProposalId#15070783L, items#15070784, optimizationGroups#15070785, isOptimal#15070786, optimizationInsights#15070788], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [6]: [shardId#15070782, orderProposalId#15070783L, items#15070784, optimizationGroups#15070785, isOptimal#15070786, optimizationInsights#15070788]
Arguments: [shardId#15070782, orderProposalId#15070783L, items#15070784, optimizationGroups#15070785, isOptimal#15070786, optimizationInsights#15070788], [isnotnull(shardId#15070782), (shardId#15070782 = 0_1_10000001452)]
(10) InMemoryRelation
Arguments: [shardId#15070782, orderProposalId#15070783L, items#15070784, optimizationGroups#15070785, isOptimal#15070786, lastModified#15070787, optimizationInsights#15070788], StorageLevel(disk, memory, 2 replicas)
(11) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#15070782, orderProposalId#15070783L, items#15070784, optimizationGroups#15070785, isOptimal#15070786, lastModified#15070787, optimizationInsights#15070788]
Arguments: [shardId#15070782, orderProposalId#15070783L, items#15070784, optimizationGroups#15070785, isOptimal#15070786, lastModified#15070787, optimizationInsights#15070788], MapPartitionsRDD[1062227] at start at FileStorageAdapterImpl.java:598, ExistingRDD, UnknownPartitioning(0)
(12) Filter [codegen id : 1]
Input [7]: [shardId#15070782, orderProposalId#15070783L, items#15070784, optimizationGroups#15070785, isOptimal#15070786, lastModified#15070787, optimizationInsights#15070788]
Condition : (isnotnull(shardId#15070782) AND (shardId#15070782 = 0_1_10000001452))
(13) Filter [codegen id : 1]
Input [6]: [shardId#15070782, orderProposalId#15070783L, items#15070784, optimizationGroups#15070785, isOptimal#15070786, optimizationInsights#15070788]
Condition : (isnotnull(shardId#15070782) AND (shardId#15070782 = 0_1_10000001452))
(14) Filter [codegen id : 3]
Input [2]: [shardId#15070782, items#15070784]
Condition : ((size(items#15070784, true) > 0) AND isnotnull(items#15070784))
(15) Generate [codegen id : 3]
Input [2]: [shardId#15070782, items#15070784]
Arguments: explode(items#15070784), [shardId#15070782], false, [item#15071293]
(16) Project [codegen id : 3]
Output [4]: [shardId#15070782, item#15071293.worklistShardItemId AS worklistShardItemId#15071294L, item#15071293.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#15071295, item#15071293.qty AS qty#15071296]
Input [2]: [shardId#15070782, item#15071293]
(17) Scan parquet
Output [38]: [orderProposalId#15071495L, orderProposalItemId#15071496, supplierGroup#15071497, supplier#15071498, plant#15071499, deliveryDateTime#15071500, subrange#15071501, supplyingPlant#15071502, productGroup#15071503, product#15071504, orderDateTime#15071505, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, sourceOfSupplyUuid#15071509, isFallbackOrderOnly#15071512, splitIndicator#15071514L, previousOrderProposal#15071515L, worklistShardItemId#15071518L, orderProposalItemGroupId#15071519, externalProductId#15071520, externalPlantId#15071521, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, minimumOrderQuantity#15071525, constraintLabels#15071526, constraintOperators#15071527, constraintValues#15071528, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, measurements#15071536, originalReplenishmentRunId#15071537L, optimizationGroups#15071538, shardId#15071539, sequenceId#15071517]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://332d7051-0d16-44f5-ae76-bf2dcf30365f.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000001452]
PartitionFilters: [isnotnull(shardId#15071539), isnotnull(sequenceId#15071517), (shardId#15071539 = 0_1_10000001452), (sequenceId#15071517 = 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>>
(18) ColumnarToRow [codegen id : 1]
Input [38]: [orderProposalId#15071495L, orderProposalItemId#15071496, supplierGroup#15071497, supplier#15071498, plant#15071499, deliveryDateTime#15071500, subrange#15071501, supplyingPlant#15071502, productGroup#15071503, product#15071504, orderDateTime#15071505, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, sourceOfSupplyUuid#15071509, isFallbackOrderOnly#15071512, splitIndicator#15071514L, previousOrderProposal#15071515L, worklistShardItemId#15071518L, orderProposalItemGroupId#15071519, externalProductId#15071520, externalPlantId#15071521, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, minimumOrderQuantity#15071525, constraintLabels#15071526, constraintOperators#15071527, constraintValues#15071528, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, measurements#15071536, originalReplenishmentRunId#15071537L, optimizationGroups#15071538, shardId#15071539, sequenceId#15071517]
(19) Filter [codegen id : 1]
Input [38]: [orderProposalId#15071495L, orderProposalItemId#15071496, supplierGroup#15071497, supplier#15071498, plant#15071499, deliveryDateTime#15071500, subrange#15071501, supplyingPlant#15071502, productGroup#15071503, product#15071504, orderDateTime#15071505, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, sourceOfSupplyUuid#15071509, isFallbackOrderOnly#15071512, splitIndicator#15071514L, previousOrderProposal#15071515L, worklistShardItemId#15071518L, orderProposalItemGroupId#15071519, externalProductId#15071520, externalPlantId#15071521, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, minimumOrderQuantity#15071525, constraintLabels#15071526, constraintOperators#15071527, constraintValues#15071528, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, measurements#15071536, originalReplenishmentRunId#15071537L, optimizationGroups#15071538, shardId#15071539, sequenceId#15071517]
Condition : isnotnull(worklistShardItemId#15071518L)
(20) Project [codegen id : 1]
Output [36]: [orderProposalId#15071495L, orderProposalItemId#15071496, supplierGroup#15071497, supplier#15071498, plant#15071499, deliveryDateTime#15071500, subrange#15071501, supplyingPlant#15071502, productGroup#15071503, product#15071504, orderDateTime#15071505, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, sourceOfSupplyUuid#15071509, isFallbackOrderOnly#15071512, splitIndicator#15071514L, previousOrderProposal#15071515L, worklistShardItemId#15071518L, orderProposalItemGroupId#15071519, externalProductId#15071520, externalPlantId#15071521, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, minimumOrderQuantity#15071525, constraintLabels#15071526, constraintOperators#15071527, constraintValues#15071528, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, measurements#15071536, originalReplenishmentRunId#15071537L, optimizationGroups#15071538]
Input [38]: [orderProposalId#15071495L, orderProposalItemId#15071496, supplierGroup#15071497, supplier#15071498, plant#15071499, deliveryDateTime#15071500, subrange#15071501, supplyingPlant#15071502, productGroup#15071503, product#15071504, orderDateTime#15071505, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, sourceOfSupplyUuid#15071509, isFallbackOrderOnly#15071512, splitIndicator#15071514L, previousOrderProposal#15071515L, worklistShardItemId#15071518L, orderProposalItemGroupId#15071519, externalProductId#15071520, externalPlantId#15071521, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, minimumOrderQuantity#15071525, constraintLabels#15071526, constraintOperators#15071527, constraintValues#15071528, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, measurements#15071536, originalReplenishmentRunId#15071537L, optimizationGroups#15071538, shardId#15071539, sequenceId#15071517]
(21) Exchange
Input [36]: [orderProposalId#15071495L, orderProposalItemId#15071496, supplierGroup#15071497, supplier#15071498, plant#15071499, deliveryDateTime#15071500, subrange#15071501, supplyingPlant#15071502, productGroup#15071503, product#15071504, orderDateTime#15071505, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, sourceOfSupplyUuid#15071509, isFallbackOrderOnly#15071512, splitIndicator#15071514L, previousOrderProposal#15071515L, worklistShardItemId#15071518L, orderProposalItemGroupId#15071519, externalProductId#15071520, externalPlantId#15071521, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, minimumOrderQuantity#15071525, constraintLabels#15071526, constraintOperators#15071527, constraintValues#15071528, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, measurements#15071536, originalReplenishmentRunId#15071537L, optimizationGroups#15071538]
Arguments: hashpartitioning(worklistShardItemId#15071518L, 30), REPARTITION_BY_NUM, [plan_id=7843463]
(22) Project [codegen id : 2]
Output [36]: [worklistShardItemId#15071518L, orderProposalId#15071495L, orderProposalItemId#15071496, orderProposalItemGroupId#15071519, originalReplenishmentRunId#15071537L, splitIndicator#15071514L, previousOrderProposal#15071515L, sourceOfSupplyUuid#15071509, supplierGroup#15071497, supplier#15071498, subrange#15071501, product#15071504, plant#15071499, orderDateTime#15071505, deliveryDateTime#15071500, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, isFallbackOrderOnly#15071512, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, netPriceAmount#15071531, netPriceCurrencyCode#15071532, measurements#15071536, minimumOrderQuantity#15071525, constraintLabels#15071526, constraintOperators#15071527, constraintValues#15071528, logisticUnits#15071522, optimizationGroups#15071538, externalProductId#15071520, externalPlantId#15071521, supplyingPlant#15071502, productGroup#15071503]
Input [36]: [orderProposalId#15071495L, orderProposalItemId#15071496, supplierGroup#15071497, supplier#15071498, plant#15071499, deliveryDateTime#15071500, subrange#15071501, supplyingPlant#15071502, productGroup#15071503, product#15071504, orderDateTime#15071505, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, sourceOfSupplyUuid#15071509, isFallbackOrderOnly#15071512, splitIndicator#15071514L, previousOrderProposal#15071515L, worklistShardItemId#15071518L, orderProposalItemGroupId#15071519, externalProductId#15071520, externalPlantId#15071521, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, minimumOrderQuantity#15071525, constraintLabels#15071526, constraintOperators#15071527, constraintValues#15071528, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, measurements#15071536, originalReplenishmentRunId#15071537L, optimizationGroups#15071538]
(23) BroadcastExchange
Input [36]: [worklistShardItemId#15071518L, orderProposalId#15071495L, orderProposalItemId#15071496, orderProposalItemGroupId#15071519, originalReplenishmentRunId#15071537L, splitIndicator#15071514L, previousOrderProposal#15071515L, sourceOfSupplyUuid#15071509, supplierGroup#15071497, supplier#15071498, subrange#15071501, product#15071504, plant#15071499, orderDateTime#15071505, deliveryDateTime#15071500, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, isFallbackOrderOnly#15071512, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, netPriceAmount#15071531, netPriceCurrencyCode#15071532, measurements#15071536, minimumOrderQuantity#15071525, constraintLabels#15071526, constraintOperators#15071527, constraintValues#15071528, logisticUnits#15071522, optimizationGroups#15071538, externalProductId#15071520, externalPlantId#15071521, supplyingPlant#15071502, productGroup#15071503]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=7843467]
(24) BroadcastHashJoin [codegen id : 3]
Left keys [1]: [worklistShardItemId#15071294L]
Right keys [1]: [worklistShardItemId#15071518L]
Join type: LeftOuter
Join condition: (shardId#15070782 = 0_1_10000001452)
(25) Project [codegen id : 3]
Output [39]: [shardId#15070782, worklistShardItemId#15071294L, quantityAfterProdPlantOptimization#15071295, qty#15071296, orderProposalId#15071495L, originalReplenishmentRunId#15071537L, supplierGroup#15071497, supplier#15071498, supplyingPlant#15071502, productGroup#15071503, product#15071504, plant#15071499, subrange#15071501, orderDateTime#15071505, deliveryDateTime#15071500, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, constraintValues#15071528, constraintOperators#15071527, constraintLabels#15071526, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, splitIndicator#15071514L, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, sourceOfSupplyUuid#15071509, minimumOrderQuantity#15071525, orderProposalItemId#15071496, orderProposalItemGroupId#15071519, optimizationGroups#15071538, measurements#15071536, externalProductId#15071520, externalPlantId#15071521, previousOrderProposal#15071515L, isFallbackOrderOnly#15071512]
Input [40]: [shardId#15070782, worklistShardItemId#15071294L, quantityAfterProdPlantOptimization#15071295, qty#15071296, worklistShardItemId#15071518L, orderProposalId#15071495L, orderProposalItemId#15071496, orderProposalItemGroupId#15071519, originalReplenishmentRunId#15071537L, splitIndicator#15071514L, previousOrderProposal#15071515L, sourceOfSupplyUuid#15071509, supplierGroup#15071497, supplier#15071498, subrange#15071501, product#15071504, plant#15071499, orderDateTime#15071505, deliveryDateTime#15071500, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, isFallbackOrderOnly#15071512, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, netPriceAmount#15071531, netPriceCurrencyCode#15071532, measurements#15071536, minimumOrderQuantity#15071525, constraintLabels#15071526, constraintOperators#15071527, constraintValues#15071528, logisticUnits#15071522, optimizationGroups#15071538, externalProductId#15071520, externalPlantId#15071521, supplyingPlant#15071502, productGroup#15071503]
(26) Exchange
Input [39]: [shardId#15070782, worklistShardItemId#15071294L, quantityAfterProdPlantOptimization#15071295, qty#15071296, orderProposalId#15071495L, originalReplenishmentRunId#15071537L, supplierGroup#15071497, supplier#15071498, supplyingPlant#15071502, productGroup#15071503, product#15071504, plant#15071499, subrange#15071501, orderDateTime#15071505, deliveryDateTime#15071500, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, constraintValues#15071528, constraintOperators#15071527, constraintLabels#15071526, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, splitIndicator#15071514L, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, sourceOfSupplyUuid#15071509, minimumOrderQuantity#15071525, orderProposalItemId#15071496, orderProposalItemGroupId#15071519, optimizationGroups#15071538, measurements#15071536, externalProductId#15071520, externalPlantId#15071521, previousOrderProposal#15071515L, isFallbackOrderOnly#15071512]
Arguments: hashpartitioning(shardId#15070782, worklistShardItemId#15071294L, 30), ENSURE_REQUIREMENTS, [plan_id=7843472]
(27) Sort [codegen id : 4]
Input [39]: [shardId#15070782, worklistShardItemId#15071294L, quantityAfterProdPlantOptimization#15071295, qty#15071296, orderProposalId#15071495L, originalReplenishmentRunId#15071537L, supplierGroup#15071497, supplier#15071498, supplyingPlant#15071502, productGroup#15071503, product#15071504, plant#15071499, subrange#15071501, orderDateTime#15071505, deliveryDateTime#15071500, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, constraintValues#15071528, constraintOperators#15071527, constraintLabels#15071526, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, splitIndicator#15071514L, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, sourceOfSupplyUuid#15071509, minimumOrderQuantity#15071525, orderProposalItemId#15071496, orderProposalItemGroupId#15071519, optimizationGroups#15071538, measurements#15071536, externalProductId#15071520, externalPlantId#15071521, previousOrderProposal#15071515L, isFallbackOrderOnly#15071512]
Arguments: [shardId#15070782 ASC NULLS FIRST, worklistShardItemId#15071294L ASC NULLS FIRST], false, 0
(28) Scan ExistingRDD [codegen id : 5]
Output [6]: [shardId#15072015, worklistShardItemId#15072016L, qty#15072017, demandChannel#15072018, demandStream#15072019, kpis#15072020]
Arguments: [shardId#15072015, worklistShardItemId#15072016L, qty#15072017, demandChannel#15072018, demandStream#15072019, kpis#15072020], MapPartitionsRDD[1062287] at start at FileStorageAdapterImpl.java:598, ExistingRDD, UnknownPartitioning(0)
(29) Filter [codegen id : 5]
Input [6]: [shardId#15072015, worklistShardItemId#15072016L, qty#15072017, demandChannel#15072018, demandStream#15072019, kpis#15072020]
Condition : (((isnull(qty#15072017) AND isnull(demandChannel#15072018)) AND isnull(demandStream#15072019)) AND (isnotnull(shardId#15072015) AND isnotnull(worklistShardItemId#15072016L)))
(30) Project [codegen id : 5]
Output [3]: [shardId#15072015, worklistShardItemId#15072016L, coalesce(kpis#15072020, []) AS prodLocSpecificKpis#15072021]
Input [6]: [shardId#15072015, worklistShardItemId#15072016L, qty#15072017, demandChannel#15072018, demandStream#15072019, kpis#15072020]
(31) Exchange
Input [3]: [shardId#15072015, worklistShardItemId#15072016L, prodLocSpecificKpis#15072021]
Arguments: hashpartitioning(shardId#15072015, worklistShardItemId#15072016L, 30), ENSURE_REQUIREMENTS, [plan_id=7843478]
(32) Sort [codegen id : 6]
Input [3]: [shardId#15072015, worklistShardItemId#15072016L, prodLocSpecificKpis#15072021]
Arguments: [shardId#15072015 ASC NULLS FIRST, worklistShardItemId#15072016L ASC NULLS FIRST], false, 0
(33) SortMergeJoin [codegen id : 7]
Left keys [2]: [shardId#15070782, worklistShardItemId#15071294L]
Right keys [2]: [shardId#15072015, worklistShardItemId#15072016L]
Join type: LeftOuter
Join condition: None
(34) Project [codegen id : 7]
Output [40]: [shardId#15070782, worklistShardItemId#15071294L, quantityAfterProdPlantOptimization#15071295, qty#15071296, orderProposalId#15071495L, originalReplenishmentRunId#15071537L, supplierGroup#15071497, supplier#15071498, supplyingPlant#15071502, productGroup#15071503, product#15071504, plant#15071499, subrange#15071501, orderDateTime#15071505, deliveryDateTime#15071500, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, constraintValues#15071528, constraintOperators#15071527, constraintLabels#15071526, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, splitIndicator#15071514L, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, sourceOfSupplyUuid#15071509, minimumOrderQuantity#15071525, orderProposalItemId#15071496, orderProposalItemGroupId#15071519, optimizationGroups#15071538, measurements#15071536, externalProductId#15071520, externalPlantId#15071521, previousOrderProposal#15071515L, isFallbackOrderOnly#15071512, coalesce(prodLocSpecificKpis#15072021, []) AS prodLocSpecificKpis#15072022]
Input [42]: [shardId#15070782, worklistShardItemId#15071294L, quantityAfterProdPlantOptimization#15071295, qty#15071296, orderProposalId#15071495L, originalReplenishmentRunId#15071537L, supplierGroup#15071497, supplier#15071498, supplyingPlant#15071502, productGroup#15071503, product#15071504, plant#15071499, subrange#15071501, orderDateTime#15071505, deliveryDateTime#15071500, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, constraintValues#15071528, constraintOperators#15071527, constraintLabels#15071526, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, splitIndicator#15071514L, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, sourceOfSupplyUuid#15071509, minimumOrderQuantity#15071525, orderProposalItemId#15071496, orderProposalItemGroupId#15071519, optimizationGroups#15071538, measurements#15071536, externalProductId#15071520, externalPlantId#15071521, previousOrderProposal#15071515L, isFallbackOrderOnly#15071512, shardId#15072015, worklistShardItemId#15072016L, prodLocSpecificKpis#15072021]
(35) Scan ExistingRDD [codegen id : 8]
Output [6]: [shardId#15072031, worklistShardItemId#15072032L, qty#15072033, demandChannel#15072034, demandStream#15072035, kpis#15072036]
Arguments: [shardId#15072031, worklistShardItemId#15072032L, qty#15072033, demandChannel#15072034, demandStream#15072035, kpis#15072036], MapPartitionsRDD[1062287] at start at FileStorageAdapterImpl.java:598, ExistingRDD, UnknownPartitioning(0)
(36) Filter [codegen id : 8]
Input [6]: [shardId#15072031, worklistShardItemId#15072032L, qty#15072033, demandChannel#15072034, demandStream#15072035, kpis#15072036]
Condition : ((((isnull(qty#15072033) AND isnotnull(demandChannel#15072034)) AND isnotnull(demandStream#15072035)) AND (size(kpis#15072036, true) > 0)) AND (isnotnull(shardId#15072031) AND isnotnull(worklistShardItemId#15072032L)))
(37) Project [codegen id : 8]
Output [5]: [shardId#15072031, worklistShardItemId#15072032L, demandChannel#15072034, demandStream#15072035, kpis#15072036]
Input [6]: [shardId#15072031, worklistShardItemId#15072032L, qty#15072033, demandChannel#15072034, demandStream#15072035, kpis#15072036]
(38) ObjectHashAggregate
Input [5]: [shardId#15072031, worklistShardItemId#15072032L, demandChannel#15072034, demandStream#15072035, kpis#15072036]
Keys [2]: [shardId#15072031, worklistShardItemId#15072032L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#15072034, demandStream, demandStream#15072035, kpis, kpis#15072036), 0, 0)]
Aggregate Attributes [1]: [buf#15072211]
Results [3]: [shardId#15072031, worklistShardItemId#15072032L, buf#15072212]
(39) Exchange
Input [3]: [shardId#15072031, worklistShardItemId#15072032L, buf#15072212]
Arguments: hashpartitioning(shardId#15072031, worklistShardItemId#15072032L, 30), ENSURE_REQUIREMENTS, [plan_id=7843489]
(40) ObjectHashAggregate
Input [3]: [shardId#15072031, worklistShardItemId#15072032L, buf#15072212]
Keys [2]: [shardId#15072031, worklistShardItemId#15072032L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#15072034, demandStream, demandStream#15072035, kpis, kpis#15072036), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#15072034, demandStream, demandStream#15072035, kpis, kpis#15072036), 0, 0)#15072030]
Results [3]: [shardId#15072031, worklistShardItemId#15072032L, collect_list(struct(demandChannel, demandChannel#15072034, demandStream, demandStream#15072035, kpis, kpis#15072036), 0, 0)#15072030 AS channelStreamSpecificKpis#15072023]
(41) Sort [codegen id : 9]
Input [3]: [shardId#15072031, worklistShardItemId#15072032L, channelStreamSpecificKpis#15072023]
Arguments: [shardId#15072031 ASC NULLS FIRST, worklistShardItemId#15072032L ASC NULLS FIRST], false, 0
(42) SortMergeJoin [codegen id : 10]
Left keys [2]: [shardId#15070782, worklistShardItemId#15071294L]
Right keys [2]: [shardId#15072031, worklistShardItemId#15072032L]
Join type: LeftOuter
Join condition: None
(43) Project [codegen id : 10]
Output [41]: [shardId#15070782, worklistShardItemId#15071294L, quantityAfterProdPlantOptimization#15071295, qty#15071296, orderProposalId#15071495L, originalReplenishmentRunId#15071537L, supplierGroup#15071497, supplier#15071498, supplyingPlant#15071502, productGroup#15071503, product#15071504, plant#15071499, subrange#15071501, orderDateTime#15071505, deliveryDateTime#15071500, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, constraintValues#15071528, constraintOperators#15071527, constraintLabels#15071526, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, splitIndicator#15071514L, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, sourceOfSupplyUuid#15071509, minimumOrderQuantity#15071525, orderProposalItemId#15071496, orderProposalItemGroupId#15071519, optimizationGroups#15071538, measurements#15071536, externalProductId#15071520, externalPlantId#15071521, previousOrderProposal#15071515L, isFallbackOrderOnly#15071512, prodLocSpecificKpis#15072022, coalesce(channelStreamSpecificKpis#15072023, []) AS channelStreamSpecificKpis#15072037]
Input [43]: [shardId#15070782, worklistShardItemId#15071294L, quantityAfterProdPlantOptimization#15071295, qty#15071296, orderProposalId#15071495L, originalReplenishmentRunId#15071537L, supplierGroup#15071497, supplier#15071498, supplyingPlant#15071502, productGroup#15071503, product#15071504, plant#15071499, subrange#15071501, orderDateTime#15071505, deliveryDateTime#15071500, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, constraintValues#15071528, constraintOperators#15071527, constraintLabels#15071526, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, splitIndicator#15071514L, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, sourceOfSupplyUuid#15071509, minimumOrderQuantity#15071525, orderProposalItemId#15071496, orderProposalItemGroupId#15071519, optimizationGroups#15071538, measurements#15071536, externalProductId#15071520, externalPlantId#15071521, previousOrderProposal#15071515L, isFallbackOrderOnly#15071512, prodLocSpecificKpis#15072022, shardId#15072031, worklistShardItemId#15072032L, channelStreamSpecificKpis#15072023]
(44) Scan ExistingRDD [codegen id : 11]
Output [6]: [shardId#15072044, worklistShardItemId#15072045L, qty#15072046, demandChannel#15072047, demandStream#15072048, kpis#15072049]
Arguments: [shardId#15072044, worklistShardItemId#15072045L, qty#15072046, demandChannel#15072047, demandStream#15072048, kpis#15072049], MapPartitionsRDD[1062287] at start at FileStorageAdapterImpl.java:598, ExistingRDD, UnknownPartitioning(0)
(45) Filter [codegen id : 11]
Input [6]: [shardId#15072044, worklistShardItemId#15072045L, qty#15072046, demandChannel#15072047, demandStream#15072048, kpis#15072049]
Condition : ((isnotnull(qty#15072046) AND isnotnull(kpis#15072049)) AND (isnotnull(shardId#15072044) AND isnotnull(worklistShardItemId#15072045L)))
(46) Project [codegen id : 11]
Output [4]: [shardId#15072044, worklistShardItemId#15072045L, qty#15072046, kpis#15072049]
Input [6]: [shardId#15072044, worklistShardItemId#15072045L, qty#15072046, demandChannel#15072047, demandStream#15072048, kpis#15072049]
(47) ObjectHashAggregate
Input [4]: [shardId#15072044, worklistShardItemId#15072045L, qty#15072046, kpis#15072049]
Keys [2]: [shardId#15072044, worklistShardItemId#15072045L]
Functions [1]: [partial_collect_list(struct(qty, qty#15072046, kpis, kpis#15072049), 0, 0)]
Aggregate Attributes [1]: [buf#15072213]
Results [3]: [shardId#15072044, worklistShardItemId#15072045L, buf#15072214]
(48) Exchange
Input [3]: [shardId#15072044, worklistShardItemId#15072045L, buf#15072214]
Arguments: hashpartitioning(shardId#15072044, worklistShardItemId#15072045L, 30), ENSURE_REQUIREMENTS, [plan_id=7843501]
(49) ObjectHashAggregate
Input [3]: [shardId#15072044, worklistShardItemId#15072045L, buf#15072214]
Keys [2]: [shardId#15072044, worklistShardItemId#15072045L]
Functions [1]: [collect_list(struct(qty, qty#15072046, kpis, kpis#15072049), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#15072046, kpis, kpis#15072049), 0, 0)#15072043]
Results [3]: [shardId#15072044, worklistShardItemId#15072045L, map_from_entries(collect_list(struct(qty, qty#15072046, kpis, kpis#15072049), 0, 0)#15072043) AS quantityKpis#15072038]
(50) Sort [codegen id : 12]
Input [3]: [shardId#15072044, worklistShardItemId#15072045L, quantityKpis#15072038]
Arguments: [shardId#15072044 ASC NULLS FIRST, worklistShardItemId#15072045L ASC NULLS FIRST], false, 0
(51) SortMergeJoin [codegen id : 13]
Left keys [2]: [shardId#15070782, worklistShardItemId#15071294L]
Right keys [2]: [shardId#15072044, worklistShardItemId#15072045L]
Join type: LeftOuter
Join condition: None
(52) Project [codegen id : 13]
Output [42]: [shardId#15070782, worklistShardItemId#15071294L, quantityAfterProdPlantOptimization#15071295, qty#15071296, orderProposalId#15071495L, originalReplenishmentRunId#15071537L, supplierGroup#15071497, supplier#15071498, supplyingPlant#15071502, productGroup#15071503, product#15071504, plant#15071499, subrange#15071501, orderDateTime#15071505, deliveryDateTime#15071500, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, constraintValues#15071528, constraintOperators#15071527, constraintLabels#15071526, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, splitIndicator#15071514L, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, sourceOfSupplyUuid#15071509, minimumOrderQuantity#15071525, orderProposalItemId#15071496, orderProposalItemGroupId#15071519, optimizationGroups#15071538, measurements#15071536, externalProductId#15071520, externalPlantId#15071521, previousOrderProposal#15071515L, isFallbackOrderOnly#15071512, prodLocSpecificKpis#15072022, channelStreamSpecificKpis#15072037, coalesce(quantityKpis#15072038, map(keys: [], values: [])) AS quantityKpis#15072050]
Input [44]: [shardId#15070782, worklistShardItemId#15071294L, quantityAfterProdPlantOptimization#15071295, qty#15071296, orderProposalId#15071495L, originalReplenishmentRunId#15071537L, supplierGroup#15071497, supplier#15071498, supplyingPlant#15071502, productGroup#15071503, product#15071504, plant#15071499, subrange#15071501, orderDateTime#15071505, deliveryDateTime#15071500, availabilityDateTime#15071506, nextAvailabilityDateTime#15071507, constraintValues#15071528, constraintOperators#15071527, constraintLabels#15071526, logisticUnits#15071522, orderQuantityBaseUom#15071523, orderQuantityBaseUomUuid#15071524, splitIndicator#15071514L, netPriceAmount#15071531, netPriceCurrencyCode#15071532, netPriceQuantity#15071533, netPriceQuantityUom#15071534, netPriceQuantityUomUuid#15071535, sourceOfSupplyUuid#15071509, minimumOrderQuantity#15071525, orderProposalItemId#15071496, orderProposalItemGroupId#15071519, optimizationGroups#15071538, measurements#15071536, externalProductId#15071520, externalPlantId#15071521, previousOrderProposal#15071515L, isFallbackOrderOnly#15071512, prodLocSpecificKpis#15072022, channelStreamSpecificKpis#15072037, shardId#15072044, worklistShardItemId#15072045L, quantityKpis#15072038]
(53) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#15071472, channelStreamSpecificKpis#15072037, constraintLabels#15071484, constraintOperators#15071485, constraintValues#15071487, deliveryDateTime#15071471, isFallbackOrderOnly#15071474, logisticUnits#15071489, measurements#15071482, minimumOrderQuantity#15071483, netPriceAmount#15071480, netPriceCurrencyCode#15071481, netPriceQuantity#15071477, netPriceQuantityUom#15071478, netPriceQuantityUomUuid#15071479, nextAvailabilityDateTime#15071473, optimizationGroups#15071490, orderDateTime#15071470, orderProposalId#15071452L, orderProposalItemGroupId#15071454, orderProposalItemId#15071453, orderQuantityBaseUom#15071475, orderQuantityBaseUomUuid#15071476, originalReplenishmentRunId#15071455L, plant#15071466, previousOrderProposal#15071458L, prodLocSpecificKpis#15072022, product#15071465, productGroup#15071494, qty#15071296, quantityAfterProdPlantOptimization#15071295, quantityKpis#15072050, shardId#15070782, sourceOfSupplyUuid#15071461, splitIndicator#15071457L, subrange#15071464, supplier#15071463, supplierGroup#15071462, supplyingPlant#15071493]
Condition : NOT (isFallbackOrderOnly#15071474 <=> true)
(54) Project [codegen id : 1]
Output [36]: [shardId#15070782, quantityAfterProdPlantOptimization#15071295, qty#15071296, orderProposalId#15071452L, originalReplenishmentRunId#15071455L, supplierGroup#15071462, supplier#15071463, supplyingPlant#15071493, productGroup#15071494, product#15071465, plant#15071466, subrange#15071464, orderDateTime#15071470, deliveryDateTime#15071471, availabilityDateTime#15071472, nextAvailabilityDateTime#15071473, logisticUnits#15071489, orderQuantityBaseUom#15071475, orderQuantityBaseUomUuid#15071476, splitIndicator#15071457L, netPriceAmount#15071480, netPriceCurrencyCode#15071481, netPriceQuantity#15071477, netPriceQuantityUom#15071478, netPriceQuantityUomUuid#15071479, sourceOfSupplyUuid#15071461, minimumOrderQuantity#15071483, orderProposalItemId#15071453, orderProposalItemGroupId#15071454, optimizationGroups#15071490, measurements#15071482, previousOrderProposal#15071458L, prodLocSpecificKpis#15072022, channelStreamSpecificKpis#15072037, quantityKpis#15072050, arrays_zip(constraintLabels#15071484, constraintOperators#15071485, constraintValues#15071487, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#15072464]
Input [39]: [availabilityDateTime#15071472, channelStreamSpecificKpis#15072037, constraintLabels#15071484, constraintOperators#15071485, constraintValues#15071487, deliveryDateTime#15071471, isFallbackOrderOnly#15071474, logisticUnits#15071489, measurements#15071482, minimumOrderQuantity#15071483, netPriceAmount#15071480, netPriceCurrencyCode#15071481, netPriceQuantity#15071477, netPriceQuantityUom#15071478, netPriceQuantityUomUuid#15071479, nextAvailabilityDateTime#15071473, optimizationGroups#15071490, orderDateTime#15071470, orderProposalId#15071452L, orderProposalItemGroupId#15071454, orderProposalItemId#15071453, orderQuantityBaseUom#15071475, orderQuantityBaseUomUuid#15071476, originalReplenishmentRunId#15071455L, plant#15071466, previousOrderProposal#15071458L, prodLocSpecificKpis#15072022, product#15071465, productGroup#15071494, qty#15071296, quantityAfterProdPlantOptimization#15071295, quantityKpis#15072050, shardId#15070782, sourceOfSupplyUuid#15071461, splitIndicator#15071457L, subrange#15071464, supplier#15071463, supplierGroup#15071462, supplyingPlant#15071493]
(55) Project
Output [37]: [shardId#15070782, qty#15071296, orderProposalId#15071452L, originalReplenishmentRunId#15071455L, supplierGroup#15071462, supplier#15071463, supplyingPlant#15071493, productGroup#15071494, product#15071465, plant#15071466, subrange#15071464, orderDateTime#15071470, deliveryDateTime#15071471, availabilityDateTime#15071472, nextAvailabilityDateTime#15071473, logisticUnits#15071489, orderQuantityBaseUom#15071475, orderQuantityBaseUomUuid#15071476, splitIndicator#15071457L, netPriceAmount#15071480, netPriceCurrencyCode#15071481, netPriceQuantity#15071477, netPriceQuantityUom#15071478, netPriceQuantityUomUuid#15071479, sourceOfSupplyUuid#15071461, orderProposalItemId#15071453, orderProposalItemGroupId#15071454, optimizationGroups#15071490, measurements#15071482, previousOrderProposal#15071458L, prodLocSpecificKpis#15072022, channelStreamSpecificKpis#15072037, quantityKpis#15072050, struct(minServiceLevel, array_min(filter(constraintStructArray#15072464, lambdafunction((lambda x_29712#15072471.constraintLabels = ServiceLevel), lambda x_29712#15072471, false)).constraintValues), minServiceLevelMinStock, null, maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#15072464, lambdafunction((lambda x_29713#15072472.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_29713#15072472, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#15072464, lambdafunction((lambda x_29714#15072473.constraintLabels = RangeOfCoverage), lambda x_29714#15072473, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#15071483, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#15072022, lambdafunction((lambda x_29715#15072474.label = NonListingStartTimestamp), lambda x_29715#15072474, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#15072470, CASE WHEN (qty#15071296 <=> quantityAfterProdPlantOptimization#15071295) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#15071296 * (cast(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29716#15072542.isOrderUnit, lambda x_29716#15072542, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29716#15072543.isOrderUnit, lambda x_29716#15072543, false)), 1, None, false).numerator as double))), qty#15071296), orderQuantityUom, coalesce(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29716#15072544.isOrderUnit, lambda x_29716#15072544, false)), 1, None, false).uom, orderQuantityBaseUom#15071475), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29716#15072545.isOrderUnit, lambda x_29716#15072545, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#15071476), candidateOrderQuantityInBaseUnit, qty#15071296, orderQuantityBaseUom, orderQuantityBaseUom#15071475, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#15071476, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#15071489, lambdafunction((lambda x_29718#15072546.isPreferred AND (((qty#15071296 * cast(lambda x_29718#15072546.denominator as double)) % cast(lambda x_29718#15072546.numerator as double)) = 0.0)), lambda x_29718#15072546, false)), lambdafunction(struct(inPreferredQuantity, ((qty#15071296 * cast(lambda x_29719#15072584.denominator as double)) / cast(lambda x_29719#15072584.numerator as double)), uom, lambda x_29719#15072584.uom, uomUuid, lambda x_29719#15072584.uomUuid), lambda x_29719#15072584, false))).inPreferredQuantity, coalesce((qty#15071296 * (cast(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29717#15072547.isOrderUnit, lambda x_29717#15072547, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29717#15072548.isOrderUnit, lambda x_29717#15072548, false)), 1, None, false).numerator as double))), qty#15071296)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#15071489, lambdafunction((lambda x_29718#15072549.isPreferred AND (((qty#15071296 * cast(lambda x_29718#15072549.denominator as double)) % cast(lambda x_29718#15072549.numerator as double)) = 0.0)), lambda x_29718#15072549, false)), lambdafunction(struct(inPreferredQuantity, ((qty#15071296 * cast(lambda x_29719#15072585.denominator as double)) / cast(lambda x_29719#15072585.numerator as double)), uom, lambda x_29719#15072585.uom, uomUuid, lambda x_29719#15072585.uomUuid), lambda x_29719#15072585, false))).uom, coalesce(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29717#15072550.isOrderUnit, lambda x_29717#15072550, false)), 1, None, false).uom, orderQuantityBaseUom#15071475)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#15071489, lambdafunction((lambda x_29718#15072551.isPreferred AND (((qty#15071296 * cast(lambda x_29718#15072551.denominator as double)) % cast(lambda x_29718#15072551.numerator as double)) = 0.0)), lambda x_29718#15072551, false)), lambdafunction(struct(inPreferredQuantity, ((qty#15071296 * cast(lambda x_29719#15072586.denominator as double)) / cast(lambda x_29719#15072586.numerator as double)), uom, lambda x_29719#15072586.uom, uomUuid, lambda x_29719#15072586.uomUuid), lambda x_29719#15072586, false))).uomUuid, coalesce(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29717#15072552.isOrderUnit, lambda x_29717#15072552, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#15071476)), serviceLevel, coalesce(filter(element_at(quantityKpis#15072050, qty#15071296, None, false), lambdafunction((lambda x_29724#15072553.label = ServiceLevel), lambda x_29724#15072553, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#15071296 * (cast(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29716#15072556.isOrderUnit, lambda x_29716#15072556, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29716#15072557.isOrderUnit, lambda x_29716#15072557, false)), 1, None, false).numerator as double))), qty#15071296), orderQuantityUom, coalesce(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29716#15072558.isOrderUnit, lambda x_29716#15072558, false)), 1, None, false).uom, orderQuantityBaseUom#15071475), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29716#15072559.isOrderUnit, lambda x_29716#15072559, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#15071476), candidateOrderQuantityInBaseUnit, qty#15071296, orderQuantityBaseUom, orderQuantityBaseUom#15071475, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#15071476, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#15071489, lambdafunction((lambda x_29718#15072560.isPreferred AND (((qty#15071296 * cast(lambda x_29718#15072560.denominator as double)) % cast(lambda x_29718#15072560.numerator as double)) = 0.0)), lambda x_29718#15072560, false)), lambdafunction(struct(inPreferredQuantity, ((qty#15071296 * cast(lambda x_29719#15072587.denominator as double)) / cast(lambda x_29719#15072587.numerator as double)), uom, lambda x_29719#15072587.uom, uomUuid, lambda x_29719#15072587.uomUuid), lambda x_29719#15072587, false))).inPreferredQuantity, coalesce((qty#15071296 * (cast(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29717#15072561.isOrderUnit, lambda x_29717#15072561, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29717#15072562.isOrderUnit, lambda x_29717#15072562, false)), 1, None, false).numerator as double))), qty#15071296)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#15071489, lambdafunction((lambda x_29718#15072563.isPreferred AND (((qty#15071296 * cast(lambda x_29718#15072563.denominator as double)) % cast(lambda x_29718#15072563.numerator as double)) = 0.0)), lambda x_29718#15072563, false)), lambdafunction(struct(inPreferredQuantity, ((qty#15071296 * cast(lambda x_29719#15072588.denominator as double)) / cast(lambda x_29719#15072588.numerator as double)), uom, lambda x_29719#15072588.uom, uomUuid, lambda x_29719#15072588.uomUuid), lambda x_29719#15072588, false))).uom, coalesce(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29717#15072564.isOrderUnit, lambda x_29717#15072564, false)), 1, None, false).uom, orderQuantityBaseUom#15071475)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#15071489, lambdafunction((lambda x_29718#15072565.isPreferred AND (((qty#15071296 * cast(lambda x_29718#15072565.denominator as double)) % cast(lambda x_29718#15072565.numerator as double)) = 0.0)), lambda x_29718#15072565, false)), lambdafunction(struct(inPreferredQuantity, ((qty#15071296 * cast(lambda x_29719#15072589.denominator as double)) / cast(lambda x_29719#15072589.numerator as double)), uom, lambda x_29719#15072589.uom, uomUuid, lambda x_29719#15072589.uomUuid), lambda x_29719#15072589, false))).uomUuid, coalesce(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29717#15072566.isOrderUnit, lambda x_29717#15072566, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#15071476)), serviceLevel, coalesce(filter(element_at(quantityKpis#15072050, qty#15071296, None, false), lambdafunction((lambda x_29727#15072567.label = ServiceLevel), lambda x_29727#15072567, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#15071295 * (cast(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29720#15072570.isOrderUnit, lambda x_29720#15072570, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29720#15072571.isOrderUnit, lambda x_29720#15072571, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#15071295), orderQuantityUom, coalesce(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29720#15072572.isOrderUnit, lambda x_29720#15072572, false)), 1, None, false).uom, orderQuantityBaseUom#15071475), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29720#15072573.isOrderUnit, lambda x_29720#15072573, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#15071476), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#15071295, orderQuantityBaseUom, orderQuantityBaseUom#15071475, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#15071476, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#15071489, lambdafunction((lambda x_29722#15072574.isPreferred AND (((quantityAfterProdPlantOptimization#15071295 * cast(lambda x_29722#15072574.denominator as double)) % cast(lambda x_29722#15072574.numerator as double)) = 0.0)), lambda x_29722#15072574, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#15071295 * cast(lambda x_29723#15072590.denominator as double)) / cast(lambda x_29723#15072590.numerator as double)), uom, lambda x_29723#15072590.uom, uomUuid, lambda x_29723#15072590.uomUuid), lambda x_29723#15072590, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#15071295 * (cast(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29721#15072575.isOrderUnit, lambda x_29721#15072575, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29721#15072576.isOrderUnit, lambda x_29721#15072576, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#15071295)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#15071489, lambdafunction((lambda x_29722#15072577.isPreferred AND (((quantityAfterProdPlantOptimization#15071295 * cast(lambda x_29722#15072577.denominator as double)) % cast(lambda x_29722#15072577.numerator as double)) = 0.0)), lambda x_29722#15072577, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#15071295 * cast(lambda x_29723#15072591.denominator as double)) / cast(lambda x_29723#15072591.numerator as double)), uom, lambda x_29723#15072591.uom, uomUuid, lambda x_29723#15072591.uomUuid), lambda x_29723#15072591, false))).uom, coalesce(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29721#15072578.isOrderUnit, lambda x_29721#15072578, false)), 1, None, false).uom, orderQuantityBaseUom#15071475)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#15071489, lambdafunction((lambda x_29722#15072579.isPreferred AND (((quantityAfterProdPlantOptimization#15071295 * cast(lambda x_29722#15072579.denominator as double)) % cast(lambda x_29722#15072579.numerator as double)) = 0.0)), lambda x_29722#15072579, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#15071295 * cast(lambda x_29723#15072592.denominator as double)) / cast(lambda x_29723#15072592.numerator as double)), uom, lambda x_29723#15072592.uom, uomUuid, lambda x_29723#15072592.uomUuid), lambda x_29723#15072592, false))).uomUuid, coalesce(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29721#15072580.isOrderUnit, lambda x_29721#15072580, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#15071476)), serviceLevel, coalesce(filter(element_at(quantityKpis#15072050, quantityAfterProdPlantOptimization#15071295, None, false), lambdafunction((lambda x_29730#15072581.label = ServiceLevel), lambda x_29730#15072581, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#15072541, coalesce(filter(prodLocSpecificKpis#15072022, lambdafunction((lambda x_29733#15072594.label = InitialStockQty), lambda x_29733#15072594, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#15072593, coalesce(filter(prodLocSpecificKpis#15072022, lambdafunction((lambda x_29734#15072596.label = DemandPeriodEndTimestamp), lambda x_29734#15072596, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#15072595]
Input [36]: [shardId#15070782, quantityAfterProdPlantOptimization#15071295, qty#15071296, orderProposalId#15071452L, originalReplenishmentRunId#15071455L, supplierGroup#15071462, supplier#15071463, supplyingPlant#15071493, productGroup#15071494, product#15071465, plant#15071466, subrange#15071464, orderDateTime#15071470, deliveryDateTime#15071471, availabilityDateTime#15071472, nextAvailabilityDateTime#15071473, logisticUnits#15071489, orderQuantityBaseUom#15071475, orderQuantityBaseUomUuid#15071476, splitIndicator#15071457L, netPriceAmount#15071480, netPriceCurrencyCode#15071481, netPriceQuantity#15071477, netPriceQuantityUom#15071478, netPriceQuantityUomUuid#15071479, sourceOfSupplyUuid#15071461, minimumOrderQuantity#15071483, orderProposalItemId#15071453, orderProposalItemGroupId#15071454, optimizationGroups#15071490, measurements#15071482, previousOrderProposal#15071458L, prodLocSpecificKpis#15072022, channelStreamSpecificKpis#15072037, quantityKpis#15072050, constraintStructArray#15072464]
(56) Project
Output [21]: [shardId#15070782, qty#15071296, orderProposalId#15071452L, originalReplenishmentRunId#15071455L, supplierGroup#15071462, supplier#15071463, supplyingPlant#15071493, productGroup#15071494, product#15071465, plant#15071466, subrange#15071464, orderDateTime#15071470, deliveryDateTime#15071471, logisticUnits#15071489, orderQuantityBaseUom#15071475, orderQuantityBaseUomUuid#15071476, splitIndicator#15071457L, orderProposalItemId#15071453, orderProposalItemGroupId#15071454, previousOrderProposal#15071458L, struct(supplier, supplier#15071463, supplyingPlant, supplyingPlant#15071493, productGroup, productGroup#15071494, product, product#15071465, plant, plant#15071466, supplierSubRange, subrange#15071464, sourceOfSupplyUuid, sourceOfSupplyUuid#15071461, deliveryDateTime, deliveryDateTime#15071471, unitPrice, netPriceAmount#15071480, unitPriceCurrency, netPriceCurrencyCode#15071481, unitPriceQuantity, netPriceQuantity#15071477, unitPriceQuantityUom, netPriceQuantityUom#15071478, unitPriceQuantityUomUuid, ... 31 more fields) AS parentItem#15072666]
Input [37]: [shardId#15070782, qty#15071296, orderProposalId#15071452L, originalReplenishmentRunId#15071455L, supplierGroup#15071462, supplier#15071463, supplyingPlant#15071493, productGroup#15071494, product#15071465, plant#15071466, subrange#15071464, orderDateTime#15071470, deliveryDateTime#15071471, availabilityDateTime#15071472, nextAvailabilityDateTime#15071473, logisticUnits#15071489, orderQuantityBaseUom#15071475, orderQuantityBaseUomUuid#15071476, splitIndicator#15071457L, netPriceAmount#15071480, netPriceCurrencyCode#15071481, netPriceQuantity#15071477, netPriceQuantityUom#15071478, netPriceQuantityUomUuid#15071479, sourceOfSupplyUuid#15071461, orderProposalItemId#15071453, orderProposalItemGroupId#15071454, optimizationGroups#15071490, measurements#15071482, previousOrderProposal#15071458L, prodLocSpecificKpis#15072022, channelStreamSpecificKpis#15072037, quantityKpis#15072050, constraintBenchmark#15072470, calculationAnalysis#15072541, inventoryDateTime#15072593, demandPeriodEndDateTime#15072595]
(57) Project
Output [12]: [shardId#15070782, orderProposalId#15071452L, originalReplenishmentRunId#15071455L, supplierGroup#15071462, supplier#15071463, supplyingPlant#15071493, orderDateTime#15071470, splitIndicator#15071457L, orderProposalItemGroupId#15071454, previousOrderProposal#15071458L, parentItem#15072666, struct(itemId, orderProposalItemId#15071453, supplier, supplier#15071463, supplyingPlant, supplyingPlant#15071493, productGroup, productGroup#15071494, product, product#15071465, plant, plant#15071466, supplierSubRange, subrange#15071464, deliveryDateTime, deliveryDateTime#15071471, orderQuantity, coalesce((qty#15071296 * (cast(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29758#15072700.isOrderUnit, lambda x_29758#15072700, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29758#15072701.isOrderUnit, lambda x_29758#15072701, false)), 1, None, false).numerator as double))), qty#15071296), orderQuantityUom, coalesce(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29758#15072702.isOrderUnit, lambda x_29758#15072702, false)), 1, None, false).uom, orderQuantityBaseUom#15071475), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#15071489, lambdafunction(lambda x_29758#15072703.isOrderUnit, lambda x_29758#15072703, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#15071476), orderQuantityInBaseUnit, qty#15071296, orderQuantityBaseUom, ... 13 more fields) AS item#15072697]
Input [21]: [shardId#15070782, qty#15071296, orderProposalId#15071452L, originalReplenishmentRunId#15071455L, supplierGroup#15071462, supplier#15071463, supplyingPlant#15071493, productGroup#15071494, product#15071465, plant#15071466, subrange#15071464, orderDateTime#15071470, deliveryDateTime#15071471, logisticUnits#15071489, orderQuantityBaseUom#15071475, orderQuantityBaseUomUuid#15071476, splitIndicator#15071457L, orderProposalItemId#15071453, orderProposalItemGroupId#15071454, previousOrderProposal#15071458L, parentItem#15072666]
(58) ObjectHashAggregate
Input [12]: [shardId#15070782, orderProposalId#15071452L, originalReplenishmentRunId#15071455L, supplierGroup#15071462, supplier#15071463, supplyingPlant#15071493, orderDateTime#15071470, splitIndicator#15071457L, orderProposalItemGroupId#15071454, previousOrderProposal#15071458L, parentItem#15072666, item#15072697]
Keys [4]: [shardId#15070782, orderProposalId#15071452L, splitIndicator#15071457L, orderProposalItemGroupId#15071454]
Functions [8]: [partial_max(originalReplenishmentRunId#15071455L), partial_max(supplierGroup#15071462), partial_max(supplier#15071463), partial_max(supplyingPlant#15071493), partial_max(orderDateTime#15071470), partial_collect_list(parentItem#15072666, 0, 0), partial_collect_set(previousOrderProposal#15071458L, 0, 0), partial_collect_list(item#15072697, 0, 0)]
Aggregate Attributes [8]: [max#15073948L, max#15073949, max#15073950, max#15073951, max#15073952, buf#15073953, buf#15073954, buf#15073955]
Results [12]: [shardId#15070782, orderProposalId#15071452L, splitIndicator#15071457L, orderProposalItemGroupId#15071454, max#15073956L, max#15073957, max#15073958, max#15073959, max#15073960, buf#15073961, buf#15073962, buf#15073963]
(59) Exchange
Input [12]: [shardId#15070782, orderProposalId#15071452L, splitIndicator#15071457L, orderProposalItemGroupId#15071454, max#15073956L, max#15073957, max#15073958, max#15073959, max#15073960, buf#15073961, buf#15073962, buf#15073963]
Arguments: hashpartitioning(shardId#15070782, orderProposalId#15071452L, splitIndicator#15071457L, orderProposalItemGroupId#15071454, 30), ENSURE_REQUIREMENTS, [plan_id=7843739]
(60) ObjectHashAggregate
Input [12]: [shardId#15070782, orderProposalId#15071452L, splitIndicator#15071457L, orderProposalItemGroupId#15071454, max#15073956L, max#15073957, max#15073958, max#15073959, max#15073960, buf#15073961, buf#15073962, buf#15073963]
Keys [4]: [shardId#15070782, orderProposalId#15071452L, splitIndicator#15071457L, orderProposalItemGroupId#15071454]
Functions [8]: [max(originalReplenishmentRunId#15071455L), max(supplierGroup#15071462), max(supplier#15071463), max(supplyingPlant#15071493), max(orderDateTime#15071470), collect_list(parentItem#15072666, 0, 0), collect_set(previousOrderProposal#15071458L, 0, 0), collect_list(item#15072697, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#15071455L)#15072766L, max(supplierGroup#15071462)#15072767, max(supplier#15071463)#15072768, max(supplyingPlant#15071493)#15072769, max(orderDateTime#15071470)#15072770, collect_list(parentItem#15072666, 0, 0)#15072771, collect_set(previousOrderProposal#15071458L, 0, 0)#15072773, collect_list(item#15072697, 0, 0)#15072772]
Results [10]: [shardId#15070782, orderProposalId#15071452L, max(originalReplenishmentRunId#15071455L)#15072766L AS originalReplenishmentRunId#15072714L, max(supplierGroup#15071462)#15072767 AS supplierGroup#15072715, max(supplier#15071463)#15072768 AS supplier#15072716, max(supplyingPlant#15071493)#15072769 AS supplyingPlant#15072717, max(orderDateTime#15071470)#15072770 AS orderDateTime#15072718, collect_list(parentItem#15072666, 0, 0)#15072771 AS parentItems#15072719, collect_set(previousOrderProposal#15071458L, 0, 0)#15072773 AS previousOrderProposals#15072721, struct(itemGroupId, coalesce(orderProposalItemGroupId#15071454, cast((monotonically_increasing_id() % 9999999999) as string)), items, collect_list(item#15072697, 0, 0)#15072772) AS itemGroup#15072775]
(61) ObjectHashAggregate
Input [10]: [shardId#15070782, orderProposalId#15071452L, originalReplenishmentRunId#15072714L, supplierGroup#15072715, supplier#15072716, supplyingPlant#15072717, orderDateTime#15072718, parentItems#15072719, previousOrderProposals#15072721, itemGroup#15072775]
Keys [2]: [shardId#15070782, orderProposalId#15071452L]
Functions [8]: [partial_max(originalReplenishmentRunId#15072714L), partial_max(supplierGroup#15072715), partial_max(supplier#15072716), partial_max(supplyingPlant#15072717), partial_max(orderDateTime#15072718), partial_collect_list(itemGroup#15072775, 0, 0), partial_collect_list(parentItems#15072719, 0, 0), partial_collect_set(previousOrderProposals#15072721, 0, 0)]
Aggregate Attributes [8]: [max#15073932L, max#15073933, max#15073934, max#15073935, max#15073936, buf#15073937, buf#15073938, buf#15073939]
Results [10]: [shardId#15070782, orderProposalId#15071452L, max#15073940L, max#15073941, max#15073942, max#15073943, max#15073944, buf#15073945, buf#15073946, buf#15073947]
(62) Exchange
Input [10]: [shardId#15070782, orderProposalId#15071452L, max#15073940L, max#15073941, max#15073942, max#15073943, max#15073944, buf#15073945, buf#15073946, buf#15073947]
Arguments: hashpartitioning(shardId#15070782, orderProposalId#15071452L, 30), ENSURE_REQUIREMENTS, [plan_id=7843742]
(63) ObjectHashAggregate
Input [10]: [shardId#15070782, orderProposalId#15071452L, max#15073940L, max#15073941, max#15073942, max#15073943, max#15073944, buf#15073945, buf#15073946, buf#15073947]
Keys [2]: [shardId#15070782, orderProposalId#15071452L]
Functions [8]: [max(originalReplenishmentRunId#15072714L), max(supplierGroup#15072715), max(supplier#15072716), max(supplyingPlant#15072717), max(orderDateTime#15072718), collect_list(itemGroup#15072775, 0, 0), collect_list(parentItems#15072719, 0, 0), collect_set(previousOrderProposals#15072721, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#15072714L)#15072797L, max(supplierGroup#15072715)#15072798, max(supplier#15072716)#15072799, max(supplyingPlant#15072717)#15072800, max(orderDateTime#15072718)#15072801, collect_list(itemGroup#15072775, 0, 0)#15072802, collect_list(parentItems#15072719, 0, 0)#15072803, collect_set(previousOrderProposals#15072721, 0, 0)#15072804]
Results [10]: [shardId#15070782, orderProposalId#15071452L, max(originalReplenishmentRunId#15072714L)#15072797L AS originalReplenishmentRunId#15072776L, max(supplierGroup#15072715)#15072798 AS supplierGroup#15072777, max(supplier#15072716)#15072799 AS supplier#15072778, max(supplyingPlant#15072717)#15072800 AS supplyingPlant#15072779, max(orderDateTime#15072718)#15072801 AS orderDateTime#15072780, collect_list(itemGroup#15072775, 0, 0)#15072802 AS itemGroups#15072781, flatten(collect_list(parentItems#15072719, 0, 0)#15072803) AS parentItems#15072782, flatten(collect_set(previousOrderProposals#15072721, 0, 0)#15072804) AS previousOrderProposals#15072783]
(64) Project
Output [2]: [shardId#15070782, struct(orderProposalId, orderProposalId#15071452L, originalReplenishmentRunId, originalReplenishmentRunId#15072776L, supplierGroup, supplierGroup#15072777, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#15072777) THEN supplier#15072778 END, supplyingPlant, supplyingPlant#15072779, orderDateTime, orderDateTime#15072780, itemGroups, itemGroups#15072781, previousOrderProposals, array_distinct(previousOrderProposals#15072783), parentItems, parentItems#15072782) AS orderProposal#15072808]
Input [10]: [shardId#15070782, orderProposalId#15071452L, originalReplenishmentRunId#15072776L, supplierGroup#15072777, supplier#15072778, supplyingPlant#15072779, orderDateTime#15072780, itemGroups#15072781, parentItems#15072782, previousOrderProposals#15072783]
(65) Project
Output [11]: [shardId#15070782, orderProposal#15072808.orderProposalId AS _extract_orderProposalId#15073564L, orderProposal#15072808.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#15073565L, orderProposal#15072808.supplierGroup AS _extract_supplierGroup#15073566, orderProposal#15072808.supplier AS _extract_supplier#15073567, orderProposal#15072808.supplyingPlant AS _extract_supplyingPlant#15073568, orderProposal#15072808.orderDateTime AS _extract_orderDateTime#15073569, orderProposal#15072808.itemGroups AS _extract_itemGroups#15073570, orderProposal#15072808.previousOrderProposals AS _extract_previousOrderProposals#15073571, orderProposal#15072808.parentItems AS _extract_parentItems#15073572, orderProposal#15072808.orderProposalId AS _extract_orderProposalId#15073573L]
Input [2]: [shardId#15070782, orderProposal#15072808]
(66) InMemoryTableScan
Output [3]: [shardId#15072821, orderProposalId#15072822L, optimizationGroups#15072824]
Arguments: [shardId#15072821, orderProposalId#15072822L, optimizationGroups#15072824], [isnotnull(orderProposalId#15072822L)]
(67) InMemoryRelation
Arguments: [shardId#15072821, orderProposalId#15072822L, items#15072823, optimizationGroups#15072824, isOptimal#15072825, optimizationInsights#15072827], StorageLevel(disk, memory, 2 replicas)
(68) Filter [codegen id : 2]
Input [3]: [shardId#15072821, orderProposalId#15072822L, optimizationGroups#15072824]
Condition : isnotnull(orderProposalId#15072822L)
(69) BroadcastExchange
Input [3]: [shardId#15072821, orderProposalId#15072822L, optimizationGroups#15072824]
Arguments: HashedRelationBroadcastMode(List(input[1, bigint, false]),false), [plan_id=7843749]
(70) InMemoryTableScan
Output [2]: [items#15072459, shardId#15072457]
Arguments: [items#15072459, shardId#15072457], [(size(items#15072459.worklistShardItemId, true) > 0), isnotnull(items#15072459.worklistShardItemId), (shardId#15072457 = 0_1_10000001452)]
(71) InMemoryRelation
Arguments: [shardId#15072457, orderProposalId#15072458L, items#15072459, optimizationGroups#15072460, isOptimal#15072461, optimizationInsights#15072463], StorageLevel(disk, memory, 2 replicas)
(72) Filter [codegen id : 3]
Input [2]: [items#15072459, shardId#15072457]
Condition : (((size(items#15072459.worklistShardItemId, true) > 0) AND isnotnull(items#15072459.worklistShardItemId)) AND (shardId#15072457 = 0_1_10000001452))
(73) Project [codegen id : 3]
Output [1]: [items#15072459.worklistShardItemId AS _extract_worklistShardItemId#15073469]
Input [2]: [items#15072459, shardId#15072457]
(74) Generate [codegen id : 3]
Input [1]: [_extract_worklistShardItemId#15073469]
Arguments: explode(_extract_worklistShardItemId#15073469), false, [item#15072828L]
(75) Project [codegen id : 3]
Output [1]: [item#15072828L AS worklistShardItemId#15072829L]
Input [1]: [item#15072828L]
(76) BroadcastExchange
Input [1]: [worklistShardItemId#15072829L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=7843757]
(77) Scan parquet
Output [5]: [orderProposalId#15072877L, isFallbackOrderOnly#15072894, worklistShardItemId#15072900L, shardId#15072921, sequenceId#15072899]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://332d7051-0d16-44f5-ae76-bf2dcf30365f.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000001452]
PartitionFilters: [isnotnull(shardId#15072921), isnotnull(sequenceId#15072899), (shardId#15072921 = 0_1_10000001452), (sequenceId#15072899 = 5)]
PushedFilters: [IsNotNull(worklistShardItemId), Not(EqualNullSafe(isFallbackOrderOnly,true)), IsNotNull(orderProposalId)]
ReadSchema: struct<orderProposalId:bigint,isFallbackOrderOnly:boolean,worklistShardItemId:bigint>
(78) ColumnarToRow [codegen id : 4]
Input [5]: [orderProposalId#15072877L, isFallbackOrderOnly#15072894, worklistShardItemId#15072900L, shardId#15072921, sequenceId#15072899]
(79) Filter [codegen id : 4]
Input [5]: [orderProposalId#15072877L, isFallbackOrderOnly#15072894, worklistShardItemId#15072900L, shardId#15072921, sequenceId#15072899]
Condition : ((isnotnull(worklistShardItemId#15072900L) AND NOT (isFallbackOrderOnly#15072894 <=> true)) AND isnotnull(orderProposalId#15072877L))
(80) Project [codegen id : 4]
Output [2]: [orderProposalId#15072877L, worklistShardItemId#15072900L]
Input [5]: [orderProposalId#15072877L, isFallbackOrderOnly#15072894, worklistShardItemId#15072900L, shardId#15072921, sequenceId#15072899]
(81) Exchange
Input [2]: [orderProposalId#15072877L, worklistShardItemId#15072900L]
Arguments: hashpartitioning(worklistShardItemId#15072900L, 30), REPARTITION_BY_NUM, [plan_id=7843764]
(82) Project
Output [2]: [worklistShardItemId#15072900L, orderProposalId#15072877L]
Input [2]: [orderProposalId#15072877L, worklistShardItemId#15072900L]
(83) BroadcastHashJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#15072829L]
Right keys [1]: [worklistShardItemId#15072900L]
Join type: Inner
Join condition: None
(84) Project [codegen id : 5]
Output [1]: [orderProposalId#15072877L]
Input [3]: [worklistShardItemId#15072829L, worklistShardItemId#15072900L, orderProposalId#15072877L]
(85) HashAggregate [codegen id : 5]
Input [1]: [orderProposalId#15072877L]
Keys [1]: [orderProposalId#15072877L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#15072877L]
(86) Exchange
Input [1]: [orderProposalId#15072877L]
Arguments: hashpartitioning(orderProposalId#15072877L, 30), ENSURE_REQUIREMENTS, [plan_id=7843771]
(87) HashAggregate
Input [1]: [orderProposalId#15072877L]
Keys [1]: [orderProposalId#15072877L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#15072877L]
(88) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [orderProposalId#15072822L]
Right keys [1]: [orderProposalId#15072877L]
Join type: Inner
Join condition: None
(89) Project
Output [3]: [orderProposalId#15072822L, shardId#15072821, coalesce(transform(optimizationGroups#15072824, lambdafunction(struct(optGroupId, lambda x_29762#15072819.optGroupId, minOrderProfile, lambda x_29762#15072819.minOrderProfile, assignmentDetails, lambda x_29762#15072819.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_29762#15072819.minOrderGoal.dimensionType, unit, lambda x_29762#15072819.minOrderGoal.unit, unitUuid, lambda x_29762#15072819.minOrderGoal.unitUuid, goalValue, lambda x_29762#15072819.minOrderGoal.minOrderValue, calcValue, lambda x_29762#15072819.minOrderGoal.calculatedOrderValue)), lambda x_29762#15072819, false)), []) AS optimizationGroups#15072818]
Input [4]: [shardId#15072821, orderProposalId#15072822L, optimizationGroups#15072824, orderProposalId#15072877L]
(90) BroadcastExchange
Input [3]: [orderProposalId#15072822L, shardId#15072821, optimizationGroups#15072818]
Arguments: HashedRelationBroadcastMode(List(coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[0, bigint, true], 0), isnull(input[0, bigint, true])),false), [plan_id=7843777]
(91) BroadcastHashJoin
Left keys [4]: [coalesce(shardId#15070782, ), isnull(shardId#15070782), coalesce(_extract_orderProposalId#15073573L, 0), isnull(_extract_orderProposalId#15073573L)]
Right keys [4]: [coalesce(shardId#15072821, ), isnull(shardId#15072821), coalesce(orderProposalId#15072822L, 0), isnull(orderProposalId#15072822L)]
Join type: LeftOuter
Join condition: None
(92) Project
Output [2]: [shardId#15070782, named_struct(orderProposalId, _extract_orderProposalId#15073573L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#15073565L, supplierGroup, _extract_supplierGroup#15073566, optimizationGroups, coalesce(optimizationGroups#15072818, []), supplier, _extract_supplier#15073567, supplyingPlant, _extract_supplyingPlant#15073568, orderDateTime, _extract_orderDateTime#15073569, itemGroups, _extract_itemGroups#15073570, previousOrderProposals, _extract_previousOrderProposals#15073571, parentItems, _extract_parentItems#15073572) AS orderProposal#15072925]
Input [14]: [shardId#15070782, _extract_orderProposalId#15073564L, _extract_originalReplenishmentRunId#15073565L, _extract_supplierGroup#15073566, _extract_supplier#15073567, _extract_supplyingPlant#15073568, _extract_orderDateTime#15073569, _extract_itemGroups#15073570, _extract_previousOrderProposals#15073571, _extract_parentItems#15073572, _extract_orderProposalId#15073573L, orderProposalId#15072822L, shardId#15072821, optimizationGroups#15072818]
(93) Project
Output [3]: [shardId#15070782, orderProposal#15072925, CASE WHEN (size(orderProposal#15072925.parentItems, true) > 2000) THEN xxhash64(orderProposal#15072925.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#15072925.orderProposalId as decimal(20,0)), 0), 42) END AS resultSeparationId#15074661L]
Input [2]: [orderProposal#15072925, shardId#15070782]
(94) ObjectHashAggregate
Input [3]: [shardId#15070782, orderProposal#15072925, resultSeparationId#15074661L]
Keys [2]: [shardId#15070782, resultSeparationId#15074661L]
Functions [1]: [partial_collect_list(orderProposal#15072925, 0, 0)]
Aggregate Attributes [1]: [buf#15074700]
Results [3]: [shardId#15070782, resultSeparationId#15074661L, buf#15074701]
(95) Exchange
Input [3]: [shardId#15070782, resultSeparationId#15074661L, buf#15074701]
Arguments: hashpartitioning(shardId#15070782, resultSeparationId#15074661L, 30), ENSURE_REQUIREMENTS, [plan_id=7843912]
(96) ObjectHashAggregate
Input [3]: [shardId#15070782, resultSeparationId#15074661L, buf#15074701]
Keys [2]: [shardId#15070782, resultSeparationId#15074661L]
Functions [1]: [collect_list(orderProposal#15072925, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#15072925, 0, 0)#15074669]
Results [3]: [shardId#15070782, resultSeparationId#15074661L, collect_list(orderProposal#15072925, 0, 0)#15074669 AS orderProposals#15074665]
(97) HashAggregate [codegen id : 1]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#15074778L]
Results [1]: [count#15074779L]
(98) Exchange
Input [1]: [count#15074779L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=7843936]
(99) HashAggregate [codegen id : 2]
Input [1]: [count#15074779L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#15074732L]
Results [1]: [count(1)#15074732L AS count#15074728L]