== Physical Plan ==
CollectLimit (108)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- Project (107)
+- Exchange (106)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- ObjectHashAggregate (105)
+- Exchange (104)
+- ObjectHashAggregate (103)
+- Project (102)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- Project (101)
+- SortMergeJoin LeftOuter (100)
:- Sort (71)
: +- Exchange (70)
: +- Project (69)
: +- Project (68)
: +- ObjectHashAggregate (67)
: +- Exchange (66)
: +- ObjectHashAggregate (65)
: +- ObjectHashAggregate (64)
: +- Exchange (63)
: +- ObjectHashAggregate (62)
: +- Project (61)
: +- Project (60)
: +- Project (59)
: +- * Project (58)
: +- * Filter (57)
: +- InMemoryTableScan (7)
: +- InMemoryRelation (8)
: +- * Project (56)
: +- * SortMergeJoin LeftOuter (55)
: :- * Project (47)
: : +- * SortMergeJoin LeftOuter (46)
: : :- * Project (38)
: : : +- * SortMergeJoin LeftOuter (37)
: : : :- * Sort (31)
: : : : +- Exchange (30)
: : : : +- * Project (29)
: : : : +- * SortMergeJoin LeftOuter (28)
: : : : :- * Sort (20)
: : : : : +- Exchange (19)
: : : : : +- * Project (18)
: : : : : +- * Generate (17)
: : : : : +- * Filter (16)
: : : : : +- InMemoryTableScan (9)
: : : : : +- InMemoryRelation (10)
: : : : : +- * Filter (15)
: : : : : +- InMemoryTableScan (11)
: : : : : +- InMemoryRelation (12)
: : : : : +- * Filter (14)
: : : : : +- * Scan ExistingRDD (13)
: : : : +- * Sort (27)
: : : : +- * Project (26)
: : : : +- Exchange (25)
: : : : +- * Project (24)
: : : : +- * Filter (23)
: : : : +- * ColumnarToRow (22)
: : : : +- Scan parquet (21)
: : : +- * Sort (36)
: : : +- Exchange (35)
: : : +- * Project (34)
: : : +- * Filter (33)
: : : +- * Scan ExistingRDD (32)
: : +- * Sort (45)
: : +- ObjectHashAggregate (44)
: : +- Exchange (43)
: : +- ObjectHashAggregate (42)
: : +- * Project (41)
: : +- * Filter (40)
: : +- * Scan ExistingRDD (39)
: +- * Sort (54)
: +- ObjectHashAggregate (53)
: +- Exchange (52)
: +- ObjectHashAggregate (51)
: +- * Project (50)
: +- * Filter (49)
: +- * Scan ExistingRDD (48)
+- * Sort (99)
+- Exchange (98)
+- Project (97)
+- * SortMergeJoin Inner (96)
:- * Sort (76)
: +- Exchange (75)
: +- * Filter (74)
: +- InMemoryTableScan (72)
: +- InMemoryRelation (73)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * Sort (95)
+- * HashAggregate (94)
+- Exchange (93)
+- * HashAggregate (92)
+- * Project (91)
+- * BroadcastHashJoin Inner BuildLeft (90)
:- BroadcastExchange (83)
: +- * Project (82)
: +- * Generate (81)
: +- * Project (80)
: +- * Filter (79)
: +- InMemoryTableScan (77)
: +- InMemoryRelation (78)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * Project (89)
+- Exchange (88)
+- * Project (87)
+- * Filter (86)
+- * ColumnarToRow (85)
+- Scan parquet (84)
(1) InMemoryTableScan
Output: []
(2) InMemoryRelation
Arguments: [shardId#3579932, orderProposals#3595557], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [3]: [shardId#3579932, resultSeparationId#3595553L, orderProposals#3595557]
Arguments: [shardId#3579932, resultSeparationId#3595553L, orderProposals#3595557]
(4) InMemoryRelation
Arguments: [shardId#3579932, resultSeparationId#3595553L, orderProposals#3595557], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [2]: [orderProposal#3590694, shardId#3579932]
Arguments: [orderProposal#3590694, shardId#3579932]
(6) InMemoryRelation
Arguments: [shardId#3579932, orderProposal#3590694], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [39]: [availabilityDateTime#3581342, channelStreamSpecificKpis#3588673, constraintLabels#3581354, constraintOperators#3581355, constraintValues#3581357, deliveryDateTime#3581341, isFallbackOrderOnly#3581344, logisticUnits#3581359, measurements#3581352, minimumOrderQuantity#3581353, netPriceAmount#3581350, netPriceCurrencyCode#3581351, netPriceQuantity#3581347, netPriceQuantityUom#3581348, netPriceQuantityUomUuid#3581349, nextAvailabilityDateTime#3581343, optimizationGroups#3581360, orderDateTime#3581340, orderProposalId#3581322L, orderProposalItemGroupId#3581324, orderProposalItemId#3581323, orderQuantityBaseUom#3581345, orderQuantityBaseUomUuid#3581346, originalReplenishmentRunId#3581325L, plant#3581336, previousOrderProposal#3581328L, prodLocSpecificKpis#3588658, product#3581335, productGroup#3581364, qty#3581121, quantityAfterProdPlantOptimization#3581120, quantityKpis#3588686, shardId#3579932, sourceOfSupplyUuid#3581331, splitIndicator#3581327L, subrange#3581334, supplier#3581333, supplierGroup#3581332, supplyingPlant#3581363]
Arguments: [availabilityDateTime#3581342, channelStreamSpecificKpis#3588673, constraintLabels#3581354, constraintOperators#3581355, constraintValues#3581357, deliveryDateTime#3581341, isFallbackOrderOnly#3581344, logisticUnits#3581359, measurements#3581352, minimumOrderQuantity#3581353, netPriceAmount#3581350, netPriceCurrencyCode#3581351, netPriceQuantity#3581347, netPriceQuantityUom#3581348, netPriceQuantityUomUuid#3581349, nextAvailabilityDateTime#3581343, optimizationGroups#3581360, orderDateTime#3581340, orderProposalId#3581322L, orderProposalItemGroupId#3581324, orderProposalItemId#3581323, orderQuantityBaseUom#3581345, orderQuantityBaseUomUuid#3581346, originalReplenishmentRunId#3581325L, plant#3581336, ... 14 more fields], [NOT (isFallbackOrderOnly#3581344 <=> true)]
(8) InMemoryRelation
Arguments: [shardId#3579932, worklistShardItemId#3581119L, quantityAfterProdPlantOptimization#3581120, qty#3581121, orderProposalId#3581322L, originalReplenishmentRunId#3581325L, supplierGroup#3581332, supplier#3581333, supplyingPlant#3581363, productGroup#3581364, product#3581335, plant#3581336, subrange#3581334, orderDateTime#3581340, deliveryDateTime#3581341, availabilityDateTime#3581342, nextAvailabilityDateTime#3581343, constraintValues#3581357, constraintOperators#3581355, constraintLabels#3581354, logisticUnits#3581359, orderQuantityBaseUom#3581345, orderQuantityBaseUomUuid#3581346, splitIndicator#3581327L, netPriceAmount#3581350, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [2]: [shardId#3579932, items#3579934]
Arguments: [shardId#3579932, items#3579934], [(size(items#3579934, true) > 0), isnotnull(items#3579934)]
(10) InMemoryRelation
Arguments: [shardId#3579932, orderProposalId#3579933L, items#3579934, optimizationGroups#3579935, isOptimal#3579936, optimizationInsights#3579938], StorageLevel(disk, memory, 2 replicas)
(11) InMemoryTableScan
Output [6]: [shardId#3579932, orderProposalId#3579933L, items#3579934, optimizationGroups#3579935, isOptimal#3579936, optimizationInsights#3579938]
Arguments: [shardId#3579932, orderProposalId#3579933L, items#3579934, optimizationGroups#3579935, isOptimal#3579936, optimizationInsights#3579938], [isnotnull(shardId#3579932), (shardId#3579932 = 0_7_10000000532)]
(12) InMemoryRelation
Arguments: [shardId#3579932, orderProposalId#3579933L, items#3579934, optimizationGroups#3579935, isOptimal#3579936, lastModified#3579937, optimizationInsights#3579938], StorageLevel(disk, memory, 2 replicas)
(13) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#3579932, orderProposalId#3579933L, items#3579934, optimizationGroups#3579935, isOptimal#3579936, lastModified#3579937, optimizationInsights#3579938]
Arguments: [shardId#3579932, orderProposalId#3579933L, items#3579934, optimizationGroups#3579935, isOptimal#3579936, lastModified#3579937, optimizationInsights#3579938], MapPartitionsRDD[152542] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(14) Filter [codegen id : 1]
Input [7]: [shardId#3579932, orderProposalId#3579933L, items#3579934, optimizationGroups#3579935, isOptimal#3579936, lastModified#3579937, optimizationInsights#3579938]
Condition : (isnotnull(shardId#3579932) AND (shardId#3579932 = 0_7_10000000532))
(15) Filter [codegen id : 1]
Input [6]: [shardId#3579932, orderProposalId#3579933L, items#3579934, optimizationGroups#3579935, isOptimal#3579936, optimizationInsights#3579938]
Condition : (isnotnull(shardId#3579932) AND (shardId#3579932 = 0_7_10000000532))
(16) Filter [codegen id : 1]
Input [2]: [shardId#3579932, items#3579934]
Condition : ((size(items#3579934, true) > 0) AND isnotnull(items#3579934))
(17) Generate [codegen id : 1]
Input [2]: [shardId#3579932, items#3579934]
Arguments: explode(items#3579934), [shardId#3579932], false, [item#3581118]
(18) Project [codegen id : 1]
Output [4]: [shardId#3579932, item#3581118.worklistShardItemId AS worklistShardItemId#3581119L, item#3581118.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#3581120, item#3581118.qty AS qty#3581121]
Input [2]: [shardId#3579932, item#3581118]
(19) Exchange
Input [4]: [shardId#3579932, worklistShardItemId#3581119L, quantityAfterProdPlantOptimization#3581120, qty#3581121]
Arguments: hashpartitioning(worklistShardItemId#3581119L, 30), ENSURE_REQUIREMENTS, [plan_id=1029390]
(20) Sort [codegen id : 2]
Input [4]: [shardId#3579932, worklistShardItemId#3581119L, quantityAfterProdPlantOptimization#3581120, qty#3581121]
Arguments: [worklistShardItemId#3581119L ASC NULLS FIRST], false, 0
(21) Scan parquet
Output [38]: [orderProposalId#3581487L, orderProposalItemId#3581488, supplierGroup#3581489, supplier#3581490, plant#3581491, deliveryDateTime#3581492, subrange#3581493, supplyingPlant#3581494, productGroup#3581495, product#3581496, orderDateTime#3581497, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, sourceOfSupplyUuid#3581501, isFallbackOrderOnly#3581504, splitIndicator#3581506L, previousOrderProposal#3581507L, worklistShardItemId#3581510L, orderProposalItemGroupId#3581511, externalProductId#3581512, externalPlantId#3581513, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, minimumOrderQuantity#3581517, constraintLabels#3581518, constraintOperators#3581519, constraintValues#3581520, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, measurements#3581528, originalReplenishmentRunId#3581529L, optimizationGroups#3581530, shardId#3581531, sequenceId#3581509]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000000532]
PartitionFilters: [isnotnull(shardId#3581531), isnotnull(sequenceId#3581509), (shardId#3581531 = 0_7_10000000532), (sequenceId#3581509 = 6)]
PushedFilters: [IsNotNull(worklistShardItemId)]
ReadSchema: struct<orderProposalId:bigint,orderProposalItemId:string,supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:string,supplyingPlant:string,productGroup:string,product:string,orderDateTime:timestamp,availabilityDateTime:timestamp,nextAvailabilityDateTime:timestamp,sourceOfSupplyUuid:string,isFallbackOrderOnly:boolean,splitIndicator:bigint,previousOrderProposal:bigint,worklistShardItemId:bigint,orderProposalItemGroupId:string,externalProductId:string,externalPlantId:string,logisticUnits:array<struct<uom:string,uomUuid:string,numerator:int,denominator:int,isOrderUnit:boolean,isPreferred:boolean>>,orderQuantityBaseUom:string,orderQuantityBaseUomUuid:string,minimumOrderQuantity:double,constraintLabels:array<string>,constraintOperators:array<string>,constraintValues:array<double>,netPriceAmount:double,netPriceCurrencyCode:string,netPriceQuantity:double,netPriceQuantityUom:string,netPriceQuantityUomUuid:string,measurements:array<struct<value:double,dimensionType:int,dimensionCode:string,dimensionCodeUuid:string,isoCode:string>>,originalReplenishmentRunId:bigint,optimizationGroups:array<string>>
(22) ColumnarToRow [codegen id : 3]
Input [38]: [orderProposalId#3581487L, orderProposalItemId#3581488, supplierGroup#3581489, supplier#3581490, plant#3581491, deliveryDateTime#3581492, subrange#3581493, supplyingPlant#3581494, productGroup#3581495, product#3581496, orderDateTime#3581497, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, sourceOfSupplyUuid#3581501, isFallbackOrderOnly#3581504, splitIndicator#3581506L, previousOrderProposal#3581507L, worklistShardItemId#3581510L, orderProposalItemGroupId#3581511, externalProductId#3581512, externalPlantId#3581513, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, minimumOrderQuantity#3581517, constraintLabels#3581518, constraintOperators#3581519, constraintValues#3581520, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, measurements#3581528, originalReplenishmentRunId#3581529L, optimizationGroups#3581530, shardId#3581531, sequenceId#3581509]
(23) Filter [codegen id : 3]
Input [38]: [orderProposalId#3581487L, orderProposalItemId#3581488, supplierGroup#3581489, supplier#3581490, plant#3581491, deliveryDateTime#3581492, subrange#3581493, supplyingPlant#3581494, productGroup#3581495, product#3581496, orderDateTime#3581497, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, sourceOfSupplyUuid#3581501, isFallbackOrderOnly#3581504, splitIndicator#3581506L, previousOrderProposal#3581507L, worklistShardItemId#3581510L, orderProposalItemGroupId#3581511, externalProductId#3581512, externalPlantId#3581513, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, minimumOrderQuantity#3581517, constraintLabels#3581518, constraintOperators#3581519, constraintValues#3581520, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, measurements#3581528, originalReplenishmentRunId#3581529L, optimizationGroups#3581530, shardId#3581531, sequenceId#3581509]
Condition : isnotnull(worklistShardItemId#3581510L)
(24) Project [codegen id : 3]
Output [36]: [orderProposalId#3581487L, orderProposalItemId#3581488, supplierGroup#3581489, supplier#3581490, plant#3581491, deliveryDateTime#3581492, subrange#3581493, supplyingPlant#3581494, productGroup#3581495, product#3581496, orderDateTime#3581497, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, sourceOfSupplyUuid#3581501, isFallbackOrderOnly#3581504, splitIndicator#3581506L, previousOrderProposal#3581507L, worklistShardItemId#3581510L, orderProposalItemGroupId#3581511, externalProductId#3581512, externalPlantId#3581513, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, minimumOrderQuantity#3581517, constraintLabels#3581518, constraintOperators#3581519, constraintValues#3581520, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, measurements#3581528, originalReplenishmentRunId#3581529L, optimizationGroups#3581530]
Input [38]: [orderProposalId#3581487L, orderProposalItemId#3581488, supplierGroup#3581489, supplier#3581490, plant#3581491, deliveryDateTime#3581492, subrange#3581493, supplyingPlant#3581494, productGroup#3581495, product#3581496, orderDateTime#3581497, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, sourceOfSupplyUuid#3581501, isFallbackOrderOnly#3581504, splitIndicator#3581506L, previousOrderProposal#3581507L, worklistShardItemId#3581510L, orderProposalItemGroupId#3581511, externalProductId#3581512, externalPlantId#3581513, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, minimumOrderQuantity#3581517, constraintLabels#3581518, constraintOperators#3581519, constraintValues#3581520, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, measurements#3581528, originalReplenishmentRunId#3581529L, optimizationGroups#3581530, shardId#3581531, sequenceId#3581509]
(25) Exchange
Input [36]: [orderProposalId#3581487L, orderProposalItemId#3581488, supplierGroup#3581489, supplier#3581490, plant#3581491, deliveryDateTime#3581492, subrange#3581493, supplyingPlant#3581494, productGroup#3581495, product#3581496, orderDateTime#3581497, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, sourceOfSupplyUuid#3581501, isFallbackOrderOnly#3581504, splitIndicator#3581506L, previousOrderProposal#3581507L, worklistShardItemId#3581510L, orderProposalItemGroupId#3581511, externalProductId#3581512, externalPlantId#3581513, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, minimumOrderQuantity#3581517, constraintLabels#3581518, constraintOperators#3581519, constraintValues#3581520, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, measurements#3581528, originalReplenishmentRunId#3581529L, optimizationGroups#3581530]
Arguments: hashpartitioning(worklistShardItemId#3581510L, 30), REPARTITION_BY_NUM, [plan_id=1029400]
(26) Project [codegen id : 4]
Output [36]: [worklistShardItemId#3581510L, orderProposalId#3581487L, orderProposalItemId#3581488, orderProposalItemGroupId#3581511, originalReplenishmentRunId#3581529L, splitIndicator#3581506L, previousOrderProposal#3581507L, sourceOfSupplyUuid#3581501, supplierGroup#3581489, supplier#3581490, subrange#3581493, product#3581496, plant#3581491, orderDateTime#3581497, deliveryDateTime#3581492, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, isFallbackOrderOnly#3581504, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, netPriceAmount#3581523, netPriceCurrencyCode#3581524, measurements#3581528, minimumOrderQuantity#3581517, constraintLabels#3581518, constraintOperators#3581519, constraintValues#3581520, logisticUnits#3581514, optimizationGroups#3581530, externalProductId#3581512, externalPlantId#3581513, supplyingPlant#3581494, productGroup#3581495]
Input [36]: [orderProposalId#3581487L, orderProposalItemId#3581488, supplierGroup#3581489, supplier#3581490, plant#3581491, deliveryDateTime#3581492, subrange#3581493, supplyingPlant#3581494, productGroup#3581495, product#3581496, orderDateTime#3581497, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, sourceOfSupplyUuid#3581501, isFallbackOrderOnly#3581504, splitIndicator#3581506L, previousOrderProposal#3581507L, worklistShardItemId#3581510L, orderProposalItemGroupId#3581511, externalProductId#3581512, externalPlantId#3581513, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, minimumOrderQuantity#3581517, constraintLabels#3581518, constraintOperators#3581519, constraintValues#3581520, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, measurements#3581528, originalReplenishmentRunId#3581529L, optimizationGroups#3581530]
(27) Sort [codegen id : 4]
Input [36]: [worklistShardItemId#3581510L, orderProposalId#3581487L, orderProposalItemId#3581488, orderProposalItemGroupId#3581511, originalReplenishmentRunId#3581529L, splitIndicator#3581506L, previousOrderProposal#3581507L, sourceOfSupplyUuid#3581501, supplierGroup#3581489, supplier#3581490, subrange#3581493, product#3581496, plant#3581491, orderDateTime#3581497, deliveryDateTime#3581492, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, isFallbackOrderOnly#3581504, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, netPriceAmount#3581523, netPriceCurrencyCode#3581524, measurements#3581528, minimumOrderQuantity#3581517, constraintLabels#3581518, constraintOperators#3581519, constraintValues#3581520, logisticUnits#3581514, optimizationGroups#3581530, externalProductId#3581512, externalPlantId#3581513, supplyingPlant#3581494, productGroup#3581495]
Arguments: [worklistShardItemId#3581510L ASC NULLS FIRST], false, 0
(28) SortMergeJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#3581119L]
Right keys [1]: [worklistShardItemId#3581510L]
Join type: LeftOuter
Join condition: (shardId#3579932 = 0_7_10000000532)
(29) Project [codegen id : 5]
Output [39]: [shardId#3579932, worklistShardItemId#3581119L, quantityAfterProdPlantOptimization#3581120, qty#3581121, orderProposalId#3581487L, originalReplenishmentRunId#3581529L, supplierGroup#3581489, supplier#3581490, supplyingPlant#3581494, productGroup#3581495, product#3581496, plant#3581491, subrange#3581493, orderDateTime#3581497, deliveryDateTime#3581492, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, constraintValues#3581520, constraintOperators#3581519, constraintLabels#3581518, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, splitIndicator#3581506L, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, sourceOfSupplyUuid#3581501, minimumOrderQuantity#3581517, orderProposalItemId#3581488, orderProposalItemGroupId#3581511, optimizationGroups#3581530, measurements#3581528, externalProductId#3581512, externalPlantId#3581513, previousOrderProposal#3581507L, isFallbackOrderOnly#3581504]
Input [40]: [shardId#3579932, worklistShardItemId#3581119L, quantityAfterProdPlantOptimization#3581120, qty#3581121, worklistShardItemId#3581510L, orderProposalId#3581487L, orderProposalItemId#3581488, orderProposalItemGroupId#3581511, originalReplenishmentRunId#3581529L, splitIndicator#3581506L, previousOrderProposal#3581507L, sourceOfSupplyUuid#3581501, supplierGroup#3581489, supplier#3581490, subrange#3581493, product#3581496, plant#3581491, orderDateTime#3581497, deliveryDateTime#3581492, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, isFallbackOrderOnly#3581504, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, netPriceAmount#3581523, netPriceCurrencyCode#3581524, measurements#3581528, minimumOrderQuantity#3581517, constraintLabels#3581518, constraintOperators#3581519, constraintValues#3581520, logisticUnits#3581514, optimizationGroups#3581530, externalProductId#3581512, externalPlantId#3581513, supplyingPlant#3581494, productGroup#3581495]
(30) Exchange
Input [39]: [shardId#3579932, worklistShardItemId#3581119L, quantityAfterProdPlantOptimization#3581120, qty#3581121, orderProposalId#3581487L, originalReplenishmentRunId#3581529L, supplierGroup#3581489, supplier#3581490, supplyingPlant#3581494, productGroup#3581495, product#3581496, plant#3581491, subrange#3581493, orderDateTime#3581497, deliveryDateTime#3581492, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, constraintValues#3581520, constraintOperators#3581519, constraintLabels#3581518, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, splitIndicator#3581506L, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, sourceOfSupplyUuid#3581501, minimumOrderQuantity#3581517, orderProposalItemId#3581488, orderProposalItemGroupId#3581511, optimizationGroups#3581530, measurements#3581528, externalProductId#3581512, externalPlantId#3581513, previousOrderProposal#3581507L, isFallbackOrderOnly#3581504]
Arguments: hashpartitioning(shardId#3579932, worklistShardItemId#3581119L, 30), ENSURE_REQUIREMENTS, [plan_id=1029409]
(31) Sort [codegen id : 6]
Input [39]: [shardId#3579932, worklistShardItemId#3581119L, quantityAfterProdPlantOptimization#3581120, qty#3581121, orderProposalId#3581487L, originalReplenishmentRunId#3581529L, supplierGroup#3581489, supplier#3581490, supplyingPlant#3581494, productGroup#3581495, product#3581496, plant#3581491, subrange#3581493, orderDateTime#3581497, deliveryDateTime#3581492, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, constraintValues#3581520, constraintOperators#3581519, constraintLabels#3581518, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, splitIndicator#3581506L, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, sourceOfSupplyUuid#3581501, minimumOrderQuantity#3581517, orderProposalItemId#3581488, orderProposalItemGroupId#3581511, optimizationGroups#3581530, measurements#3581528, externalProductId#3581512, externalPlantId#3581513, previousOrderProposal#3581507L, isFallbackOrderOnly#3581504]
Arguments: [shardId#3579932 ASC NULLS FIRST, worklistShardItemId#3581119L ASC NULLS FIRST], false, 0
(32) Scan ExistingRDD [codegen id : 7]
Output [6]: [shardId#3588651, worklistShardItemId#3588652L, qty#3588653, demandChannel#3588654, demandStream#3588655, kpis#3588656]
Arguments: [shardId#3588651, worklistShardItemId#3588652L, qty#3588653, demandChannel#3588654, demandStream#3588655, kpis#3588656], MapPartitionsRDD[152923] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(33) Filter [codegen id : 7]
Input [6]: [shardId#3588651, worklistShardItemId#3588652L, qty#3588653, demandChannel#3588654, demandStream#3588655, kpis#3588656]
Condition : (((isnull(qty#3588653) AND isnull(demandChannel#3588654)) AND isnull(demandStream#3588655)) AND (isnotnull(shardId#3588651) AND isnotnull(worklistShardItemId#3588652L)))
(34) Project [codegen id : 7]
Output [3]: [shardId#3588651, worklistShardItemId#3588652L, coalesce(kpis#3588656, []) AS prodLocSpecificKpis#3588657]
Input [6]: [shardId#3588651, worklistShardItemId#3588652L, qty#3588653, demandChannel#3588654, demandStream#3588655, kpis#3588656]
(35) Exchange
Input [3]: [shardId#3588651, worklistShardItemId#3588652L, prodLocSpecificKpis#3588657]
Arguments: hashpartitioning(shardId#3588651, worklistShardItemId#3588652L, 30), ENSURE_REQUIREMENTS, [plan_id=1029415]
(36) Sort [codegen id : 8]
Input [3]: [shardId#3588651, worklistShardItemId#3588652L, prodLocSpecificKpis#3588657]
Arguments: [shardId#3588651 ASC NULLS FIRST, worklistShardItemId#3588652L ASC NULLS FIRST], false, 0
(37) SortMergeJoin [codegen id : 9]
Left keys [2]: [shardId#3579932, worklistShardItemId#3581119L]
Right keys [2]: [shardId#3588651, worklistShardItemId#3588652L]
Join type: LeftOuter
Join condition: None
(38) Project [codegen id : 9]
Output [40]: [shardId#3579932, worklistShardItemId#3581119L, quantityAfterProdPlantOptimization#3581120, qty#3581121, orderProposalId#3581487L, originalReplenishmentRunId#3581529L, supplierGroup#3581489, supplier#3581490, supplyingPlant#3581494, productGroup#3581495, product#3581496, plant#3581491, subrange#3581493, orderDateTime#3581497, deliveryDateTime#3581492, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, constraintValues#3581520, constraintOperators#3581519, constraintLabels#3581518, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, splitIndicator#3581506L, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, sourceOfSupplyUuid#3581501, minimumOrderQuantity#3581517, orderProposalItemId#3581488, orderProposalItemGroupId#3581511, optimizationGroups#3581530, measurements#3581528, externalProductId#3581512, externalPlantId#3581513, previousOrderProposal#3581507L, isFallbackOrderOnly#3581504, coalesce(prodLocSpecificKpis#3588657, []) AS prodLocSpecificKpis#3588658]
Input [42]: [shardId#3579932, worklistShardItemId#3581119L, quantityAfterProdPlantOptimization#3581120, qty#3581121, orderProposalId#3581487L, originalReplenishmentRunId#3581529L, supplierGroup#3581489, supplier#3581490, supplyingPlant#3581494, productGroup#3581495, product#3581496, plant#3581491, subrange#3581493, orderDateTime#3581497, deliveryDateTime#3581492, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, constraintValues#3581520, constraintOperators#3581519, constraintLabels#3581518, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, splitIndicator#3581506L, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, sourceOfSupplyUuid#3581501, minimumOrderQuantity#3581517, orderProposalItemId#3581488, orderProposalItemGroupId#3581511, optimizationGroups#3581530, measurements#3581528, externalProductId#3581512, externalPlantId#3581513, previousOrderProposal#3581507L, isFallbackOrderOnly#3581504, shardId#3588651, worklistShardItemId#3588652L, prodLocSpecificKpis#3588657]
(39) Scan ExistingRDD [codegen id : 10]
Output [6]: [shardId#3588667, worklistShardItemId#3588668L, qty#3588669, demandChannel#3588670, demandStream#3588671, kpis#3588672]
Arguments: [shardId#3588667, worklistShardItemId#3588668L, qty#3588669, demandChannel#3588670, demandStream#3588671, kpis#3588672], MapPartitionsRDD[152923] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(40) Filter [codegen id : 10]
Input [6]: [shardId#3588667, worklistShardItemId#3588668L, qty#3588669, demandChannel#3588670, demandStream#3588671, kpis#3588672]
Condition : ((((isnull(qty#3588669) AND isnotnull(demandChannel#3588670)) AND isnotnull(demandStream#3588671)) AND (size(kpis#3588672, true) > 0)) AND (isnotnull(shardId#3588667) AND isnotnull(worklistShardItemId#3588668L)))
(41) Project [codegen id : 10]
Output [5]: [shardId#3588667, worklistShardItemId#3588668L, demandChannel#3588670, demandStream#3588671, kpis#3588672]
Input [6]: [shardId#3588667, worklistShardItemId#3588668L, qty#3588669, demandChannel#3588670, demandStream#3588671, kpis#3588672]
(42) ObjectHashAggregate
Input [5]: [shardId#3588667, worklistShardItemId#3588668L, demandChannel#3588670, demandStream#3588671, kpis#3588672]
Keys [2]: [shardId#3588667, worklistShardItemId#3588668L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#3588670, demandStream, demandStream#3588671, kpis, kpis#3588672), 0, 0)]
Aggregate Attributes [1]: [buf#3589971]
Results [3]: [shardId#3588667, worklistShardItemId#3588668L, buf#3589972]
(43) Exchange
Input [3]: [shardId#3588667, worklistShardItemId#3588668L, buf#3589972]
Arguments: hashpartitioning(shardId#3588667, worklistShardItemId#3588668L, 30), ENSURE_REQUIREMENTS, [plan_id=1029426]
(44) ObjectHashAggregate
Input [3]: [shardId#3588667, worklistShardItemId#3588668L, buf#3589972]
Keys [2]: [shardId#3588667, worklistShardItemId#3588668L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#3588670, demandStream, demandStream#3588671, kpis, kpis#3588672), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#3588670, demandStream, demandStream#3588671, kpis, kpis#3588672), 0, 0)#3588666]
Results [3]: [shardId#3588667, worklistShardItemId#3588668L, collect_list(struct(demandChannel, demandChannel#3588670, demandStream, demandStream#3588671, kpis, kpis#3588672), 0, 0)#3588666 AS channelStreamSpecificKpis#3588659]
(45) Sort [codegen id : 11]
Input [3]: [shardId#3588667, worklistShardItemId#3588668L, channelStreamSpecificKpis#3588659]
Arguments: [shardId#3588667 ASC NULLS FIRST, worklistShardItemId#3588668L ASC NULLS FIRST], false, 0
(46) SortMergeJoin [codegen id : 12]
Left keys [2]: [shardId#3579932, worklistShardItemId#3581119L]
Right keys [2]: [shardId#3588667, worklistShardItemId#3588668L]
Join type: LeftOuter
Join condition: None
(47) Project [codegen id : 12]
Output [41]: [shardId#3579932, worklistShardItemId#3581119L, quantityAfterProdPlantOptimization#3581120, qty#3581121, orderProposalId#3581487L, originalReplenishmentRunId#3581529L, supplierGroup#3581489, supplier#3581490, supplyingPlant#3581494, productGroup#3581495, product#3581496, plant#3581491, subrange#3581493, orderDateTime#3581497, deliveryDateTime#3581492, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, constraintValues#3581520, constraintOperators#3581519, constraintLabels#3581518, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, splitIndicator#3581506L, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, sourceOfSupplyUuid#3581501, minimumOrderQuantity#3581517, orderProposalItemId#3581488, orderProposalItemGroupId#3581511, optimizationGroups#3581530, measurements#3581528, externalProductId#3581512, externalPlantId#3581513, previousOrderProposal#3581507L, isFallbackOrderOnly#3581504, prodLocSpecificKpis#3588658, coalesce(channelStreamSpecificKpis#3588659, []) AS channelStreamSpecificKpis#3588673]
Input [43]: [shardId#3579932, worklistShardItemId#3581119L, quantityAfterProdPlantOptimization#3581120, qty#3581121, orderProposalId#3581487L, originalReplenishmentRunId#3581529L, supplierGroup#3581489, supplier#3581490, supplyingPlant#3581494, productGroup#3581495, product#3581496, plant#3581491, subrange#3581493, orderDateTime#3581497, deliveryDateTime#3581492, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, constraintValues#3581520, constraintOperators#3581519, constraintLabels#3581518, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, splitIndicator#3581506L, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, sourceOfSupplyUuid#3581501, minimumOrderQuantity#3581517, orderProposalItemId#3581488, orderProposalItemGroupId#3581511, optimizationGroups#3581530, measurements#3581528, externalProductId#3581512, externalPlantId#3581513, previousOrderProposal#3581507L, isFallbackOrderOnly#3581504, prodLocSpecificKpis#3588658, shardId#3588667, worklistShardItemId#3588668L, channelStreamSpecificKpis#3588659]
(48) Scan ExistingRDD [codegen id : 13]
Output [6]: [shardId#3588680, worklistShardItemId#3588681L, qty#3588682, demandChannel#3588683, demandStream#3588684, kpis#3588685]
Arguments: [shardId#3588680, worklistShardItemId#3588681L, qty#3588682, demandChannel#3588683, demandStream#3588684, kpis#3588685], MapPartitionsRDD[152923] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(49) Filter [codegen id : 13]
Input [6]: [shardId#3588680, worklistShardItemId#3588681L, qty#3588682, demandChannel#3588683, demandStream#3588684, kpis#3588685]
Condition : ((isnotnull(qty#3588682) AND isnotnull(kpis#3588685)) AND (isnotnull(shardId#3588680) AND isnotnull(worklistShardItemId#3588681L)))
(50) Project [codegen id : 13]
Output [4]: [shardId#3588680, worklistShardItemId#3588681L, qty#3588682, kpis#3588685]
Input [6]: [shardId#3588680, worklistShardItemId#3588681L, qty#3588682, demandChannel#3588683, demandStream#3588684, kpis#3588685]
(51) ObjectHashAggregate
Input [4]: [shardId#3588680, worklistShardItemId#3588681L, qty#3588682, kpis#3588685]
Keys [2]: [shardId#3588680, worklistShardItemId#3588681L]
Functions [1]: [partial_collect_list(struct(qty, qty#3588682, kpis, kpis#3588685), 0, 0)]
Aggregate Attributes [1]: [buf#3589973]
Results [3]: [shardId#3588680, worklistShardItemId#3588681L, buf#3589974]
(52) Exchange
Input [3]: [shardId#3588680, worklistShardItemId#3588681L, buf#3589974]
Arguments: hashpartitioning(shardId#3588680, worklistShardItemId#3588681L, 30), ENSURE_REQUIREMENTS, [plan_id=1029438]
(53) ObjectHashAggregate
Input [3]: [shardId#3588680, worklistShardItemId#3588681L, buf#3589974]
Keys [2]: [shardId#3588680, worklistShardItemId#3588681L]
Functions [1]: [collect_list(struct(qty, qty#3588682, kpis, kpis#3588685), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#3588682, kpis, kpis#3588685), 0, 0)#3588679]
Results [3]: [shardId#3588680, worklistShardItemId#3588681L, map_from_entries(collect_list(struct(qty, qty#3588682, kpis, kpis#3588685), 0, 0)#3588679) AS quantityKpis#3588674]
(54) Sort [codegen id : 14]
Input [3]: [shardId#3588680, worklistShardItemId#3588681L, quantityKpis#3588674]
Arguments: [shardId#3588680 ASC NULLS FIRST, worklistShardItemId#3588681L ASC NULLS FIRST], false, 0
(55) SortMergeJoin [codegen id : 15]
Left keys [2]: [shardId#3579932, worklistShardItemId#3581119L]
Right keys [2]: [shardId#3588680, worklistShardItemId#3588681L]
Join type: LeftOuter
Join condition: None
(56) Project [codegen id : 15]
Output [42]: [shardId#3579932, worklistShardItemId#3581119L, quantityAfterProdPlantOptimization#3581120, qty#3581121, orderProposalId#3581487L, originalReplenishmentRunId#3581529L, supplierGroup#3581489, supplier#3581490, supplyingPlant#3581494, productGroup#3581495, product#3581496, plant#3581491, subrange#3581493, orderDateTime#3581497, deliveryDateTime#3581492, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, constraintValues#3581520, constraintOperators#3581519, constraintLabels#3581518, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, splitIndicator#3581506L, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, sourceOfSupplyUuid#3581501, minimumOrderQuantity#3581517, orderProposalItemId#3581488, orderProposalItemGroupId#3581511, optimizationGroups#3581530, measurements#3581528, externalProductId#3581512, externalPlantId#3581513, previousOrderProposal#3581507L, isFallbackOrderOnly#3581504, prodLocSpecificKpis#3588658, channelStreamSpecificKpis#3588673, coalesce(quantityKpis#3588674, map(keys: [], values: [])) AS quantityKpis#3588686]
Input [44]: [shardId#3579932, worklistShardItemId#3581119L, quantityAfterProdPlantOptimization#3581120, qty#3581121, orderProposalId#3581487L, originalReplenishmentRunId#3581529L, supplierGroup#3581489, supplier#3581490, supplyingPlant#3581494, productGroup#3581495, product#3581496, plant#3581491, subrange#3581493, orderDateTime#3581497, deliveryDateTime#3581492, availabilityDateTime#3581498, nextAvailabilityDateTime#3581499, constraintValues#3581520, constraintOperators#3581519, constraintLabels#3581518, logisticUnits#3581514, orderQuantityBaseUom#3581515, orderQuantityBaseUomUuid#3581516, splitIndicator#3581506L, netPriceAmount#3581523, netPriceCurrencyCode#3581524, netPriceQuantity#3581525, netPriceQuantityUom#3581526, netPriceQuantityUomUuid#3581527, sourceOfSupplyUuid#3581501, minimumOrderQuantity#3581517, orderProposalItemId#3581488, orderProposalItemGroupId#3581511, optimizationGroups#3581530, measurements#3581528, externalProductId#3581512, externalPlantId#3581513, previousOrderProposal#3581507L, isFallbackOrderOnly#3581504, prodLocSpecificKpis#3588658, channelStreamSpecificKpis#3588673, shardId#3588680, worklistShardItemId#3588681L, quantityKpis#3588674]
(57) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#3581342, channelStreamSpecificKpis#3588673, constraintLabels#3581354, constraintOperators#3581355, constraintValues#3581357, deliveryDateTime#3581341, isFallbackOrderOnly#3581344, logisticUnits#3581359, measurements#3581352, minimumOrderQuantity#3581353, netPriceAmount#3581350, netPriceCurrencyCode#3581351, netPriceQuantity#3581347, netPriceQuantityUom#3581348, netPriceQuantityUomUuid#3581349, nextAvailabilityDateTime#3581343, optimizationGroups#3581360, orderDateTime#3581340, orderProposalId#3581322L, orderProposalItemGroupId#3581324, orderProposalItemId#3581323, orderQuantityBaseUom#3581345, orderQuantityBaseUomUuid#3581346, originalReplenishmentRunId#3581325L, plant#3581336, previousOrderProposal#3581328L, prodLocSpecificKpis#3588658, product#3581335, productGroup#3581364, qty#3581121, quantityAfterProdPlantOptimization#3581120, quantityKpis#3588686, shardId#3579932, sourceOfSupplyUuid#3581331, splitIndicator#3581327L, subrange#3581334, supplier#3581333, supplierGroup#3581332, supplyingPlant#3581363]
Condition : NOT (isFallbackOrderOnly#3581344 <=> true)
(58) Project [codegen id : 1]
Output [36]: [shardId#3579932, quantityAfterProdPlantOptimization#3581120, qty#3581121, orderProposalId#3581322L, originalReplenishmentRunId#3581325L, supplierGroup#3581332, supplier#3581333, supplyingPlant#3581363, productGroup#3581364, product#3581335, plant#3581336, subrange#3581334, orderDateTime#3581340, deliveryDateTime#3581341, availabilityDateTime#3581342, nextAvailabilityDateTime#3581343, logisticUnits#3581359, orderQuantityBaseUom#3581345, orderQuantityBaseUomUuid#3581346, splitIndicator#3581327L, netPriceAmount#3581350, netPriceCurrencyCode#3581351, netPriceQuantity#3581347, netPriceQuantityUom#3581348, netPriceQuantityUomUuid#3581349, sourceOfSupplyUuid#3581331, minimumOrderQuantity#3581353, orderProposalItemId#3581323, orderProposalItemGroupId#3581324, optimizationGroups#3581360, measurements#3581352, previousOrderProposal#3581328L, prodLocSpecificKpis#3588658, channelStreamSpecificKpis#3588673, quantityKpis#3588686, arrays_zip(constraintLabels#3581354, constraintOperators#3581355, constraintValues#3581357, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#3590224]
Input [39]: [availabilityDateTime#3581342, channelStreamSpecificKpis#3588673, constraintLabels#3581354, constraintOperators#3581355, constraintValues#3581357, deliveryDateTime#3581341, isFallbackOrderOnly#3581344, logisticUnits#3581359, measurements#3581352, minimumOrderQuantity#3581353, netPriceAmount#3581350, netPriceCurrencyCode#3581351, netPriceQuantity#3581347, netPriceQuantityUom#3581348, netPriceQuantityUomUuid#3581349, nextAvailabilityDateTime#3581343, optimizationGroups#3581360, orderDateTime#3581340, orderProposalId#3581322L, orderProposalItemGroupId#3581324, orderProposalItemId#3581323, orderQuantityBaseUom#3581345, orderQuantityBaseUomUuid#3581346, originalReplenishmentRunId#3581325L, plant#3581336, previousOrderProposal#3581328L, prodLocSpecificKpis#3588658, product#3581335, productGroup#3581364, qty#3581121, quantityAfterProdPlantOptimization#3581120, quantityKpis#3588686, shardId#3579932, sourceOfSupplyUuid#3581331, splitIndicator#3581327L, subrange#3581334, supplier#3581333, supplierGroup#3581332, supplyingPlant#3581363]
(59) Project
Output [37]: [shardId#3579932, qty#3581121, orderProposalId#3581322L, originalReplenishmentRunId#3581325L, supplierGroup#3581332, supplier#3581333, supplyingPlant#3581363, productGroup#3581364, product#3581335, plant#3581336, subrange#3581334, orderDateTime#3581340, deliveryDateTime#3581341, availabilityDateTime#3581342, nextAvailabilityDateTime#3581343, logisticUnits#3581359, orderQuantityBaseUom#3581345, orderQuantityBaseUomUuid#3581346, splitIndicator#3581327L, netPriceAmount#3581350, netPriceCurrencyCode#3581351, netPriceQuantity#3581347, netPriceQuantityUom#3581348, netPriceQuantityUomUuid#3581349, sourceOfSupplyUuid#3581331, orderProposalItemId#3581323, orderProposalItemGroupId#3581324, optimizationGroups#3581360, measurements#3581352, previousOrderProposal#3581328L, prodLocSpecificKpis#3588658, channelStreamSpecificKpis#3588673, quantityKpis#3588686, struct(minServiceLevel, array_min(filter(constraintStructArray#3590224, lambdafunction((lambda x_11941#3590231.constraintLabels = ServiceLevel), lambda x_11941#3590231, false)).constraintValues), minServiceLevelMinStock, array_min(filter(constraintStructArray#3590224, lambdafunction((lambda x_11942#3590232.constraintLabels = ServiceLevelMinimumStock), lambda x_11942#3590232, false)).constraintValues), maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#3590224, lambdafunction((lambda x_11943#3590233.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_11943#3590233, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#3590224, lambdafunction((lambda x_11944#3590234.constraintLabels = RangeOfCoverage), lambda x_11944#3590234, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#3581353, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#3588658, lambdafunction((lambda x_11945#3590235.label = NonListingStartTimestamp), lambda x_11945#3590235, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#3590230, CASE WHEN (qty#3581121 <=> quantityAfterProdPlantOptimization#3581120) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#3581121 * (cast(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11946#3590303.isOrderUnit, lambda x_11946#3590303, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11946#3590304.isOrderUnit, lambda x_11946#3590304, false)), 1, None, false).numerator as double))), qty#3581121), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11946#3590305.isOrderUnit, lambda x_11946#3590305, false)), 1, None, false).uom, orderQuantityBaseUom#3581345), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11946#3590306.isOrderUnit, lambda x_11946#3590306, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3581346), candidateOrderQuantityInBaseUnit, qty#3581121, orderQuantityBaseUom, orderQuantityBaseUom#3581345, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3581346, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3581359, lambdafunction((lambda x_11948#3590307.isPreferred AND (((qty#3581121 * cast(lambda x_11948#3590307.denominator as double)) % cast(lambda x_11948#3590307.numerator as double)) = 0.0)), lambda x_11948#3590307, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3581121 * cast(lambda x_11949#3590348.denominator as double)) / cast(lambda x_11949#3590348.numerator as double)), uom, lambda x_11949#3590348.uom, uomUuid, lambda x_11949#3590348.uomUuid), lambda x_11949#3590348, false))).inPreferredQuantity, coalesce((qty#3581121 * (cast(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11947#3590308.isOrderUnit, lambda x_11947#3590308, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11947#3590309.isOrderUnit, lambda x_11947#3590309, false)), 1, None, false).numerator as double))), qty#3581121)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3581359, lambdafunction((lambda x_11948#3590310.isPreferred AND (((qty#3581121 * cast(lambda x_11948#3590310.denominator as double)) % cast(lambda x_11948#3590310.numerator as double)) = 0.0)), lambda x_11948#3590310, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3581121 * cast(lambda x_11949#3590349.denominator as double)) / cast(lambda x_11949#3590349.numerator as double)), uom, lambda x_11949#3590349.uom, uomUuid, lambda x_11949#3590349.uomUuid), lambda x_11949#3590349, false))).uom, coalesce(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11947#3590311.isOrderUnit, lambda x_11947#3590311, false)), 1, None, false).uom, orderQuantityBaseUom#3581345)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3581359, lambdafunction((lambda x_11948#3590312.isPreferred AND (((qty#3581121 * cast(lambda x_11948#3590312.denominator as double)) % cast(lambda x_11948#3590312.numerator as double)) = 0.0)), lambda x_11948#3590312, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3581121 * cast(lambda x_11949#3590350.denominator as double)) / cast(lambda x_11949#3590350.numerator as double)), uom, lambda x_11949#3590350.uom, uomUuid, lambda x_11949#3590350.uomUuid), lambda x_11949#3590350, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11947#3590313.isOrderUnit, lambda x_11947#3590313, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3581346)), serviceLevel, coalesce(filter(element_at(quantityKpis#3588686, qty#3581121, None, false), lambdafunction((lambda x_11954#3590314.label = ServiceLevel), lambda x_11954#3590314, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#3581121 * (cast(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11946#3590318.isOrderUnit, lambda x_11946#3590318, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11946#3590319.isOrderUnit, lambda x_11946#3590319, false)), 1, None, false).numerator as double))), qty#3581121), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11946#3590320.isOrderUnit, lambda x_11946#3590320, false)), 1, None, false).uom, orderQuantityBaseUom#3581345), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11946#3590321.isOrderUnit, lambda x_11946#3590321, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3581346), candidateOrderQuantityInBaseUnit, qty#3581121, orderQuantityBaseUom, orderQuantityBaseUom#3581345, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3581346, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3581359, lambdafunction((lambda x_11948#3590322.isPreferred AND (((qty#3581121 * cast(lambda x_11948#3590322.denominator as double)) % cast(lambda x_11948#3590322.numerator as double)) = 0.0)), lambda x_11948#3590322, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3581121 * cast(lambda x_11949#3590351.denominator as double)) / cast(lambda x_11949#3590351.numerator as double)), uom, lambda x_11949#3590351.uom, uomUuid, lambda x_11949#3590351.uomUuid), lambda x_11949#3590351, false))).inPreferredQuantity, coalesce((qty#3581121 * (cast(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11947#3590323.isOrderUnit, lambda x_11947#3590323, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11947#3590324.isOrderUnit, lambda x_11947#3590324, false)), 1, None, false).numerator as double))), qty#3581121)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3581359, lambdafunction((lambda x_11948#3590325.isPreferred AND (((qty#3581121 * cast(lambda x_11948#3590325.denominator as double)) % cast(lambda x_11948#3590325.numerator as double)) = 0.0)), lambda x_11948#3590325, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3581121 * cast(lambda x_11949#3590352.denominator as double)) / cast(lambda x_11949#3590352.numerator as double)), uom, lambda x_11949#3590352.uom, uomUuid, lambda x_11949#3590352.uomUuid), lambda x_11949#3590352, false))).uom, coalesce(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11947#3590326.isOrderUnit, lambda x_11947#3590326, false)), 1, None, false).uom, orderQuantityBaseUom#3581345)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3581359, lambdafunction((lambda x_11948#3590327.isPreferred AND (((qty#3581121 * cast(lambda x_11948#3590327.denominator as double)) % cast(lambda x_11948#3590327.numerator as double)) = 0.0)), lambda x_11948#3590327, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3581121 * cast(lambda x_11949#3590353.denominator as double)) / cast(lambda x_11949#3590353.numerator as double)), uom, lambda x_11949#3590353.uom, uomUuid, lambda x_11949#3590353.uomUuid), lambda x_11949#3590353, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11947#3590328.isOrderUnit, lambda x_11947#3590328, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3581346)), serviceLevel, coalesce(filter(element_at(quantityKpis#3588686, qty#3581121, None, false), lambdafunction((lambda x_11958#3590329.label = ServiceLevel), lambda x_11958#3590329, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#3581120 * (cast(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11950#3590333.isOrderUnit, lambda x_11950#3590333, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11950#3590334.isOrderUnit, lambda x_11950#3590334, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#3581120), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11950#3590335.isOrderUnit, lambda x_11950#3590335, false)), 1, None, false).uom, orderQuantityBaseUom#3581345), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11950#3590336.isOrderUnit, lambda x_11950#3590336, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3581346), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#3581120, orderQuantityBaseUom, orderQuantityBaseUom#3581345, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3581346, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3581359, lambdafunction((lambda x_11952#3590337.isPreferred AND (((quantityAfterProdPlantOptimization#3581120 * cast(lambda x_11952#3590337.denominator as double)) % cast(lambda x_11952#3590337.numerator as double)) = 0.0)), lambda x_11952#3590337, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3581120 * cast(lambda x_11953#3590354.denominator as double)) / cast(lambda x_11953#3590354.numerator as double)), uom, lambda x_11953#3590354.uom, uomUuid, lambda x_11953#3590354.uomUuid), lambda x_11953#3590354, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#3581120 * (cast(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11951#3590338.isOrderUnit, lambda x_11951#3590338, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11951#3590339.isOrderUnit, lambda x_11951#3590339, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#3581120)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3581359, lambdafunction((lambda x_11952#3590340.isPreferred AND (((quantityAfterProdPlantOptimization#3581120 * cast(lambda x_11952#3590340.denominator as double)) % cast(lambda x_11952#3590340.numerator as double)) = 0.0)), lambda x_11952#3590340, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3581120 * cast(lambda x_11953#3590355.denominator as double)) / cast(lambda x_11953#3590355.numerator as double)), uom, lambda x_11953#3590355.uom, uomUuid, lambda x_11953#3590355.uomUuid), lambda x_11953#3590355, false))).uom, coalesce(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11951#3590341.isOrderUnit, lambda x_11951#3590341, false)), 1, None, false).uom, orderQuantityBaseUom#3581345)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3581359, lambdafunction((lambda x_11952#3590342.isPreferred AND (((quantityAfterProdPlantOptimization#3581120 * cast(lambda x_11952#3590342.denominator as double)) % cast(lambda x_11952#3590342.numerator as double)) = 0.0)), lambda x_11952#3590342, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3581120 * cast(lambda x_11953#3590356.denominator as double)) / cast(lambda x_11953#3590356.numerator as double)), uom, lambda x_11953#3590356.uom, uomUuid, lambda x_11953#3590356.uomUuid), lambda x_11953#3590356, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11951#3590343.isOrderUnit, lambda x_11951#3590343, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3581346)), serviceLevel, coalesce(filter(element_at(quantityKpis#3588686, quantityAfterProdPlantOptimization#3581120, None, false), lambdafunction((lambda x_11962#3590344.label = ServiceLevel), lambda x_11962#3590344, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#3590302, coalesce(filter(prodLocSpecificKpis#3588658, lambdafunction((lambda x_11966#3590358.label = InitialStockQty), lambda x_11966#3590358, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#3590357, coalesce(filter(prodLocSpecificKpis#3588658, lambdafunction((lambda x_11967#3590360.label = DemandPeriodEndTimestamp), lambda x_11967#3590360, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#3590359]
Input [36]: [shardId#3579932, quantityAfterProdPlantOptimization#3581120, qty#3581121, orderProposalId#3581322L, originalReplenishmentRunId#3581325L, supplierGroup#3581332, supplier#3581333, supplyingPlant#3581363, productGroup#3581364, product#3581335, plant#3581336, subrange#3581334, orderDateTime#3581340, deliveryDateTime#3581341, availabilityDateTime#3581342, nextAvailabilityDateTime#3581343, logisticUnits#3581359, orderQuantityBaseUom#3581345, orderQuantityBaseUomUuid#3581346, splitIndicator#3581327L, netPriceAmount#3581350, netPriceCurrencyCode#3581351, netPriceQuantity#3581347, netPriceQuantityUom#3581348, netPriceQuantityUomUuid#3581349, sourceOfSupplyUuid#3581331, minimumOrderQuantity#3581353, orderProposalItemId#3581323, orderProposalItemGroupId#3581324, optimizationGroups#3581360, measurements#3581352, previousOrderProposal#3581328L, prodLocSpecificKpis#3588658, channelStreamSpecificKpis#3588673, quantityKpis#3588686, constraintStructArray#3590224]
(60) Project
Output [21]: [shardId#3579932, qty#3581121, orderProposalId#3581322L, originalReplenishmentRunId#3581325L, supplierGroup#3581332, supplier#3581333, supplyingPlant#3581363, productGroup#3581364, product#3581335, plant#3581336, subrange#3581334, orderDateTime#3581340, deliveryDateTime#3581341, logisticUnits#3581359, orderQuantityBaseUom#3581345, orderQuantityBaseUomUuid#3581346, splitIndicator#3581327L, orderProposalItemId#3581323, orderProposalItemGroupId#3581324, previousOrderProposal#3581328L, struct(itemId, orderProposalItemId#3581323, itemGroupId, orderProposalItemGroupId#3581324, supplier, supplier#3581333, supplyingPlant, supplyingPlant#3581363, productGroup, productGroup#3581364, product, product#3581335, plant, plant#3581336, supplierSubRange, subrange#3581334, sourceOfSupplyUuid, sourceOfSupplyUuid#3581331, deliveryDateTime, deliveryDateTime#3581341, unitPrice, netPriceAmount#3581350, unitPriceCurrency, netPriceCurrencyCode#3581351, unitPriceQuantity, ... 37 more fields) AS parentItem#3590433]
Input [37]: [shardId#3579932, qty#3581121, orderProposalId#3581322L, originalReplenishmentRunId#3581325L, supplierGroup#3581332, supplier#3581333, supplyingPlant#3581363, productGroup#3581364, product#3581335, plant#3581336, subrange#3581334, orderDateTime#3581340, deliveryDateTime#3581341, availabilityDateTime#3581342, nextAvailabilityDateTime#3581343, logisticUnits#3581359, orderQuantityBaseUom#3581345, orderQuantityBaseUomUuid#3581346, splitIndicator#3581327L, netPriceAmount#3581350, netPriceCurrencyCode#3581351, netPriceQuantity#3581347, netPriceQuantityUom#3581348, netPriceQuantityUomUuid#3581349, sourceOfSupplyUuid#3581331, orderProposalItemId#3581323, orderProposalItemGroupId#3581324, optimizationGroups#3581360, measurements#3581352, previousOrderProposal#3581328L, prodLocSpecificKpis#3588658, channelStreamSpecificKpis#3588673, quantityKpis#3588686, constraintBenchmark#3590230, calculationAnalysis#3590302, inventoryDateTime#3590357, demandPeriodEndDateTime#3590359]
(61) Project
Output [12]: [shardId#3579932, orderProposalId#3581322L, originalReplenishmentRunId#3581325L, supplierGroup#3581332, supplier#3581333, supplyingPlant#3581363, orderDateTime#3581340, splitIndicator#3581327L, orderProposalItemGroupId#3581324, previousOrderProposal#3581328L, parentItem#3590433, struct(itemId, orderProposalItemId#3581323, supplier, supplier#3581333, supplyingPlant, supplyingPlant#3581363, productGroup, productGroup#3581364, product, product#3581335, plant, plant#3581336, supplierSubRange, subrange#3581334, deliveryDateTime, deliveryDateTime#3581341, orderQuantity, coalesce((qty#3581121 * (cast(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11991#3590467.isOrderUnit, lambda x_11991#3590467, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11991#3590468.isOrderUnit, lambda x_11991#3590468, false)), 1, None, false).numerator as double))), qty#3581121), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11991#3590469.isOrderUnit, lambda x_11991#3590469, false)), 1, None, false).uom, orderQuantityBaseUom#3581345), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3581359, lambdafunction(lambda x_11991#3590470.isOrderUnit, lambda x_11991#3590470, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3581346), orderQuantityInBaseUnit, qty#3581121, orderQuantityBaseUom, ... 13 more fields) AS item#3590464]
Input [21]: [shardId#3579932, qty#3581121, orderProposalId#3581322L, originalReplenishmentRunId#3581325L, supplierGroup#3581332, supplier#3581333, supplyingPlant#3581363, productGroup#3581364, product#3581335, plant#3581336, subrange#3581334, orderDateTime#3581340, deliveryDateTime#3581341, logisticUnits#3581359, orderQuantityBaseUom#3581345, orderQuantityBaseUomUuid#3581346, splitIndicator#3581327L, orderProposalItemId#3581323, orderProposalItemGroupId#3581324, previousOrderProposal#3581328L, parentItem#3590433]
(62) ObjectHashAggregate
Input [12]: [shardId#3579932, orderProposalId#3581322L, originalReplenishmentRunId#3581325L, supplierGroup#3581332, supplier#3581333, supplyingPlant#3581363, orderDateTime#3581340, splitIndicator#3581327L, orderProposalItemGroupId#3581324, previousOrderProposal#3581328L, parentItem#3590433, item#3590464]
Keys [4]: [shardId#3579932, orderProposalId#3581322L, splitIndicator#3581327L, orderProposalItemGroupId#3581324]
Functions [8]: [partial_max(originalReplenishmentRunId#3581325L), partial_max(supplierGroup#3581332), partial_max(supplier#3581333), partial_max(supplyingPlant#3581363), partial_max(orderDateTime#3581340), partial_collect_list(parentItem#3590433, 0, 0), partial_collect_set(previousOrderProposal#3581328L, 0, 0), partial_collect_list(item#3590464, 0, 0)]
Aggregate Attributes [8]: [max#3591718L, max#3591719, max#3591720, max#3591721, max#3591722, buf#3591723, buf#3591724, buf#3591725]
Results [12]: [shardId#3579932, orderProposalId#3581322L, splitIndicator#3581327L, orderProposalItemGroupId#3581324, max#3591726L, max#3591727, max#3591728, max#3591729, max#3591730, buf#3591731, buf#3591732, buf#3591733]
(63) Exchange
Input [12]: [shardId#3579932, orderProposalId#3581322L, splitIndicator#3581327L, orderProposalItemGroupId#3581324, max#3591726L, max#3591727, max#3591728, max#3591729, max#3591730, buf#3591731, buf#3591732, buf#3591733]
Arguments: hashpartitioning(shardId#3579932, orderProposalId#3581322L, splitIndicator#3581327L, orderProposalItemGroupId#3581324, 30), ENSURE_REQUIREMENTS, [plan_id=1029703]
(64) ObjectHashAggregate
Input [12]: [shardId#3579932, orderProposalId#3581322L, splitIndicator#3581327L, orderProposalItemGroupId#3581324, max#3591726L, max#3591727, max#3591728, max#3591729, max#3591730, buf#3591731, buf#3591732, buf#3591733]
Keys [4]: [shardId#3579932, orderProposalId#3581322L, splitIndicator#3581327L, orderProposalItemGroupId#3581324]
Functions [8]: [max(originalReplenishmentRunId#3581325L), max(supplierGroup#3581332), max(supplier#3581333), max(supplyingPlant#3581363), max(orderDateTime#3581340), collect_list(parentItem#3590433, 0, 0), collect_set(previousOrderProposal#3581328L, 0, 0), collect_list(item#3590464, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#3581325L)#3590533L, max(supplierGroup#3581332)#3590534, max(supplier#3581333)#3590535, max(supplyingPlant#3581363)#3590536, max(orderDateTime#3581340)#3590537, collect_list(parentItem#3590433, 0, 0)#3590538, collect_set(previousOrderProposal#3581328L, 0, 0)#3590540, collect_list(item#3590464, 0, 0)#3590539]
Results [10]: [shardId#3579932, orderProposalId#3581322L, max(originalReplenishmentRunId#3581325L)#3590533L AS originalReplenishmentRunId#3590481L, max(supplierGroup#3581332)#3590534 AS supplierGroup#3590482, max(supplier#3581333)#3590535 AS supplier#3590483, max(supplyingPlant#3581363)#3590536 AS supplyingPlant#3590484, max(orderDateTime#3581340)#3590537 AS orderDateTime#3590485, collect_list(parentItem#3590433, 0, 0)#3590538 AS parentItems#3590486, collect_set(previousOrderProposal#3581328L, 0, 0)#3590540 AS previousOrderProposals#3590488, struct(itemGroupId, orderProposalItemGroupId#3581324, items, collect_list(item#3590464, 0, 0)#3590539) AS itemGroup#3590542]
(65) ObjectHashAggregate
Input [10]: [shardId#3579932, orderProposalId#3581322L, originalReplenishmentRunId#3590481L, supplierGroup#3590482, supplier#3590483, supplyingPlant#3590484, orderDateTime#3590485, parentItems#3590486, previousOrderProposals#3590488, itemGroup#3590542]
Keys [2]: [shardId#3579932, orderProposalId#3581322L]
Functions [8]: [partial_max(originalReplenishmentRunId#3590481L), partial_max(supplierGroup#3590482), partial_max(supplier#3590483), partial_max(supplyingPlant#3590484), partial_max(orderDateTime#3590485), partial_collect_list(itemGroup#3590542, 0, 0), partial_collect_list(parentItems#3590486, 0, 0), partial_collect_set(previousOrderProposals#3590488, 0, 0)]
Aggregate Attributes [8]: [max#3591702L, max#3591703, max#3591704, max#3591705, max#3591706, buf#3591707, buf#3591708, buf#3591709]
Results [10]: [shardId#3579932, orderProposalId#3581322L, max#3591710L, max#3591711, max#3591712, max#3591713, max#3591714, buf#3591715, buf#3591716, buf#3591717]
(66) Exchange
Input [10]: [shardId#3579932, orderProposalId#3581322L, max#3591710L, max#3591711, max#3591712, max#3591713, max#3591714, buf#3591715, buf#3591716, buf#3591717]
Arguments: hashpartitioning(shardId#3579932, orderProposalId#3581322L, 30), ENSURE_REQUIREMENTS, [plan_id=1029706]
(67) ObjectHashAggregate
Input [10]: [shardId#3579932, orderProposalId#3581322L, max#3591710L, max#3591711, max#3591712, max#3591713, max#3591714, buf#3591715, buf#3591716, buf#3591717]
Keys [2]: [shardId#3579932, orderProposalId#3581322L]
Functions [8]: [max(originalReplenishmentRunId#3590481L), max(supplierGroup#3590482), max(supplier#3590483), max(supplyingPlant#3590484), max(orderDateTime#3590485), collect_list(itemGroup#3590542, 0, 0), collect_list(parentItems#3590486, 0, 0), collect_set(previousOrderProposals#3590488, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#3590481L)#3590564L, max(supplierGroup#3590482)#3590565, max(supplier#3590483)#3590566, max(supplyingPlant#3590484)#3590567, max(orderDateTime#3590485)#3590568, collect_list(itemGroup#3590542, 0, 0)#3590569, collect_list(parentItems#3590486, 0, 0)#3590570, collect_set(previousOrderProposals#3590488, 0, 0)#3590571]
Results [10]: [shardId#3579932, orderProposalId#3581322L, max(originalReplenishmentRunId#3590481L)#3590564L AS originalReplenishmentRunId#3590543L, max(supplierGroup#3590482)#3590565 AS supplierGroup#3590544, max(supplier#3590483)#3590566 AS supplier#3590545, max(supplyingPlant#3590484)#3590567 AS supplyingPlant#3590546, max(orderDateTime#3590485)#3590568 AS orderDateTime#3590547, collect_list(itemGroup#3590542, 0, 0)#3590569 AS itemGroups#3590548, flatten(collect_list(parentItems#3590486, 0, 0)#3590570) AS parentItems#3590549, flatten(collect_set(previousOrderProposals#3590488, 0, 0)#3590571) AS previousOrderProposals#3590550]
(68) Project
Output [2]: [shardId#3579932, struct(orderProposalId, orderProposalId#3581322L, originalReplenishmentRunId, originalReplenishmentRunId#3590543L, supplierGroup, supplierGroup#3590544, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#3590544) THEN supplier#3590545 END, supplyingPlant, supplyingPlant#3590546, orderDateTime, orderDateTime#3590547, itemGroups, itemGroups#3590548, previousOrderProposals, array_distinct(previousOrderProposals#3590550), parentItems, parentItems#3590549) AS orderProposal#3590575]
Input [10]: [shardId#3579932, orderProposalId#3581322L, originalReplenishmentRunId#3590543L, supplierGroup#3590544, supplier#3590545, supplyingPlant#3590546, orderDateTime#3590547, itemGroups#3590548, parentItems#3590549, previousOrderProposals#3590550]
(69) Project
Output [11]: [shardId#3579932, orderProposal#3590575.orderProposalId AS _extract_orderProposalId#3591334L, orderProposal#3590575.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#3591335L, orderProposal#3590575.supplierGroup AS _extract_supplierGroup#3591336, orderProposal#3590575.supplier AS _extract_supplier#3591337, orderProposal#3590575.supplyingPlant AS _extract_supplyingPlant#3591338, orderProposal#3590575.orderDateTime AS _extract_orderDateTime#3591339, orderProposal#3590575.itemGroups AS _extract_itemGroups#3591340, orderProposal#3590575.previousOrderProposals AS _extract_previousOrderProposals#3591341, orderProposal#3590575.parentItems AS _extract_parentItems#3591342, orderProposal#3590575.orderProposalId AS _extract_orderProposalId#3591343L]
Input [2]: [shardId#3579932, orderProposal#3590575]
(70) Exchange
Input [11]: [shardId#3579932, _extract_orderProposalId#3591334L, _extract_originalReplenishmentRunId#3591335L, _extract_supplierGroup#3591336, _extract_supplier#3591337, _extract_supplyingPlant#3591338, _extract_orderDateTime#3591339, _extract_itemGroups#3591340, _extract_previousOrderProposals#3591341, _extract_parentItems#3591342, _extract_orderProposalId#3591343L]
Arguments: hashpartitioning(coalesce(shardId#3579932, ), isnull(shardId#3579932), coalesce(_extract_orderProposalId#3591343L, 0), isnull(_extract_orderProposalId#3591343L), 30), ENSURE_REQUIREMENTS, [plan_id=1029710]
(71) Sort
Input [11]: [shardId#3579932, _extract_orderProposalId#3591334L, _extract_originalReplenishmentRunId#3591335L, _extract_supplierGroup#3591336, _extract_supplier#3591337, _extract_supplyingPlant#3591338, _extract_orderDateTime#3591339, _extract_itemGroups#3591340, _extract_previousOrderProposals#3591341, _extract_parentItems#3591342, _extract_orderProposalId#3591343L]
Arguments: [coalesce(shardId#3579932, ) ASC NULLS FIRST, isnull(shardId#3579932) ASC NULLS FIRST, coalesce(_extract_orderProposalId#3591343L, 0) ASC NULLS FIRST, isnull(_extract_orderProposalId#3591343L) ASC NULLS FIRST], false, 0
(72) InMemoryTableScan
Output [3]: [shardId#3590590, orderProposalId#3590591L, optimizationGroups#3590593]
Arguments: [shardId#3590590, orderProposalId#3590591L, optimizationGroups#3590593], [isnotnull(orderProposalId#3590591L)]
(73) InMemoryRelation
Arguments: [shardId#3590590, orderProposalId#3590591L, items#3590592, optimizationGroups#3590593, isOptimal#3590594, optimizationInsights#3590596], StorageLevel(disk, memory, 2 replicas)
(74) Filter [codegen id : 2]
Input [3]: [shardId#3590590, orderProposalId#3590591L, optimizationGroups#3590593]
Condition : isnotnull(orderProposalId#3590591L)
(75) Exchange
Input [3]: [shardId#3590590, orderProposalId#3590591L, optimizationGroups#3590593]
Arguments: hashpartitioning(orderProposalId#3590591L, 30), ENSURE_REQUIREMENTS, [plan_id=1029715]
(76) Sort [codegen id : 3]
Input [3]: [shardId#3590590, orderProposalId#3590591L, optimizationGroups#3590593]
Arguments: [orderProposalId#3590591L ASC NULLS FIRST], false, 0
(77) InMemoryTableScan
Output [2]: [items#3590219, shardId#3590217]
Arguments: [items#3590219, shardId#3590217], [(size(items#3590219.worklistShardItemId, true) > 0), isnotnull(items#3590219.worklistShardItemId), (shardId#3590217 = 0_7_10000000532)]
(78) InMemoryRelation
Arguments: [shardId#3590217, orderProposalId#3590218L, items#3590219, optimizationGroups#3590220, isOptimal#3590221, optimizationInsights#3590223], StorageLevel(disk, memory, 2 replicas)
(79) Filter [codegen id : 4]
Input [2]: [items#3590219, shardId#3590217]
Condition : (((size(items#3590219.worklistShardItemId, true) > 0) AND isnotnull(items#3590219.worklistShardItemId)) AND (shardId#3590217 = 0_7_10000000532))
(80) Project [codegen id : 4]
Output [1]: [items#3590219.worklistShardItemId AS _extract_worklistShardItemId#3591238]
Input [2]: [items#3590219, shardId#3590217]
(81) Generate [codegen id : 4]
Input [1]: [_extract_worklistShardItemId#3591238]
Arguments: explode(_extract_worklistShardItemId#3591238), false, [item#3590597L]
(82) Project [codegen id : 4]
Output [1]: [item#3590597L AS worklistShardItemId#3590598L]
Input [1]: [item#3590597L]
(83) BroadcastExchange
Input [1]: [worklistShardItemId#3590598L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=1029726]
(84) Scan parquet
Output [5]: [orderProposalId#3590646L, isFallbackOrderOnly#3590663, worklistShardItemId#3590669L, shardId#3590690, sequenceId#3590668]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000000532]
PartitionFilters: [isnotnull(shardId#3590690), isnotnull(sequenceId#3590668), (shardId#3590690 = 0_7_10000000532), (sequenceId#3590668 = 6)]
PushedFilters: [IsNotNull(worklistShardItemId), Not(EqualNullSafe(isFallbackOrderOnly,true)), IsNotNull(orderProposalId)]
ReadSchema: struct<orderProposalId:bigint,isFallbackOrderOnly:boolean,worklistShardItemId:bigint>
(85) ColumnarToRow [codegen id : 5]
Input [5]: [orderProposalId#3590646L, isFallbackOrderOnly#3590663, worklistShardItemId#3590669L, shardId#3590690, sequenceId#3590668]
(86) Filter [codegen id : 5]
Input [5]: [orderProposalId#3590646L, isFallbackOrderOnly#3590663, worklistShardItemId#3590669L, shardId#3590690, sequenceId#3590668]
Condition : ((isnotnull(worklistShardItemId#3590669L) AND NOT (isFallbackOrderOnly#3590663 <=> true)) AND isnotnull(orderProposalId#3590646L))
(87) Project [codegen id : 5]
Output [2]: [orderProposalId#3590646L, worklistShardItemId#3590669L]
Input [5]: [orderProposalId#3590646L, isFallbackOrderOnly#3590663, worklistShardItemId#3590669L, shardId#3590690, sequenceId#3590668]
(88) Exchange
Input [2]: [orderProposalId#3590646L, worklistShardItemId#3590669L]
Arguments: hashpartitioning(worklistShardItemId#3590669L, 30), REPARTITION_BY_NUM, [plan_id=1029733]
(89) Project
Output [2]: [worklistShardItemId#3590669L, orderProposalId#3590646L]
Input [2]: [orderProposalId#3590646L, worklistShardItemId#3590669L]
(90) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [worklistShardItemId#3590598L]
Right keys [1]: [worklistShardItemId#3590669L]
Join type: Inner
Join condition: None
(91) Project [codegen id : 6]
Output [1]: [orderProposalId#3590646L]
Input [3]: [worklistShardItemId#3590598L, worklistShardItemId#3590669L, orderProposalId#3590646L]
(92) HashAggregate [codegen id : 6]
Input [1]: [orderProposalId#3590646L]
Keys [1]: [orderProposalId#3590646L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#3590646L]
(93) Exchange
Input [1]: [orderProposalId#3590646L]
Arguments: hashpartitioning(orderProposalId#3590646L, 30), ENSURE_REQUIREMENTS, [plan_id=1029740]
(94) HashAggregate [codegen id : 7]
Input [1]: [orderProposalId#3590646L]
Keys [1]: [orderProposalId#3590646L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#3590646L]
(95) Sort [codegen id : 7]
Input [1]: [orderProposalId#3590646L]
Arguments: [orderProposalId#3590646L ASC NULLS FIRST], false, 0
(96) SortMergeJoin [codegen id : 8]
Left keys [1]: [orderProposalId#3590591L]
Right keys [1]: [orderProposalId#3590646L]
Join type: Inner
Join condition: None
(97) Project
Output [3]: [orderProposalId#3590591L, shardId#3590590, coalesce(transform(optimizationGroups#3590593, lambdafunction(struct(optGroupId, lambda x_11995#3590588.optGroupId, minOrderProfile, lambda x_11995#3590588.minOrderProfile, assignmentDetails, lambda x_11995#3590588.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_11995#3590588.minOrderGoal.dimensionType, unit, lambda x_11995#3590588.minOrderGoal.unit, unitUuid, lambda x_11995#3590588.minOrderGoal.unitUuid, goalValue, lambda x_11995#3590588.minOrderGoal.minOrderValue, calcValue, lambda x_11995#3590588.minOrderGoal.calculatedOrderValue), transportLoadProfile, null, transportLoadGoal, null), lambda x_11995#3590588, false)), []) AS optimizationGroups#3590587]
Input [4]: [shardId#3590590, orderProposalId#3590591L, optimizationGroups#3590593, orderProposalId#3590646L]
(98) Exchange
Input [3]: [orderProposalId#3590591L, shardId#3590590, optimizationGroups#3590587]
Arguments: hashpartitioning(coalesce(shardId#3590590, ), isnull(shardId#3590590), coalesce(orderProposalId#3590591L, 0), isnull(orderProposalId#3590591L), 30), ENSURE_REQUIREMENTS, [plan_id=1029749]
(99) Sort [codegen id : 9]
Input [3]: [orderProposalId#3590591L, shardId#3590590, optimizationGroups#3590587]
Arguments: [coalesce(shardId#3590590, ) ASC NULLS FIRST, isnull(shardId#3590590) ASC NULLS FIRST, coalesce(orderProposalId#3590591L, 0) ASC NULLS FIRST, isnull(orderProposalId#3590591L) ASC NULLS FIRST], false, 0
(100) SortMergeJoin
Left keys [4]: [coalesce(shardId#3579932, ), isnull(shardId#3579932), coalesce(_extract_orderProposalId#3591343L, 0), isnull(_extract_orderProposalId#3591343L)]
Right keys [4]: [coalesce(shardId#3590590, ), isnull(shardId#3590590), coalesce(orderProposalId#3590591L, 0), isnull(orderProposalId#3590591L)]
Join type: LeftOuter
Join condition: None
(101) Project
Output [2]: [shardId#3579932, named_struct(orderProposalId, _extract_orderProposalId#3591343L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#3591335L, supplierGroup, _extract_supplierGroup#3591336, optimizationGroups, coalesce(optimizationGroups#3590587, []), supplier, _extract_supplier#3591337, supplyingPlant, _extract_supplyingPlant#3591338, orderDateTime, _extract_orderDateTime#3591339, itemGroups, _extract_itemGroups#3591340, previousOrderProposals, _extract_previousOrderProposals#3591341, parentItems, _extract_parentItems#3591342) AS orderProposal#3590694]
Input [14]: [shardId#3579932, _extract_orderProposalId#3591334L, _extract_originalReplenishmentRunId#3591335L, _extract_supplierGroup#3591336, _extract_supplier#3591337, _extract_supplyingPlant#3591338, _extract_orderDateTime#3591339, _extract_itemGroups#3591340, _extract_previousOrderProposals#3591341, _extract_parentItems#3591342, _extract_orderProposalId#3591343L, orderProposalId#3590591L, shardId#3590590, optimizationGroups#3590587]
(102) Project
Output [3]: [shardId#3579932, orderProposal#3590694, CASE WHEN (size(orderProposal#3590694.parentItems, true) > 2000) THEN xxhash64(orderProposal#3590694.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#3590694.orderProposalId as decimal(20,0)), 20), 42) END AS resultSeparationId#3595553L]
Input [2]: [orderProposal#3590694, shardId#3579932]
(103) ObjectHashAggregate
Input [3]: [shardId#3579932, orderProposal#3590694, resultSeparationId#3595553L]
Keys [2]: [shardId#3579932, resultSeparationId#3595553L]
Functions [1]: [partial_collect_list(orderProposal#3590694, 0, 0)]
Aggregate Attributes [1]: [buf#3595592]
Results [3]: [shardId#3579932, resultSeparationId#3595553L, buf#3595593]
(104) Exchange
Input [3]: [shardId#3579932, resultSeparationId#3595553L, buf#3595593]
Arguments: hashpartitioning(shardId#3579932, resultSeparationId#3595553L, 30), ENSURE_REQUIREMENTS, [plan_id=1030346]
(105) ObjectHashAggregate
Input [3]: [shardId#3579932, resultSeparationId#3595553L, buf#3595593]
Keys [2]: [shardId#3579932, resultSeparationId#3595553L]
Functions [1]: [collect_list(orderProposal#3590694, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#3590694, 0, 0)#3595561]
Results [3]: [shardId#3579932, resultSeparationId#3595553L, collect_list(orderProposal#3590694, 0, 0)#3595561 AS orderProposals#3595557]
(106) Exchange
Input [3]: [shardId#3579932, resultSeparationId#3595553L, orderProposals#3595557]
Arguments: rangepartitioning(shardId#3579932 ASC NULLS FIRST, resultSeparationId#3595553L ASC NULLS FIRST, 20), REPARTITION_BY_NUM, [plan_id=1030389]
(107) Project
Output [2]: [shardId#3579932, orderProposals#3595557]
Input [3]: [shardId#3579932, resultSeparationId#3595553L, orderProposals#3595557]
(108) CollectLimit
Input: []
Arguments: 1