== 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#3595117, shardId#3579691]
Arguments: [orderProposals#3595117, shardId#3579691]
(2) InMemoryRelation
Arguments: [shardId#3579691, orderProposals#3595117], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [3]: [shardId#3579691, resultSeparationId#3595113L, orderProposals#3595117]
Arguments: [shardId#3579691, resultSeparationId#3595113L, orderProposals#3595117]
(4) InMemoryRelation
Arguments: [shardId#3579691, resultSeparationId#3595113L, orderProposals#3595117], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [2]: [orderProposal#3588007, shardId#3579691]
Arguments: [orderProposal#3588007, shardId#3579691]
(6) InMemoryRelation
Arguments: [shardId#3579691, orderProposal#3588007], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [39]: [availabilityDateTime#3581297, channelStreamSpecificKpis#3587038, constraintLabels#3581309, constraintOperators#3581310, constraintValues#3581312, deliveryDateTime#3581296, isFallbackOrderOnly#3581299, logisticUnits#3581314, measurements#3581307, minimumOrderQuantity#3581308, netPriceAmount#3581305, netPriceCurrencyCode#3581306, netPriceQuantity#3581302, netPriceQuantityUom#3581303, netPriceQuantityUomUuid#3581304, nextAvailabilityDateTime#3581298, optimizationGroups#3581315, orderDateTime#3581295, orderProposalId#3581277L, orderProposalItemGroupId#3581279, orderProposalItemId#3581278, orderQuantityBaseUom#3581300, orderQuantityBaseUomUuid#3581301, originalReplenishmentRunId#3581280L, plant#3581291, previousOrderProposal#3581283L, prodLocSpecificKpis#3587023, product#3581290, productGroup#3581319, qty#3580963, quantityAfterProdPlantOptimization#3580962, quantityKpis#3587051, shardId#3579691, sourceOfSupplyUuid#3581286, splitIndicator#3581282L, subrange#3581289, supplier#3581288, supplierGroup#3581287, supplyingPlant#3581318]
Arguments: [availabilityDateTime#3581297, channelStreamSpecificKpis#3587038, constraintLabels#3581309, constraintOperators#3581310, constraintValues#3581312, deliveryDateTime#3581296, isFallbackOrderOnly#3581299, logisticUnits#3581314, measurements#3581307, minimumOrderQuantity#3581308, netPriceAmount#3581305, netPriceCurrencyCode#3581306, netPriceQuantity#3581302, netPriceQuantityUom#3581303, netPriceQuantityUomUuid#3581304, nextAvailabilityDateTime#3581298, optimizationGroups#3581315, orderDateTime#3581295, orderProposalId#3581277L, orderProposalItemGroupId#3581279, orderProposalItemId#3581278, orderQuantityBaseUom#3581300, orderQuantityBaseUomUuid#3581301, originalReplenishmentRunId#3581280L, plant#3581291, ... 14 more fields], [NOT (isFallbackOrderOnly#3581299 <=> true)]
(8) InMemoryRelation
Arguments: [shardId#3579691, worklistShardItemId#3580961L, quantityAfterProdPlantOptimization#3580962, qty#3580963, orderProposalId#3581277L, originalReplenishmentRunId#3581280L, supplierGroup#3581287, supplier#3581288, supplyingPlant#3581318, productGroup#3581319, product#3581290, plant#3581291, subrange#3581289, orderDateTime#3581295, deliveryDateTime#3581296, availabilityDateTime#3581297, nextAvailabilityDateTime#3581298, constraintValues#3581312, constraintOperators#3581310, constraintLabels#3581309, logisticUnits#3581314, orderQuantityBaseUom#3581300, orderQuantityBaseUomUuid#3581301, splitIndicator#3581282L, netPriceAmount#3581305, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [2]: [shardId#3579691, items#3579693]
Arguments: [shardId#3579691, items#3579693], [(size(items#3579693, true) > 0), isnotnull(items#3579693)]
(10) InMemoryRelation
Arguments: [shardId#3579691, orderProposalId#3579692L, items#3579693, optimizationGroups#3579694, isOptimal#3579695, optimizationInsights#3579697], StorageLevel(disk, memory, 2 replicas)
(11) InMemoryTableScan
Output [6]: [shardId#3579691, orderProposalId#3579692L, items#3579693, optimizationGroups#3579694, isOptimal#3579695, optimizationInsights#3579697]
Arguments: [shardId#3579691, orderProposalId#3579692L, items#3579693, optimizationGroups#3579694, isOptimal#3579695, optimizationInsights#3579697], [isnotnull(shardId#3579691), (shardId#3579691 = 0_1_10000000532)]
(12) InMemoryRelation
Arguments: [shardId#3579691, orderProposalId#3579692L, items#3579693, optimizationGroups#3579694, isOptimal#3579695, lastModified#3579696, optimizationInsights#3579697], StorageLevel(disk, memory, 2 replicas)
(13) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#3579691, orderProposalId#3579692L, items#3579693, optimizationGroups#3579694, isOptimal#3579695, lastModified#3579696, optimizationInsights#3579697]
Arguments: [shardId#3579691, orderProposalId#3579692L, items#3579693, optimizationGroups#3579694, isOptimal#3579695, lastModified#3579696, optimizationInsights#3579697], MapPartitionsRDD[152524] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(14) Filter [codegen id : 1]
Input [7]: [shardId#3579691, orderProposalId#3579692L, items#3579693, optimizationGroups#3579694, isOptimal#3579695, lastModified#3579696, optimizationInsights#3579697]
Condition : (isnotnull(shardId#3579691) AND (shardId#3579691 = 0_1_10000000532))
(15) Filter [codegen id : 1]
Input [6]: [shardId#3579691, orderProposalId#3579692L, items#3579693, optimizationGroups#3579694, isOptimal#3579695, optimizationInsights#3579697]
Condition : (isnotnull(shardId#3579691) AND (shardId#3579691 = 0_1_10000000532))
(16) Filter [codegen id : 1]
Input [2]: [shardId#3579691, items#3579693]
Condition : ((size(items#3579693, true) > 0) AND isnotnull(items#3579693))
(17) Generate [codegen id : 1]
Input [2]: [shardId#3579691, items#3579693]
Arguments: explode(items#3579693), [shardId#3579691], false, [item#3580960]
(18) Project [codegen id : 1]
Output [4]: [shardId#3579691, item#3580960.worklistShardItemId AS worklistShardItemId#3580961L, item#3580960.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#3580962, item#3580960.qty AS qty#3580963]
Input [2]: [shardId#3579691, item#3580960]
(19) Exchange
Input [4]: [shardId#3579691, worklistShardItemId#3580961L, quantityAfterProdPlantOptimization#3580962, qty#3580963]
Arguments: hashpartitioning(worklistShardItemId#3580961L, 30), ENSURE_REQUIREMENTS, [plan_id=1028707]
(20) Sort [codegen id : 2]
Input [4]: [shardId#3579691, worklistShardItemId#3580961L, quantityAfterProdPlantOptimization#3580962, qty#3580963]
Arguments: [worklistShardItemId#3580961L ASC NULLS FIRST], false, 0
(21) Scan parquet
Output [38]: [orderProposalId#3581365L, orderProposalItemId#3581366, supplierGroup#3581367, supplier#3581368, plant#3581369, deliveryDateTime#3581370, subrange#3581371, supplyingPlant#3581372, productGroup#3581373, product#3581374, orderDateTime#3581375, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, sourceOfSupplyUuid#3581379, isFallbackOrderOnly#3581382, splitIndicator#3581384L, previousOrderProposal#3581385L, worklistShardItemId#3581388L, orderProposalItemGroupId#3581389, externalProductId#3581390, externalPlantId#3581391, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, minimumOrderQuantity#3581395, constraintLabels#3581396, constraintOperators#3581397, constraintValues#3581398, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, measurements#3581406, originalReplenishmentRunId#3581407L, optimizationGroups#3581408, shardId#3581409, sequenceId#3581387]
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#3581409), isnotnull(sequenceId#3581387), (shardId#3581409 = 0_1_10000000532), (sequenceId#3581387 = 7)]
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#3581365L, orderProposalItemId#3581366, supplierGroup#3581367, supplier#3581368, plant#3581369, deliveryDateTime#3581370, subrange#3581371, supplyingPlant#3581372, productGroup#3581373, product#3581374, orderDateTime#3581375, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, sourceOfSupplyUuid#3581379, isFallbackOrderOnly#3581382, splitIndicator#3581384L, previousOrderProposal#3581385L, worklistShardItemId#3581388L, orderProposalItemGroupId#3581389, externalProductId#3581390, externalPlantId#3581391, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, minimumOrderQuantity#3581395, constraintLabels#3581396, constraintOperators#3581397, constraintValues#3581398, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, measurements#3581406, originalReplenishmentRunId#3581407L, optimizationGroups#3581408, shardId#3581409, sequenceId#3581387]
(23) Filter [codegen id : 3]
Input [38]: [orderProposalId#3581365L, orderProposalItemId#3581366, supplierGroup#3581367, supplier#3581368, plant#3581369, deliveryDateTime#3581370, subrange#3581371, supplyingPlant#3581372, productGroup#3581373, product#3581374, orderDateTime#3581375, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, sourceOfSupplyUuid#3581379, isFallbackOrderOnly#3581382, splitIndicator#3581384L, previousOrderProposal#3581385L, worklistShardItemId#3581388L, orderProposalItemGroupId#3581389, externalProductId#3581390, externalPlantId#3581391, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, minimumOrderQuantity#3581395, constraintLabels#3581396, constraintOperators#3581397, constraintValues#3581398, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, measurements#3581406, originalReplenishmentRunId#3581407L, optimizationGroups#3581408, shardId#3581409, sequenceId#3581387]
Condition : isnotnull(worklistShardItemId#3581388L)
(24) Project [codegen id : 3]
Output [36]: [orderProposalId#3581365L, orderProposalItemId#3581366, supplierGroup#3581367, supplier#3581368, plant#3581369, deliveryDateTime#3581370, subrange#3581371, supplyingPlant#3581372, productGroup#3581373, product#3581374, orderDateTime#3581375, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, sourceOfSupplyUuid#3581379, isFallbackOrderOnly#3581382, splitIndicator#3581384L, previousOrderProposal#3581385L, worklistShardItemId#3581388L, orderProposalItemGroupId#3581389, externalProductId#3581390, externalPlantId#3581391, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, minimumOrderQuantity#3581395, constraintLabels#3581396, constraintOperators#3581397, constraintValues#3581398, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, measurements#3581406, originalReplenishmentRunId#3581407L, optimizationGroups#3581408]
Input [38]: [orderProposalId#3581365L, orderProposalItemId#3581366, supplierGroup#3581367, supplier#3581368, plant#3581369, deliveryDateTime#3581370, subrange#3581371, supplyingPlant#3581372, productGroup#3581373, product#3581374, orderDateTime#3581375, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, sourceOfSupplyUuid#3581379, isFallbackOrderOnly#3581382, splitIndicator#3581384L, previousOrderProposal#3581385L, worklistShardItemId#3581388L, orderProposalItemGroupId#3581389, externalProductId#3581390, externalPlantId#3581391, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, minimumOrderQuantity#3581395, constraintLabels#3581396, constraintOperators#3581397, constraintValues#3581398, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, measurements#3581406, originalReplenishmentRunId#3581407L, optimizationGroups#3581408, shardId#3581409, sequenceId#3581387]
(25) Exchange
Input [36]: [orderProposalId#3581365L, orderProposalItemId#3581366, supplierGroup#3581367, supplier#3581368, plant#3581369, deliveryDateTime#3581370, subrange#3581371, supplyingPlant#3581372, productGroup#3581373, product#3581374, orderDateTime#3581375, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, sourceOfSupplyUuid#3581379, isFallbackOrderOnly#3581382, splitIndicator#3581384L, previousOrderProposal#3581385L, worklistShardItemId#3581388L, orderProposalItemGroupId#3581389, externalProductId#3581390, externalPlantId#3581391, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, minimumOrderQuantity#3581395, constraintLabels#3581396, constraintOperators#3581397, constraintValues#3581398, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, measurements#3581406, originalReplenishmentRunId#3581407L, optimizationGroups#3581408]
Arguments: hashpartitioning(worklistShardItemId#3581388L, 30), REPARTITION_BY_NUM, [plan_id=1028717]
(26) Project [codegen id : 4]
Output [36]: [worklistShardItemId#3581388L, orderProposalId#3581365L, orderProposalItemId#3581366, orderProposalItemGroupId#3581389, originalReplenishmentRunId#3581407L, splitIndicator#3581384L, previousOrderProposal#3581385L, sourceOfSupplyUuid#3581379, supplierGroup#3581367, supplier#3581368, subrange#3581371, product#3581374, plant#3581369, orderDateTime#3581375, deliveryDateTime#3581370, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, isFallbackOrderOnly#3581382, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, netPriceAmount#3581401, netPriceCurrencyCode#3581402, measurements#3581406, minimumOrderQuantity#3581395, constraintLabels#3581396, constraintOperators#3581397, constraintValues#3581398, logisticUnits#3581392, optimizationGroups#3581408, externalProductId#3581390, externalPlantId#3581391, supplyingPlant#3581372, productGroup#3581373]
Input [36]: [orderProposalId#3581365L, orderProposalItemId#3581366, supplierGroup#3581367, supplier#3581368, plant#3581369, deliveryDateTime#3581370, subrange#3581371, supplyingPlant#3581372, productGroup#3581373, product#3581374, orderDateTime#3581375, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, sourceOfSupplyUuid#3581379, isFallbackOrderOnly#3581382, splitIndicator#3581384L, previousOrderProposal#3581385L, worklistShardItemId#3581388L, orderProposalItemGroupId#3581389, externalProductId#3581390, externalPlantId#3581391, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, minimumOrderQuantity#3581395, constraintLabels#3581396, constraintOperators#3581397, constraintValues#3581398, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, measurements#3581406, originalReplenishmentRunId#3581407L, optimizationGroups#3581408]
(27) Sort [codegen id : 4]
Input [36]: [worklistShardItemId#3581388L, orderProposalId#3581365L, orderProposalItemId#3581366, orderProposalItemGroupId#3581389, originalReplenishmentRunId#3581407L, splitIndicator#3581384L, previousOrderProposal#3581385L, sourceOfSupplyUuid#3581379, supplierGroup#3581367, supplier#3581368, subrange#3581371, product#3581374, plant#3581369, orderDateTime#3581375, deliveryDateTime#3581370, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, isFallbackOrderOnly#3581382, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, netPriceAmount#3581401, netPriceCurrencyCode#3581402, measurements#3581406, minimumOrderQuantity#3581395, constraintLabels#3581396, constraintOperators#3581397, constraintValues#3581398, logisticUnits#3581392, optimizationGroups#3581408, externalProductId#3581390, externalPlantId#3581391, supplyingPlant#3581372, productGroup#3581373]
Arguments: [worklistShardItemId#3581388L ASC NULLS FIRST], false, 0
(28) SortMergeJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#3580961L]
Right keys [1]: [worklistShardItemId#3581388L]
Join type: LeftOuter
Join condition: (shardId#3579691 = 0_1_10000000532)
(29) Project [codegen id : 5]
Output [39]: [shardId#3579691, worklistShardItemId#3580961L, quantityAfterProdPlantOptimization#3580962, qty#3580963, orderProposalId#3581365L, originalReplenishmentRunId#3581407L, supplierGroup#3581367, supplier#3581368, supplyingPlant#3581372, productGroup#3581373, product#3581374, plant#3581369, subrange#3581371, orderDateTime#3581375, deliveryDateTime#3581370, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, constraintValues#3581398, constraintOperators#3581397, constraintLabels#3581396, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, splitIndicator#3581384L, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, sourceOfSupplyUuid#3581379, minimumOrderQuantity#3581395, orderProposalItemId#3581366, orderProposalItemGroupId#3581389, optimizationGroups#3581408, measurements#3581406, externalProductId#3581390, externalPlantId#3581391, previousOrderProposal#3581385L, isFallbackOrderOnly#3581382]
Input [40]: [shardId#3579691, worklistShardItemId#3580961L, quantityAfterProdPlantOptimization#3580962, qty#3580963, worklistShardItemId#3581388L, orderProposalId#3581365L, orderProposalItemId#3581366, orderProposalItemGroupId#3581389, originalReplenishmentRunId#3581407L, splitIndicator#3581384L, previousOrderProposal#3581385L, sourceOfSupplyUuid#3581379, supplierGroup#3581367, supplier#3581368, subrange#3581371, product#3581374, plant#3581369, orderDateTime#3581375, deliveryDateTime#3581370, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, isFallbackOrderOnly#3581382, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, netPriceAmount#3581401, netPriceCurrencyCode#3581402, measurements#3581406, minimumOrderQuantity#3581395, constraintLabels#3581396, constraintOperators#3581397, constraintValues#3581398, logisticUnits#3581392, optimizationGroups#3581408, externalProductId#3581390, externalPlantId#3581391, supplyingPlant#3581372, productGroup#3581373]
(30) Exchange
Input [39]: [shardId#3579691, worklistShardItemId#3580961L, quantityAfterProdPlantOptimization#3580962, qty#3580963, orderProposalId#3581365L, originalReplenishmentRunId#3581407L, supplierGroup#3581367, supplier#3581368, supplyingPlant#3581372, productGroup#3581373, product#3581374, plant#3581369, subrange#3581371, orderDateTime#3581375, deliveryDateTime#3581370, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, constraintValues#3581398, constraintOperators#3581397, constraintLabels#3581396, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, splitIndicator#3581384L, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, sourceOfSupplyUuid#3581379, minimumOrderQuantity#3581395, orderProposalItemId#3581366, orderProposalItemGroupId#3581389, optimizationGroups#3581408, measurements#3581406, externalProductId#3581390, externalPlantId#3581391, previousOrderProposal#3581385L, isFallbackOrderOnly#3581382]
Arguments: hashpartitioning(shardId#3579691, worklistShardItemId#3580961L, 30), ENSURE_REQUIREMENTS, [plan_id=1028726]
(31) Sort [codegen id : 6]
Input [39]: [shardId#3579691, worklistShardItemId#3580961L, quantityAfterProdPlantOptimization#3580962, qty#3580963, orderProposalId#3581365L, originalReplenishmentRunId#3581407L, supplierGroup#3581367, supplier#3581368, supplyingPlant#3581372, productGroup#3581373, product#3581374, plant#3581369, subrange#3581371, orderDateTime#3581375, deliveryDateTime#3581370, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, constraintValues#3581398, constraintOperators#3581397, constraintLabels#3581396, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, splitIndicator#3581384L, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, sourceOfSupplyUuid#3581379, minimumOrderQuantity#3581395, orderProposalItemId#3581366, orderProposalItemGroupId#3581389, optimizationGroups#3581408, measurements#3581406, externalProductId#3581390, externalPlantId#3581391, previousOrderProposal#3581385L, isFallbackOrderOnly#3581382]
Arguments: [shardId#3579691 ASC NULLS FIRST, worklistShardItemId#3580961L ASC NULLS FIRST], false, 0
(32) Scan ExistingRDD [codegen id : 7]
Output [6]: [shardId#3587016, worklistShardItemId#3587017L, qty#3587018, demandChannel#3587019, demandStream#3587020, kpis#3587021]
Arguments: [shardId#3587016, worklistShardItemId#3587017L, qty#3587018, demandChannel#3587019, demandStream#3587020, kpis#3587021], MapPartitionsRDD[152909] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(33) Filter [codegen id : 7]
Input [6]: [shardId#3587016, worklistShardItemId#3587017L, qty#3587018, demandChannel#3587019, demandStream#3587020, kpis#3587021]
Condition : (((isnull(qty#3587018) AND isnull(demandChannel#3587019)) AND isnull(demandStream#3587020)) AND (isnotnull(shardId#3587016) AND isnotnull(worklistShardItemId#3587017L)))
(34) Project [codegen id : 7]
Output [3]: [shardId#3587016, worklistShardItemId#3587017L, coalesce(kpis#3587021, []) AS prodLocSpecificKpis#3587022]
Input [6]: [shardId#3587016, worklistShardItemId#3587017L, qty#3587018, demandChannel#3587019, demandStream#3587020, kpis#3587021]
(35) Exchange
Input [3]: [shardId#3587016, worklistShardItemId#3587017L, prodLocSpecificKpis#3587022]
Arguments: hashpartitioning(shardId#3587016, worklistShardItemId#3587017L, 30), ENSURE_REQUIREMENTS, [plan_id=1028732]
(36) Sort [codegen id : 8]
Input [3]: [shardId#3587016, worklistShardItemId#3587017L, prodLocSpecificKpis#3587022]
Arguments: [shardId#3587016 ASC NULLS FIRST, worklistShardItemId#3587017L ASC NULLS FIRST], false, 0
(37) SortMergeJoin [codegen id : 9]
Left keys [2]: [shardId#3579691, worklistShardItemId#3580961L]
Right keys [2]: [shardId#3587016, worklistShardItemId#3587017L]
Join type: LeftOuter
Join condition: None
(38) Project [codegen id : 9]
Output [40]: [shardId#3579691, worklistShardItemId#3580961L, quantityAfterProdPlantOptimization#3580962, qty#3580963, orderProposalId#3581365L, originalReplenishmentRunId#3581407L, supplierGroup#3581367, supplier#3581368, supplyingPlant#3581372, productGroup#3581373, product#3581374, plant#3581369, subrange#3581371, orderDateTime#3581375, deliveryDateTime#3581370, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, constraintValues#3581398, constraintOperators#3581397, constraintLabels#3581396, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, splitIndicator#3581384L, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, sourceOfSupplyUuid#3581379, minimumOrderQuantity#3581395, orderProposalItemId#3581366, orderProposalItemGroupId#3581389, optimizationGroups#3581408, measurements#3581406, externalProductId#3581390, externalPlantId#3581391, previousOrderProposal#3581385L, isFallbackOrderOnly#3581382, coalesce(prodLocSpecificKpis#3587022, []) AS prodLocSpecificKpis#3587023]
Input [42]: [shardId#3579691, worklistShardItemId#3580961L, quantityAfterProdPlantOptimization#3580962, qty#3580963, orderProposalId#3581365L, originalReplenishmentRunId#3581407L, supplierGroup#3581367, supplier#3581368, supplyingPlant#3581372, productGroup#3581373, product#3581374, plant#3581369, subrange#3581371, orderDateTime#3581375, deliveryDateTime#3581370, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, constraintValues#3581398, constraintOperators#3581397, constraintLabels#3581396, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, splitIndicator#3581384L, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, sourceOfSupplyUuid#3581379, minimumOrderQuantity#3581395, orderProposalItemId#3581366, orderProposalItemGroupId#3581389, optimizationGroups#3581408, measurements#3581406, externalProductId#3581390, externalPlantId#3581391, previousOrderProposal#3581385L, isFallbackOrderOnly#3581382, shardId#3587016, worklistShardItemId#3587017L, prodLocSpecificKpis#3587022]
(39) Scan ExistingRDD [codegen id : 10]
Output [6]: [shardId#3587032, worklistShardItemId#3587033L, qty#3587034, demandChannel#3587035, demandStream#3587036, kpis#3587037]
Arguments: [shardId#3587032, worklistShardItemId#3587033L, qty#3587034, demandChannel#3587035, demandStream#3587036, kpis#3587037], MapPartitionsRDD[152909] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(40) Filter [codegen id : 10]
Input [6]: [shardId#3587032, worklistShardItemId#3587033L, qty#3587034, demandChannel#3587035, demandStream#3587036, kpis#3587037]
Condition : ((((isnull(qty#3587034) AND isnotnull(demandChannel#3587035)) AND isnotnull(demandStream#3587036)) AND (size(kpis#3587037, true) > 0)) AND (isnotnull(shardId#3587032) AND isnotnull(worklistShardItemId#3587033L)))
(41) Project [codegen id : 10]
Output [5]: [shardId#3587032, worklistShardItemId#3587033L, demandChannel#3587035, demandStream#3587036, kpis#3587037]
Input [6]: [shardId#3587032, worklistShardItemId#3587033L, qty#3587034, demandChannel#3587035, demandStream#3587036, kpis#3587037]
(42) ObjectHashAggregate
Input [5]: [shardId#3587032, worklistShardItemId#3587033L, demandChannel#3587035, demandStream#3587036, kpis#3587037]
Keys [2]: [shardId#3587032, worklistShardItemId#3587033L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#3587035, demandStream, demandStream#3587036, kpis, kpis#3587037), 0, 0)]
Aggregate Attributes [1]: [buf#3587284]
Results [3]: [shardId#3587032, worklistShardItemId#3587033L, buf#3587285]
(43) Exchange
Input [3]: [shardId#3587032, worklistShardItemId#3587033L, buf#3587285]
Arguments: hashpartitioning(shardId#3587032, worklistShardItemId#3587033L, 30), ENSURE_REQUIREMENTS, [plan_id=1028743]
(44) ObjectHashAggregate
Input [3]: [shardId#3587032, worklistShardItemId#3587033L, buf#3587285]
Keys [2]: [shardId#3587032, worklistShardItemId#3587033L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#3587035, demandStream, demandStream#3587036, kpis, kpis#3587037), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#3587035, demandStream, demandStream#3587036, kpis, kpis#3587037), 0, 0)#3587031]
Results [3]: [shardId#3587032, worklistShardItemId#3587033L, collect_list(struct(demandChannel, demandChannel#3587035, demandStream, demandStream#3587036, kpis, kpis#3587037), 0, 0)#3587031 AS channelStreamSpecificKpis#3587024]
(45) Sort [codegen id : 11]
Input [3]: [shardId#3587032, worklistShardItemId#3587033L, channelStreamSpecificKpis#3587024]
Arguments: [shardId#3587032 ASC NULLS FIRST, worklistShardItemId#3587033L ASC NULLS FIRST], false, 0
(46) SortMergeJoin [codegen id : 12]
Left keys [2]: [shardId#3579691, worklistShardItemId#3580961L]
Right keys [2]: [shardId#3587032, worklistShardItemId#3587033L]
Join type: LeftOuter
Join condition: None
(47) Project [codegen id : 12]
Output [41]: [shardId#3579691, worklistShardItemId#3580961L, quantityAfterProdPlantOptimization#3580962, qty#3580963, orderProposalId#3581365L, originalReplenishmentRunId#3581407L, supplierGroup#3581367, supplier#3581368, supplyingPlant#3581372, productGroup#3581373, product#3581374, plant#3581369, subrange#3581371, orderDateTime#3581375, deliveryDateTime#3581370, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, constraintValues#3581398, constraintOperators#3581397, constraintLabels#3581396, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, splitIndicator#3581384L, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, sourceOfSupplyUuid#3581379, minimumOrderQuantity#3581395, orderProposalItemId#3581366, orderProposalItemGroupId#3581389, optimizationGroups#3581408, measurements#3581406, externalProductId#3581390, externalPlantId#3581391, previousOrderProposal#3581385L, isFallbackOrderOnly#3581382, prodLocSpecificKpis#3587023, coalesce(channelStreamSpecificKpis#3587024, []) AS channelStreamSpecificKpis#3587038]
Input [43]: [shardId#3579691, worklistShardItemId#3580961L, quantityAfterProdPlantOptimization#3580962, qty#3580963, orderProposalId#3581365L, originalReplenishmentRunId#3581407L, supplierGroup#3581367, supplier#3581368, supplyingPlant#3581372, productGroup#3581373, product#3581374, plant#3581369, subrange#3581371, orderDateTime#3581375, deliveryDateTime#3581370, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, constraintValues#3581398, constraintOperators#3581397, constraintLabels#3581396, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, splitIndicator#3581384L, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, sourceOfSupplyUuid#3581379, minimumOrderQuantity#3581395, orderProposalItemId#3581366, orderProposalItemGroupId#3581389, optimizationGroups#3581408, measurements#3581406, externalProductId#3581390, externalPlantId#3581391, previousOrderProposal#3581385L, isFallbackOrderOnly#3581382, prodLocSpecificKpis#3587023, shardId#3587032, worklistShardItemId#3587033L, channelStreamSpecificKpis#3587024]
(48) Scan ExistingRDD [codegen id : 13]
Output [6]: [shardId#3587045, worklistShardItemId#3587046L, qty#3587047, demandChannel#3587048, demandStream#3587049, kpis#3587050]
Arguments: [shardId#3587045, worklistShardItemId#3587046L, qty#3587047, demandChannel#3587048, demandStream#3587049, kpis#3587050], MapPartitionsRDD[152909] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(49) Filter [codegen id : 13]
Input [6]: [shardId#3587045, worklistShardItemId#3587046L, qty#3587047, demandChannel#3587048, demandStream#3587049, kpis#3587050]
Condition : ((isnotnull(qty#3587047) AND isnotnull(kpis#3587050)) AND (isnotnull(shardId#3587045) AND isnotnull(worklistShardItemId#3587046L)))
(50) Project [codegen id : 13]
Output [4]: [shardId#3587045, worklistShardItemId#3587046L, qty#3587047, kpis#3587050]
Input [6]: [shardId#3587045, worklistShardItemId#3587046L, qty#3587047, demandChannel#3587048, demandStream#3587049, kpis#3587050]
(51) ObjectHashAggregate
Input [4]: [shardId#3587045, worklistShardItemId#3587046L, qty#3587047, kpis#3587050]
Keys [2]: [shardId#3587045, worklistShardItemId#3587046L]
Functions [1]: [partial_collect_list(struct(qty, qty#3587047, kpis, kpis#3587050), 0, 0)]
Aggregate Attributes [1]: [buf#3587286]
Results [3]: [shardId#3587045, worklistShardItemId#3587046L, buf#3587287]
(52) Exchange
Input [3]: [shardId#3587045, worklistShardItemId#3587046L, buf#3587287]
Arguments: hashpartitioning(shardId#3587045, worklistShardItemId#3587046L, 30), ENSURE_REQUIREMENTS, [plan_id=1028755]
(53) ObjectHashAggregate
Input [3]: [shardId#3587045, worklistShardItemId#3587046L, buf#3587287]
Keys [2]: [shardId#3587045, worklistShardItemId#3587046L]
Functions [1]: [collect_list(struct(qty, qty#3587047, kpis, kpis#3587050), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#3587047, kpis, kpis#3587050), 0, 0)#3587044]
Results [3]: [shardId#3587045, worklistShardItemId#3587046L, map_from_entries(collect_list(struct(qty, qty#3587047, kpis, kpis#3587050), 0, 0)#3587044) AS quantityKpis#3587039]
(54) Sort [codegen id : 14]
Input [3]: [shardId#3587045, worklistShardItemId#3587046L, quantityKpis#3587039]
Arguments: [shardId#3587045 ASC NULLS FIRST, worklistShardItemId#3587046L ASC NULLS FIRST], false, 0
(55) SortMergeJoin [codegen id : 15]
Left keys [2]: [shardId#3579691, worklistShardItemId#3580961L]
Right keys [2]: [shardId#3587045, worklistShardItemId#3587046L]
Join type: LeftOuter
Join condition: None
(56) Project [codegen id : 15]
Output [42]: [shardId#3579691, worklistShardItemId#3580961L, quantityAfterProdPlantOptimization#3580962, qty#3580963, orderProposalId#3581365L, originalReplenishmentRunId#3581407L, supplierGroup#3581367, supplier#3581368, supplyingPlant#3581372, productGroup#3581373, product#3581374, plant#3581369, subrange#3581371, orderDateTime#3581375, deliveryDateTime#3581370, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, constraintValues#3581398, constraintOperators#3581397, constraintLabels#3581396, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, splitIndicator#3581384L, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, sourceOfSupplyUuid#3581379, minimumOrderQuantity#3581395, orderProposalItemId#3581366, orderProposalItemGroupId#3581389, optimizationGroups#3581408, measurements#3581406, externalProductId#3581390, externalPlantId#3581391, previousOrderProposal#3581385L, isFallbackOrderOnly#3581382, prodLocSpecificKpis#3587023, channelStreamSpecificKpis#3587038, coalesce(quantityKpis#3587039, map(keys: [], values: [])) AS quantityKpis#3587051]
Input [44]: [shardId#3579691, worklistShardItemId#3580961L, quantityAfterProdPlantOptimization#3580962, qty#3580963, orderProposalId#3581365L, originalReplenishmentRunId#3581407L, supplierGroup#3581367, supplier#3581368, supplyingPlant#3581372, productGroup#3581373, product#3581374, plant#3581369, subrange#3581371, orderDateTime#3581375, deliveryDateTime#3581370, availabilityDateTime#3581376, nextAvailabilityDateTime#3581377, constraintValues#3581398, constraintOperators#3581397, constraintLabels#3581396, logisticUnits#3581392, orderQuantityBaseUom#3581393, orderQuantityBaseUomUuid#3581394, splitIndicator#3581384L, netPriceAmount#3581401, netPriceCurrencyCode#3581402, netPriceQuantity#3581403, netPriceQuantityUom#3581404, netPriceQuantityUomUuid#3581405, sourceOfSupplyUuid#3581379, minimumOrderQuantity#3581395, orderProposalItemId#3581366, orderProposalItemGroupId#3581389, optimizationGroups#3581408, measurements#3581406, externalProductId#3581390, externalPlantId#3581391, previousOrderProposal#3581385L, isFallbackOrderOnly#3581382, prodLocSpecificKpis#3587023, channelStreamSpecificKpis#3587038, shardId#3587045, worklistShardItemId#3587046L, quantityKpis#3587039]
(57) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#3581297, channelStreamSpecificKpis#3587038, constraintLabels#3581309, constraintOperators#3581310, constraintValues#3581312, deliveryDateTime#3581296, isFallbackOrderOnly#3581299, logisticUnits#3581314, measurements#3581307, minimumOrderQuantity#3581308, netPriceAmount#3581305, netPriceCurrencyCode#3581306, netPriceQuantity#3581302, netPriceQuantityUom#3581303, netPriceQuantityUomUuid#3581304, nextAvailabilityDateTime#3581298, optimizationGroups#3581315, orderDateTime#3581295, orderProposalId#3581277L, orderProposalItemGroupId#3581279, orderProposalItemId#3581278, orderQuantityBaseUom#3581300, orderQuantityBaseUomUuid#3581301, originalReplenishmentRunId#3581280L, plant#3581291, previousOrderProposal#3581283L, prodLocSpecificKpis#3587023, product#3581290, productGroup#3581319, qty#3580963, quantityAfterProdPlantOptimization#3580962, quantityKpis#3587051, shardId#3579691, sourceOfSupplyUuid#3581286, splitIndicator#3581282L, subrange#3581289, supplier#3581288, supplierGroup#3581287, supplyingPlant#3581318]
Condition : NOT (isFallbackOrderOnly#3581299 <=> true)
(58) Project [codegen id : 1]
Output [36]: [shardId#3579691, quantityAfterProdPlantOptimization#3580962, qty#3580963, orderProposalId#3581277L, originalReplenishmentRunId#3581280L, supplierGroup#3581287, supplier#3581288, supplyingPlant#3581318, productGroup#3581319, product#3581290, plant#3581291, subrange#3581289, orderDateTime#3581295, deliveryDateTime#3581296, availabilityDateTime#3581297, nextAvailabilityDateTime#3581298, logisticUnits#3581314, orderQuantityBaseUom#3581300, orderQuantityBaseUomUuid#3581301, splitIndicator#3581282L, netPriceAmount#3581305, netPriceCurrencyCode#3581306, netPriceQuantity#3581302, netPriceQuantityUom#3581303, netPriceQuantityUomUuid#3581304, sourceOfSupplyUuid#3581286, minimumOrderQuantity#3581308, orderProposalItemId#3581278, orderProposalItemGroupId#3581279, optimizationGroups#3581315, measurements#3581307, previousOrderProposal#3581283L, prodLocSpecificKpis#3587023, channelStreamSpecificKpis#3587038, quantityKpis#3587051, arrays_zip(constraintLabels#3581309, constraintOperators#3581310, constraintValues#3581312, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#3587537]
Input [39]: [availabilityDateTime#3581297, channelStreamSpecificKpis#3587038, constraintLabels#3581309, constraintOperators#3581310, constraintValues#3581312, deliveryDateTime#3581296, isFallbackOrderOnly#3581299, logisticUnits#3581314, measurements#3581307, minimumOrderQuantity#3581308, netPriceAmount#3581305, netPriceCurrencyCode#3581306, netPriceQuantity#3581302, netPriceQuantityUom#3581303, netPriceQuantityUomUuid#3581304, nextAvailabilityDateTime#3581298, optimizationGroups#3581315, orderDateTime#3581295, orderProposalId#3581277L, orderProposalItemGroupId#3581279, orderProposalItemId#3581278, orderQuantityBaseUom#3581300, orderQuantityBaseUomUuid#3581301, originalReplenishmentRunId#3581280L, plant#3581291, previousOrderProposal#3581283L, prodLocSpecificKpis#3587023, product#3581290, productGroup#3581319, qty#3580963, quantityAfterProdPlantOptimization#3580962, quantityKpis#3587051, shardId#3579691, sourceOfSupplyUuid#3581286, splitIndicator#3581282L, subrange#3581289, supplier#3581288, supplierGroup#3581287, supplyingPlant#3581318]
(59) Project
Output [37]: [shardId#3579691, qty#3580963, orderProposalId#3581277L, originalReplenishmentRunId#3581280L, supplierGroup#3581287, supplier#3581288, supplyingPlant#3581318, productGroup#3581319, product#3581290, plant#3581291, subrange#3581289, orderDateTime#3581295, deliveryDateTime#3581296, availabilityDateTime#3581297, nextAvailabilityDateTime#3581298, logisticUnits#3581314, orderQuantityBaseUom#3581300, orderQuantityBaseUomUuid#3581301, splitIndicator#3581282L, netPriceAmount#3581305, netPriceCurrencyCode#3581306, netPriceQuantity#3581302, netPriceQuantityUom#3581303, netPriceQuantityUomUuid#3581304, sourceOfSupplyUuid#3581286, orderProposalItemId#3581278, orderProposalItemGroupId#3581279, optimizationGroups#3581315, measurements#3581307, previousOrderProposal#3581283L, prodLocSpecificKpis#3587023, channelStreamSpecificKpis#3587038, quantityKpis#3587051, struct(minServiceLevel, array_min(filter(constraintStructArray#3587537, lambdafunction((lambda x_11886#3587544.constraintLabels = ServiceLevel), lambda x_11886#3587544, false)).constraintValues), minServiceLevelMinStock, array_min(filter(constraintStructArray#3587537, lambdafunction((lambda x_11887#3587545.constraintLabels = ServiceLevelMinimumStock), lambda x_11887#3587545, false)).constraintValues), maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#3587537, lambdafunction((lambda x_11888#3587546.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_11888#3587546, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#3587537, lambdafunction((lambda x_11889#3587547.constraintLabels = RangeOfCoverage), lambda x_11889#3587547, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#3581308, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#3587023, lambdafunction((lambda x_11890#3587548.label = NonListingStartTimestamp), lambda x_11890#3587548, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#3587543, CASE WHEN (qty#3580963 <=> quantityAfterProdPlantOptimization#3580962) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#3580963 * (cast(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11891#3587616.isOrderUnit, lambda x_11891#3587616, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11891#3587617.isOrderUnit, lambda x_11891#3587617, false)), 1, None, false).numerator as double))), qty#3580963), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11891#3587618.isOrderUnit, lambda x_11891#3587618, false)), 1, None, false).uom, orderQuantityBaseUom#3581300), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11891#3587619.isOrderUnit, lambda x_11891#3587619, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3581301), candidateOrderQuantityInBaseUnit, qty#3580963, orderQuantityBaseUom, orderQuantityBaseUom#3581300, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3581301, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3581314, lambdafunction((lambda x_11893#3587620.isPreferred AND (((qty#3580963 * cast(lambda x_11893#3587620.denominator as double)) % cast(lambda x_11893#3587620.numerator as double)) = 0.0)), lambda x_11893#3587620, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3580963 * cast(lambda x_11894#3587661.denominator as double)) / cast(lambda x_11894#3587661.numerator as double)), uom, lambda x_11894#3587661.uom, uomUuid, lambda x_11894#3587661.uomUuid), lambda x_11894#3587661, false))).inPreferredQuantity, coalesce((qty#3580963 * (cast(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11892#3587621.isOrderUnit, lambda x_11892#3587621, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11892#3587622.isOrderUnit, lambda x_11892#3587622, false)), 1, None, false).numerator as double))), qty#3580963)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3581314, lambdafunction((lambda x_11893#3587623.isPreferred AND (((qty#3580963 * cast(lambda x_11893#3587623.denominator as double)) % cast(lambda x_11893#3587623.numerator as double)) = 0.0)), lambda x_11893#3587623, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3580963 * cast(lambda x_11894#3587662.denominator as double)) / cast(lambda x_11894#3587662.numerator as double)), uom, lambda x_11894#3587662.uom, uomUuid, lambda x_11894#3587662.uomUuid), lambda x_11894#3587662, false))).uom, coalesce(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11892#3587624.isOrderUnit, lambda x_11892#3587624, false)), 1, None, false).uom, orderQuantityBaseUom#3581300)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3581314, lambdafunction((lambda x_11893#3587625.isPreferred AND (((qty#3580963 * cast(lambda x_11893#3587625.denominator as double)) % cast(lambda x_11893#3587625.numerator as double)) = 0.0)), lambda x_11893#3587625, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3580963 * cast(lambda x_11894#3587663.denominator as double)) / cast(lambda x_11894#3587663.numerator as double)), uom, lambda x_11894#3587663.uom, uomUuid, lambda x_11894#3587663.uomUuid), lambda x_11894#3587663, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11892#3587626.isOrderUnit, lambda x_11892#3587626, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3581301)), serviceLevel, coalesce(filter(element_at(quantityKpis#3587051, qty#3580963, None, false), lambdafunction((lambda x_11899#3587627.label = ServiceLevel), lambda x_11899#3587627, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#3580963 * (cast(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11891#3587631.isOrderUnit, lambda x_11891#3587631, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11891#3587632.isOrderUnit, lambda x_11891#3587632, false)), 1, None, false).numerator as double))), qty#3580963), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11891#3587633.isOrderUnit, lambda x_11891#3587633, false)), 1, None, false).uom, orderQuantityBaseUom#3581300), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11891#3587634.isOrderUnit, lambda x_11891#3587634, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3581301), candidateOrderQuantityInBaseUnit, qty#3580963, orderQuantityBaseUom, orderQuantityBaseUom#3581300, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3581301, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3581314, lambdafunction((lambda x_11893#3587635.isPreferred AND (((qty#3580963 * cast(lambda x_11893#3587635.denominator as double)) % cast(lambda x_11893#3587635.numerator as double)) = 0.0)), lambda x_11893#3587635, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3580963 * cast(lambda x_11894#3587664.denominator as double)) / cast(lambda x_11894#3587664.numerator as double)), uom, lambda x_11894#3587664.uom, uomUuid, lambda x_11894#3587664.uomUuid), lambda x_11894#3587664, false))).inPreferredQuantity, coalesce((qty#3580963 * (cast(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11892#3587636.isOrderUnit, lambda x_11892#3587636, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11892#3587637.isOrderUnit, lambda x_11892#3587637, false)), 1, None, false).numerator as double))), qty#3580963)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3581314, lambdafunction((lambda x_11893#3587638.isPreferred AND (((qty#3580963 * cast(lambda x_11893#3587638.denominator as double)) % cast(lambda x_11893#3587638.numerator as double)) = 0.0)), lambda x_11893#3587638, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3580963 * cast(lambda x_11894#3587665.denominator as double)) / cast(lambda x_11894#3587665.numerator as double)), uom, lambda x_11894#3587665.uom, uomUuid, lambda x_11894#3587665.uomUuid), lambda x_11894#3587665, false))).uom, coalesce(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11892#3587639.isOrderUnit, lambda x_11892#3587639, false)), 1, None, false).uom, orderQuantityBaseUom#3581300)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3581314, lambdafunction((lambda x_11893#3587640.isPreferred AND (((qty#3580963 * cast(lambda x_11893#3587640.denominator as double)) % cast(lambda x_11893#3587640.numerator as double)) = 0.0)), lambda x_11893#3587640, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3580963 * cast(lambda x_11894#3587666.denominator as double)) / cast(lambda x_11894#3587666.numerator as double)), uom, lambda x_11894#3587666.uom, uomUuid, lambda x_11894#3587666.uomUuid), lambda x_11894#3587666, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11892#3587641.isOrderUnit, lambda x_11892#3587641, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3581301)), serviceLevel, coalesce(filter(element_at(quantityKpis#3587051, qty#3580963, None, false), lambdafunction((lambda x_11903#3587642.label = ServiceLevel), lambda x_11903#3587642, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#3580962 * (cast(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11895#3587646.isOrderUnit, lambda x_11895#3587646, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11895#3587647.isOrderUnit, lambda x_11895#3587647, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#3580962), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11895#3587648.isOrderUnit, lambda x_11895#3587648, false)), 1, None, false).uom, orderQuantityBaseUom#3581300), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11895#3587649.isOrderUnit, lambda x_11895#3587649, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3581301), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#3580962, orderQuantityBaseUom, orderQuantityBaseUom#3581300, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3581301, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3581314, lambdafunction((lambda x_11897#3587650.isPreferred AND (((quantityAfterProdPlantOptimization#3580962 * cast(lambda x_11897#3587650.denominator as double)) % cast(lambda x_11897#3587650.numerator as double)) = 0.0)), lambda x_11897#3587650, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3580962 * cast(lambda x_11898#3587667.denominator as double)) / cast(lambda x_11898#3587667.numerator as double)), uom, lambda x_11898#3587667.uom, uomUuid, lambda x_11898#3587667.uomUuid), lambda x_11898#3587667, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#3580962 * (cast(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11896#3587651.isOrderUnit, lambda x_11896#3587651, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11896#3587652.isOrderUnit, lambda x_11896#3587652, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#3580962)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3581314, lambdafunction((lambda x_11897#3587653.isPreferred AND (((quantityAfterProdPlantOptimization#3580962 * cast(lambda x_11897#3587653.denominator as double)) % cast(lambda x_11897#3587653.numerator as double)) = 0.0)), lambda x_11897#3587653, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3580962 * cast(lambda x_11898#3587668.denominator as double)) / cast(lambda x_11898#3587668.numerator as double)), uom, lambda x_11898#3587668.uom, uomUuid, lambda x_11898#3587668.uomUuid), lambda x_11898#3587668, false))).uom, coalesce(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11896#3587654.isOrderUnit, lambda x_11896#3587654, false)), 1, None, false).uom, orderQuantityBaseUom#3581300)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3581314, lambdafunction((lambda x_11897#3587655.isPreferred AND (((quantityAfterProdPlantOptimization#3580962 * cast(lambda x_11897#3587655.denominator as double)) % cast(lambda x_11897#3587655.numerator as double)) = 0.0)), lambda x_11897#3587655, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3580962 * cast(lambda x_11898#3587669.denominator as double)) / cast(lambda x_11898#3587669.numerator as double)), uom, lambda x_11898#3587669.uom, uomUuid, lambda x_11898#3587669.uomUuid), lambda x_11898#3587669, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11896#3587656.isOrderUnit, lambda x_11896#3587656, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3581301)), serviceLevel, coalesce(filter(element_at(quantityKpis#3587051, quantityAfterProdPlantOptimization#3580962, None, false), lambdafunction((lambda x_11907#3587657.label = ServiceLevel), lambda x_11907#3587657, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#3587615, coalesce(filter(prodLocSpecificKpis#3587023, lambdafunction((lambda x_11911#3587671.label = InitialStockQty), lambda x_11911#3587671, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#3587670, coalesce(filter(prodLocSpecificKpis#3587023, lambdafunction((lambda x_11912#3587673.label = DemandPeriodEndTimestamp), lambda x_11912#3587673, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#3587672]
Input [36]: [shardId#3579691, quantityAfterProdPlantOptimization#3580962, qty#3580963, orderProposalId#3581277L, originalReplenishmentRunId#3581280L, supplierGroup#3581287, supplier#3581288, supplyingPlant#3581318, productGroup#3581319, product#3581290, plant#3581291, subrange#3581289, orderDateTime#3581295, deliveryDateTime#3581296, availabilityDateTime#3581297, nextAvailabilityDateTime#3581298, logisticUnits#3581314, orderQuantityBaseUom#3581300, orderQuantityBaseUomUuid#3581301, splitIndicator#3581282L, netPriceAmount#3581305, netPriceCurrencyCode#3581306, netPriceQuantity#3581302, netPriceQuantityUom#3581303, netPriceQuantityUomUuid#3581304, sourceOfSupplyUuid#3581286, minimumOrderQuantity#3581308, orderProposalItemId#3581278, orderProposalItemGroupId#3581279, optimizationGroups#3581315, measurements#3581307, previousOrderProposal#3581283L, prodLocSpecificKpis#3587023, channelStreamSpecificKpis#3587038, quantityKpis#3587051, constraintStructArray#3587537]
(60) Project
Output [21]: [shardId#3579691, qty#3580963, orderProposalId#3581277L, originalReplenishmentRunId#3581280L, supplierGroup#3581287, supplier#3581288, supplyingPlant#3581318, productGroup#3581319, product#3581290, plant#3581291, subrange#3581289, orderDateTime#3581295, deliveryDateTime#3581296, logisticUnits#3581314, orderQuantityBaseUom#3581300, orderQuantityBaseUomUuid#3581301, splitIndicator#3581282L, orderProposalItemId#3581278, orderProposalItemGroupId#3581279, previousOrderProposal#3581283L, struct(itemId, orderProposalItemId#3581278, itemGroupId, orderProposalItemGroupId#3581279, supplier, supplier#3581288, supplyingPlant, supplyingPlant#3581318, productGroup, productGroup#3581319, product, product#3581290, plant, plant#3581291, supplierSubRange, subrange#3581289, sourceOfSupplyUuid, sourceOfSupplyUuid#3581286, deliveryDateTime, deliveryDateTime#3581296, unitPrice, netPriceAmount#3581305, unitPriceCurrency, netPriceCurrencyCode#3581306, unitPriceQuantity, ... 37 more fields) AS parentItem#3587746]
Input [37]: [shardId#3579691, qty#3580963, orderProposalId#3581277L, originalReplenishmentRunId#3581280L, supplierGroup#3581287, supplier#3581288, supplyingPlant#3581318, productGroup#3581319, product#3581290, plant#3581291, subrange#3581289, orderDateTime#3581295, deliveryDateTime#3581296, availabilityDateTime#3581297, nextAvailabilityDateTime#3581298, logisticUnits#3581314, orderQuantityBaseUom#3581300, orderQuantityBaseUomUuid#3581301, splitIndicator#3581282L, netPriceAmount#3581305, netPriceCurrencyCode#3581306, netPriceQuantity#3581302, netPriceQuantityUom#3581303, netPriceQuantityUomUuid#3581304, sourceOfSupplyUuid#3581286, orderProposalItemId#3581278, orderProposalItemGroupId#3581279, optimizationGroups#3581315, measurements#3581307, previousOrderProposal#3581283L, prodLocSpecificKpis#3587023, channelStreamSpecificKpis#3587038, quantityKpis#3587051, constraintBenchmark#3587543, calculationAnalysis#3587615, inventoryDateTime#3587670, demandPeriodEndDateTime#3587672]
(61) Project
Output [12]: [shardId#3579691, orderProposalId#3581277L, originalReplenishmentRunId#3581280L, supplierGroup#3581287, supplier#3581288, supplyingPlant#3581318, orderDateTime#3581295, splitIndicator#3581282L, orderProposalItemGroupId#3581279, previousOrderProposal#3581283L, parentItem#3587746, struct(itemId, orderProposalItemId#3581278, supplier, supplier#3581288, supplyingPlant, supplyingPlant#3581318, productGroup, productGroup#3581319, product, product#3581290, plant, plant#3581291, supplierSubRange, subrange#3581289, deliveryDateTime, deliveryDateTime#3581296, orderQuantity, coalesce((qty#3580963 * (cast(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11936#3587780.isOrderUnit, lambda x_11936#3587780, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11936#3587781.isOrderUnit, lambda x_11936#3587781, false)), 1, None, false).numerator as double))), qty#3580963), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11936#3587782.isOrderUnit, lambda x_11936#3587782, false)), 1, None, false).uom, orderQuantityBaseUom#3581300), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3581314, lambdafunction(lambda x_11936#3587783.isOrderUnit, lambda x_11936#3587783, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3581301), orderQuantityInBaseUnit, qty#3580963, orderQuantityBaseUom, ... 13 more fields) AS item#3587777]
Input [21]: [shardId#3579691, qty#3580963, orderProposalId#3581277L, originalReplenishmentRunId#3581280L, supplierGroup#3581287, supplier#3581288, supplyingPlant#3581318, productGroup#3581319, product#3581290, plant#3581291, subrange#3581289, orderDateTime#3581295, deliveryDateTime#3581296, logisticUnits#3581314, orderQuantityBaseUom#3581300, orderQuantityBaseUomUuid#3581301, splitIndicator#3581282L, orderProposalItemId#3581278, orderProposalItemGroupId#3581279, previousOrderProposal#3581283L, parentItem#3587746]
(62) ObjectHashAggregate
Input [12]: [shardId#3579691, orderProposalId#3581277L, originalReplenishmentRunId#3581280L, supplierGroup#3581287, supplier#3581288, supplyingPlant#3581318, orderDateTime#3581295, splitIndicator#3581282L, orderProposalItemGroupId#3581279, previousOrderProposal#3581283L, parentItem#3587746, item#3587777]
Keys [4]: [shardId#3579691, orderProposalId#3581277L, splitIndicator#3581282L, orderProposalItemGroupId#3581279]
Functions [8]: [partial_max(originalReplenishmentRunId#3581280L), partial_max(supplierGroup#3581287), partial_max(supplier#3581288), partial_max(supplyingPlant#3581318), partial_max(orderDateTime#3581295), partial_collect_list(parentItem#3587746, 0, 0), partial_collect_set(previousOrderProposal#3581283L, 0, 0), partial_collect_list(item#3587777, 0, 0)]
Aggregate Attributes [8]: [max#3589212L, max#3589213, max#3589214, max#3589215, max#3589216, buf#3589217, buf#3589218, buf#3589219]
Results [12]: [shardId#3579691, orderProposalId#3581277L, splitIndicator#3581282L, orderProposalItemGroupId#3581279, max#3589220L, max#3589221, max#3589222, max#3589223, max#3589224, buf#3589225, buf#3589226, buf#3589227]
(63) Exchange
Input [12]: [shardId#3579691, orderProposalId#3581277L, splitIndicator#3581282L, orderProposalItemGroupId#3581279, max#3589220L, max#3589221, max#3589222, max#3589223, max#3589224, buf#3589225, buf#3589226, buf#3589227]
Arguments: hashpartitioning(shardId#3579691, orderProposalId#3581277L, splitIndicator#3581282L, orderProposalItemGroupId#3581279, 30), ENSURE_REQUIREMENTS, [plan_id=1029040]
(64) ObjectHashAggregate
Input [12]: [shardId#3579691, orderProposalId#3581277L, splitIndicator#3581282L, orderProposalItemGroupId#3581279, max#3589220L, max#3589221, max#3589222, max#3589223, max#3589224, buf#3589225, buf#3589226, buf#3589227]
Keys [4]: [shardId#3579691, orderProposalId#3581277L, splitIndicator#3581282L, orderProposalItemGroupId#3581279]
Functions [8]: [max(originalReplenishmentRunId#3581280L), max(supplierGroup#3581287), max(supplier#3581288), max(supplyingPlant#3581318), max(orderDateTime#3581295), collect_list(parentItem#3587746, 0, 0), collect_set(previousOrderProposal#3581283L, 0, 0), collect_list(item#3587777, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#3581280L)#3587846L, max(supplierGroup#3581287)#3587847, max(supplier#3581288)#3587848, max(supplyingPlant#3581318)#3587849, max(orderDateTime#3581295)#3587850, collect_list(parentItem#3587746, 0, 0)#3587851, collect_set(previousOrderProposal#3581283L, 0, 0)#3587853, collect_list(item#3587777, 0, 0)#3587852]
Results [10]: [shardId#3579691, orderProposalId#3581277L, max(originalReplenishmentRunId#3581280L)#3587846L AS originalReplenishmentRunId#3587794L, max(supplierGroup#3581287)#3587847 AS supplierGroup#3587795, max(supplier#3581288)#3587848 AS supplier#3587796, max(supplyingPlant#3581318)#3587849 AS supplyingPlant#3587797, max(orderDateTime#3581295)#3587850 AS orderDateTime#3587798, collect_list(parentItem#3587746, 0, 0)#3587851 AS parentItems#3587799, collect_set(previousOrderProposal#3581283L, 0, 0)#3587853 AS previousOrderProposals#3587801, struct(itemGroupId, orderProposalItemGroupId#3581279, items, collect_list(item#3587777, 0, 0)#3587852) AS itemGroup#3587855]
(65) ObjectHashAggregate
Input [10]: [shardId#3579691, orderProposalId#3581277L, originalReplenishmentRunId#3587794L, supplierGroup#3587795, supplier#3587796, supplyingPlant#3587797, orderDateTime#3587798, parentItems#3587799, previousOrderProposals#3587801, itemGroup#3587855]
Keys [2]: [shardId#3579691, orderProposalId#3581277L]
Functions [8]: [partial_max(originalReplenishmentRunId#3587794L), partial_max(supplierGroup#3587795), partial_max(supplier#3587796), partial_max(supplyingPlant#3587797), partial_max(orderDateTime#3587798), partial_collect_list(itemGroup#3587855, 0, 0), partial_collect_list(parentItems#3587799, 0, 0), partial_collect_set(previousOrderProposals#3587801, 0, 0)]
Aggregate Attributes [8]: [max#3589196L, max#3589197, max#3589198, max#3589199, max#3589200, buf#3589201, buf#3589202, buf#3589203]
Results [10]: [shardId#3579691, orderProposalId#3581277L, max#3589204L, max#3589205, max#3589206, max#3589207, max#3589208, buf#3589209, buf#3589210, buf#3589211]
(66) Exchange
Input [10]: [shardId#3579691, orderProposalId#3581277L, max#3589204L, max#3589205, max#3589206, max#3589207, max#3589208, buf#3589209, buf#3589210, buf#3589211]
Arguments: hashpartitioning(shardId#3579691, orderProposalId#3581277L, 30), ENSURE_REQUIREMENTS, [plan_id=1029043]
(67) ObjectHashAggregate
Input [10]: [shardId#3579691, orderProposalId#3581277L, max#3589204L, max#3589205, max#3589206, max#3589207, max#3589208, buf#3589209, buf#3589210, buf#3589211]
Keys [2]: [shardId#3579691, orderProposalId#3581277L]
Functions [8]: [max(originalReplenishmentRunId#3587794L), max(supplierGroup#3587795), max(supplier#3587796), max(supplyingPlant#3587797), max(orderDateTime#3587798), collect_list(itemGroup#3587855, 0, 0), collect_list(parentItems#3587799, 0, 0), collect_set(previousOrderProposals#3587801, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#3587794L)#3587877L, max(supplierGroup#3587795)#3587878, max(supplier#3587796)#3587879, max(supplyingPlant#3587797)#3587880, max(orderDateTime#3587798)#3587881, collect_list(itemGroup#3587855, 0, 0)#3587882, collect_list(parentItems#3587799, 0, 0)#3587883, collect_set(previousOrderProposals#3587801, 0, 0)#3587884]
Results [10]: [shardId#3579691, orderProposalId#3581277L, max(originalReplenishmentRunId#3587794L)#3587877L AS originalReplenishmentRunId#3587856L, max(supplierGroup#3587795)#3587878 AS supplierGroup#3587857, max(supplier#3587796)#3587879 AS supplier#3587858, max(supplyingPlant#3587797)#3587880 AS supplyingPlant#3587859, max(orderDateTime#3587798)#3587881 AS orderDateTime#3587860, collect_list(itemGroup#3587855, 0, 0)#3587882 AS itemGroups#3587861, flatten(collect_list(parentItems#3587799, 0, 0)#3587883) AS parentItems#3587862, flatten(collect_set(previousOrderProposals#3587801, 0, 0)#3587884) AS previousOrderProposals#3587863]
(68) Project
Output [2]: [shardId#3579691, struct(orderProposalId, orderProposalId#3581277L, originalReplenishmentRunId, originalReplenishmentRunId#3587856L, supplierGroup, supplierGroup#3587857, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#3587857) THEN supplier#3587858 END, supplyingPlant, supplyingPlant#3587859, orderDateTime, orderDateTime#3587860, itemGroups, itemGroups#3587861, previousOrderProposals, array_distinct(previousOrderProposals#3587863), parentItems, parentItems#3587862) AS orderProposal#3587888]
Input [10]: [shardId#3579691, orderProposalId#3581277L, originalReplenishmentRunId#3587856L, supplierGroup#3587857, supplier#3587858, supplyingPlant#3587859, orderDateTime#3587860, itemGroups#3587861, parentItems#3587862, previousOrderProposals#3587863]
(69) Project
Output [11]: [shardId#3579691, orderProposal#3587888.orderProposalId AS _extract_orderProposalId#3588828L, orderProposal#3587888.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#3588829L, orderProposal#3587888.supplierGroup AS _extract_supplierGroup#3588830, orderProposal#3587888.supplier AS _extract_supplier#3588831, orderProposal#3587888.supplyingPlant AS _extract_supplyingPlant#3588832, orderProposal#3587888.orderDateTime AS _extract_orderDateTime#3588833, orderProposal#3587888.itemGroups AS _extract_itemGroups#3588834, orderProposal#3587888.previousOrderProposals AS _extract_previousOrderProposals#3588835, orderProposal#3587888.parentItems AS _extract_parentItems#3588836, orderProposal#3587888.orderProposalId AS _extract_orderProposalId#3588837L]
Input [2]: [shardId#3579691, orderProposal#3587888]
(70) Exchange
Input [11]: [shardId#3579691, _extract_orderProposalId#3588828L, _extract_originalReplenishmentRunId#3588829L, _extract_supplierGroup#3588830, _extract_supplier#3588831, _extract_supplyingPlant#3588832, _extract_orderDateTime#3588833, _extract_itemGroups#3588834, _extract_previousOrderProposals#3588835, _extract_parentItems#3588836, _extract_orderProposalId#3588837L]
Arguments: hashpartitioning(coalesce(shardId#3579691, ), isnull(shardId#3579691), coalesce(_extract_orderProposalId#3588837L, 0), isnull(_extract_orderProposalId#3588837L), 30), ENSURE_REQUIREMENTS, [plan_id=1029047]
(71) Sort
Input [11]: [shardId#3579691, _extract_orderProposalId#3588828L, _extract_originalReplenishmentRunId#3588829L, _extract_supplierGroup#3588830, _extract_supplier#3588831, _extract_supplyingPlant#3588832, _extract_orderDateTime#3588833, _extract_itemGroups#3588834, _extract_previousOrderProposals#3588835, _extract_parentItems#3588836, _extract_orderProposalId#3588837L]
Arguments: [coalesce(shardId#3579691, ) ASC NULLS FIRST, isnull(shardId#3579691) ASC NULLS FIRST, coalesce(_extract_orderProposalId#3588837L, 0) ASC NULLS FIRST, isnull(_extract_orderProposalId#3588837L) ASC NULLS FIRST], false, 0
(72) InMemoryTableScan
Output [3]: [shardId#3587903, orderProposalId#3587904L, optimizationGroups#3587906]
Arguments: [shardId#3587903, orderProposalId#3587904L, optimizationGroups#3587906], [isnotnull(orderProposalId#3587904L)]
(73) InMemoryRelation
Arguments: [shardId#3587903, orderProposalId#3587904L, items#3587905, optimizationGroups#3587906, isOptimal#3587907, optimizationInsights#3587909], StorageLevel(disk, memory, 2 replicas)
(74) Filter [codegen id : 2]
Input [3]: [shardId#3587903, orderProposalId#3587904L, optimizationGroups#3587906]
Condition : isnotnull(orderProposalId#3587904L)
(75) Exchange
Input [3]: [shardId#3587903, orderProposalId#3587904L, optimizationGroups#3587906]
Arguments: hashpartitioning(orderProposalId#3587904L, 30), ENSURE_REQUIREMENTS, [plan_id=1029052]
(76) Sort [codegen id : 3]
Input [3]: [shardId#3587903, orderProposalId#3587904L, optimizationGroups#3587906]
Arguments: [orderProposalId#3587904L ASC NULLS FIRST], false, 0
(77) InMemoryTableScan
Output [2]: [items#3587532, shardId#3587530]
Arguments: [items#3587532, shardId#3587530], [(size(items#3587532.worklistShardItemId, true) > 0), isnotnull(items#3587532.worklistShardItemId), (shardId#3587530 = 0_1_10000000532)]
(78) InMemoryRelation
Arguments: [shardId#3587530, orderProposalId#3587531L, items#3587532, optimizationGroups#3587533, isOptimal#3587534, optimizationInsights#3587536], StorageLevel(disk, memory, 2 replicas)
(79) Filter [codegen id : 4]
Input [2]: [items#3587532, shardId#3587530]
Condition : (((size(items#3587532.worklistShardItemId, true) > 0) AND isnotnull(items#3587532.worklistShardItemId)) AND (shardId#3587530 = 0_1_10000000532))
(80) Project [codegen id : 4]
Output [1]: [items#3587532.worklistShardItemId AS _extract_worklistShardItemId#3588551]
Input [2]: [items#3587532, shardId#3587530]
(81) Generate [codegen id : 4]
Input [1]: [_extract_worklistShardItemId#3588551]
Arguments: explode(_extract_worklistShardItemId#3588551), false, [item#3587910L]
(82) Project [codegen id : 4]
Output [1]: [item#3587910L AS worklistShardItemId#3587911L]
Input [1]: [item#3587910L]
(83) BroadcastExchange
Input [1]: [worklistShardItemId#3587911L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=1029063]
(84) Scan parquet
Output [5]: [orderProposalId#3587959L, isFallbackOrderOnly#3587976, worklistShardItemId#3587982L, shardId#3588003, sequenceId#3587981]
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#3588003), isnotnull(sequenceId#3587981), (shardId#3588003 = 0_1_10000000532), (sequenceId#3587981 = 7)]
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#3587959L, isFallbackOrderOnly#3587976, worklistShardItemId#3587982L, shardId#3588003, sequenceId#3587981]
(86) Filter [codegen id : 5]
Input [5]: [orderProposalId#3587959L, isFallbackOrderOnly#3587976, worklistShardItemId#3587982L, shardId#3588003, sequenceId#3587981]
Condition : ((isnotnull(worklistShardItemId#3587982L) AND NOT (isFallbackOrderOnly#3587976 <=> true)) AND isnotnull(orderProposalId#3587959L))
(87) Project [codegen id : 5]
Output [2]: [orderProposalId#3587959L, worklistShardItemId#3587982L]
Input [5]: [orderProposalId#3587959L, isFallbackOrderOnly#3587976, worklistShardItemId#3587982L, shardId#3588003, sequenceId#3587981]
(88) Exchange
Input [2]: [orderProposalId#3587959L, worklistShardItemId#3587982L]
Arguments: hashpartitioning(worklistShardItemId#3587982L, 30), REPARTITION_BY_NUM, [plan_id=1029070]
(89) Project
Output [2]: [worklistShardItemId#3587982L, orderProposalId#3587959L]
Input [2]: [orderProposalId#3587959L, worklistShardItemId#3587982L]
(90) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [worklistShardItemId#3587911L]
Right keys [1]: [worklistShardItemId#3587982L]
Join type: Inner
Join condition: None
(91) Project [codegen id : 6]
Output [1]: [orderProposalId#3587959L]
Input [3]: [worklistShardItemId#3587911L, worklistShardItemId#3587982L, orderProposalId#3587959L]
(92) HashAggregate [codegen id : 6]
Input [1]: [orderProposalId#3587959L]
Keys [1]: [orderProposalId#3587959L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#3587959L]
(93) Exchange
Input [1]: [orderProposalId#3587959L]
Arguments: hashpartitioning(orderProposalId#3587959L, 30), ENSURE_REQUIREMENTS, [plan_id=1029077]
(94) HashAggregate [codegen id : 7]
Input [1]: [orderProposalId#3587959L]
Keys [1]: [orderProposalId#3587959L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#3587959L]
(95) Sort [codegen id : 7]
Input [1]: [orderProposalId#3587959L]
Arguments: [orderProposalId#3587959L ASC NULLS FIRST], false, 0
(96) SortMergeJoin [codegen id : 8]
Left keys [1]: [orderProposalId#3587904L]
Right keys [1]: [orderProposalId#3587959L]
Join type: Inner
Join condition: None
(97) Project
Output [3]: [orderProposalId#3587904L, shardId#3587903, coalesce(transform(optimizationGroups#3587906, lambdafunction(struct(optGroupId, lambda x_11940#3587901.optGroupId, minOrderProfile, lambda x_11940#3587901.minOrderProfile, assignmentDetails, lambda x_11940#3587901.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_11940#3587901.minOrderGoal.dimensionType, unit, lambda x_11940#3587901.minOrderGoal.unit, unitUuid, lambda x_11940#3587901.minOrderGoal.unitUuid, goalValue, lambda x_11940#3587901.minOrderGoal.minOrderValue, calcValue, lambda x_11940#3587901.minOrderGoal.calculatedOrderValue), transportLoadProfile, null, transportLoadGoal, null), lambda x_11940#3587901, false)), []) AS optimizationGroups#3587900]
Input [4]: [shardId#3587903, orderProposalId#3587904L, optimizationGroups#3587906, orderProposalId#3587959L]
(98) Exchange
Input [3]: [orderProposalId#3587904L, shardId#3587903, optimizationGroups#3587900]
Arguments: hashpartitioning(coalesce(shardId#3587903, ), isnull(shardId#3587903), coalesce(orderProposalId#3587904L, 0), isnull(orderProposalId#3587904L), 30), ENSURE_REQUIREMENTS, [plan_id=1029086]
(99) Sort [codegen id : 9]
Input [3]: [orderProposalId#3587904L, shardId#3587903, optimizationGroups#3587900]
Arguments: [coalesce(shardId#3587903, ) ASC NULLS FIRST, isnull(shardId#3587903) ASC NULLS FIRST, coalesce(orderProposalId#3587904L, 0) ASC NULLS FIRST, isnull(orderProposalId#3587904L) ASC NULLS FIRST], false, 0
(100) SortMergeJoin
Left keys [4]: [coalesce(shardId#3579691, ), isnull(shardId#3579691), coalesce(_extract_orderProposalId#3588837L, 0), isnull(_extract_orderProposalId#3588837L)]
Right keys [4]: [coalesce(shardId#3587903, ), isnull(shardId#3587903), coalesce(orderProposalId#3587904L, 0), isnull(orderProposalId#3587904L)]
Join type: LeftOuter
Join condition: None
(101) Project
Output [2]: [shardId#3579691, named_struct(orderProposalId, _extract_orderProposalId#3588837L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#3588829L, supplierGroup, _extract_supplierGroup#3588830, optimizationGroups, coalesce(optimizationGroups#3587900, []), supplier, _extract_supplier#3588831, supplyingPlant, _extract_supplyingPlant#3588832, orderDateTime, _extract_orderDateTime#3588833, itemGroups, _extract_itemGroups#3588834, previousOrderProposals, _extract_previousOrderProposals#3588835, parentItems, _extract_parentItems#3588836) AS orderProposal#3588007]
Input [14]: [shardId#3579691, _extract_orderProposalId#3588828L, _extract_originalReplenishmentRunId#3588829L, _extract_supplierGroup#3588830, _extract_supplier#3588831, _extract_supplyingPlant#3588832, _extract_orderDateTime#3588833, _extract_itemGroups#3588834, _extract_previousOrderProposals#3588835, _extract_parentItems#3588836, _extract_orderProposalId#3588837L, orderProposalId#3587904L, shardId#3587903, optimizationGroups#3587900]
(102) Project
Output [3]: [shardId#3579691, orderProposal#3588007, CASE WHEN (size(orderProposal#3588007.parentItems, true) > 2000) THEN xxhash64(orderProposal#3588007.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#3588007.orderProposalId as decimal(20,0)), 44), 42) END AS resultSeparationId#3595113L]
Input [2]: [orderProposal#3588007, shardId#3579691]
(103) ObjectHashAggregate
Input [3]: [shardId#3579691, orderProposal#3588007, resultSeparationId#3595113L]
Keys [2]: [shardId#3579691, resultSeparationId#3595113L]
Functions [1]: [partial_collect_list(orderProposal#3588007, 0, 0)]
Aggregate Attributes [1]: [buf#3595152]
Results [3]: [shardId#3579691, resultSeparationId#3595113L, buf#3595153]
(104) Exchange
Input [3]: [shardId#3579691, resultSeparationId#3595113L, buf#3595153]
Arguments: hashpartitioning(shardId#3579691, resultSeparationId#3595113L, 30), ENSURE_REQUIREMENTS, [plan_id=1030266]
(105) ObjectHashAggregate
Input [3]: [shardId#3579691, resultSeparationId#3595113L, buf#3595153]
Keys [2]: [shardId#3579691, resultSeparationId#3595113L]
Functions [1]: [collect_list(orderProposal#3588007, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#3588007, 0, 0)#3595121]
Results [3]: [shardId#3579691, resultSeparationId#3595113L, collect_list(orderProposal#3588007, 0, 0)#3595121 AS orderProposals#3595117]
(106) Exchange
Input [3]: [shardId#3579691, resultSeparationId#3595113L, orderProposals#3595117]
Arguments: rangepartitioning(shardId#3579691 ASC NULLS FIRST, resultSeparationId#3595113L ASC NULLS FIRST, 44), REPARTITION_BY_NUM, [plan_id=1030309]
(107) Project
Output [2]: [shardId#3579691, orderProposals#3595117]
Input [3]: [shardId#3579691, resultSeparationId#3595113L, orderProposals#3595117]
(108) Project
Output [2]: [empty2null(shardId#3579691) AS shardId#3614432, orderProposals#3595117]
Input [2]: [orderProposals#3595117, shardId#3579691]
(109) Sort
Input [2]: [shardId#3614432, orderProposals#3595117]
Arguments: [shardId#3614432 ASC NULLS FIRST], false, 0
(110) WriteFiles
Input [2]: [shardId#3614432, orderProposals#3595117]
(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#3614432], 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]