== Physical Plan ==
Execute InsertIntoHadoopFsRelationCommand (111)
+- WriteFiles (110)
+- Sort (109)
+- Project (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]: [orderProposals#3406942, shardId#3395105]
Arguments: [orderProposals#3406942, shardId#3395105]
(2) InMemoryRelation
Arguments: [shardId#3395105, orderProposals#3406942], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [3]: [shardId#3395105, resultSeparationId#3406938L, orderProposals#3406942]
Arguments: [shardId#3395105, resultSeparationId#3406938L, orderProposals#3406942]
(4) InMemoryRelation
Arguments: [shardId#3395105, resultSeparationId#3406938L, orderProposals#3406942], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [2]: [orderProposal#3401811, shardId#3395105]
Arguments: [orderProposal#3401811, shardId#3395105]
(6) InMemoryRelation
Arguments: [shardId#3395105, orderProposal#3401811], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [39]: [availabilityDateTime#3396190, channelStreamSpecificKpis#3399791, constraintLabels#3396202, constraintOperators#3396203, constraintValues#3396205, deliveryDateTime#3396189, isFallbackOrderOnly#3396192, logisticUnits#3396207, measurements#3396200, minimumOrderQuantity#3396201, netPriceAmount#3396198, netPriceCurrencyCode#3396199, netPriceQuantity#3396195, netPriceQuantityUom#3396196, netPriceQuantityUomUuid#3396197, nextAvailabilityDateTime#3396191, optimizationGroups#3396208, orderDateTime#3396188, orderProposalId#3396170L, orderProposalItemGroupId#3396172, orderProposalItemId#3396171, orderQuantityBaseUom#3396193, orderQuantityBaseUomUuid#3396194, originalReplenishmentRunId#3396173L, plant#3396184, previousOrderProposal#3396176L, prodLocSpecificKpis#3399776, product#3396183, productGroup#3396212, qty#3395822, quantityAfterProdPlantOptimization#3395821, quantityKpis#3399804, shardId#3395105, sourceOfSupplyUuid#3396179, splitIndicator#3396175L, subrange#3396182, supplier#3396181, supplierGroup#3396180, supplyingPlant#3396211]
Arguments: [availabilityDateTime#3396190, channelStreamSpecificKpis#3399791, constraintLabels#3396202, constraintOperators#3396203, constraintValues#3396205, deliveryDateTime#3396189, isFallbackOrderOnly#3396192, logisticUnits#3396207, measurements#3396200, minimumOrderQuantity#3396201, netPriceAmount#3396198, netPriceCurrencyCode#3396199, netPriceQuantity#3396195, netPriceQuantityUom#3396196, netPriceQuantityUomUuid#3396197, nextAvailabilityDateTime#3396191, optimizationGroups#3396208, orderDateTime#3396188, orderProposalId#3396170L, orderProposalItemGroupId#3396172, orderProposalItemId#3396171, orderQuantityBaseUom#3396193, orderQuantityBaseUomUuid#3396194, originalReplenishmentRunId#3396173L, plant#3396184, ... 14 more fields], [NOT (isFallbackOrderOnly#3396192 <=> true)]
(8) InMemoryRelation
Arguments: [shardId#3395105, worklistShardItemId#3395820L, quantityAfterProdPlantOptimization#3395821, qty#3395822, orderProposalId#3396170L, originalReplenishmentRunId#3396173L, supplierGroup#3396180, supplier#3396181, supplyingPlant#3396211, productGroup#3396212, product#3396183, plant#3396184, subrange#3396182, orderDateTime#3396188, deliveryDateTime#3396189, availabilityDateTime#3396190, nextAvailabilityDateTime#3396191, constraintValues#3396205, constraintOperators#3396203, constraintLabels#3396202, logisticUnits#3396207, orderQuantityBaseUom#3396193, orderQuantityBaseUomUuid#3396194, splitIndicator#3396175L, netPriceAmount#3396198, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [2]: [shardId#3395105, items#3395107]
Arguments: [shardId#3395105, items#3395107], [(size(items#3395107, true) > 0), isnotnull(items#3395107)]
(10) InMemoryRelation
Arguments: [shardId#3395105, orderProposalId#3395106L, items#3395107, optimizationGroups#3395108, isOptimal#3395109, optimizationInsights#3395111], StorageLevel(disk, memory, 2 replicas)
(11) InMemoryTableScan
Output [6]: [shardId#3395105, orderProposalId#3395106L, items#3395107, optimizationGroups#3395108, isOptimal#3395109, optimizationInsights#3395111]
Arguments: [shardId#3395105, orderProposalId#3395106L, items#3395107, optimizationGroups#3395108, isOptimal#3395109, optimizationInsights#3395111], [isnotnull(shardId#3395105), (shardId#3395105 = 0_5_10000000532)]
(12) InMemoryRelation
Arguments: [shardId#3395105, orderProposalId#3395106L, items#3395107, optimizationGroups#3395108, isOptimal#3395109, lastModified#3395110, optimizationInsights#3395111], StorageLevel(disk, memory, 2 replicas)
(13) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#3395105, orderProposalId#3395106L, items#3395107, optimizationGroups#3395108, isOptimal#3395109, lastModified#3395110, optimizationInsights#3395111]
Arguments: [shardId#3395105, orderProposalId#3395106L, items#3395107, optimizationGroups#3395108, isOptimal#3395109, lastModified#3395110, optimizationInsights#3395111], MapPartitionsRDD[144348] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(14) Filter [codegen id : 1]
Input [7]: [shardId#3395105, orderProposalId#3395106L, items#3395107, optimizationGroups#3395108, isOptimal#3395109, lastModified#3395110, optimizationInsights#3395111]
Condition : (isnotnull(shardId#3395105) AND (shardId#3395105 = 0_5_10000000532))
(15) Filter [codegen id : 1]
Input [6]: [shardId#3395105, orderProposalId#3395106L, items#3395107, optimizationGroups#3395108, isOptimal#3395109, optimizationInsights#3395111]
Condition : (isnotnull(shardId#3395105) AND (shardId#3395105 = 0_5_10000000532))
(16) Filter [codegen id : 1]
Input [2]: [shardId#3395105, items#3395107]
Condition : ((size(items#3395107, true) > 0) AND isnotnull(items#3395107))
(17) Generate [codegen id : 1]
Input [2]: [shardId#3395105, items#3395107]
Arguments: explode(items#3395107), [shardId#3395105], false, [item#3395819]
(18) Project [codegen id : 1]
Output [4]: [shardId#3395105, item#3395819.worklistShardItemId AS worklistShardItemId#3395820L, item#3395819.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#3395821, item#3395819.qty AS qty#3395822]
Input [2]: [shardId#3395105, item#3395819]
(19) Exchange
Input [4]: [shardId#3395105, worklistShardItemId#3395820L, quantityAfterProdPlantOptimization#3395821, qty#3395822]
Arguments: hashpartitioning(worklistShardItemId#3395820L, 30), ENSURE_REQUIREMENTS, [plan_id=979796]
(20) Sort [codegen id : 2]
Input [4]: [shardId#3395105, worklistShardItemId#3395820L, quantityAfterProdPlantOptimization#3395821, qty#3395822]
Arguments: [worklistShardItemId#3395820L ASC NULLS FIRST], false, 0
(21) Scan parquet
Output [38]: [orderProposalId#3396303L, orderProposalItemId#3396304, supplierGroup#3396305, supplier#3396306, plant#3396307, deliveryDateTime#3396308, subrange#3396309, supplyingPlant#3396310, productGroup#3396311, product#3396312, orderDateTime#3396313, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, sourceOfSupplyUuid#3396317, isFallbackOrderOnly#3396320, splitIndicator#3396322L, previousOrderProposal#3396323L, worklistShardItemId#3396326L, orderProposalItemGroupId#3396327, externalProductId#3396328, externalPlantId#3396329, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, minimumOrderQuantity#3396333, constraintLabels#3396334, constraintOperators#3396335, constraintValues#3396336, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, measurements#3396344, originalReplenishmentRunId#3396345L, optimizationGroups#3396346, shardId#3396347, sequenceId#3396325]
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#3396347), isnotnull(sequenceId#3396325), (shardId#3396347 = 0_5_10000000532), (sequenceId#3396325 = 2)]
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#3396303L, orderProposalItemId#3396304, supplierGroup#3396305, supplier#3396306, plant#3396307, deliveryDateTime#3396308, subrange#3396309, supplyingPlant#3396310, productGroup#3396311, product#3396312, orderDateTime#3396313, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, sourceOfSupplyUuid#3396317, isFallbackOrderOnly#3396320, splitIndicator#3396322L, previousOrderProposal#3396323L, worklistShardItemId#3396326L, orderProposalItemGroupId#3396327, externalProductId#3396328, externalPlantId#3396329, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, minimumOrderQuantity#3396333, constraintLabels#3396334, constraintOperators#3396335, constraintValues#3396336, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, measurements#3396344, originalReplenishmentRunId#3396345L, optimizationGroups#3396346, shardId#3396347, sequenceId#3396325]
(23) Filter [codegen id : 3]
Input [38]: [orderProposalId#3396303L, orderProposalItemId#3396304, supplierGroup#3396305, supplier#3396306, plant#3396307, deliveryDateTime#3396308, subrange#3396309, supplyingPlant#3396310, productGroup#3396311, product#3396312, orderDateTime#3396313, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, sourceOfSupplyUuid#3396317, isFallbackOrderOnly#3396320, splitIndicator#3396322L, previousOrderProposal#3396323L, worklistShardItemId#3396326L, orderProposalItemGroupId#3396327, externalProductId#3396328, externalPlantId#3396329, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, minimumOrderQuantity#3396333, constraintLabels#3396334, constraintOperators#3396335, constraintValues#3396336, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, measurements#3396344, originalReplenishmentRunId#3396345L, optimizationGroups#3396346, shardId#3396347, sequenceId#3396325]
Condition : isnotnull(worklistShardItemId#3396326L)
(24) Project [codegen id : 3]
Output [36]: [orderProposalId#3396303L, orderProposalItemId#3396304, supplierGroup#3396305, supplier#3396306, plant#3396307, deliveryDateTime#3396308, subrange#3396309, supplyingPlant#3396310, productGroup#3396311, product#3396312, orderDateTime#3396313, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, sourceOfSupplyUuid#3396317, isFallbackOrderOnly#3396320, splitIndicator#3396322L, previousOrderProposal#3396323L, worklistShardItemId#3396326L, orderProposalItemGroupId#3396327, externalProductId#3396328, externalPlantId#3396329, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, minimumOrderQuantity#3396333, constraintLabels#3396334, constraintOperators#3396335, constraintValues#3396336, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, measurements#3396344, originalReplenishmentRunId#3396345L, optimizationGroups#3396346]
Input [38]: [orderProposalId#3396303L, orderProposalItemId#3396304, supplierGroup#3396305, supplier#3396306, plant#3396307, deliveryDateTime#3396308, subrange#3396309, supplyingPlant#3396310, productGroup#3396311, product#3396312, orderDateTime#3396313, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, sourceOfSupplyUuid#3396317, isFallbackOrderOnly#3396320, splitIndicator#3396322L, previousOrderProposal#3396323L, worklistShardItemId#3396326L, orderProposalItemGroupId#3396327, externalProductId#3396328, externalPlantId#3396329, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, minimumOrderQuantity#3396333, constraintLabels#3396334, constraintOperators#3396335, constraintValues#3396336, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, measurements#3396344, originalReplenishmentRunId#3396345L, optimizationGroups#3396346, shardId#3396347, sequenceId#3396325]
(25) Exchange
Input [36]: [orderProposalId#3396303L, orderProposalItemId#3396304, supplierGroup#3396305, supplier#3396306, plant#3396307, deliveryDateTime#3396308, subrange#3396309, supplyingPlant#3396310, productGroup#3396311, product#3396312, orderDateTime#3396313, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, sourceOfSupplyUuid#3396317, isFallbackOrderOnly#3396320, splitIndicator#3396322L, previousOrderProposal#3396323L, worklistShardItemId#3396326L, orderProposalItemGroupId#3396327, externalProductId#3396328, externalPlantId#3396329, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, minimumOrderQuantity#3396333, constraintLabels#3396334, constraintOperators#3396335, constraintValues#3396336, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, measurements#3396344, originalReplenishmentRunId#3396345L, optimizationGroups#3396346]
Arguments: hashpartitioning(worklistShardItemId#3396326L, 30), REPARTITION_BY_NUM, [plan_id=979806]
(26) Project [codegen id : 4]
Output [36]: [worklistShardItemId#3396326L, orderProposalId#3396303L, orderProposalItemId#3396304, orderProposalItemGroupId#3396327, originalReplenishmentRunId#3396345L, splitIndicator#3396322L, previousOrderProposal#3396323L, sourceOfSupplyUuid#3396317, supplierGroup#3396305, supplier#3396306, subrange#3396309, product#3396312, plant#3396307, orderDateTime#3396313, deliveryDateTime#3396308, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, isFallbackOrderOnly#3396320, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, netPriceAmount#3396339, netPriceCurrencyCode#3396340, measurements#3396344, minimumOrderQuantity#3396333, constraintLabels#3396334, constraintOperators#3396335, constraintValues#3396336, logisticUnits#3396330, optimizationGroups#3396346, externalProductId#3396328, externalPlantId#3396329, supplyingPlant#3396310, productGroup#3396311]
Input [36]: [orderProposalId#3396303L, orderProposalItemId#3396304, supplierGroup#3396305, supplier#3396306, plant#3396307, deliveryDateTime#3396308, subrange#3396309, supplyingPlant#3396310, productGroup#3396311, product#3396312, orderDateTime#3396313, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, sourceOfSupplyUuid#3396317, isFallbackOrderOnly#3396320, splitIndicator#3396322L, previousOrderProposal#3396323L, worklistShardItemId#3396326L, orderProposalItemGroupId#3396327, externalProductId#3396328, externalPlantId#3396329, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, minimumOrderQuantity#3396333, constraintLabels#3396334, constraintOperators#3396335, constraintValues#3396336, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, measurements#3396344, originalReplenishmentRunId#3396345L, optimizationGroups#3396346]
(27) Sort [codegen id : 4]
Input [36]: [worklistShardItemId#3396326L, orderProposalId#3396303L, orderProposalItemId#3396304, orderProposalItemGroupId#3396327, originalReplenishmentRunId#3396345L, splitIndicator#3396322L, previousOrderProposal#3396323L, sourceOfSupplyUuid#3396317, supplierGroup#3396305, supplier#3396306, subrange#3396309, product#3396312, plant#3396307, orderDateTime#3396313, deliveryDateTime#3396308, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, isFallbackOrderOnly#3396320, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, netPriceAmount#3396339, netPriceCurrencyCode#3396340, measurements#3396344, minimumOrderQuantity#3396333, constraintLabels#3396334, constraintOperators#3396335, constraintValues#3396336, logisticUnits#3396330, optimizationGroups#3396346, externalProductId#3396328, externalPlantId#3396329, supplyingPlant#3396310, productGroup#3396311]
Arguments: [worklistShardItemId#3396326L ASC NULLS FIRST], false, 0
(28) SortMergeJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#3395820L]
Right keys [1]: [worklistShardItemId#3396326L]
Join type: LeftOuter
Join condition: (shardId#3395105 = 0_5_10000000532)
(29) Project [codegen id : 5]
Output [39]: [shardId#3395105, worklistShardItemId#3395820L, quantityAfterProdPlantOptimization#3395821, qty#3395822, orderProposalId#3396303L, originalReplenishmentRunId#3396345L, supplierGroup#3396305, supplier#3396306, supplyingPlant#3396310, productGroup#3396311, product#3396312, plant#3396307, subrange#3396309, orderDateTime#3396313, deliveryDateTime#3396308, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, constraintValues#3396336, constraintOperators#3396335, constraintLabels#3396334, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, splitIndicator#3396322L, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, sourceOfSupplyUuid#3396317, minimumOrderQuantity#3396333, orderProposalItemId#3396304, orderProposalItemGroupId#3396327, optimizationGroups#3396346, measurements#3396344, externalProductId#3396328, externalPlantId#3396329, previousOrderProposal#3396323L, isFallbackOrderOnly#3396320]
Input [40]: [shardId#3395105, worklistShardItemId#3395820L, quantityAfterProdPlantOptimization#3395821, qty#3395822, worklistShardItemId#3396326L, orderProposalId#3396303L, orderProposalItemId#3396304, orderProposalItemGroupId#3396327, originalReplenishmentRunId#3396345L, splitIndicator#3396322L, previousOrderProposal#3396323L, sourceOfSupplyUuid#3396317, supplierGroup#3396305, supplier#3396306, subrange#3396309, product#3396312, plant#3396307, orderDateTime#3396313, deliveryDateTime#3396308, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, isFallbackOrderOnly#3396320, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, netPriceAmount#3396339, netPriceCurrencyCode#3396340, measurements#3396344, minimumOrderQuantity#3396333, constraintLabels#3396334, constraintOperators#3396335, constraintValues#3396336, logisticUnits#3396330, optimizationGroups#3396346, externalProductId#3396328, externalPlantId#3396329, supplyingPlant#3396310, productGroup#3396311]
(30) Exchange
Input [39]: [shardId#3395105, worklistShardItemId#3395820L, quantityAfterProdPlantOptimization#3395821, qty#3395822, orderProposalId#3396303L, originalReplenishmentRunId#3396345L, supplierGroup#3396305, supplier#3396306, supplyingPlant#3396310, productGroup#3396311, product#3396312, plant#3396307, subrange#3396309, orderDateTime#3396313, deliveryDateTime#3396308, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, constraintValues#3396336, constraintOperators#3396335, constraintLabels#3396334, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, splitIndicator#3396322L, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, sourceOfSupplyUuid#3396317, minimumOrderQuantity#3396333, orderProposalItemId#3396304, orderProposalItemGroupId#3396327, optimizationGroups#3396346, measurements#3396344, externalProductId#3396328, externalPlantId#3396329, previousOrderProposal#3396323L, isFallbackOrderOnly#3396320]
Arguments: hashpartitioning(shardId#3395105, worklistShardItemId#3395820L, 30), ENSURE_REQUIREMENTS, [plan_id=979815]
(31) Sort [codegen id : 6]
Input [39]: [shardId#3395105, worklistShardItemId#3395820L, quantityAfterProdPlantOptimization#3395821, qty#3395822, orderProposalId#3396303L, originalReplenishmentRunId#3396345L, supplierGroup#3396305, supplier#3396306, supplyingPlant#3396310, productGroup#3396311, product#3396312, plant#3396307, subrange#3396309, orderDateTime#3396313, deliveryDateTime#3396308, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, constraintValues#3396336, constraintOperators#3396335, constraintLabels#3396334, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, splitIndicator#3396322L, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, sourceOfSupplyUuid#3396317, minimumOrderQuantity#3396333, orderProposalItemId#3396304, orderProposalItemGroupId#3396327, optimizationGroups#3396346, measurements#3396344, externalProductId#3396328, externalPlantId#3396329, previousOrderProposal#3396323L, isFallbackOrderOnly#3396320]
Arguments: [shardId#3395105 ASC NULLS FIRST, worklistShardItemId#3395820L ASC NULLS FIRST], false, 0
(32) Scan ExistingRDD [codegen id : 7]
Output [6]: [shardId#3399769, worklistShardItemId#3399770L, qty#3399771, demandChannel#3399772, demandStream#3399773, kpis#3399774]
Arguments: [shardId#3399769, worklistShardItemId#3399770L, qty#3399771, demandChannel#3399772, demandStream#3399773, kpis#3399774], MapPartitionsRDD[144539] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(33) Filter [codegen id : 7]
Input [6]: [shardId#3399769, worklistShardItemId#3399770L, qty#3399771, demandChannel#3399772, demandStream#3399773, kpis#3399774]
Condition : (((isnull(qty#3399771) AND isnull(demandChannel#3399772)) AND isnull(demandStream#3399773)) AND (isnotnull(shardId#3399769) AND isnotnull(worklistShardItemId#3399770L)))
(34) Project [codegen id : 7]
Output [3]: [shardId#3399769, worklistShardItemId#3399770L, coalesce(kpis#3399774, []) AS prodLocSpecificKpis#3399775]
Input [6]: [shardId#3399769, worklistShardItemId#3399770L, qty#3399771, demandChannel#3399772, demandStream#3399773, kpis#3399774]
(35) Exchange
Input [3]: [shardId#3399769, worklistShardItemId#3399770L, prodLocSpecificKpis#3399775]
Arguments: hashpartitioning(shardId#3399769, worklistShardItemId#3399770L, 30), ENSURE_REQUIREMENTS, [plan_id=979821]
(36) Sort [codegen id : 8]
Input [3]: [shardId#3399769, worklistShardItemId#3399770L, prodLocSpecificKpis#3399775]
Arguments: [shardId#3399769 ASC NULLS FIRST, worklistShardItemId#3399770L ASC NULLS FIRST], false, 0
(37) SortMergeJoin [codegen id : 9]
Left keys [2]: [shardId#3395105, worklistShardItemId#3395820L]
Right keys [2]: [shardId#3399769, worklistShardItemId#3399770L]
Join type: LeftOuter
Join condition: None
(38) Project [codegen id : 9]
Output [40]: [shardId#3395105, worklistShardItemId#3395820L, quantityAfterProdPlantOptimization#3395821, qty#3395822, orderProposalId#3396303L, originalReplenishmentRunId#3396345L, supplierGroup#3396305, supplier#3396306, supplyingPlant#3396310, productGroup#3396311, product#3396312, plant#3396307, subrange#3396309, orderDateTime#3396313, deliveryDateTime#3396308, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, constraintValues#3396336, constraintOperators#3396335, constraintLabels#3396334, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, splitIndicator#3396322L, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, sourceOfSupplyUuid#3396317, minimumOrderQuantity#3396333, orderProposalItemId#3396304, orderProposalItemGroupId#3396327, optimizationGroups#3396346, measurements#3396344, externalProductId#3396328, externalPlantId#3396329, previousOrderProposal#3396323L, isFallbackOrderOnly#3396320, coalesce(prodLocSpecificKpis#3399775, []) AS prodLocSpecificKpis#3399776]
Input [42]: [shardId#3395105, worklistShardItemId#3395820L, quantityAfterProdPlantOptimization#3395821, qty#3395822, orderProposalId#3396303L, originalReplenishmentRunId#3396345L, supplierGroup#3396305, supplier#3396306, supplyingPlant#3396310, productGroup#3396311, product#3396312, plant#3396307, subrange#3396309, orderDateTime#3396313, deliveryDateTime#3396308, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, constraintValues#3396336, constraintOperators#3396335, constraintLabels#3396334, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, splitIndicator#3396322L, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, sourceOfSupplyUuid#3396317, minimumOrderQuantity#3396333, orderProposalItemId#3396304, orderProposalItemGroupId#3396327, optimizationGroups#3396346, measurements#3396344, externalProductId#3396328, externalPlantId#3396329, previousOrderProposal#3396323L, isFallbackOrderOnly#3396320, shardId#3399769, worklistShardItemId#3399770L, prodLocSpecificKpis#3399775]
(39) Scan ExistingRDD [codegen id : 10]
Output [6]: [shardId#3399785, worklistShardItemId#3399786L, qty#3399787, demandChannel#3399788, demandStream#3399789, kpis#3399790]
Arguments: [shardId#3399785, worklistShardItemId#3399786L, qty#3399787, demandChannel#3399788, demandStream#3399789, kpis#3399790], MapPartitionsRDD[144539] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(40) Filter [codegen id : 10]
Input [6]: [shardId#3399785, worklistShardItemId#3399786L, qty#3399787, demandChannel#3399788, demandStream#3399789, kpis#3399790]
Condition : ((((isnull(qty#3399787) AND isnotnull(demandChannel#3399788)) AND isnotnull(demandStream#3399789)) AND (size(kpis#3399790, true) > 0)) AND (isnotnull(shardId#3399785) AND isnotnull(worklistShardItemId#3399786L)))
(41) Project [codegen id : 10]
Output [5]: [shardId#3399785, worklistShardItemId#3399786L, demandChannel#3399788, demandStream#3399789, kpis#3399790]
Input [6]: [shardId#3399785, worklistShardItemId#3399786L, qty#3399787, demandChannel#3399788, demandStream#3399789, kpis#3399790]
(42) ObjectHashAggregate
Input [5]: [shardId#3399785, worklistShardItemId#3399786L, demandChannel#3399788, demandStream#3399789, kpis#3399790]
Keys [2]: [shardId#3399785, worklistShardItemId#3399786L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#3399788, demandStream, demandStream#3399789, kpis, kpis#3399790), 0, 0)]
Aggregate Attributes [1]: [buf#3401088]
Results [3]: [shardId#3399785, worklistShardItemId#3399786L, buf#3401089]
(43) Exchange
Input [3]: [shardId#3399785, worklistShardItemId#3399786L, buf#3401089]
Arguments: hashpartitioning(shardId#3399785, worklistShardItemId#3399786L, 30), ENSURE_REQUIREMENTS, [plan_id=979832]
(44) ObjectHashAggregate
Input [3]: [shardId#3399785, worklistShardItemId#3399786L, buf#3401089]
Keys [2]: [shardId#3399785, worklistShardItemId#3399786L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#3399788, demandStream, demandStream#3399789, kpis, kpis#3399790), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#3399788, demandStream, demandStream#3399789, kpis, kpis#3399790), 0, 0)#3399784]
Results [3]: [shardId#3399785, worklistShardItemId#3399786L, collect_list(struct(demandChannel, demandChannel#3399788, demandStream, demandStream#3399789, kpis, kpis#3399790), 0, 0)#3399784 AS channelStreamSpecificKpis#3399777]
(45) Sort [codegen id : 11]
Input [3]: [shardId#3399785, worklistShardItemId#3399786L, channelStreamSpecificKpis#3399777]
Arguments: [shardId#3399785 ASC NULLS FIRST, worklistShardItemId#3399786L ASC NULLS FIRST], false, 0
(46) SortMergeJoin [codegen id : 12]
Left keys [2]: [shardId#3395105, worklistShardItemId#3395820L]
Right keys [2]: [shardId#3399785, worklistShardItemId#3399786L]
Join type: LeftOuter
Join condition: None
(47) Project [codegen id : 12]
Output [41]: [shardId#3395105, worklistShardItemId#3395820L, quantityAfterProdPlantOptimization#3395821, qty#3395822, orderProposalId#3396303L, originalReplenishmentRunId#3396345L, supplierGroup#3396305, supplier#3396306, supplyingPlant#3396310, productGroup#3396311, product#3396312, plant#3396307, subrange#3396309, orderDateTime#3396313, deliveryDateTime#3396308, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, constraintValues#3396336, constraintOperators#3396335, constraintLabels#3396334, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, splitIndicator#3396322L, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, sourceOfSupplyUuid#3396317, minimumOrderQuantity#3396333, orderProposalItemId#3396304, orderProposalItemGroupId#3396327, optimizationGroups#3396346, measurements#3396344, externalProductId#3396328, externalPlantId#3396329, previousOrderProposal#3396323L, isFallbackOrderOnly#3396320, prodLocSpecificKpis#3399776, coalesce(channelStreamSpecificKpis#3399777, []) AS channelStreamSpecificKpis#3399791]
Input [43]: [shardId#3395105, worklistShardItemId#3395820L, quantityAfterProdPlantOptimization#3395821, qty#3395822, orderProposalId#3396303L, originalReplenishmentRunId#3396345L, supplierGroup#3396305, supplier#3396306, supplyingPlant#3396310, productGroup#3396311, product#3396312, plant#3396307, subrange#3396309, orderDateTime#3396313, deliveryDateTime#3396308, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, constraintValues#3396336, constraintOperators#3396335, constraintLabels#3396334, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, splitIndicator#3396322L, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, sourceOfSupplyUuid#3396317, minimumOrderQuantity#3396333, orderProposalItemId#3396304, orderProposalItemGroupId#3396327, optimizationGroups#3396346, measurements#3396344, externalProductId#3396328, externalPlantId#3396329, previousOrderProposal#3396323L, isFallbackOrderOnly#3396320, prodLocSpecificKpis#3399776, shardId#3399785, worklistShardItemId#3399786L, channelStreamSpecificKpis#3399777]
(48) Scan ExistingRDD [codegen id : 13]
Output [6]: [shardId#3399798, worklistShardItemId#3399799L, qty#3399800, demandChannel#3399801, demandStream#3399802, kpis#3399803]
Arguments: [shardId#3399798, worklistShardItemId#3399799L, qty#3399800, demandChannel#3399801, demandStream#3399802, kpis#3399803], MapPartitionsRDD[144539] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(49) Filter [codegen id : 13]
Input [6]: [shardId#3399798, worklistShardItemId#3399799L, qty#3399800, demandChannel#3399801, demandStream#3399802, kpis#3399803]
Condition : ((isnotnull(qty#3399800) AND isnotnull(kpis#3399803)) AND (isnotnull(shardId#3399798) AND isnotnull(worklistShardItemId#3399799L)))
(50) Project [codegen id : 13]
Output [4]: [shardId#3399798, worklistShardItemId#3399799L, qty#3399800, kpis#3399803]
Input [6]: [shardId#3399798, worklistShardItemId#3399799L, qty#3399800, demandChannel#3399801, demandStream#3399802, kpis#3399803]
(51) ObjectHashAggregate
Input [4]: [shardId#3399798, worklistShardItemId#3399799L, qty#3399800, kpis#3399803]
Keys [2]: [shardId#3399798, worklistShardItemId#3399799L]
Functions [1]: [partial_collect_list(struct(qty, qty#3399800, kpis, kpis#3399803), 0, 0)]
Aggregate Attributes [1]: [buf#3401090]
Results [3]: [shardId#3399798, worklistShardItemId#3399799L, buf#3401091]
(52) Exchange
Input [3]: [shardId#3399798, worklistShardItemId#3399799L, buf#3401091]
Arguments: hashpartitioning(shardId#3399798, worklistShardItemId#3399799L, 30), ENSURE_REQUIREMENTS, [plan_id=979844]
(53) ObjectHashAggregate
Input [3]: [shardId#3399798, worklistShardItemId#3399799L, buf#3401091]
Keys [2]: [shardId#3399798, worklistShardItemId#3399799L]
Functions [1]: [collect_list(struct(qty, qty#3399800, kpis, kpis#3399803), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#3399800, kpis, kpis#3399803), 0, 0)#3399797]
Results [3]: [shardId#3399798, worklistShardItemId#3399799L, map_from_entries(collect_list(struct(qty, qty#3399800, kpis, kpis#3399803), 0, 0)#3399797) AS quantityKpis#3399792]
(54) Sort [codegen id : 14]
Input [3]: [shardId#3399798, worklistShardItemId#3399799L, quantityKpis#3399792]
Arguments: [shardId#3399798 ASC NULLS FIRST, worklistShardItemId#3399799L ASC NULLS FIRST], false, 0
(55) SortMergeJoin [codegen id : 15]
Left keys [2]: [shardId#3395105, worklistShardItemId#3395820L]
Right keys [2]: [shardId#3399798, worklistShardItemId#3399799L]
Join type: LeftOuter
Join condition: None
(56) Project [codegen id : 15]
Output [42]: [shardId#3395105, worklistShardItemId#3395820L, quantityAfterProdPlantOptimization#3395821, qty#3395822, orderProposalId#3396303L, originalReplenishmentRunId#3396345L, supplierGroup#3396305, supplier#3396306, supplyingPlant#3396310, productGroup#3396311, product#3396312, plant#3396307, subrange#3396309, orderDateTime#3396313, deliveryDateTime#3396308, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, constraintValues#3396336, constraintOperators#3396335, constraintLabels#3396334, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, splitIndicator#3396322L, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, sourceOfSupplyUuid#3396317, minimumOrderQuantity#3396333, orderProposalItemId#3396304, orderProposalItemGroupId#3396327, optimizationGroups#3396346, measurements#3396344, externalProductId#3396328, externalPlantId#3396329, previousOrderProposal#3396323L, isFallbackOrderOnly#3396320, prodLocSpecificKpis#3399776, channelStreamSpecificKpis#3399791, coalesce(quantityKpis#3399792, map(keys: [], values: [])) AS quantityKpis#3399804]
Input [44]: [shardId#3395105, worklistShardItemId#3395820L, quantityAfterProdPlantOptimization#3395821, qty#3395822, orderProposalId#3396303L, originalReplenishmentRunId#3396345L, supplierGroup#3396305, supplier#3396306, supplyingPlant#3396310, productGroup#3396311, product#3396312, plant#3396307, subrange#3396309, orderDateTime#3396313, deliveryDateTime#3396308, availabilityDateTime#3396314, nextAvailabilityDateTime#3396315, constraintValues#3396336, constraintOperators#3396335, constraintLabels#3396334, logisticUnits#3396330, orderQuantityBaseUom#3396331, orderQuantityBaseUomUuid#3396332, splitIndicator#3396322L, netPriceAmount#3396339, netPriceCurrencyCode#3396340, netPriceQuantity#3396341, netPriceQuantityUom#3396342, netPriceQuantityUomUuid#3396343, sourceOfSupplyUuid#3396317, minimumOrderQuantity#3396333, orderProposalItemId#3396304, orderProposalItemGroupId#3396327, optimizationGroups#3396346, measurements#3396344, externalProductId#3396328, externalPlantId#3396329, previousOrderProposal#3396323L, isFallbackOrderOnly#3396320, prodLocSpecificKpis#3399776, channelStreamSpecificKpis#3399791, shardId#3399798, worklistShardItemId#3399799L, quantityKpis#3399792]
(57) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#3396190, channelStreamSpecificKpis#3399791, constraintLabels#3396202, constraintOperators#3396203, constraintValues#3396205, deliveryDateTime#3396189, isFallbackOrderOnly#3396192, logisticUnits#3396207, measurements#3396200, minimumOrderQuantity#3396201, netPriceAmount#3396198, netPriceCurrencyCode#3396199, netPriceQuantity#3396195, netPriceQuantityUom#3396196, netPriceQuantityUomUuid#3396197, nextAvailabilityDateTime#3396191, optimizationGroups#3396208, orderDateTime#3396188, orderProposalId#3396170L, orderProposalItemGroupId#3396172, orderProposalItemId#3396171, orderQuantityBaseUom#3396193, orderQuantityBaseUomUuid#3396194, originalReplenishmentRunId#3396173L, plant#3396184, previousOrderProposal#3396176L, prodLocSpecificKpis#3399776, product#3396183, productGroup#3396212, qty#3395822, quantityAfterProdPlantOptimization#3395821, quantityKpis#3399804, shardId#3395105, sourceOfSupplyUuid#3396179, splitIndicator#3396175L, subrange#3396182, supplier#3396181, supplierGroup#3396180, supplyingPlant#3396211]
Condition : NOT (isFallbackOrderOnly#3396192 <=> true)
(58) Project [codegen id : 1]
Output [36]: [shardId#3395105, quantityAfterProdPlantOptimization#3395821, qty#3395822, orderProposalId#3396170L, originalReplenishmentRunId#3396173L, supplierGroup#3396180, supplier#3396181, supplyingPlant#3396211, productGroup#3396212, product#3396183, plant#3396184, subrange#3396182, orderDateTime#3396188, deliveryDateTime#3396189, availabilityDateTime#3396190, nextAvailabilityDateTime#3396191, logisticUnits#3396207, orderQuantityBaseUom#3396193, orderQuantityBaseUomUuid#3396194, splitIndicator#3396175L, netPriceAmount#3396198, netPriceCurrencyCode#3396199, netPriceQuantity#3396195, netPriceQuantityUom#3396196, netPriceQuantityUomUuid#3396197, sourceOfSupplyUuid#3396179, minimumOrderQuantity#3396201, orderProposalItemId#3396171, orderProposalItemGroupId#3396172, optimizationGroups#3396208, measurements#3396200, previousOrderProposal#3396176L, prodLocSpecificKpis#3399776, channelStreamSpecificKpis#3399791, quantityKpis#3399804, arrays_zip(constraintLabels#3396202, constraintOperators#3396203, constraintValues#3396205, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#3401341]
Input [39]: [availabilityDateTime#3396190, channelStreamSpecificKpis#3399791, constraintLabels#3396202, constraintOperators#3396203, constraintValues#3396205, deliveryDateTime#3396189, isFallbackOrderOnly#3396192, logisticUnits#3396207, measurements#3396200, minimumOrderQuantity#3396201, netPriceAmount#3396198, netPriceCurrencyCode#3396199, netPriceQuantity#3396195, netPriceQuantityUom#3396196, netPriceQuantityUomUuid#3396197, nextAvailabilityDateTime#3396191, optimizationGroups#3396208, orderDateTime#3396188, orderProposalId#3396170L, orderProposalItemGroupId#3396172, orderProposalItemId#3396171, orderQuantityBaseUom#3396193, orderQuantityBaseUomUuid#3396194, originalReplenishmentRunId#3396173L, plant#3396184, previousOrderProposal#3396176L, prodLocSpecificKpis#3399776, product#3396183, productGroup#3396212, qty#3395822, quantityAfterProdPlantOptimization#3395821, quantityKpis#3399804, shardId#3395105, sourceOfSupplyUuid#3396179, splitIndicator#3396175L, subrange#3396182, supplier#3396181, supplierGroup#3396180, supplyingPlant#3396211]
(59) Project
Output [37]: [shardId#3395105, qty#3395822, orderProposalId#3396170L, originalReplenishmentRunId#3396173L, supplierGroup#3396180, supplier#3396181, supplyingPlant#3396211, productGroup#3396212, product#3396183, plant#3396184, subrange#3396182, orderDateTime#3396188, deliveryDateTime#3396189, availabilityDateTime#3396190, nextAvailabilityDateTime#3396191, logisticUnits#3396207, orderQuantityBaseUom#3396193, orderQuantityBaseUomUuid#3396194, splitIndicator#3396175L, netPriceAmount#3396198, netPriceCurrencyCode#3396199, netPriceQuantity#3396195, netPriceQuantityUom#3396196, netPriceQuantityUomUuid#3396197, sourceOfSupplyUuid#3396179, orderProposalItemId#3396171, orderProposalItemGroupId#3396172, optimizationGroups#3396208, measurements#3396200, previousOrderProposal#3396176L, prodLocSpecificKpis#3399776, channelStreamSpecificKpis#3399791, quantityKpis#3399804, struct(minServiceLevel, array_min(filter(constraintStructArray#3401341, lambdafunction((lambda x_11247#3401348.constraintLabels = ServiceLevel), lambda x_11247#3401348, false)).constraintValues), minServiceLevelMinStock, array_min(filter(constraintStructArray#3401341, lambdafunction((lambda x_11248#3401349.constraintLabels = ServiceLevelMinimumStock), lambda x_11248#3401349, false)).constraintValues), maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#3401341, lambdafunction((lambda x_11249#3401350.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_11249#3401350, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#3401341, lambdafunction((lambda x_11250#3401351.constraintLabels = RangeOfCoverage), lambda x_11250#3401351, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#3396201, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#3399776, lambdafunction((lambda x_11251#3401352.label = NonListingStartTimestamp), lambda x_11251#3401352, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#3401347, CASE WHEN (qty#3395822 <=> quantityAfterProdPlantOptimization#3395821) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#3395822 * (cast(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11252#3401420.isOrderUnit, lambda x_11252#3401420, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11252#3401421.isOrderUnit, lambda x_11252#3401421, false)), 1, None, false).numerator as double))), qty#3395822), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11252#3401422.isOrderUnit, lambda x_11252#3401422, false)), 1, None, false).uom, orderQuantityBaseUom#3396193), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11252#3401423.isOrderUnit, lambda x_11252#3401423, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3396194), candidateOrderQuantityInBaseUnit, qty#3395822, orderQuantityBaseUom, orderQuantityBaseUom#3396193, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3396194, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3396207, lambdafunction((lambda x_11254#3401424.isPreferred AND (((qty#3395822 * cast(lambda x_11254#3401424.denominator as double)) % cast(lambda x_11254#3401424.numerator as double)) = 0.0)), lambda x_11254#3401424, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3395822 * cast(lambda x_11255#3401465.denominator as double)) / cast(lambda x_11255#3401465.numerator as double)), uom, lambda x_11255#3401465.uom, uomUuid, lambda x_11255#3401465.uomUuid), lambda x_11255#3401465, false))).inPreferredQuantity, coalesce((qty#3395822 * (cast(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11253#3401425.isOrderUnit, lambda x_11253#3401425, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11253#3401426.isOrderUnit, lambda x_11253#3401426, false)), 1, None, false).numerator as double))), qty#3395822)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3396207, lambdafunction((lambda x_11254#3401427.isPreferred AND (((qty#3395822 * cast(lambda x_11254#3401427.denominator as double)) % cast(lambda x_11254#3401427.numerator as double)) = 0.0)), lambda x_11254#3401427, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3395822 * cast(lambda x_11255#3401466.denominator as double)) / cast(lambda x_11255#3401466.numerator as double)), uom, lambda x_11255#3401466.uom, uomUuid, lambda x_11255#3401466.uomUuid), lambda x_11255#3401466, false))).uom, coalesce(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11253#3401428.isOrderUnit, lambda x_11253#3401428, false)), 1, None, false).uom, orderQuantityBaseUom#3396193)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3396207, lambdafunction((lambda x_11254#3401429.isPreferred AND (((qty#3395822 * cast(lambda x_11254#3401429.denominator as double)) % cast(lambda x_11254#3401429.numerator as double)) = 0.0)), lambda x_11254#3401429, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3395822 * cast(lambda x_11255#3401467.denominator as double)) / cast(lambda x_11255#3401467.numerator as double)), uom, lambda x_11255#3401467.uom, uomUuid, lambda x_11255#3401467.uomUuid), lambda x_11255#3401467, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11253#3401430.isOrderUnit, lambda x_11253#3401430, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3396194)), serviceLevel, coalesce(filter(element_at(quantityKpis#3399804, qty#3395822, None, false), lambdafunction((lambda x_11260#3401431.label = ServiceLevel), lambda x_11260#3401431, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#3395822 * (cast(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11252#3401435.isOrderUnit, lambda x_11252#3401435, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11252#3401436.isOrderUnit, lambda x_11252#3401436, false)), 1, None, false).numerator as double))), qty#3395822), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11252#3401437.isOrderUnit, lambda x_11252#3401437, false)), 1, None, false).uom, orderQuantityBaseUom#3396193), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11252#3401438.isOrderUnit, lambda x_11252#3401438, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3396194), candidateOrderQuantityInBaseUnit, qty#3395822, orderQuantityBaseUom, orderQuantityBaseUom#3396193, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3396194, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3396207, lambdafunction((lambda x_11254#3401439.isPreferred AND (((qty#3395822 * cast(lambda x_11254#3401439.denominator as double)) % cast(lambda x_11254#3401439.numerator as double)) = 0.0)), lambda x_11254#3401439, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3395822 * cast(lambda x_11255#3401468.denominator as double)) / cast(lambda x_11255#3401468.numerator as double)), uom, lambda x_11255#3401468.uom, uomUuid, lambda x_11255#3401468.uomUuid), lambda x_11255#3401468, false))).inPreferredQuantity, coalesce((qty#3395822 * (cast(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11253#3401440.isOrderUnit, lambda x_11253#3401440, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11253#3401441.isOrderUnit, lambda x_11253#3401441, false)), 1, None, false).numerator as double))), qty#3395822)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3396207, lambdafunction((lambda x_11254#3401442.isPreferred AND (((qty#3395822 * cast(lambda x_11254#3401442.denominator as double)) % cast(lambda x_11254#3401442.numerator as double)) = 0.0)), lambda x_11254#3401442, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3395822 * cast(lambda x_11255#3401469.denominator as double)) / cast(lambda x_11255#3401469.numerator as double)), uom, lambda x_11255#3401469.uom, uomUuid, lambda x_11255#3401469.uomUuid), lambda x_11255#3401469, false))).uom, coalesce(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11253#3401443.isOrderUnit, lambda x_11253#3401443, false)), 1, None, false).uom, orderQuantityBaseUom#3396193)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3396207, lambdafunction((lambda x_11254#3401444.isPreferred AND (((qty#3395822 * cast(lambda x_11254#3401444.denominator as double)) % cast(lambda x_11254#3401444.numerator as double)) = 0.0)), lambda x_11254#3401444, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3395822 * cast(lambda x_11255#3401470.denominator as double)) / cast(lambda x_11255#3401470.numerator as double)), uom, lambda x_11255#3401470.uom, uomUuid, lambda x_11255#3401470.uomUuid), lambda x_11255#3401470, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11253#3401445.isOrderUnit, lambda x_11253#3401445, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3396194)), serviceLevel, coalesce(filter(element_at(quantityKpis#3399804, qty#3395822, None, false), lambdafunction((lambda x_11264#3401446.label = ServiceLevel), lambda x_11264#3401446, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#3395821 * (cast(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11256#3401450.isOrderUnit, lambda x_11256#3401450, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11256#3401451.isOrderUnit, lambda x_11256#3401451, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#3395821), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11256#3401452.isOrderUnit, lambda x_11256#3401452, false)), 1, None, false).uom, orderQuantityBaseUom#3396193), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11256#3401453.isOrderUnit, lambda x_11256#3401453, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3396194), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#3395821, orderQuantityBaseUom, orderQuantityBaseUom#3396193, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3396194, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3396207, lambdafunction((lambda x_11258#3401454.isPreferred AND (((quantityAfterProdPlantOptimization#3395821 * cast(lambda x_11258#3401454.denominator as double)) % cast(lambda x_11258#3401454.numerator as double)) = 0.0)), lambda x_11258#3401454, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3395821 * cast(lambda x_11259#3401471.denominator as double)) / cast(lambda x_11259#3401471.numerator as double)), uom, lambda x_11259#3401471.uom, uomUuid, lambda x_11259#3401471.uomUuid), lambda x_11259#3401471, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#3395821 * (cast(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11257#3401455.isOrderUnit, lambda x_11257#3401455, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11257#3401456.isOrderUnit, lambda x_11257#3401456, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#3395821)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3396207, lambdafunction((lambda x_11258#3401457.isPreferred AND (((quantityAfterProdPlantOptimization#3395821 * cast(lambda x_11258#3401457.denominator as double)) % cast(lambda x_11258#3401457.numerator as double)) = 0.0)), lambda x_11258#3401457, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3395821 * cast(lambda x_11259#3401472.denominator as double)) / cast(lambda x_11259#3401472.numerator as double)), uom, lambda x_11259#3401472.uom, uomUuid, lambda x_11259#3401472.uomUuid), lambda x_11259#3401472, false))).uom, coalesce(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11257#3401458.isOrderUnit, lambda x_11257#3401458, false)), 1, None, false).uom, orderQuantityBaseUom#3396193)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3396207, lambdafunction((lambda x_11258#3401459.isPreferred AND (((quantityAfterProdPlantOptimization#3395821 * cast(lambda x_11258#3401459.denominator as double)) % cast(lambda x_11258#3401459.numerator as double)) = 0.0)), lambda x_11258#3401459, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3395821 * cast(lambda x_11259#3401473.denominator as double)) / cast(lambda x_11259#3401473.numerator as double)), uom, lambda x_11259#3401473.uom, uomUuid, lambda x_11259#3401473.uomUuid), lambda x_11259#3401473, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11257#3401460.isOrderUnit, lambda x_11257#3401460, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3396194)), serviceLevel, coalesce(filter(element_at(quantityKpis#3399804, quantityAfterProdPlantOptimization#3395821, None, false), lambdafunction((lambda x_11268#3401461.label = ServiceLevel), lambda x_11268#3401461, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#3401419, coalesce(filter(prodLocSpecificKpis#3399776, lambdafunction((lambda x_11272#3401475.label = InitialStockQty), lambda x_11272#3401475, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#3401474, coalesce(filter(prodLocSpecificKpis#3399776, lambdafunction((lambda x_11273#3401477.label = DemandPeriodEndTimestamp), lambda x_11273#3401477, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#3401476]
Input [36]: [shardId#3395105, quantityAfterProdPlantOptimization#3395821, qty#3395822, orderProposalId#3396170L, originalReplenishmentRunId#3396173L, supplierGroup#3396180, supplier#3396181, supplyingPlant#3396211, productGroup#3396212, product#3396183, plant#3396184, subrange#3396182, orderDateTime#3396188, deliveryDateTime#3396189, availabilityDateTime#3396190, nextAvailabilityDateTime#3396191, logisticUnits#3396207, orderQuantityBaseUom#3396193, orderQuantityBaseUomUuid#3396194, splitIndicator#3396175L, netPriceAmount#3396198, netPriceCurrencyCode#3396199, netPriceQuantity#3396195, netPriceQuantityUom#3396196, netPriceQuantityUomUuid#3396197, sourceOfSupplyUuid#3396179, minimumOrderQuantity#3396201, orderProposalItemId#3396171, orderProposalItemGroupId#3396172, optimizationGroups#3396208, measurements#3396200, previousOrderProposal#3396176L, prodLocSpecificKpis#3399776, channelStreamSpecificKpis#3399791, quantityKpis#3399804, constraintStructArray#3401341]
(60) Project
Output [21]: [shardId#3395105, qty#3395822, orderProposalId#3396170L, originalReplenishmentRunId#3396173L, supplierGroup#3396180, supplier#3396181, supplyingPlant#3396211, productGroup#3396212, product#3396183, plant#3396184, subrange#3396182, orderDateTime#3396188, deliveryDateTime#3396189, logisticUnits#3396207, orderQuantityBaseUom#3396193, orderQuantityBaseUomUuid#3396194, splitIndicator#3396175L, orderProposalItemId#3396171, orderProposalItemGroupId#3396172, previousOrderProposal#3396176L, struct(itemId, orderProposalItemId#3396171, itemGroupId, orderProposalItemGroupId#3396172, supplier, supplier#3396181, supplyingPlant, supplyingPlant#3396211, productGroup, productGroup#3396212, product, product#3396183, plant, plant#3396184, supplierSubRange, subrange#3396182, sourceOfSupplyUuid, sourceOfSupplyUuid#3396179, deliveryDateTime, deliveryDateTime#3396189, unitPrice, netPriceAmount#3396198, unitPriceCurrency, netPriceCurrencyCode#3396199, unitPriceQuantity, ... 37 more fields) AS parentItem#3401550]
Input [37]: [shardId#3395105, qty#3395822, orderProposalId#3396170L, originalReplenishmentRunId#3396173L, supplierGroup#3396180, supplier#3396181, supplyingPlant#3396211, productGroup#3396212, product#3396183, plant#3396184, subrange#3396182, orderDateTime#3396188, deliveryDateTime#3396189, availabilityDateTime#3396190, nextAvailabilityDateTime#3396191, logisticUnits#3396207, orderQuantityBaseUom#3396193, orderQuantityBaseUomUuid#3396194, splitIndicator#3396175L, netPriceAmount#3396198, netPriceCurrencyCode#3396199, netPriceQuantity#3396195, netPriceQuantityUom#3396196, netPriceQuantityUomUuid#3396197, sourceOfSupplyUuid#3396179, orderProposalItemId#3396171, orderProposalItemGroupId#3396172, optimizationGroups#3396208, measurements#3396200, previousOrderProposal#3396176L, prodLocSpecificKpis#3399776, channelStreamSpecificKpis#3399791, quantityKpis#3399804, constraintBenchmark#3401347, calculationAnalysis#3401419, inventoryDateTime#3401474, demandPeriodEndDateTime#3401476]
(61) Project
Output [12]: [shardId#3395105, orderProposalId#3396170L, originalReplenishmentRunId#3396173L, supplierGroup#3396180, supplier#3396181, supplyingPlant#3396211, orderDateTime#3396188, splitIndicator#3396175L, orderProposalItemGroupId#3396172, previousOrderProposal#3396176L, parentItem#3401550, struct(itemId, orderProposalItemId#3396171, supplier, supplier#3396181, supplyingPlant, supplyingPlant#3396211, productGroup, productGroup#3396212, product, product#3396183, plant, plant#3396184, supplierSubRange, subrange#3396182, deliveryDateTime, deliveryDateTime#3396189, orderQuantity, coalesce((qty#3395822 * (cast(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11297#3401584.isOrderUnit, lambda x_11297#3401584, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11297#3401585.isOrderUnit, lambda x_11297#3401585, false)), 1, None, false).numerator as double))), qty#3395822), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11297#3401586.isOrderUnit, lambda x_11297#3401586, false)), 1, None, false).uom, orderQuantityBaseUom#3396193), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3396207, lambdafunction(lambda x_11297#3401587.isOrderUnit, lambda x_11297#3401587, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3396194), orderQuantityInBaseUnit, qty#3395822, orderQuantityBaseUom, ... 13 more fields) AS item#3401581]
Input [21]: [shardId#3395105, qty#3395822, orderProposalId#3396170L, originalReplenishmentRunId#3396173L, supplierGroup#3396180, supplier#3396181, supplyingPlant#3396211, productGroup#3396212, product#3396183, plant#3396184, subrange#3396182, orderDateTime#3396188, deliveryDateTime#3396189, logisticUnits#3396207, orderQuantityBaseUom#3396193, orderQuantityBaseUomUuid#3396194, splitIndicator#3396175L, orderProposalItemId#3396171, orderProposalItemGroupId#3396172, previousOrderProposal#3396176L, parentItem#3401550]
(62) ObjectHashAggregate
Input [12]: [shardId#3395105, orderProposalId#3396170L, originalReplenishmentRunId#3396173L, supplierGroup#3396180, supplier#3396181, supplyingPlant#3396211, orderDateTime#3396188, splitIndicator#3396175L, orderProposalItemGroupId#3396172, previousOrderProposal#3396176L, parentItem#3401550, item#3401581]
Keys [4]: [shardId#3395105, orderProposalId#3396170L, splitIndicator#3396175L, orderProposalItemGroupId#3396172]
Functions [8]: [partial_max(originalReplenishmentRunId#3396173L), partial_max(supplierGroup#3396180), partial_max(supplier#3396181), partial_max(supplyingPlant#3396211), partial_max(orderDateTime#3396188), partial_collect_list(parentItem#3401550, 0, 0), partial_collect_set(previousOrderProposal#3396176L, 0, 0), partial_collect_list(item#3401581, 0, 0)]
Aggregate Attributes [8]: [max#3402905L, max#3402906, max#3402907, max#3402908, max#3402909, buf#3402910, buf#3402911, buf#3402912]
Results [12]: [shardId#3395105, orderProposalId#3396170L, splitIndicator#3396175L, orderProposalItemGroupId#3396172, max#3402913L, max#3402914, max#3402915, max#3402916, max#3402917, buf#3402918, buf#3402919, buf#3402920]
(63) Exchange
Input [12]: [shardId#3395105, orderProposalId#3396170L, splitIndicator#3396175L, orderProposalItemGroupId#3396172, max#3402913L, max#3402914, max#3402915, max#3402916, max#3402917, buf#3402918, buf#3402919, buf#3402920]
Arguments: hashpartitioning(shardId#3395105, orderProposalId#3396170L, splitIndicator#3396175L, orderProposalItemGroupId#3396172, 30), ENSURE_REQUIREMENTS, [plan_id=980135]
(64) ObjectHashAggregate
Input [12]: [shardId#3395105, orderProposalId#3396170L, splitIndicator#3396175L, orderProposalItemGroupId#3396172, max#3402913L, max#3402914, max#3402915, max#3402916, max#3402917, buf#3402918, buf#3402919, buf#3402920]
Keys [4]: [shardId#3395105, orderProposalId#3396170L, splitIndicator#3396175L, orderProposalItemGroupId#3396172]
Functions [8]: [max(originalReplenishmentRunId#3396173L), max(supplierGroup#3396180), max(supplier#3396181), max(supplyingPlant#3396211), max(orderDateTime#3396188), collect_list(parentItem#3401550, 0, 0), collect_set(previousOrderProposal#3396176L, 0, 0), collect_list(item#3401581, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#3396173L)#3401650L, max(supplierGroup#3396180)#3401651, max(supplier#3396181)#3401652, max(supplyingPlant#3396211)#3401653, max(orderDateTime#3396188)#3401654, collect_list(parentItem#3401550, 0, 0)#3401655, collect_set(previousOrderProposal#3396176L, 0, 0)#3401657, collect_list(item#3401581, 0, 0)#3401656]
Results [10]: [shardId#3395105, orderProposalId#3396170L, max(originalReplenishmentRunId#3396173L)#3401650L AS originalReplenishmentRunId#3401598L, max(supplierGroup#3396180)#3401651 AS supplierGroup#3401599, max(supplier#3396181)#3401652 AS supplier#3401600, max(supplyingPlant#3396211)#3401653 AS supplyingPlant#3401601, max(orderDateTime#3396188)#3401654 AS orderDateTime#3401602, collect_list(parentItem#3401550, 0, 0)#3401655 AS parentItems#3401603, collect_set(previousOrderProposal#3396176L, 0, 0)#3401657 AS previousOrderProposals#3401605, struct(itemGroupId, orderProposalItemGroupId#3396172, items, collect_list(item#3401581, 0, 0)#3401656) AS itemGroup#3401659]
(65) ObjectHashAggregate
Input [10]: [shardId#3395105, orderProposalId#3396170L, originalReplenishmentRunId#3401598L, supplierGroup#3401599, supplier#3401600, supplyingPlant#3401601, orderDateTime#3401602, parentItems#3401603, previousOrderProposals#3401605, itemGroup#3401659]
Keys [2]: [shardId#3395105, orderProposalId#3396170L]
Functions [8]: [partial_max(originalReplenishmentRunId#3401598L), partial_max(supplierGroup#3401599), partial_max(supplier#3401600), partial_max(supplyingPlant#3401601), partial_max(orderDateTime#3401602), partial_collect_list(itemGroup#3401659, 0, 0), partial_collect_list(parentItems#3401603, 0, 0), partial_collect_set(previousOrderProposals#3401605, 0, 0)]
Aggregate Attributes [8]: [max#3402889L, max#3402890, max#3402891, max#3402892, max#3402893, buf#3402894, buf#3402895, buf#3402896]
Results [10]: [shardId#3395105, orderProposalId#3396170L, max#3402897L, max#3402898, max#3402899, max#3402900, max#3402901, buf#3402902, buf#3402903, buf#3402904]
(66) Exchange
Input [10]: [shardId#3395105, orderProposalId#3396170L, max#3402897L, max#3402898, max#3402899, max#3402900, max#3402901, buf#3402902, buf#3402903, buf#3402904]
Arguments: hashpartitioning(shardId#3395105, orderProposalId#3396170L, 30), ENSURE_REQUIREMENTS, [plan_id=980138]
(67) ObjectHashAggregate
Input [10]: [shardId#3395105, orderProposalId#3396170L, max#3402897L, max#3402898, max#3402899, max#3402900, max#3402901, buf#3402902, buf#3402903, buf#3402904]
Keys [2]: [shardId#3395105, orderProposalId#3396170L]
Functions [8]: [max(originalReplenishmentRunId#3401598L), max(supplierGroup#3401599), max(supplier#3401600), max(supplyingPlant#3401601), max(orderDateTime#3401602), collect_list(itemGroup#3401659, 0, 0), collect_list(parentItems#3401603, 0, 0), collect_set(previousOrderProposals#3401605, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#3401598L)#3401681L, max(supplierGroup#3401599)#3401682, max(supplier#3401600)#3401683, max(supplyingPlant#3401601)#3401684, max(orderDateTime#3401602)#3401685, collect_list(itemGroup#3401659, 0, 0)#3401686, collect_list(parentItems#3401603, 0, 0)#3401687, collect_set(previousOrderProposals#3401605, 0, 0)#3401688]
Results [10]: [shardId#3395105, orderProposalId#3396170L, max(originalReplenishmentRunId#3401598L)#3401681L AS originalReplenishmentRunId#3401660L, max(supplierGroup#3401599)#3401682 AS supplierGroup#3401661, max(supplier#3401600)#3401683 AS supplier#3401662, max(supplyingPlant#3401601)#3401684 AS supplyingPlant#3401663, max(orderDateTime#3401602)#3401685 AS orderDateTime#3401664, collect_list(itemGroup#3401659, 0, 0)#3401686 AS itemGroups#3401665, flatten(collect_list(parentItems#3401603, 0, 0)#3401687) AS parentItems#3401666, flatten(collect_set(previousOrderProposals#3401605, 0, 0)#3401688) AS previousOrderProposals#3401667]
(68) Project
Output [2]: [shardId#3395105, struct(orderProposalId, orderProposalId#3396170L, originalReplenishmentRunId, originalReplenishmentRunId#3401660L, supplierGroup, supplierGroup#3401661, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#3401661) THEN supplier#3401662 END, supplyingPlant, supplyingPlant#3401663, orderDateTime, orderDateTime#3401664, itemGroups, itemGroups#3401665, previousOrderProposals, array_distinct(previousOrderProposals#3401667), parentItems, parentItems#3401666) AS orderProposal#3401692]
Input [10]: [shardId#3395105, orderProposalId#3396170L, originalReplenishmentRunId#3401660L, supplierGroup#3401661, supplier#3401662, supplyingPlant#3401663, orderDateTime#3401664, itemGroups#3401665, parentItems#3401666, previousOrderProposals#3401667]
(69) Project
Output [11]: [shardId#3395105, orderProposal#3401692.orderProposalId AS _extract_orderProposalId#3402521L, orderProposal#3401692.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#3402522L, orderProposal#3401692.supplierGroup AS _extract_supplierGroup#3402523, orderProposal#3401692.supplier AS _extract_supplier#3402524, orderProposal#3401692.supplyingPlant AS _extract_supplyingPlant#3402525, orderProposal#3401692.orderDateTime AS _extract_orderDateTime#3402526, orderProposal#3401692.itemGroups AS _extract_itemGroups#3402527, orderProposal#3401692.previousOrderProposals AS _extract_previousOrderProposals#3402528, orderProposal#3401692.parentItems AS _extract_parentItems#3402529, orderProposal#3401692.orderProposalId AS _extract_orderProposalId#3402530L]
Input [2]: [shardId#3395105, orderProposal#3401692]
(70) Exchange
Input [11]: [shardId#3395105, _extract_orderProposalId#3402521L, _extract_originalReplenishmentRunId#3402522L, _extract_supplierGroup#3402523, _extract_supplier#3402524, _extract_supplyingPlant#3402525, _extract_orderDateTime#3402526, _extract_itemGroups#3402527, _extract_previousOrderProposals#3402528, _extract_parentItems#3402529, _extract_orderProposalId#3402530L]
Arguments: hashpartitioning(coalesce(shardId#3395105, ), isnull(shardId#3395105), coalesce(_extract_orderProposalId#3402530L, 0), isnull(_extract_orderProposalId#3402530L), 30), ENSURE_REQUIREMENTS, [plan_id=980142]
(71) Sort
Input [11]: [shardId#3395105, _extract_orderProposalId#3402521L, _extract_originalReplenishmentRunId#3402522L, _extract_supplierGroup#3402523, _extract_supplier#3402524, _extract_supplyingPlant#3402525, _extract_orderDateTime#3402526, _extract_itemGroups#3402527, _extract_previousOrderProposals#3402528, _extract_parentItems#3402529, _extract_orderProposalId#3402530L]
Arguments: [coalesce(shardId#3395105, ) ASC NULLS FIRST, isnull(shardId#3395105) ASC NULLS FIRST, coalesce(_extract_orderProposalId#3402530L, 0) ASC NULLS FIRST, isnull(_extract_orderProposalId#3402530L) ASC NULLS FIRST], false, 0
(72) InMemoryTableScan
Output [3]: [shardId#3401707, orderProposalId#3401708L, optimizationGroups#3401710]
Arguments: [shardId#3401707, orderProposalId#3401708L, optimizationGroups#3401710], [isnotnull(orderProposalId#3401708L)]
(73) InMemoryRelation
Arguments: [shardId#3401707, orderProposalId#3401708L, items#3401709, optimizationGroups#3401710, isOptimal#3401711, optimizationInsights#3401713], StorageLevel(disk, memory, 2 replicas)
(74) Filter [codegen id : 2]
Input [3]: [shardId#3401707, orderProposalId#3401708L, optimizationGroups#3401710]
Condition : isnotnull(orderProposalId#3401708L)
(75) Exchange
Input [3]: [shardId#3401707, orderProposalId#3401708L, optimizationGroups#3401710]
Arguments: hashpartitioning(orderProposalId#3401708L, 30), ENSURE_REQUIREMENTS, [plan_id=980147]
(76) Sort [codegen id : 3]
Input [3]: [shardId#3401707, orderProposalId#3401708L, optimizationGroups#3401710]
Arguments: [orderProposalId#3401708L ASC NULLS FIRST], false, 0
(77) InMemoryTableScan
Output [2]: [items#3401336, shardId#3401334]
Arguments: [items#3401336, shardId#3401334], [(size(items#3401336.worklistShardItemId, true) > 0), isnotnull(items#3401336.worklistShardItemId), (shardId#3401334 = 0_5_10000000532)]
(78) InMemoryRelation
Arguments: [shardId#3401334, orderProposalId#3401335L, items#3401336, optimizationGroups#3401337, isOptimal#3401338, optimizationInsights#3401340], StorageLevel(disk, memory, 2 replicas)
(79) Filter [codegen id : 4]
Input [2]: [items#3401336, shardId#3401334]
Condition : (((size(items#3401336.worklistShardItemId, true) > 0) AND isnotnull(items#3401336.worklistShardItemId)) AND (shardId#3401334 = 0_5_10000000532))
(80) Project [codegen id : 4]
Output [1]: [items#3401336.worklistShardItemId AS _extract_worklistShardItemId#3402355]
Input [2]: [items#3401336, shardId#3401334]
(81) Generate [codegen id : 4]
Input [1]: [_extract_worklistShardItemId#3402355]
Arguments: explode(_extract_worklistShardItemId#3402355), false, [item#3401714L]
(82) Project [codegen id : 4]
Output [1]: [item#3401714L AS worklistShardItemId#3401715L]
Input [1]: [item#3401714L]
(83) BroadcastExchange
Input [1]: [worklistShardItemId#3401715L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=980158]
(84) Scan parquet
Output [5]: [orderProposalId#3401763L, isFallbackOrderOnly#3401780, worklistShardItemId#3401786L, shardId#3401807, sequenceId#3401785]
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#3401807), isnotnull(sequenceId#3401785), (shardId#3401807 = 0_5_10000000532), (sequenceId#3401785 = 2)]
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#3401763L, isFallbackOrderOnly#3401780, worklistShardItemId#3401786L, shardId#3401807, sequenceId#3401785]
(86) Filter [codegen id : 5]
Input [5]: [orderProposalId#3401763L, isFallbackOrderOnly#3401780, worklistShardItemId#3401786L, shardId#3401807, sequenceId#3401785]
Condition : ((isnotnull(worklistShardItemId#3401786L) AND NOT (isFallbackOrderOnly#3401780 <=> true)) AND isnotnull(orderProposalId#3401763L))
(87) Project [codegen id : 5]
Output [2]: [orderProposalId#3401763L, worklistShardItemId#3401786L]
Input [5]: [orderProposalId#3401763L, isFallbackOrderOnly#3401780, worklistShardItemId#3401786L, shardId#3401807, sequenceId#3401785]
(88) Exchange
Input [2]: [orderProposalId#3401763L, worklistShardItemId#3401786L]
Arguments: hashpartitioning(worklistShardItemId#3401786L, 30), REPARTITION_BY_NUM, [plan_id=980165]
(89) Project
Output [2]: [worklistShardItemId#3401786L, orderProposalId#3401763L]
Input [2]: [orderProposalId#3401763L, worklistShardItemId#3401786L]
(90) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [worklistShardItemId#3401715L]
Right keys [1]: [worklistShardItemId#3401786L]
Join type: Inner
Join condition: None
(91) Project [codegen id : 6]
Output [1]: [orderProposalId#3401763L]
Input [3]: [worklistShardItemId#3401715L, worklistShardItemId#3401786L, orderProposalId#3401763L]
(92) HashAggregate [codegen id : 6]
Input [1]: [orderProposalId#3401763L]
Keys [1]: [orderProposalId#3401763L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#3401763L]
(93) Exchange
Input [1]: [orderProposalId#3401763L]
Arguments: hashpartitioning(orderProposalId#3401763L, 30), ENSURE_REQUIREMENTS, [plan_id=980172]
(94) HashAggregate [codegen id : 7]
Input [1]: [orderProposalId#3401763L]
Keys [1]: [orderProposalId#3401763L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#3401763L]
(95) Sort [codegen id : 7]
Input [1]: [orderProposalId#3401763L]
Arguments: [orderProposalId#3401763L ASC NULLS FIRST], false, 0
(96) SortMergeJoin [codegen id : 8]
Left keys [1]: [orderProposalId#3401708L]
Right keys [1]: [orderProposalId#3401763L]
Join type: Inner
Join condition: None
(97) Project
Output [3]: [orderProposalId#3401708L, shardId#3401707, coalesce(transform(optimizationGroups#3401710, lambdafunction(struct(optGroupId, lambda x_11301#3401705.optGroupId, minOrderProfile, lambda x_11301#3401705.minOrderProfile, assignmentDetails, lambda x_11301#3401705.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_11301#3401705.minOrderGoal.dimensionType, unit, lambda x_11301#3401705.minOrderGoal.unit, unitUuid, lambda x_11301#3401705.minOrderGoal.unitUuid, goalValue, lambda x_11301#3401705.minOrderGoal.minOrderValue, calcValue, lambda x_11301#3401705.minOrderGoal.calculatedOrderValue), transportLoadProfile, null, transportLoadGoal, null), lambda x_11301#3401705, false)), []) AS optimizationGroups#3401704]
Input [4]: [shardId#3401707, orderProposalId#3401708L, optimizationGroups#3401710, orderProposalId#3401763L]
(98) Exchange
Input [3]: [orderProposalId#3401708L, shardId#3401707, optimizationGroups#3401704]
Arguments: hashpartitioning(coalesce(shardId#3401707, ), isnull(shardId#3401707), coalesce(orderProposalId#3401708L, 0), isnull(orderProposalId#3401708L), 30), ENSURE_REQUIREMENTS, [plan_id=980181]
(99) Sort [codegen id : 9]
Input [3]: [orderProposalId#3401708L, shardId#3401707, optimizationGroups#3401704]
Arguments: [coalesce(shardId#3401707, ) ASC NULLS FIRST, isnull(shardId#3401707) ASC NULLS FIRST, coalesce(orderProposalId#3401708L, 0) ASC NULLS FIRST, isnull(orderProposalId#3401708L) ASC NULLS FIRST], false, 0
(100) SortMergeJoin
Left keys [4]: [coalesce(shardId#3395105, ), isnull(shardId#3395105), coalesce(_extract_orderProposalId#3402530L, 0), isnull(_extract_orderProposalId#3402530L)]
Right keys [4]: [coalesce(shardId#3401707, ), isnull(shardId#3401707), coalesce(orderProposalId#3401708L, 0), isnull(orderProposalId#3401708L)]
Join type: LeftOuter
Join condition: None
(101) Project
Output [2]: [shardId#3395105, named_struct(orderProposalId, _extract_orderProposalId#3402530L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#3402522L, supplierGroup, _extract_supplierGroup#3402523, optimizationGroups, coalesce(optimizationGroups#3401704, []), supplier, _extract_supplier#3402524, supplyingPlant, _extract_supplyingPlant#3402525, orderDateTime, _extract_orderDateTime#3402526, itemGroups, _extract_itemGroups#3402527, previousOrderProposals, _extract_previousOrderProposals#3402528, parentItems, _extract_parentItems#3402529) AS orderProposal#3401811]
Input [14]: [shardId#3395105, _extract_orderProposalId#3402521L, _extract_originalReplenishmentRunId#3402522L, _extract_supplierGroup#3402523, _extract_supplier#3402524, _extract_supplyingPlant#3402525, _extract_orderDateTime#3402526, _extract_itemGroups#3402527, _extract_previousOrderProposals#3402528, _extract_parentItems#3402529, _extract_orderProposalId#3402530L, orderProposalId#3401708L, shardId#3401707, optimizationGroups#3401704]
(102) Project
Output [3]: [shardId#3395105, orderProposal#3401811, CASE WHEN (size(orderProposal#3401811.parentItems, true) > 2000) THEN xxhash64(orderProposal#3401811.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#3401811.orderProposalId as decimal(20,0)), 60), 42) END AS resultSeparationId#3406938L]
Input [2]: [orderProposal#3401811, shardId#3395105]
(103) ObjectHashAggregate
Input [3]: [shardId#3395105, orderProposal#3401811, resultSeparationId#3406938L]
Keys [2]: [shardId#3395105, resultSeparationId#3406938L]
Functions [1]: [partial_collect_list(orderProposal#3401811, 0, 0)]
Aggregate Attributes [1]: [buf#3406977]
Results [3]: [shardId#3395105, resultSeparationId#3406938L, buf#3406978]
(104) Exchange
Input [3]: [shardId#3395105, resultSeparationId#3406938L, buf#3406978]
Arguments: hashpartitioning(shardId#3395105, resultSeparationId#3406938L, 30), ENSURE_REQUIREMENTS, [plan_id=981297]
(105) ObjectHashAggregate
Input [3]: [shardId#3395105, resultSeparationId#3406938L, buf#3406978]
Keys [2]: [shardId#3395105, resultSeparationId#3406938L]
Functions [1]: [collect_list(orderProposal#3401811, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#3401811, 0, 0)#3406946]
Results [3]: [shardId#3395105, resultSeparationId#3406938L, collect_list(orderProposal#3401811, 0, 0)#3406946 AS orderProposals#3406942]
(106) Exchange
Input [3]: [shardId#3395105, resultSeparationId#3406938L, orderProposals#3406942]
Arguments: rangepartitioning(shardId#3395105 ASC NULLS FIRST, resultSeparationId#3406938L ASC NULLS FIRST, 60), REPARTITION_BY_NUM, [plan_id=981386]
(107) Project
Output [2]: [shardId#3395105, orderProposals#3406942]
Input [3]: [shardId#3395105, resultSeparationId#3406938L, orderProposals#3406942]
(108) Project
Output [2]: [empty2null(shardId#3395105) AS shardId#3427900, orderProposals#3406942]
Input [2]: [orderProposals#3406942, shardId#3395105]
(109) Sort
Input [2]: [shardId#3427900, orderProposals#3406942]
Arguments: [shardId#3427900 ASC NULLS FIRST], false, 0
(110) WriteFiles
Input [2]: [shardId#3427900, orderProposals#3406942]
(111) Execute InsertIntoHadoopFsRelationCommand
Input: []
Arguments: hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/order-proposal-result/10000000532, false, [shardId#3427900], JSON, [__partition_columns=["shardId"], path=hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/order-proposal-result/10000000532], Append, [shardId, orderProposals]