== 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#5594062, resultSeparationId#5597941L, orderProposals#5597945], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [2]: [orderProposal#5596205, shardId#5594062]
Arguments: [orderProposal#5596205, shardId#5594062]
(4) InMemoryRelation
Arguments: [shardId#5594062, orderProposal#5596205], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [39]: [availabilityDateTime#5594752, channelStreamSpecificKpis#5595317, constraintLabels#5594764, constraintOperators#5594765, constraintValues#5594767, deliveryDateTime#5594751, isFallbackOrderOnly#5594754, logisticUnits#5594769, measurements#5594762, minimumOrderQuantity#5594763, netPriceAmount#5594760, netPriceCurrencyCode#5594761, netPriceQuantity#5594757, netPriceQuantityUom#5594758, netPriceQuantityUomUuid#5594759, nextAvailabilityDateTime#5594753, optimizationGroups#5594770, orderDateTime#5594750, orderProposalId#5594732L, orderProposalItemGroupId#5594734, orderProposalItemId#5594733, orderQuantityBaseUom#5594755, orderQuantityBaseUomUuid#5594756, originalReplenishmentRunId#5594735L, plant#5594746, previousOrderProposal#5594738L, prodLocSpecificKpis#5595302, product#5594745, productGroup#5594774, qty#5594576, quantityAfterProdPlantOptimization#5594575, quantityKpis#5595330, shardId#5594062, sourceOfSupplyUuid#5594741, splitIndicator#5594737L, subrange#5594744, supplier#5594743, supplierGroup#5594742, supplyingPlant#5594773]
Arguments: [availabilityDateTime#5594752, channelStreamSpecificKpis#5595317, constraintLabels#5594764, constraintOperators#5594765, constraintValues#5594767, deliveryDateTime#5594751, isFallbackOrderOnly#5594754, logisticUnits#5594769, measurements#5594762, minimumOrderQuantity#5594763, netPriceAmount#5594760, netPriceCurrencyCode#5594761, netPriceQuantity#5594757, netPriceQuantityUom#5594758, netPriceQuantityUomUuid#5594759, nextAvailabilityDateTime#5594753, optimizationGroups#5594770, orderDateTime#5594750, orderProposalId#5594732L, orderProposalItemGroupId#5594734, orderProposalItemId#5594733, orderQuantityBaseUom#5594755, orderQuantityBaseUomUuid#5594756, originalReplenishmentRunId#5594735L, plant#5594746, ... 14 more fields], [NOT (isFallbackOrderOnly#5594754 <=> true)]
(6) InMemoryRelation
Arguments: [shardId#5594062, worklistShardItemId#5594574L, quantityAfterProdPlantOptimization#5594575, qty#5594576, orderProposalId#5594732L, originalReplenishmentRunId#5594735L, supplierGroup#5594742, supplier#5594743, supplyingPlant#5594773, productGroup#5594774, product#5594745, plant#5594746, subrange#5594744, orderDateTime#5594750, deliveryDateTime#5594751, availabilityDateTime#5594752, nextAvailabilityDateTime#5594753, constraintValues#5594767, constraintOperators#5594765, constraintLabels#5594764, logisticUnits#5594769, orderQuantityBaseUom#5594755, orderQuantityBaseUomUuid#5594756, splitIndicator#5594737L, netPriceAmount#5594760, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [2]: [shardId#5594062, items#5594064]
Arguments: [shardId#5594062, items#5594064], [(size(items#5594064, true) > 0), isnotnull(items#5594064)]
(8) InMemoryRelation
Arguments: [shardId#5594062, orderProposalId#5594063L, items#5594064, optimizationGroups#5594065, isOptimal#5594066, optimizationInsights#5594068], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [6]: [shardId#5594062, orderProposalId#5594063L, items#5594064, optimizationGroups#5594065, isOptimal#5594066, optimizationInsights#5594068]
Arguments: [shardId#5594062, orderProposalId#5594063L, items#5594064, optimizationGroups#5594065, isOptimal#5594066, optimizationInsights#5594068], [isnotnull(shardId#5594062), (shardId#5594062 = 0_1_10000001445)]
(10) InMemoryRelation
Arguments: [shardId#5594062, orderProposalId#5594063L, items#5594064, optimizationGroups#5594065, isOptimal#5594066, lastModified#5594067, optimizationInsights#5594068], StorageLevel(disk, memory, 2 replicas)
(11) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#5594062, orderProposalId#5594063L, items#5594064, optimizationGroups#5594065, isOptimal#5594066, lastModified#5594067, optimizationInsights#5594068]
Arguments: [shardId#5594062, orderProposalId#5594063L, items#5594064, optimizationGroups#5594065, isOptimal#5594066, lastModified#5594067, optimizationInsights#5594068], MapPartitionsRDD[394811] at start at FileStorageAdapterImpl.java:598, ExistingRDD, UnknownPartitioning(0)
(12) Filter [codegen id : 1]
Input [7]: [shardId#5594062, orderProposalId#5594063L, items#5594064, optimizationGroups#5594065, isOptimal#5594066, lastModified#5594067, optimizationInsights#5594068]
Condition : (isnotnull(shardId#5594062) AND (shardId#5594062 = 0_1_10000001445))
(13) Filter [codegen id : 1]
Input [6]: [shardId#5594062, orderProposalId#5594063L, items#5594064, optimizationGroups#5594065, isOptimal#5594066, optimizationInsights#5594068]
Condition : (isnotnull(shardId#5594062) AND (shardId#5594062 = 0_1_10000001445))
(14) Filter [codegen id : 3]
Input [2]: [shardId#5594062, items#5594064]
Condition : ((size(items#5594064, true) > 0) AND isnotnull(items#5594064))
(15) Generate [codegen id : 3]
Input [2]: [shardId#5594062, items#5594064]
Arguments: explode(items#5594064), [shardId#5594062], false, [item#5594573]
(16) Project [codegen id : 3]
Output [4]: [shardId#5594062, item#5594573.worklistShardItemId AS worklistShardItemId#5594574L, item#5594573.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#5594575, item#5594573.qty AS qty#5594576]
Input [2]: [shardId#5594062, item#5594573]
(17) Scan parquet
Output [38]: [orderProposalId#5594775L, orderProposalItemId#5594776, supplierGroup#5594777, supplier#5594778, plant#5594779, deliveryDateTime#5594780, subrange#5594781, supplyingPlant#5594782, productGroup#5594783, product#5594784, orderDateTime#5594785, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, sourceOfSupplyUuid#5594789, isFallbackOrderOnly#5594792, splitIndicator#5594794L, previousOrderProposal#5594795L, worklistShardItemId#5594798L, orderProposalItemGroupId#5594799, externalProductId#5594800, externalPlantId#5594801, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, minimumOrderQuantity#5594805, constraintLabels#5594806, constraintOperators#5594807, constraintValues#5594808, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, measurements#5594816, originalReplenishmentRunId#5594817L, optimizationGroups#5594818, shardId#5594819, sequenceId#5594797]
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/10000001445]
PartitionFilters: [isnotnull(shardId#5594819), isnotnull(sequenceId#5594797), (shardId#5594819 = 0_1_10000001445), (sequenceId#5594797 = 8)]
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#5594775L, orderProposalItemId#5594776, supplierGroup#5594777, supplier#5594778, plant#5594779, deliveryDateTime#5594780, subrange#5594781, supplyingPlant#5594782, productGroup#5594783, product#5594784, orderDateTime#5594785, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, sourceOfSupplyUuid#5594789, isFallbackOrderOnly#5594792, splitIndicator#5594794L, previousOrderProposal#5594795L, worklistShardItemId#5594798L, orderProposalItemGroupId#5594799, externalProductId#5594800, externalPlantId#5594801, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, minimumOrderQuantity#5594805, constraintLabels#5594806, constraintOperators#5594807, constraintValues#5594808, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, measurements#5594816, originalReplenishmentRunId#5594817L, optimizationGroups#5594818, shardId#5594819, sequenceId#5594797]
(19) Filter [codegen id : 1]
Input [38]: [orderProposalId#5594775L, orderProposalItemId#5594776, supplierGroup#5594777, supplier#5594778, plant#5594779, deliveryDateTime#5594780, subrange#5594781, supplyingPlant#5594782, productGroup#5594783, product#5594784, orderDateTime#5594785, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, sourceOfSupplyUuid#5594789, isFallbackOrderOnly#5594792, splitIndicator#5594794L, previousOrderProposal#5594795L, worklistShardItemId#5594798L, orderProposalItemGroupId#5594799, externalProductId#5594800, externalPlantId#5594801, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, minimumOrderQuantity#5594805, constraintLabels#5594806, constraintOperators#5594807, constraintValues#5594808, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, measurements#5594816, originalReplenishmentRunId#5594817L, optimizationGroups#5594818, shardId#5594819, sequenceId#5594797]
Condition : isnotnull(worklistShardItemId#5594798L)
(20) Project [codegen id : 1]
Output [36]: [orderProposalId#5594775L, orderProposalItemId#5594776, supplierGroup#5594777, supplier#5594778, plant#5594779, deliveryDateTime#5594780, subrange#5594781, supplyingPlant#5594782, productGroup#5594783, product#5594784, orderDateTime#5594785, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, sourceOfSupplyUuid#5594789, isFallbackOrderOnly#5594792, splitIndicator#5594794L, previousOrderProposal#5594795L, worklistShardItemId#5594798L, orderProposalItemGroupId#5594799, externalProductId#5594800, externalPlantId#5594801, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, minimumOrderQuantity#5594805, constraintLabels#5594806, constraintOperators#5594807, constraintValues#5594808, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, measurements#5594816, originalReplenishmentRunId#5594817L, optimizationGroups#5594818]
Input [38]: [orderProposalId#5594775L, orderProposalItemId#5594776, supplierGroup#5594777, supplier#5594778, plant#5594779, deliveryDateTime#5594780, subrange#5594781, supplyingPlant#5594782, productGroup#5594783, product#5594784, orderDateTime#5594785, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, sourceOfSupplyUuid#5594789, isFallbackOrderOnly#5594792, splitIndicator#5594794L, previousOrderProposal#5594795L, worklistShardItemId#5594798L, orderProposalItemGroupId#5594799, externalProductId#5594800, externalPlantId#5594801, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, minimumOrderQuantity#5594805, constraintLabels#5594806, constraintOperators#5594807, constraintValues#5594808, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, measurements#5594816, originalReplenishmentRunId#5594817L, optimizationGroups#5594818, shardId#5594819, sequenceId#5594797]
(21) Exchange
Input [36]: [orderProposalId#5594775L, orderProposalItemId#5594776, supplierGroup#5594777, supplier#5594778, plant#5594779, deliveryDateTime#5594780, subrange#5594781, supplyingPlant#5594782, productGroup#5594783, product#5594784, orderDateTime#5594785, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, sourceOfSupplyUuid#5594789, isFallbackOrderOnly#5594792, splitIndicator#5594794L, previousOrderProposal#5594795L, worklistShardItemId#5594798L, orderProposalItemGroupId#5594799, externalProductId#5594800, externalPlantId#5594801, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, minimumOrderQuantity#5594805, constraintLabels#5594806, constraintOperators#5594807, constraintValues#5594808, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, measurements#5594816, originalReplenishmentRunId#5594817L, optimizationGroups#5594818]
Arguments: hashpartitioning(worklistShardItemId#5594798L, 30), REPARTITION_BY_NUM, [plan_id=2903994]
(22) Project [codegen id : 2]
Output [36]: [worklistShardItemId#5594798L, orderProposalId#5594775L, orderProposalItemId#5594776, orderProposalItemGroupId#5594799, originalReplenishmentRunId#5594817L, splitIndicator#5594794L, previousOrderProposal#5594795L, sourceOfSupplyUuid#5594789, supplierGroup#5594777, supplier#5594778, subrange#5594781, product#5594784, plant#5594779, orderDateTime#5594785, deliveryDateTime#5594780, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, isFallbackOrderOnly#5594792, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, netPriceAmount#5594811, netPriceCurrencyCode#5594812, measurements#5594816, minimumOrderQuantity#5594805, constraintLabels#5594806, constraintOperators#5594807, constraintValues#5594808, logisticUnits#5594802, optimizationGroups#5594818, externalProductId#5594800, externalPlantId#5594801, supplyingPlant#5594782, productGroup#5594783]
Input [36]: [orderProposalId#5594775L, orderProposalItemId#5594776, supplierGroup#5594777, supplier#5594778, plant#5594779, deliveryDateTime#5594780, subrange#5594781, supplyingPlant#5594782, productGroup#5594783, product#5594784, orderDateTime#5594785, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, sourceOfSupplyUuid#5594789, isFallbackOrderOnly#5594792, splitIndicator#5594794L, previousOrderProposal#5594795L, worklistShardItemId#5594798L, orderProposalItemGroupId#5594799, externalProductId#5594800, externalPlantId#5594801, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, minimumOrderQuantity#5594805, constraintLabels#5594806, constraintOperators#5594807, constraintValues#5594808, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, measurements#5594816, originalReplenishmentRunId#5594817L, optimizationGroups#5594818]
(23) BroadcastExchange
Input [36]: [worklistShardItemId#5594798L, orderProposalId#5594775L, orderProposalItemId#5594776, orderProposalItemGroupId#5594799, originalReplenishmentRunId#5594817L, splitIndicator#5594794L, previousOrderProposal#5594795L, sourceOfSupplyUuid#5594789, supplierGroup#5594777, supplier#5594778, subrange#5594781, product#5594784, plant#5594779, orderDateTime#5594785, deliveryDateTime#5594780, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, isFallbackOrderOnly#5594792, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, netPriceAmount#5594811, netPriceCurrencyCode#5594812, measurements#5594816, minimumOrderQuantity#5594805, constraintLabels#5594806, constraintOperators#5594807, constraintValues#5594808, logisticUnits#5594802, optimizationGroups#5594818, externalProductId#5594800, externalPlantId#5594801, supplyingPlant#5594782, productGroup#5594783]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=2903998]
(24) BroadcastHashJoin [codegen id : 3]
Left keys [1]: [worklistShardItemId#5594574L]
Right keys [1]: [worklistShardItemId#5594798L]
Join type: LeftOuter
Join condition: (shardId#5594062 = 0_1_10000001445)
(25) Project [codegen id : 3]
Output [39]: [shardId#5594062, worklistShardItemId#5594574L, quantityAfterProdPlantOptimization#5594575, qty#5594576, orderProposalId#5594775L, originalReplenishmentRunId#5594817L, supplierGroup#5594777, supplier#5594778, supplyingPlant#5594782, productGroup#5594783, product#5594784, plant#5594779, subrange#5594781, orderDateTime#5594785, deliveryDateTime#5594780, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, constraintValues#5594808, constraintOperators#5594807, constraintLabels#5594806, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, splitIndicator#5594794L, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, sourceOfSupplyUuid#5594789, minimumOrderQuantity#5594805, orderProposalItemId#5594776, orderProposalItemGroupId#5594799, optimizationGroups#5594818, measurements#5594816, externalProductId#5594800, externalPlantId#5594801, previousOrderProposal#5594795L, isFallbackOrderOnly#5594792]
Input [40]: [shardId#5594062, worklistShardItemId#5594574L, quantityAfterProdPlantOptimization#5594575, qty#5594576, worklistShardItemId#5594798L, orderProposalId#5594775L, orderProposalItemId#5594776, orderProposalItemGroupId#5594799, originalReplenishmentRunId#5594817L, splitIndicator#5594794L, previousOrderProposal#5594795L, sourceOfSupplyUuid#5594789, supplierGroup#5594777, supplier#5594778, subrange#5594781, product#5594784, plant#5594779, orderDateTime#5594785, deliveryDateTime#5594780, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, isFallbackOrderOnly#5594792, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, netPriceAmount#5594811, netPriceCurrencyCode#5594812, measurements#5594816, minimumOrderQuantity#5594805, constraintLabels#5594806, constraintOperators#5594807, constraintValues#5594808, logisticUnits#5594802, optimizationGroups#5594818, externalProductId#5594800, externalPlantId#5594801, supplyingPlant#5594782, productGroup#5594783]
(26) Exchange
Input [39]: [shardId#5594062, worklistShardItemId#5594574L, quantityAfterProdPlantOptimization#5594575, qty#5594576, orderProposalId#5594775L, originalReplenishmentRunId#5594817L, supplierGroup#5594777, supplier#5594778, supplyingPlant#5594782, productGroup#5594783, product#5594784, plant#5594779, subrange#5594781, orderDateTime#5594785, deliveryDateTime#5594780, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, constraintValues#5594808, constraintOperators#5594807, constraintLabels#5594806, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, splitIndicator#5594794L, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, sourceOfSupplyUuid#5594789, minimumOrderQuantity#5594805, orderProposalItemId#5594776, orderProposalItemGroupId#5594799, optimizationGroups#5594818, measurements#5594816, externalProductId#5594800, externalPlantId#5594801, previousOrderProposal#5594795L, isFallbackOrderOnly#5594792]
Arguments: hashpartitioning(shardId#5594062, worklistShardItemId#5594574L, 30), ENSURE_REQUIREMENTS, [plan_id=2904003]
(27) Sort [codegen id : 4]
Input [39]: [shardId#5594062, worklistShardItemId#5594574L, quantityAfterProdPlantOptimization#5594575, qty#5594576, orderProposalId#5594775L, originalReplenishmentRunId#5594817L, supplierGroup#5594777, supplier#5594778, supplyingPlant#5594782, productGroup#5594783, product#5594784, plant#5594779, subrange#5594781, orderDateTime#5594785, deliveryDateTime#5594780, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, constraintValues#5594808, constraintOperators#5594807, constraintLabels#5594806, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, splitIndicator#5594794L, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, sourceOfSupplyUuid#5594789, minimumOrderQuantity#5594805, orderProposalItemId#5594776, orderProposalItemGroupId#5594799, optimizationGroups#5594818, measurements#5594816, externalProductId#5594800, externalPlantId#5594801, previousOrderProposal#5594795L, isFallbackOrderOnly#5594792]
Arguments: [shardId#5594062 ASC NULLS FIRST, worklistShardItemId#5594574L ASC NULLS FIRST], false, 0
(28) Scan ExistingRDD [codegen id : 5]
Output [6]: [shardId#5595295, worklistShardItemId#5595296L, qty#5595297, demandChannel#5595298, demandStream#5595299, kpis#5595300]
Arguments: [shardId#5595295, worklistShardItemId#5595296L, qty#5595297, demandChannel#5595298, demandStream#5595299, kpis#5595300], MapPartitionsRDD[394871] at start at FileStorageAdapterImpl.java:598, ExistingRDD, UnknownPartitioning(0)
(29) Filter [codegen id : 5]
Input [6]: [shardId#5595295, worklistShardItemId#5595296L, qty#5595297, demandChannel#5595298, demandStream#5595299, kpis#5595300]
Condition : (((isnull(qty#5595297) AND isnull(demandChannel#5595298)) AND isnull(demandStream#5595299)) AND (isnotnull(shardId#5595295) AND isnotnull(worklistShardItemId#5595296L)))
(30) Project [codegen id : 5]
Output [3]: [shardId#5595295, worklistShardItemId#5595296L, coalesce(kpis#5595300, []) AS prodLocSpecificKpis#5595301]
Input [6]: [shardId#5595295, worklistShardItemId#5595296L, qty#5595297, demandChannel#5595298, demandStream#5595299, kpis#5595300]
(31) Exchange
Input [3]: [shardId#5595295, worklistShardItemId#5595296L, prodLocSpecificKpis#5595301]
Arguments: hashpartitioning(shardId#5595295, worklistShardItemId#5595296L, 30), ENSURE_REQUIREMENTS, [plan_id=2904009]
(32) Sort [codegen id : 6]
Input [3]: [shardId#5595295, worklistShardItemId#5595296L, prodLocSpecificKpis#5595301]
Arguments: [shardId#5595295 ASC NULLS FIRST, worklistShardItemId#5595296L ASC NULLS FIRST], false, 0
(33) SortMergeJoin [codegen id : 7]
Left keys [2]: [shardId#5594062, worklistShardItemId#5594574L]
Right keys [2]: [shardId#5595295, worklistShardItemId#5595296L]
Join type: LeftOuter
Join condition: None
(34) Project [codegen id : 7]
Output [40]: [shardId#5594062, worklistShardItemId#5594574L, quantityAfterProdPlantOptimization#5594575, qty#5594576, orderProposalId#5594775L, originalReplenishmentRunId#5594817L, supplierGroup#5594777, supplier#5594778, supplyingPlant#5594782, productGroup#5594783, product#5594784, plant#5594779, subrange#5594781, orderDateTime#5594785, deliveryDateTime#5594780, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, constraintValues#5594808, constraintOperators#5594807, constraintLabels#5594806, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, splitIndicator#5594794L, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, sourceOfSupplyUuid#5594789, minimumOrderQuantity#5594805, orderProposalItemId#5594776, orderProposalItemGroupId#5594799, optimizationGroups#5594818, measurements#5594816, externalProductId#5594800, externalPlantId#5594801, previousOrderProposal#5594795L, isFallbackOrderOnly#5594792, coalesce(prodLocSpecificKpis#5595301, []) AS prodLocSpecificKpis#5595302]
Input [42]: [shardId#5594062, worklistShardItemId#5594574L, quantityAfterProdPlantOptimization#5594575, qty#5594576, orderProposalId#5594775L, originalReplenishmentRunId#5594817L, supplierGroup#5594777, supplier#5594778, supplyingPlant#5594782, productGroup#5594783, product#5594784, plant#5594779, subrange#5594781, orderDateTime#5594785, deliveryDateTime#5594780, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, constraintValues#5594808, constraintOperators#5594807, constraintLabels#5594806, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, splitIndicator#5594794L, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, sourceOfSupplyUuid#5594789, minimumOrderQuantity#5594805, orderProposalItemId#5594776, orderProposalItemGroupId#5594799, optimizationGroups#5594818, measurements#5594816, externalProductId#5594800, externalPlantId#5594801, previousOrderProposal#5594795L, isFallbackOrderOnly#5594792, shardId#5595295, worklistShardItemId#5595296L, prodLocSpecificKpis#5595301]
(35) Scan ExistingRDD [codegen id : 8]
Output [6]: [shardId#5595311, worklistShardItemId#5595312L, qty#5595313, demandChannel#5595314, demandStream#5595315, kpis#5595316]
Arguments: [shardId#5595311, worklistShardItemId#5595312L, qty#5595313, demandChannel#5595314, demandStream#5595315, kpis#5595316], MapPartitionsRDD[394871] at start at FileStorageAdapterImpl.java:598, ExistingRDD, UnknownPartitioning(0)
(36) Filter [codegen id : 8]
Input [6]: [shardId#5595311, worklistShardItemId#5595312L, qty#5595313, demandChannel#5595314, demandStream#5595315, kpis#5595316]
Condition : ((((isnull(qty#5595313) AND isnotnull(demandChannel#5595314)) AND isnotnull(demandStream#5595315)) AND (size(kpis#5595316, true) > 0)) AND (isnotnull(shardId#5595311) AND isnotnull(worklistShardItemId#5595312L)))
(37) Project [codegen id : 8]
Output [5]: [shardId#5595311, worklistShardItemId#5595312L, demandChannel#5595314, demandStream#5595315, kpis#5595316]
Input [6]: [shardId#5595311, worklistShardItemId#5595312L, qty#5595313, demandChannel#5595314, demandStream#5595315, kpis#5595316]
(38) ObjectHashAggregate
Input [5]: [shardId#5595311, worklistShardItemId#5595312L, demandChannel#5595314, demandStream#5595315, kpis#5595316]
Keys [2]: [shardId#5595311, worklistShardItemId#5595312L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#5595314, demandStream, demandStream#5595315, kpis, kpis#5595316), 0, 0)]
Aggregate Attributes [1]: [buf#5595491]
Results [3]: [shardId#5595311, worklistShardItemId#5595312L, buf#5595492]
(39) Exchange
Input [3]: [shardId#5595311, worklistShardItemId#5595312L, buf#5595492]
Arguments: hashpartitioning(shardId#5595311, worklistShardItemId#5595312L, 30), ENSURE_REQUIREMENTS, [plan_id=2904020]
(40) ObjectHashAggregate
Input [3]: [shardId#5595311, worklistShardItemId#5595312L, buf#5595492]
Keys [2]: [shardId#5595311, worklistShardItemId#5595312L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#5595314, demandStream, demandStream#5595315, kpis, kpis#5595316), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#5595314, demandStream, demandStream#5595315, kpis, kpis#5595316), 0, 0)#5595310]
Results [3]: [shardId#5595311, worklistShardItemId#5595312L, collect_list(struct(demandChannel, demandChannel#5595314, demandStream, demandStream#5595315, kpis, kpis#5595316), 0, 0)#5595310 AS channelStreamSpecificKpis#5595303]
(41) Sort [codegen id : 9]
Input [3]: [shardId#5595311, worklistShardItemId#5595312L, channelStreamSpecificKpis#5595303]
Arguments: [shardId#5595311 ASC NULLS FIRST, worklistShardItemId#5595312L ASC NULLS FIRST], false, 0
(42) SortMergeJoin [codegen id : 10]
Left keys [2]: [shardId#5594062, worklistShardItemId#5594574L]
Right keys [2]: [shardId#5595311, worklistShardItemId#5595312L]
Join type: LeftOuter
Join condition: None
(43) Project [codegen id : 10]
Output [41]: [shardId#5594062, worklistShardItemId#5594574L, quantityAfterProdPlantOptimization#5594575, qty#5594576, orderProposalId#5594775L, originalReplenishmentRunId#5594817L, supplierGroup#5594777, supplier#5594778, supplyingPlant#5594782, productGroup#5594783, product#5594784, plant#5594779, subrange#5594781, orderDateTime#5594785, deliveryDateTime#5594780, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, constraintValues#5594808, constraintOperators#5594807, constraintLabels#5594806, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, splitIndicator#5594794L, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, sourceOfSupplyUuid#5594789, minimumOrderQuantity#5594805, orderProposalItemId#5594776, orderProposalItemGroupId#5594799, optimizationGroups#5594818, measurements#5594816, externalProductId#5594800, externalPlantId#5594801, previousOrderProposal#5594795L, isFallbackOrderOnly#5594792, prodLocSpecificKpis#5595302, coalesce(channelStreamSpecificKpis#5595303, []) AS channelStreamSpecificKpis#5595317]
Input [43]: [shardId#5594062, worklistShardItemId#5594574L, quantityAfterProdPlantOptimization#5594575, qty#5594576, orderProposalId#5594775L, originalReplenishmentRunId#5594817L, supplierGroup#5594777, supplier#5594778, supplyingPlant#5594782, productGroup#5594783, product#5594784, plant#5594779, subrange#5594781, orderDateTime#5594785, deliveryDateTime#5594780, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, constraintValues#5594808, constraintOperators#5594807, constraintLabels#5594806, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, splitIndicator#5594794L, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, sourceOfSupplyUuid#5594789, minimumOrderQuantity#5594805, orderProposalItemId#5594776, orderProposalItemGroupId#5594799, optimizationGroups#5594818, measurements#5594816, externalProductId#5594800, externalPlantId#5594801, previousOrderProposal#5594795L, isFallbackOrderOnly#5594792, prodLocSpecificKpis#5595302, shardId#5595311, worklistShardItemId#5595312L, channelStreamSpecificKpis#5595303]
(44) Scan ExistingRDD [codegen id : 11]
Output [6]: [shardId#5595324, worklistShardItemId#5595325L, qty#5595326, demandChannel#5595327, demandStream#5595328, kpis#5595329]
Arguments: [shardId#5595324, worklistShardItemId#5595325L, qty#5595326, demandChannel#5595327, demandStream#5595328, kpis#5595329], MapPartitionsRDD[394871] at start at FileStorageAdapterImpl.java:598, ExistingRDD, UnknownPartitioning(0)
(45) Filter [codegen id : 11]
Input [6]: [shardId#5595324, worklistShardItemId#5595325L, qty#5595326, demandChannel#5595327, demandStream#5595328, kpis#5595329]
Condition : ((isnotnull(qty#5595326) AND isnotnull(kpis#5595329)) AND (isnotnull(shardId#5595324) AND isnotnull(worklistShardItemId#5595325L)))
(46) Project [codegen id : 11]
Output [4]: [shardId#5595324, worklistShardItemId#5595325L, qty#5595326, kpis#5595329]
Input [6]: [shardId#5595324, worklistShardItemId#5595325L, qty#5595326, demandChannel#5595327, demandStream#5595328, kpis#5595329]
(47) ObjectHashAggregate
Input [4]: [shardId#5595324, worklistShardItemId#5595325L, qty#5595326, kpis#5595329]
Keys [2]: [shardId#5595324, worklistShardItemId#5595325L]
Functions [1]: [partial_collect_list(struct(qty, qty#5595326, kpis, kpis#5595329), 0, 0)]
Aggregate Attributes [1]: [buf#5595493]
Results [3]: [shardId#5595324, worklistShardItemId#5595325L, buf#5595494]
(48) Exchange
Input [3]: [shardId#5595324, worklistShardItemId#5595325L, buf#5595494]
Arguments: hashpartitioning(shardId#5595324, worklistShardItemId#5595325L, 30), ENSURE_REQUIREMENTS, [plan_id=2904032]
(49) ObjectHashAggregate
Input [3]: [shardId#5595324, worklistShardItemId#5595325L, buf#5595494]
Keys [2]: [shardId#5595324, worklistShardItemId#5595325L]
Functions [1]: [collect_list(struct(qty, qty#5595326, kpis, kpis#5595329), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#5595326, kpis, kpis#5595329), 0, 0)#5595323]
Results [3]: [shardId#5595324, worklistShardItemId#5595325L, map_from_entries(collect_list(struct(qty, qty#5595326, kpis, kpis#5595329), 0, 0)#5595323) AS quantityKpis#5595318]
(50) Sort [codegen id : 12]
Input [3]: [shardId#5595324, worklistShardItemId#5595325L, quantityKpis#5595318]
Arguments: [shardId#5595324 ASC NULLS FIRST, worklistShardItemId#5595325L ASC NULLS FIRST], false, 0
(51) SortMergeJoin [codegen id : 13]
Left keys [2]: [shardId#5594062, worklistShardItemId#5594574L]
Right keys [2]: [shardId#5595324, worklistShardItemId#5595325L]
Join type: LeftOuter
Join condition: None
(52) Project [codegen id : 13]
Output [42]: [shardId#5594062, worklistShardItemId#5594574L, quantityAfterProdPlantOptimization#5594575, qty#5594576, orderProposalId#5594775L, originalReplenishmentRunId#5594817L, supplierGroup#5594777, supplier#5594778, supplyingPlant#5594782, productGroup#5594783, product#5594784, plant#5594779, subrange#5594781, orderDateTime#5594785, deliveryDateTime#5594780, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, constraintValues#5594808, constraintOperators#5594807, constraintLabels#5594806, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, splitIndicator#5594794L, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, sourceOfSupplyUuid#5594789, minimumOrderQuantity#5594805, orderProposalItemId#5594776, orderProposalItemGroupId#5594799, optimizationGroups#5594818, measurements#5594816, externalProductId#5594800, externalPlantId#5594801, previousOrderProposal#5594795L, isFallbackOrderOnly#5594792, prodLocSpecificKpis#5595302, channelStreamSpecificKpis#5595317, coalesce(quantityKpis#5595318, map(keys: [], values: [])) AS quantityKpis#5595330]
Input [44]: [shardId#5594062, worklistShardItemId#5594574L, quantityAfterProdPlantOptimization#5594575, qty#5594576, orderProposalId#5594775L, originalReplenishmentRunId#5594817L, supplierGroup#5594777, supplier#5594778, supplyingPlant#5594782, productGroup#5594783, product#5594784, plant#5594779, subrange#5594781, orderDateTime#5594785, deliveryDateTime#5594780, availabilityDateTime#5594786, nextAvailabilityDateTime#5594787, constraintValues#5594808, constraintOperators#5594807, constraintLabels#5594806, logisticUnits#5594802, orderQuantityBaseUom#5594803, orderQuantityBaseUomUuid#5594804, splitIndicator#5594794L, netPriceAmount#5594811, netPriceCurrencyCode#5594812, netPriceQuantity#5594813, netPriceQuantityUom#5594814, netPriceQuantityUomUuid#5594815, sourceOfSupplyUuid#5594789, minimumOrderQuantity#5594805, orderProposalItemId#5594776, orderProposalItemGroupId#5594799, optimizationGroups#5594818, measurements#5594816, externalProductId#5594800, externalPlantId#5594801, previousOrderProposal#5594795L, isFallbackOrderOnly#5594792, prodLocSpecificKpis#5595302, channelStreamSpecificKpis#5595317, shardId#5595324, worklistShardItemId#5595325L, quantityKpis#5595318]
(53) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#5594752, channelStreamSpecificKpis#5595317, constraintLabels#5594764, constraintOperators#5594765, constraintValues#5594767, deliveryDateTime#5594751, isFallbackOrderOnly#5594754, logisticUnits#5594769, measurements#5594762, minimumOrderQuantity#5594763, netPriceAmount#5594760, netPriceCurrencyCode#5594761, netPriceQuantity#5594757, netPriceQuantityUom#5594758, netPriceQuantityUomUuid#5594759, nextAvailabilityDateTime#5594753, optimizationGroups#5594770, orderDateTime#5594750, orderProposalId#5594732L, orderProposalItemGroupId#5594734, orderProposalItemId#5594733, orderQuantityBaseUom#5594755, orderQuantityBaseUomUuid#5594756, originalReplenishmentRunId#5594735L, plant#5594746, previousOrderProposal#5594738L, prodLocSpecificKpis#5595302, product#5594745, productGroup#5594774, qty#5594576, quantityAfterProdPlantOptimization#5594575, quantityKpis#5595330, shardId#5594062, sourceOfSupplyUuid#5594741, splitIndicator#5594737L, subrange#5594744, supplier#5594743, supplierGroup#5594742, supplyingPlant#5594773]
Condition : NOT (isFallbackOrderOnly#5594754 <=> true)
(54) Project [codegen id : 1]
Output [36]: [shardId#5594062, quantityAfterProdPlantOptimization#5594575, qty#5594576, orderProposalId#5594732L, originalReplenishmentRunId#5594735L, supplierGroup#5594742, supplier#5594743, supplyingPlant#5594773, productGroup#5594774, product#5594745, plant#5594746, subrange#5594744, orderDateTime#5594750, deliveryDateTime#5594751, availabilityDateTime#5594752, nextAvailabilityDateTime#5594753, logisticUnits#5594769, orderQuantityBaseUom#5594755, orderQuantityBaseUomUuid#5594756, splitIndicator#5594737L, netPriceAmount#5594760, netPriceCurrencyCode#5594761, netPriceQuantity#5594757, netPriceQuantityUom#5594758, netPriceQuantityUomUuid#5594759, sourceOfSupplyUuid#5594741, minimumOrderQuantity#5594763, orderProposalItemId#5594733, orderProposalItemGroupId#5594734, optimizationGroups#5594770, measurements#5594762, previousOrderProposal#5594738L, prodLocSpecificKpis#5595302, channelStreamSpecificKpis#5595317, quantityKpis#5595330, arrays_zip(constraintLabels#5594764, constraintOperators#5594765, constraintValues#5594767, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#5595744]
Input [39]: [availabilityDateTime#5594752, channelStreamSpecificKpis#5595317, constraintLabels#5594764, constraintOperators#5594765, constraintValues#5594767, deliveryDateTime#5594751, isFallbackOrderOnly#5594754, logisticUnits#5594769, measurements#5594762, minimumOrderQuantity#5594763, netPriceAmount#5594760, netPriceCurrencyCode#5594761, netPriceQuantity#5594757, netPriceQuantityUom#5594758, netPriceQuantityUomUuid#5594759, nextAvailabilityDateTime#5594753, optimizationGroups#5594770, orderDateTime#5594750, orderProposalId#5594732L, orderProposalItemGroupId#5594734, orderProposalItemId#5594733, orderQuantityBaseUom#5594755, orderQuantityBaseUomUuid#5594756, originalReplenishmentRunId#5594735L, plant#5594746, previousOrderProposal#5594738L, prodLocSpecificKpis#5595302, product#5594745, productGroup#5594774, qty#5594576, quantityAfterProdPlantOptimization#5594575, quantityKpis#5595330, shardId#5594062, sourceOfSupplyUuid#5594741, splitIndicator#5594737L, subrange#5594744, supplier#5594743, supplierGroup#5594742, supplyingPlant#5594773]
(55) Project
Output [37]: [shardId#5594062, qty#5594576, orderProposalId#5594732L, originalReplenishmentRunId#5594735L, supplierGroup#5594742, supplier#5594743, supplyingPlant#5594773, productGroup#5594774, product#5594745, plant#5594746, subrange#5594744, orderDateTime#5594750, deliveryDateTime#5594751, availabilityDateTime#5594752, nextAvailabilityDateTime#5594753, logisticUnits#5594769, orderQuantityBaseUom#5594755, orderQuantityBaseUomUuid#5594756, splitIndicator#5594737L, netPriceAmount#5594760, netPriceCurrencyCode#5594761, netPriceQuantity#5594757, netPriceQuantityUom#5594758, netPriceQuantityUomUuid#5594759, sourceOfSupplyUuid#5594741, orderProposalItemId#5594733, orderProposalItemGroupId#5594734, optimizationGroups#5594770, measurements#5594762, previousOrderProposal#5594738L, prodLocSpecificKpis#5595302, channelStreamSpecificKpis#5595317, quantityKpis#5595330, struct(minServiceLevel, array_min(filter(constraintStructArray#5595744, lambdafunction((lambda x_11009#5595751.constraintLabels = ServiceLevel), lambda x_11009#5595751, false)).constraintValues), minServiceLevelMinStock, null, maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#5595744, lambdafunction((lambda x_11010#5595752.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_11010#5595752, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#5595744, lambdafunction((lambda x_11011#5595753.constraintLabels = RangeOfCoverage), lambda x_11011#5595753, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#5594763, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#5595302, lambdafunction((lambda x_11012#5595754.label = NonListingStartTimestamp), lambda x_11012#5595754, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#5595750, CASE WHEN (qty#5594576 <=> quantityAfterProdPlantOptimization#5594575) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#5594576 * (cast(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11013#5595822.isOrderUnit, lambda x_11013#5595822, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11013#5595823.isOrderUnit, lambda x_11013#5595823, false)), 1, None, false).numerator as double))), qty#5594576), orderQuantityUom, coalesce(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11013#5595824.isOrderUnit, lambda x_11013#5595824, false)), 1, None, false).uom, orderQuantityBaseUom#5594755), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11013#5595825.isOrderUnit, lambda x_11013#5595825, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#5594756), candidateOrderQuantityInBaseUnit, qty#5594576, orderQuantityBaseUom, orderQuantityBaseUom#5594755, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#5594756, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#5594769, lambdafunction((lambda x_11015#5595826.isPreferred AND (((qty#5594576 * cast(lambda x_11015#5595826.denominator as double)) % cast(lambda x_11015#5595826.numerator as double)) = 0.0)), lambda x_11015#5595826, false)), lambdafunction(struct(inPreferredQuantity, ((qty#5594576 * cast(lambda x_11016#5595864.denominator as double)) / cast(lambda x_11016#5595864.numerator as double)), uom, lambda x_11016#5595864.uom, uomUuid, lambda x_11016#5595864.uomUuid), lambda x_11016#5595864, false))).inPreferredQuantity, coalesce((qty#5594576 * (cast(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11014#5595827.isOrderUnit, lambda x_11014#5595827, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11014#5595828.isOrderUnit, lambda x_11014#5595828, false)), 1, None, false).numerator as double))), qty#5594576)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#5594769, lambdafunction((lambda x_11015#5595829.isPreferred AND (((qty#5594576 * cast(lambda x_11015#5595829.denominator as double)) % cast(lambda x_11015#5595829.numerator as double)) = 0.0)), lambda x_11015#5595829, false)), lambdafunction(struct(inPreferredQuantity, ((qty#5594576 * cast(lambda x_11016#5595865.denominator as double)) / cast(lambda x_11016#5595865.numerator as double)), uom, lambda x_11016#5595865.uom, uomUuid, lambda x_11016#5595865.uomUuid), lambda x_11016#5595865, false))).uom, coalesce(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11014#5595830.isOrderUnit, lambda x_11014#5595830, false)), 1, None, false).uom, orderQuantityBaseUom#5594755)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#5594769, lambdafunction((lambda x_11015#5595831.isPreferred AND (((qty#5594576 * cast(lambda x_11015#5595831.denominator as double)) % cast(lambda x_11015#5595831.numerator as double)) = 0.0)), lambda x_11015#5595831, false)), lambdafunction(struct(inPreferredQuantity, ((qty#5594576 * cast(lambda x_11016#5595866.denominator as double)) / cast(lambda x_11016#5595866.numerator as double)), uom, lambda x_11016#5595866.uom, uomUuid, lambda x_11016#5595866.uomUuid), lambda x_11016#5595866, false))).uomUuid, coalesce(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11014#5595832.isOrderUnit, lambda x_11014#5595832, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#5594756)), serviceLevel, coalesce(filter(element_at(quantityKpis#5595330, qty#5594576, None, false), lambdafunction((lambda x_11021#5595833.label = ServiceLevel), lambda x_11021#5595833, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#5594576 * (cast(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11013#5595836.isOrderUnit, lambda x_11013#5595836, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11013#5595837.isOrderUnit, lambda x_11013#5595837, false)), 1, None, false).numerator as double))), qty#5594576), orderQuantityUom, coalesce(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11013#5595838.isOrderUnit, lambda x_11013#5595838, false)), 1, None, false).uom, orderQuantityBaseUom#5594755), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11013#5595839.isOrderUnit, lambda x_11013#5595839, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#5594756), candidateOrderQuantityInBaseUnit, qty#5594576, orderQuantityBaseUom, orderQuantityBaseUom#5594755, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#5594756, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#5594769, lambdafunction((lambda x_11015#5595840.isPreferred AND (((qty#5594576 * cast(lambda x_11015#5595840.denominator as double)) % cast(lambda x_11015#5595840.numerator as double)) = 0.0)), lambda x_11015#5595840, false)), lambdafunction(struct(inPreferredQuantity, ((qty#5594576 * cast(lambda x_11016#5595867.denominator as double)) / cast(lambda x_11016#5595867.numerator as double)), uom, lambda x_11016#5595867.uom, uomUuid, lambda x_11016#5595867.uomUuid), lambda x_11016#5595867, false))).inPreferredQuantity, coalesce((qty#5594576 * (cast(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11014#5595841.isOrderUnit, lambda x_11014#5595841, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11014#5595842.isOrderUnit, lambda x_11014#5595842, false)), 1, None, false).numerator as double))), qty#5594576)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#5594769, lambdafunction((lambda x_11015#5595843.isPreferred AND (((qty#5594576 * cast(lambda x_11015#5595843.denominator as double)) % cast(lambda x_11015#5595843.numerator as double)) = 0.0)), lambda x_11015#5595843, false)), lambdafunction(struct(inPreferredQuantity, ((qty#5594576 * cast(lambda x_11016#5595868.denominator as double)) / cast(lambda x_11016#5595868.numerator as double)), uom, lambda x_11016#5595868.uom, uomUuid, lambda x_11016#5595868.uomUuid), lambda x_11016#5595868, false))).uom, coalesce(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11014#5595844.isOrderUnit, lambda x_11014#5595844, false)), 1, None, false).uom, orderQuantityBaseUom#5594755)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#5594769, lambdafunction((lambda x_11015#5595845.isPreferred AND (((qty#5594576 * cast(lambda x_11015#5595845.denominator as double)) % cast(lambda x_11015#5595845.numerator as double)) = 0.0)), lambda x_11015#5595845, false)), lambdafunction(struct(inPreferredQuantity, ((qty#5594576 * cast(lambda x_11016#5595869.denominator as double)) / cast(lambda x_11016#5595869.numerator as double)), uom, lambda x_11016#5595869.uom, uomUuid, lambda x_11016#5595869.uomUuid), lambda x_11016#5595869, false))).uomUuid, coalesce(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11014#5595846.isOrderUnit, lambda x_11014#5595846, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#5594756)), serviceLevel, coalesce(filter(element_at(quantityKpis#5595330, qty#5594576, None, false), lambdafunction((lambda x_11024#5595847.label = ServiceLevel), lambda x_11024#5595847, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#5594575 * (cast(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11017#5595850.isOrderUnit, lambda x_11017#5595850, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11017#5595851.isOrderUnit, lambda x_11017#5595851, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#5594575), orderQuantityUom, coalesce(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11017#5595852.isOrderUnit, lambda x_11017#5595852, false)), 1, None, false).uom, orderQuantityBaseUom#5594755), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11017#5595853.isOrderUnit, lambda x_11017#5595853, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#5594756), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#5594575, orderQuantityBaseUom, orderQuantityBaseUom#5594755, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#5594756, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#5594769, lambdafunction((lambda x_11019#5595854.isPreferred AND (((quantityAfterProdPlantOptimization#5594575 * cast(lambda x_11019#5595854.denominator as double)) % cast(lambda x_11019#5595854.numerator as double)) = 0.0)), lambda x_11019#5595854, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#5594575 * cast(lambda x_11020#5595870.denominator as double)) / cast(lambda x_11020#5595870.numerator as double)), uom, lambda x_11020#5595870.uom, uomUuid, lambda x_11020#5595870.uomUuid), lambda x_11020#5595870, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#5594575 * (cast(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11018#5595855.isOrderUnit, lambda x_11018#5595855, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11018#5595856.isOrderUnit, lambda x_11018#5595856, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#5594575)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#5594769, lambdafunction((lambda x_11019#5595857.isPreferred AND (((quantityAfterProdPlantOptimization#5594575 * cast(lambda x_11019#5595857.denominator as double)) % cast(lambda x_11019#5595857.numerator as double)) = 0.0)), lambda x_11019#5595857, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#5594575 * cast(lambda x_11020#5595871.denominator as double)) / cast(lambda x_11020#5595871.numerator as double)), uom, lambda x_11020#5595871.uom, uomUuid, lambda x_11020#5595871.uomUuid), lambda x_11020#5595871, false))).uom, coalesce(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11018#5595858.isOrderUnit, lambda x_11018#5595858, false)), 1, None, false).uom, orderQuantityBaseUom#5594755)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#5594769, lambdafunction((lambda x_11019#5595859.isPreferred AND (((quantityAfterProdPlantOptimization#5594575 * cast(lambda x_11019#5595859.denominator as double)) % cast(lambda x_11019#5595859.numerator as double)) = 0.0)), lambda x_11019#5595859, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#5594575 * cast(lambda x_11020#5595872.denominator as double)) / cast(lambda x_11020#5595872.numerator as double)), uom, lambda x_11020#5595872.uom, uomUuid, lambda x_11020#5595872.uomUuid), lambda x_11020#5595872, false))).uomUuid, coalesce(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11018#5595860.isOrderUnit, lambda x_11018#5595860, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#5594756)), serviceLevel, coalesce(filter(element_at(quantityKpis#5595330, quantityAfterProdPlantOptimization#5594575, None, false), lambdafunction((lambda x_11027#5595861.label = ServiceLevel), lambda x_11027#5595861, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#5595821, coalesce(filter(prodLocSpecificKpis#5595302, lambdafunction((lambda x_11030#5595874.label = InitialStockQty), lambda x_11030#5595874, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#5595873, coalesce(filter(prodLocSpecificKpis#5595302, lambdafunction((lambda x_11031#5595876.label = DemandPeriodEndTimestamp), lambda x_11031#5595876, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#5595875]
Input [36]: [shardId#5594062, quantityAfterProdPlantOptimization#5594575, qty#5594576, orderProposalId#5594732L, originalReplenishmentRunId#5594735L, supplierGroup#5594742, supplier#5594743, supplyingPlant#5594773, productGroup#5594774, product#5594745, plant#5594746, subrange#5594744, orderDateTime#5594750, deliveryDateTime#5594751, availabilityDateTime#5594752, nextAvailabilityDateTime#5594753, logisticUnits#5594769, orderQuantityBaseUom#5594755, orderQuantityBaseUomUuid#5594756, splitIndicator#5594737L, netPriceAmount#5594760, netPriceCurrencyCode#5594761, netPriceQuantity#5594757, netPriceQuantityUom#5594758, netPriceQuantityUomUuid#5594759, sourceOfSupplyUuid#5594741, minimumOrderQuantity#5594763, orderProposalItemId#5594733, orderProposalItemGroupId#5594734, optimizationGroups#5594770, measurements#5594762, previousOrderProposal#5594738L, prodLocSpecificKpis#5595302, channelStreamSpecificKpis#5595317, quantityKpis#5595330, constraintStructArray#5595744]
(56) Project
Output [21]: [shardId#5594062, qty#5594576, orderProposalId#5594732L, originalReplenishmentRunId#5594735L, supplierGroup#5594742, supplier#5594743, supplyingPlant#5594773, productGroup#5594774, product#5594745, plant#5594746, subrange#5594744, orderDateTime#5594750, deliveryDateTime#5594751, logisticUnits#5594769, orderQuantityBaseUom#5594755, orderQuantityBaseUomUuid#5594756, splitIndicator#5594737L, orderProposalItemId#5594733, orderProposalItemGroupId#5594734, previousOrderProposal#5594738L, struct(supplier, supplier#5594743, supplyingPlant, supplyingPlant#5594773, productGroup, productGroup#5594774, product, product#5594745, plant, plant#5594746, supplierSubRange, subrange#5594744, sourceOfSupplyUuid, sourceOfSupplyUuid#5594741, deliveryDateTime, deliveryDateTime#5594751, unitPrice, netPriceAmount#5594760, unitPriceCurrency, netPriceCurrencyCode#5594761, unitPriceQuantity, netPriceQuantity#5594757, unitPriceQuantityUom, netPriceQuantityUom#5594758, unitPriceQuantityUomUuid, ... 31 more fields) AS parentItem#5595946]
Input [37]: [shardId#5594062, qty#5594576, orderProposalId#5594732L, originalReplenishmentRunId#5594735L, supplierGroup#5594742, supplier#5594743, supplyingPlant#5594773, productGroup#5594774, product#5594745, plant#5594746, subrange#5594744, orderDateTime#5594750, deliveryDateTime#5594751, availabilityDateTime#5594752, nextAvailabilityDateTime#5594753, logisticUnits#5594769, orderQuantityBaseUom#5594755, orderQuantityBaseUomUuid#5594756, splitIndicator#5594737L, netPriceAmount#5594760, netPriceCurrencyCode#5594761, netPriceQuantity#5594757, netPriceQuantityUom#5594758, netPriceQuantityUomUuid#5594759, sourceOfSupplyUuid#5594741, orderProposalItemId#5594733, orderProposalItemGroupId#5594734, optimizationGroups#5594770, measurements#5594762, previousOrderProposal#5594738L, prodLocSpecificKpis#5595302, channelStreamSpecificKpis#5595317, quantityKpis#5595330, constraintBenchmark#5595750, calculationAnalysis#5595821, inventoryDateTime#5595873, demandPeriodEndDateTime#5595875]
(57) Project
Output [12]: [shardId#5594062, orderProposalId#5594732L, originalReplenishmentRunId#5594735L, supplierGroup#5594742, supplier#5594743, supplyingPlant#5594773, orderDateTime#5594750, splitIndicator#5594737L, orderProposalItemGroupId#5594734, previousOrderProposal#5594738L, parentItem#5595946, struct(itemId, orderProposalItemId#5594733, supplier, supplier#5594743, supplyingPlant, supplyingPlant#5594773, productGroup, productGroup#5594774, product, product#5594745, plant, plant#5594746, supplierSubRange, subrange#5594744, deliveryDateTime, deliveryDateTime#5594751, orderQuantity, coalesce((qty#5594576 * (cast(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11055#5595980.isOrderUnit, lambda x_11055#5595980, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11055#5595981.isOrderUnit, lambda x_11055#5595981, false)), 1, None, false).numerator as double))), qty#5594576), orderQuantityUom, coalesce(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11055#5595982.isOrderUnit, lambda x_11055#5595982, false)), 1, None, false).uom, orderQuantityBaseUom#5594755), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#5594769, lambdafunction(lambda x_11055#5595983.isOrderUnit, lambda x_11055#5595983, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#5594756), orderQuantityInBaseUnit, qty#5594576, orderQuantityBaseUom, ... 13 more fields) AS item#5595977]
Input [21]: [shardId#5594062, qty#5594576, orderProposalId#5594732L, originalReplenishmentRunId#5594735L, supplierGroup#5594742, supplier#5594743, supplyingPlant#5594773, productGroup#5594774, product#5594745, plant#5594746, subrange#5594744, orderDateTime#5594750, deliveryDateTime#5594751, logisticUnits#5594769, orderQuantityBaseUom#5594755, orderQuantityBaseUomUuid#5594756, splitIndicator#5594737L, orderProposalItemId#5594733, orderProposalItemGroupId#5594734, previousOrderProposal#5594738L, parentItem#5595946]
(58) ObjectHashAggregate
Input [12]: [shardId#5594062, orderProposalId#5594732L, originalReplenishmentRunId#5594735L, supplierGroup#5594742, supplier#5594743, supplyingPlant#5594773, orderDateTime#5594750, splitIndicator#5594737L, orderProposalItemGroupId#5594734, previousOrderProposal#5594738L, parentItem#5595946, item#5595977]
Keys [4]: [shardId#5594062, orderProposalId#5594732L, splitIndicator#5594737L, orderProposalItemGroupId#5594734]
Functions [8]: [partial_max(originalReplenishmentRunId#5594735L), partial_max(supplierGroup#5594742), partial_max(supplier#5594743), partial_max(supplyingPlant#5594773), partial_max(orderDateTime#5594750), partial_collect_list(parentItem#5595946, 0, 0), partial_collect_set(previousOrderProposal#5594738L, 0, 0), partial_collect_list(item#5595977, 0, 0)]
Aggregate Attributes [8]: [max#5597228L, max#5597229, max#5597230, max#5597231, max#5597232, buf#5597233, buf#5597234, buf#5597235]
Results [12]: [shardId#5594062, orderProposalId#5594732L, splitIndicator#5594737L, orderProposalItemGroupId#5594734, max#5597236L, max#5597237, max#5597238, max#5597239, max#5597240, buf#5597241, buf#5597242, buf#5597243]
(59) Exchange
Input [12]: [shardId#5594062, orderProposalId#5594732L, splitIndicator#5594737L, orderProposalItemGroupId#5594734, max#5597236L, max#5597237, max#5597238, max#5597239, max#5597240, buf#5597241, buf#5597242, buf#5597243]
Arguments: hashpartitioning(shardId#5594062, orderProposalId#5594732L, splitIndicator#5594737L, orderProposalItemGroupId#5594734, 30), ENSURE_REQUIREMENTS, [plan_id=2904270]
(60) ObjectHashAggregate
Input [12]: [shardId#5594062, orderProposalId#5594732L, splitIndicator#5594737L, orderProposalItemGroupId#5594734, max#5597236L, max#5597237, max#5597238, max#5597239, max#5597240, buf#5597241, buf#5597242, buf#5597243]
Keys [4]: [shardId#5594062, orderProposalId#5594732L, splitIndicator#5594737L, orderProposalItemGroupId#5594734]
Functions [8]: [max(originalReplenishmentRunId#5594735L), max(supplierGroup#5594742), max(supplier#5594743), max(supplyingPlant#5594773), max(orderDateTime#5594750), collect_list(parentItem#5595946, 0, 0), collect_set(previousOrderProposal#5594738L, 0, 0), collect_list(item#5595977, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#5594735L)#5596046L, max(supplierGroup#5594742)#5596047, max(supplier#5594743)#5596048, max(supplyingPlant#5594773)#5596049, max(orderDateTime#5594750)#5596050, collect_list(parentItem#5595946, 0, 0)#5596051, collect_set(previousOrderProposal#5594738L, 0, 0)#5596053, collect_list(item#5595977, 0, 0)#5596052]
Results [10]: [shardId#5594062, orderProposalId#5594732L, max(originalReplenishmentRunId#5594735L)#5596046L AS originalReplenishmentRunId#5595994L, max(supplierGroup#5594742)#5596047 AS supplierGroup#5595995, max(supplier#5594743)#5596048 AS supplier#5595996, max(supplyingPlant#5594773)#5596049 AS supplyingPlant#5595997, max(orderDateTime#5594750)#5596050 AS orderDateTime#5595998, collect_list(parentItem#5595946, 0, 0)#5596051 AS parentItems#5595999, collect_set(previousOrderProposal#5594738L, 0, 0)#5596053 AS previousOrderProposals#5596001, struct(itemGroupId, coalesce(orderProposalItemGroupId#5594734, cast((monotonically_increasing_id() % 9999999999) as string)), items, collect_list(item#5595977, 0, 0)#5596052) AS itemGroup#5596055]
(61) ObjectHashAggregate
Input [10]: [shardId#5594062, orderProposalId#5594732L, originalReplenishmentRunId#5595994L, supplierGroup#5595995, supplier#5595996, supplyingPlant#5595997, orderDateTime#5595998, parentItems#5595999, previousOrderProposals#5596001, itemGroup#5596055]
Keys [2]: [shardId#5594062, orderProposalId#5594732L]
Functions [8]: [partial_max(originalReplenishmentRunId#5595994L), partial_max(supplierGroup#5595995), partial_max(supplier#5595996), partial_max(supplyingPlant#5595997), partial_max(orderDateTime#5595998), partial_collect_list(itemGroup#5596055, 0, 0), partial_collect_list(parentItems#5595999, 0, 0), partial_collect_set(previousOrderProposals#5596001, 0, 0)]
Aggregate Attributes [8]: [max#5597212L, max#5597213, max#5597214, max#5597215, max#5597216, buf#5597217, buf#5597218, buf#5597219]
Results [10]: [shardId#5594062, orderProposalId#5594732L, max#5597220L, max#5597221, max#5597222, max#5597223, max#5597224, buf#5597225, buf#5597226, buf#5597227]
(62) Exchange
Input [10]: [shardId#5594062, orderProposalId#5594732L, max#5597220L, max#5597221, max#5597222, max#5597223, max#5597224, buf#5597225, buf#5597226, buf#5597227]
Arguments: hashpartitioning(shardId#5594062, orderProposalId#5594732L, 30), ENSURE_REQUIREMENTS, [plan_id=2904273]
(63) ObjectHashAggregate
Input [10]: [shardId#5594062, orderProposalId#5594732L, max#5597220L, max#5597221, max#5597222, max#5597223, max#5597224, buf#5597225, buf#5597226, buf#5597227]
Keys [2]: [shardId#5594062, orderProposalId#5594732L]
Functions [8]: [max(originalReplenishmentRunId#5595994L), max(supplierGroup#5595995), max(supplier#5595996), max(supplyingPlant#5595997), max(orderDateTime#5595998), collect_list(itemGroup#5596055, 0, 0), collect_list(parentItems#5595999, 0, 0), collect_set(previousOrderProposals#5596001, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#5595994L)#5596077L, max(supplierGroup#5595995)#5596078, max(supplier#5595996)#5596079, max(supplyingPlant#5595997)#5596080, max(orderDateTime#5595998)#5596081, collect_list(itemGroup#5596055, 0, 0)#5596082, collect_list(parentItems#5595999, 0, 0)#5596083, collect_set(previousOrderProposals#5596001, 0, 0)#5596084]
Results [10]: [shardId#5594062, orderProposalId#5594732L, max(originalReplenishmentRunId#5595994L)#5596077L AS originalReplenishmentRunId#5596056L, max(supplierGroup#5595995)#5596078 AS supplierGroup#5596057, max(supplier#5595996)#5596079 AS supplier#5596058, max(supplyingPlant#5595997)#5596080 AS supplyingPlant#5596059, max(orderDateTime#5595998)#5596081 AS orderDateTime#5596060, collect_list(itemGroup#5596055, 0, 0)#5596082 AS itemGroups#5596061, flatten(collect_list(parentItems#5595999, 0, 0)#5596083) AS parentItems#5596062, flatten(collect_set(previousOrderProposals#5596001, 0, 0)#5596084) AS previousOrderProposals#5596063]
(64) Project
Output [2]: [shardId#5594062, struct(orderProposalId, orderProposalId#5594732L, originalReplenishmentRunId, originalReplenishmentRunId#5596056L, supplierGroup, supplierGroup#5596057, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#5596057) THEN supplier#5596058 END, supplyingPlant, supplyingPlant#5596059, orderDateTime, orderDateTime#5596060, itemGroups, itemGroups#5596061, previousOrderProposals, array_distinct(previousOrderProposals#5596063), parentItems, parentItems#5596062) AS orderProposal#5596088]
Input [10]: [shardId#5594062, orderProposalId#5594732L, originalReplenishmentRunId#5596056L, supplierGroup#5596057, supplier#5596058, supplyingPlant#5596059, orderDateTime#5596060, itemGroups#5596061, parentItems#5596062, previousOrderProposals#5596063]
(65) Project
Output [11]: [shardId#5594062, orderProposal#5596088.orderProposalId AS _extract_orderProposalId#5596844L, orderProposal#5596088.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#5596845L, orderProposal#5596088.supplierGroup AS _extract_supplierGroup#5596846, orderProposal#5596088.supplier AS _extract_supplier#5596847, orderProposal#5596088.supplyingPlant AS _extract_supplyingPlant#5596848, orderProposal#5596088.orderDateTime AS _extract_orderDateTime#5596849, orderProposal#5596088.itemGroups AS _extract_itemGroups#5596850, orderProposal#5596088.previousOrderProposals AS _extract_previousOrderProposals#5596851, orderProposal#5596088.parentItems AS _extract_parentItems#5596852, orderProposal#5596088.orderProposalId AS _extract_orderProposalId#5596853L]
Input [2]: [shardId#5594062, orderProposal#5596088]
(66) InMemoryTableScan
Output [3]: [shardId#5596101, orderProposalId#5596102L, optimizationGroups#5596104]
Arguments: [shardId#5596101, orderProposalId#5596102L, optimizationGroups#5596104], [isnotnull(orderProposalId#5596102L)]
(67) InMemoryRelation
Arguments: [shardId#5596101, orderProposalId#5596102L, items#5596103, optimizationGroups#5596104, isOptimal#5596105, optimizationInsights#5596107], StorageLevel(disk, memory, 2 replicas)
(68) Filter [codegen id : 2]
Input [3]: [shardId#5596101, orderProposalId#5596102L, optimizationGroups#5596104]
Condition : isnotnull(orderProposalId#5596102L)
(69) BroadcastExchange
Input [3]: [shardId#5596101, orderProposalId#5596102L, optimizationGroups#5596104]
Arguments: HashedRelationBroadcastMode(List(input[1, bigint, false]),false), [plan_id=2904280]
(70) InMemoryTableScan
Output [2]: [items#5595739, shardId#5595737]
Arguments: [items#5595739, shardId#5595737], [(size(items#5595739.worklistShardItemId, true) > 0), isnotnull(items#5595739.worklistShardItemId), (shardId#5595737 = 0_1_10000001445)]
(71) InMemoryRelation
Arguments: [shardId#5595737, orderProposalId#5595738L, items#5595739, optimizationGroups#5595740, isOptimal#5595741, optimizationInsights#5595743], StorageLevel(disk, memory, 2 replicas)
(72) Filter [codegen id : 3]
Input [2]: [items#5595739, shardId#5595737]
Condition : (((size(items#5595739.worklistShardItemId, true) > 0) AND isnotnull(items#5595739.worklistShardItemId)) AND (shardId#5595737 = 0_1_10000001445))
(73) Project [codegen id : 3]
Output [1]: [items#5595739.worklistShardItemId AS _extract_worklistShardItemId#5596749]
Input [2]: [items#5595739, shardId#5595737]
(74) Generate [codegen id : 3]
Input [1]: [_extract_worklistShardItemId#5596749]
Arguments: explode(_extract_worklistShardItemId#5596749), false, [item#5596108L]
(75) Project [codegen id : 3]
Output [1]: [item#5596108L AS worklistShardItemId#5596109L]
Input [1]: [item#5596108L]
(76) BroadcastExchange
Input [1]: [worklistShardItemId#5596109L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=2904288]
(77) Scan parquet
Output [5]: [orderProposalId#5596157L, isFallbackOrderOnly#5596174, worklistShardItemId#5596180L, shardId#5596201, sequenceId#5596179]
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/10000001445]
PartitionFilters: [isnotnull(shardId#5596201), isnotnull(sequenceId#5596179), (shardId#5596201 = 0_1_10000001445), (sequenceId#5596179 = 8)]
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#5596157L, isFallbackOrderOnly#5596174, worklistShardItemId#5596180L, shardId#5596201, sequenceId#5596179]
(79) Filter [codegen id : 4]
Input [5]: [orderProposalId#5596157L, isFallbackOrderOnly#5596174, worklistShardItemId#5596180L, shardId#5596201, sequenceId#5596179]
Condition : ((isnotnull(worklistShardItemId#5596180L) AND NOT (isFallbackOrderOnly#5596174 <=> true)) AND isnotnull(orderProposalId#5596157L))
(80) Project [codegen id : 4]
Output [2]: [orderProposalId#5596157L, worklistShardItemId#5596180L]
Input [5]: [orderProposalId#5596157L, isFallbackOrderOnly#5596174, worklistShardItemId#5596180L, shardId#5596201, sequenceId#5596179]
(81) Exchange
Input [2]: [orderProposalId#5596157L, worklistShardItemId#5596180L]
Arguments: hashpartitioning(worklistShardItemId#5596180L, 30), REPARTITION_BY_NUM, [plan_id=2904295]
(82) Project
Output [2]: [worklistShardItemId#5596180L, orderProposalId#5596157L]
Input [2]: [orderProposalId#5596157L, worklistShardItemId#5596180L]
(83) BroadcastHashJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#5596109L]
Right keys [1]: [worklistShardItemId#5596180L]
Join type: Inner
Join condition: None
(84) Project [codegen id : 5]
Output [1]: [orderProposalId#5596157L]
Input [3]: [worklistShardItemId#5596109L, worklistShardItemId#5596180L, orderProposalId#5596157L]
(85) HashAggregate [codegen id : 5]
Input [1]: [orderProposalId#5596157L]
Keys [1]: [orderProposalId#5596157L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#5596157L]
(86) Exchange
Input [1]: [orderProposalId#5596157L]
Arguments: hashpartitioning(orderProposalId#5596157L, 30), ENSURE_REQUIREMENTS, [plan_id=2904302]
(87) HashAggregate
Input [1]: [orderProposalId#5596157L]
Keys [1]: [orderProposalId#5596157L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#5596157L]
(88) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [orderProposalId#5596102L]
Right keys [1]: [orderProposalId#5596157L]
Join type: Inner
Join condition: None
(89) Project
Output [3]: [orderProposalId#5596102L, shardId#5596101, coalesce(transform(optimizationGroups#5596104, lambdafunction(struct(optGroupId, lambda x_11059#5596099.optGroupId, minOrderProfile, lambda x_11059#5596099.minOrderProfile, assignmentDetails, lambda x_11059#5596099.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_11059#5596099.minOrderGoal.dimensionType, unit, lambda x_11059#5596099.minOrderGoal.unit, unitUuid, lambda x_11059#5596099.minOrderGoal.unitUuid, goalValue, lambda x_11059#5596099.minOrderGoal.minOrderValue, calcValue, lambda x_11059#5596099.minOrderGoal.calculatedOrderValue)), lambda x_11059#5596099, false)), []) AS optimizationGroups#5596098]
Input [4]: [shardId#5596101, orderProposalId#5596102L, optimizationGroups#5596104, orderProposalId#5596157L]
(90) BroadcastExchange
Input [3]: [orderProposalId#5596102L, shardId#5596101, optimizationGroups#5596098]
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=2904308]
(91) BroadcastHashJoin
Left keys [4]: [coalesce(shardId#5594062, ), isnull(shardId#5594062), coalesce(_extract_orderProposalId#5596853L, 0), isnull(_extract_orderProposalId#5596853L)]
Right keys [4]: [coalesce(shardId#5596101, ), isnull(shardId#5596101), coalesce(orderProposalId#5596102L, 0), isnull(orderProposalId#5596102L)]
Join type: LeftOuter
Join condition: None
(92) Project
Output [2]: [shardId#5594062, named_struct(orderProposalId, _extract_orderProposalId#5596853L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#5596845L, supplierGroup, _extract_supplierGroup#5596846, optimizationGroups, coalesce(optimizationGroups#5596098, []), supplier, _extract_supplier#5596847, supplyingPlant, _extract_supplyingPlant#5596848, orderDateTime, _extract_orderDateTime#5596849, itemGroups, _extract_itemGroups#5596850, previousOrderProposals, _extract_previousOrderProposals#5596851, parentItems, _extract_parentItems#5596852) AS orderProposal#5596205]
Input [14]: [shardId#5594062, _extract_orderProposalId#5596844L, _extract_originalReplenishmentRunId#5596845L, _extract_supplierGroup#5596846, _extract_supplier#5596847, _extract_supplyingPlant#5596848, _extract_orderDateTime#5596849, _extract_itemGroups#5596850, _extract_previousOrderProposals#5596851, _extract_parentItems#5596852, _extract_orderProposalId#5596853L, orderProposalId#5596102L, shardId#5596101, optimizationGroups#5596098]
(93) Project
Output [3]: [shardId#5594062, orderProposal#5596205, CASE WHEN (size(orderProposal#5596205.parentItems, true) > 2000) THEN xxhash64(orderProposal#5596205.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#5596205.orderProposalId as decimal(20,0)), 0), 42) END AS resultSeparationId#5597941L]
Input [2]: [orderProposal#5596205, shardId#5594062]
(94) ObjectHashAggregate
Input [3]: [shardId#5594062, orderProposal#5596205, resultSeparationId#5597941L]
Keys [2]: [shardId#5594062, resultSeparationId#5597941L]
Functions [1]: [partial_collect_list(orderProposal#5596205, 0, 0)]
Aggregate Attributes [1]: [buf#5597980]
Results [3]: [shardId#5594062, resultSeparationId#5597941L, buf#5597981]
(95) Exchange
Input [3]: [shardId#5594062, resultSeparationId#5597941L, buf#5597981]
Arguments: hashpartitioning(shardId#5594062, resultSeparationId#5597941L, 30), ENSURE_REQUIREMENTS, [plan_id=2904443]
(96) ObjectHashAggregate
Input [3]: [shardId#5594062, resultSeparationId#5597941L, buf#5597981]
Keys [2]: [shardId#5594062, resultSeparationId#5597941L]
Functions [1]: [collect_list(orderProposal#5596205, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#5596205, 0, 0)#5597949]
Results [3]: [shardId#5594062, resultSeparationId#5597941L, collect_list(orderProposal#5596205, 0, 0)#5597949 AS orderProposals#5597945]
(97) HashAggregate [codegen id : 1]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#5598058L]
Results [1]: [count#5598059L]
(98) Exchange
Input [1]: [count#5598059L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=2904467]
(99) HashAggregate [codegen id : 2]
Input [1]: [count#5598059L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#5598012L]
Results [1]: [count(1)#5598012L AS count#5598008L]