== Physical Plan ==
* HashAggregate (110)
+- Exchange (109)
+- * HashAggregate (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 [1]: [shardId#3440291]
Arguments: [shardId#3440291]
(2) InMemoryRelation
Arguments: [shardId#3440291, orderProposals#3444435], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [3]: [shardId#3440291, resultSeparationId#3444431L, orderProposals#3444435]
Arguments: [shardId#3440291, resultSeparationId#3444431L, orderProposals#3444435]
(4) InMemoryRelation
Arguments: [shardId#3440291, resultSeparationId#3444431L, orderProposals#3444435], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [2]: [orderProposal#3442679, shardId#3440291]
Arguments: [orderProposal#3442679, shardId#3440291]
(6) InMemoryRelation
Arguments: [shardId#3440291, orderProposal#3442679], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [39]: [availabilityDateTime#3440981, channelStreamSpecificKpis#3441782, constraintLabels#3440993, constraintOperators#3440994, constraintValues#3440996, deliveryDateTime#3440980, isFallbackOrderOnly#3440983, logisticUnits#3440998, measurements#3440991, minimumOrderQuantity#3440992, netPriceAmount#3440989, netPriceCurrencyCode#3440990, netPriceQuantity#3440986, netPriceQuantityUom#3440987, netPriceQuantityUomUuid#3440988, nextAvailabilityDateTime#3440982, optimizationGroups#3440999, orderDateTime#3440979, orderProposalId#3440961L, orderProposalItemGroupId#3440963, orderProposalItemId#3440962, orderQuantityBaseUom#3440984, orderQuantityBaseUomUuid#3440985, originalReplenishmentRunId#3440964L, plant#3440975, previousOrderProposal#3440967L, prodLocSpecificKpis#3441767, product#3440974, productGroup#3441003, qty#3440805, quantityAfterProdPlantOptimization#3440804, quantityKpis#3441795, shardId#3440291, sourceOfSupplyUuid#3440970, splitIndicator#3440966L, subrange#3440973, supplier#3440972, supplierGroup#3440971, supplyingPlant#3441002]
Arguments: [availabilityDateTime#3440981, channelStreamSpecificKpis#3441782, constraintLabels#3440993, constraintOperators#3440994, constraintValues#3440996, deliveryDateTime#3440980, isFallbackOrderOnly#3440983, logisticUnits#3440998, measurements#3440991, minimumOrderQuantity#3440992, netPriceAmount#3440989, netPriceCurrencyCode#3440990, netPriceQuantity#3440986, netPriceQuantityUom#3440987, netPriceQuantityUomUuid#3440988, nextAvailabilityDateTime#3440982, optimizationGroups#3440999, orderDateTime#3440979, orderProposalId#3440961L, orderProposalItemGroupId#3440963, orderProposalItemId#3440962, orderQuantityBaseUom#3440984, orderQuantityBaseUomUuid#3440985, originalReplenishmentRunId#3440964L, plant#3440975, ... 14 more fields], [NOT (isFallbackOrderOnly#3440983 <=> true)]
(8) InMemoryRelation
Arguments: [shardId#3440291, worklistShardItemId#3440803L, quantityAfterProdPlantOptimization#3440804, qty#3440805, orderProposalId#3440961L, originalReplenishmentRunId#3440964L, supplierGroup#3440971, supplier#3440972, supplyingPlant#3441002, productGroup#3441003, product#3440974, plant#3440975, subrange#3440973, orderDateTime#3440979, deliveryDateTime#3440980, availabilityDateTime#3440981, nextAvailabilityDateTime#3440982, constraintValues#3440996, constraintOperators#3440994, constraintLabels#3440993, logisticUnits#3440998, orderQuantityBaseUom#3440984, orderQuantityBaseUomUuid#3440985, splitIndicator#3440966L, netPriceAmount#3440989, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [2]: [shardId#3440291, items#3440293]
Arguments: [shardId#3440291, items#3440293], [(size(items#3440293, true) > 0), isnotnull(items#3440293)]
(10) InMemoryRelation
Arguments: [shardId#3440291, orderProposalId#3440292L, items#3440293, optimizationGroups#3440294, isOptimal#3440295, optimizationInsights#3440297], StorageLevel(disk, memory, 2 replicas)
(11) InMemoryTableScan
Output [6]: [shardId#3440291, orderProposalId#3440292L, items#3440293, optimizationGroups#3440294, isOptimal#3440295, optimizationInsights#3440297]
Arguments: [shardId#3440291, orderProposalId#3440292L, items#3440293, optimizationGroups#3440294, isOptimal#3440295, optimizationInsights#3440297], [isnotnull(shardId#3440291), (shardId#3440291 = 0_5_10000000532)]
(12) InMemoryRelation
Arguments: [shardId#3440291, orderProposalId#3440292L, items#3440293, optimizationGroups#3440294, isOptimal#3440295, lastModified#3440296, optimizationInsights#3440297], StorageLevel(disk, memory, 2 replicas)
(13) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#3440291, orderProposalId#3440292L, items#3440293, optimizationGroups#3440294, isOptimal#3440295, lastModified#3440296, optimizationInsights#3440297]
Arguments: [shardId#3440291, orderProposalId#3440292L, items#3440293, optimizationGroups#3440294, isOptimal#3440295, lastModified#3440296, optimizationInsights#3440297], MapPartitionsRDD[146361] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(14) Filter [codegen id : 1]
Input [7]: [shardId#3440291, orderProposalId#3440292L, items#3440293, optimizationGroups#3440294, isOptimal#3440295, lastModified#3440296, optimizationInsights#3440297]
Condition : (isnotnull(shardId#3440291) AND (shardId#3440291 = 0_5_10000000532))
(15) Filter [codegen id : 1]
Input [6]: [shardId#3440291, orderProposalId#3440292L, items#3440293, optimizationGroups#3440294, isOptimal#3440295, optimizationInsights#3440297]
Condition : (isnotnull(shardId#3440291) AND (shardId#3440291 = 0_5_10000000532))
(16) Filter [codegen id : 1]
Input [2]: [shardId#3440291, items#3440293]
Condition : ((size(items#3440293, true) > 0) AND isnotnull(items#3440293))
(17) Generate [codegen id : 1]
Input [2]: [shardId#3440291, items#3440293]
Arguments: explode(items#3440293), [shardId#3440291], false, [item#3440802]
(18) Project [codegen id : 1]
Output [4]: [shardId#3440291, item#3440802.worklistShardItemId AS worklistShardItemId#3440803L, item#3440802.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#3440804, item#3440802.qty AS qty#3440805]
Input [2]: [shardId#3440291, item#3440802]
(19) Exchange
Input [4]: [shardId#3440291, worklistShardItemId#3440803L, quantityAfterProdPlantOptimization#3440804, qty#3440805]
Arguments: hashpartitioning(worklistShardItemId#3440803L, 30), ENSURE_REQUIREMENTS, [plan_id=989832]
(20) Sort [codegen id : 2]
Input [4]: [shardId#3440291, worklistShardItemId#3440803L, quantityAfterProdPlantOptimization#3440804, qty#3440805]
Arguments: [worklistShardItemId#3440803L ASC NULLS FIRST], false, 0
(21) Scan parquet
Output [38]: [orderProposalId#3441004L, orderProposalItemId#3441005, supplierGroup#3441006, supplier#3441007, plant#3441008, deliveryDateTime#3441009, subrange#3441010, supplyingPlant#3441011, productGroup#3441012, product#3441013, orderDateTime#3441014, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, sourceOfSupplyUuid#3441018, isFallbackOrderOnly#3441021, splitIndicator#3441023L, previousOrderProposal#3441024L, worklistShardItemId#3441027L, orderProposalItemGroupId#3441028, externalProductId#3441029, externalPlantId#3441030, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, minimumOrderQuantity#3441034, constraintLabels#3441035, constraintOperators#3441036, constraintValues#3441037, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, measurements#3441045, originalReplenishmentRunId#3441046L, optimizationGroups#3441047, shardId#3441048, sequenceId#3441026]
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#3441048), isnotnull(sequenceId#3441026), (shardId#3441048 = 0_5_10000000532), (sequenceId#3441026 = 3)]
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#3441004L, orderProposalItemId#3441005, supplierGroup#3441006, supplier#3441007, plant#3441008, deliveryDateTime#3441009, subrange#3441010, supplyingPlant#3441011, productGroup#3441012, product#3441013, orderDateTime#3441014, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, sourceOfSupplyUuid#3441018, isFallbackOrderOnly#3441021, splitIndicator#3441023L, previousOrderProposal#3441024L, worklistShardItemId#3441027L, orderProposalItemGroupId#3441028, externalProductId#3441029, externalPlantId#3441030, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, minimumOrderQuantity#3441034, constraintLabels#3441035, constraintOperators#3441036, constraintValues#3441037, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, measurements#3441045, originalReplenishmentRunId#3441046L, optimizationGroups#3441047, shardId#3441048, sequenceId#3441026]
(23) Filter [codegen id : 3]
Input [38]: [orderProposalId#3441004L, orderProposalItemId#3441005, supplierGroup#3441006, supplier#3441007, plant#3441008, deliveryDateTime#3441009, subrange#3441010, supplyingPlant#3441011, productGroup#3441012, product#3441013, orderDateTime#3441014, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, sourceOfSupplyUuid#3441018, isFallbackOrderOnly#3441021, splitIndicator#3441023L, previousOrderProposal#3441024L, worklistShardItemId#3441027L, orderProposalItemGroupId#3441028, externalProductId#3441029, externalPlantId#3441030, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, minimumOrderQuantity#3441034, constraintLabels#3441035, constraintOperators#3441036, constraintValues#3441037, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, measurements#3441045, originalReplenishmentRunId#3441046L, optimizationGroups#3441047, shardId#3441048, sequenceId#3441026]
Condition : isnotnull(worklistShardItemId#3441027L)
(24) Project [codegen id : 3]
Output [36]: [orderProposalId#3441004L, orderProposalItemId#3441005, supplierGroup#3441006, supplier#3441007, plant#3441008, deliveryDateTime#3441009, subrange#3441010, supplyingPlant#3441011, productGroup#3441012, product#3441013, orderDateTime#3441014, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, sourceOfSupplyUuid#3441018, isFallbackOrderOnly#3441021, splitIndicator#3441023L, previousOrderProposal#3441024L, worklistShardItemId#3441027L, orderProposalItemGroupId#3441028, externalProductId#3441029, externalPlantId#3441030, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, minimumOrderQuantity#3441034, constraintLabels#3441035, constraintOperators#3441036, constraintValues#3441037, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, measurements#3441045, originalReplenishmentRunId#3441046L, optimizationGroups#3441047]
Input [38]: [orderProposalId#3441004L, orderProposalItemId#3441005, supplierGroup#3441006, supplier#3441007, plant#3441008, deliveryDateTime#3441009, subrange#3441010, supplyingPlant#3441011, productGroup#3441012, product#3441013, orderDateTime#3441014, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, sourceOfSupplyUuid#3441018, isFallbackOrderOnly#3441021, splitIndicator#3441023L, previousOrderProposal#3441024L, worklistShardItemId#3441027L, orderProposalItemGroupId#3441028, externalProductId#3441029, externalPlantId#3441030, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, minimumOrderQuantity#3441034, constraintLabels#3441035, constraintOperators#3441036, constraintValues#3441037, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, measurements#3441045, originalReplenishmentRunId#3441046L, optimizationGroups#3441047, shardId#3441048, sequenceId#3441026]
(25) Exchange
Input [36]: [orderProposalId#3441004L, orderProposalItemId#3441005, supplierGroup#3441006, supplier#3441007, plant#3441008, deliveryDateTime#3441009, subrange#3441010, supplyingPlant#3441011, productGroup#3441012, product#3441013, orderDateTime#3441014, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, sourceOfSupplyUuid#3441018, isFallbackOrderOnly#3441021, splitIndicator#3441023L, previousOrderProposal#3441024L, worklistShardItemId#3441027L, orderProposalItemGroupId#3441028, externalProductId#3441029, externalPlantId#3441030, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, minimumOrderQuantity#3441034, constraintLabels#3441035, constraintOperators#3441036, constraintValues#3441037, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, measurements#3441045, originalReplenishmentRunId#3441046L, optimizationGroups#3441047]
Arguments: hashpartitioning(worklistShardItemId#3441027L, 30), REPARTITION_BY_NUM, [plan_id=989842]
(26) Project [codegen id : 4]
Output [36]: [worklistShardItemId#3441027L, orderProposalId#3441004L, orderProposalItemId#3441005, orderProposalItemGroupId#3441028, originalReplenishmentRunId#3441046L, splitIndicator#3441023L, previousOrderProposal#3441024L, sourceOfSupplyUuid#3441018, supplierGroup#3441006, supplier#3441007, subrange#3441010, product#3441013, plant#3441008, orderDateTime#3441014, deliveryDateTime#3441009, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, isFallbackOrderOnly#3441021, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, netPriceAmount#3441040, netPriceCurrencyCode#3441041, measurements#3441045, minimumOrderQuantity#3441034, constraintLabels#3441035, constraintOperators#3441036, constraintValues#3441037, logisticUnits#3441031, optimizationGroups#3441047, externalProductId#3441029, externalPlantId#3441030, supplyingPlant#3441011, productGroup#3441012]
Input [36]: [orderProposalId#3441004L, orderProposalItemId#3441005, supplierGroup#3441006, supplier#3441007, plant#3441008, deliveryDateTime#3441009, subrange#3441010, supplyingPlant#3441011, productGroup#3441012, product#3441013, orderDateTime#3441014, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, sourceOfSupplyUuid#3441018, isFallbackOrderOnly#3441021, splitIndicator#3441023L, previousOrderProposal#3441024L, worklistShardItemId#3441027L, orderProposalItemGroupId#3441028, externalProductId#3441029, externalPlantId#3441030, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, minimumOrderQuantity#3441034, constraintLabels#3441035, constraintOperators#3441036, constraintValues#3441037, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, measurements#3441045, originalReplenishmentRunId#3441046L, optimizationGroups#3441047]
(27) Sort [codegen id : 4]
Input [36]: [worklistShardItemId#3441027L, orderProposalId#3441004L, orderProposalItemId#3441005, orderProposalItemGroupId#3441028, originalReplenishmentRunId#3441046L, splitIndicator#3441023L, previousOrderProposal#3441024L, sourceOfSupplyUuid#3441018, supplierGroup#3441006, supplier#3441007, subrange#3441010, product#3441013, plant#3441008, orderDateTime#3441014, deliveryDateTime#3441009, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, isFallbackOrderOnly#3441021, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, netPriceAmount#3441040, netPriceCurrencyCode#3441041, measurements#3441045, minimumOrderQuantity#3441034, constraintLabels#3441035, constraintOperators#3441036, constraintValues#3441037, logisticUnits#3441031, optimizationGroups#3441047, externalProductId#3441029, externalPlantId#3441030, supplyingPlant#3441011, productGroup#3441012]
Arguments: [worklistShardItemId#3441027L ASC NULLS FIRST], false, 0
(28) SortMergeJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#3440803L]
Right keys [1]: [worklistShardItemId#3441027L]
Join type: LeftOuter
Join condition: (shardId#3440291 = 0_5_10000000532)
(29) Project [codegen id : 5]
Output [39]: [shardId#3440291, worklistShardItemId#3440803L, quantityAfterProdPlantOptimization#3440804, qty#3440805, orderProposalId#3441004L, originalReplenishmentRunId#3441046L, supplierGroup#3441006, supplier#3441007, supplyingPlant#3441011, productGroup#3441012, product#3441013, plant#3441008, subrange#3441010, orderDateTime#3441014, deliveryDateTime#3441009, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, constraintValues#3441037, constraintOperators#3441036, constraintLabels#3441035, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, splitIndicator#3441023L, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, sourceOfSupplyUuid#3441018, minimumOrderQuantity#3441034, orderProposalItemId#3441005, orderProposalItemGroupId#3441028, optimizationGroups#3441047, measurements#3441045, externalProductId#3441029, externalPlantId#3441030, previousOrderProposal#3441024L, isFallbackOrderOnly#3441021]
Input [40]: [shardId#3440291, worklistShardItemId#3440803L, quantityAfterProdPlantOptimization#3440804, qty#3440805, worklistShardItemId#3441027L, orderProposalId#3441004L, orderProposalItemId#3441005, orderProposalItemGroupId#3441028, originalReplenishmentRunId#3441046L, splitIndicator#3441023L, previousOrderProposal#3441024L, sourceOfSupplyUuid#3441018, supplierGroup#3441006, supplier#3441007, subrange#3441010, product#3441013, plant#3441008, orderDateTime#3441014, deliveryDateTime#3441009, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, isFallbackOrderOnly#3441021, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, netPriceAmount#3441040, netPriceCurrencyCode#3441041, measurements#3441045, minimumOrderQuantity#3441034, constraintLabels#3441035, constraintOperators#3441036, constraintValues#3441037, logisticUnits#3441031, optimizationGroups#3441047, externalProductId#3441029, externalPlantId#3441030, supplyingPlant#3441011, productGroup#3441012]
(30) Exchange
Input [39]: [shardId#3440291, worklistShardItemId#3440803L, quantityAfterProdPlantOptimization#3440804, qty#3440805, orderProposalId#3441004L, originalReplenishmentRunId#3441046L, supplierGroup#3441006, supplier#3441007, supplyingPlant#3441011, productGroup#3441012, product#3441013, plant#3441008, subrange#3441010, orderDateTime#3441014, deliveryDateTime#3441009, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, constraintValues#3441037, constraintOperators#3441036, constraintLabels#3441035, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, splitIndicator#3441023L, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, sourceOfSupplyUuid#3441018, minimumOrderQuantity#3441034, orderProposalItemId#3441005, orderProposalItemGroupId#3441028, optimizationGroups#3441047, measurements#3441045, externalProductId#3441029, externalPlantId#3441030, previousOrderProposal#3441024L, isFallbackOrderOnly#3441021]
Arguments: hashpartitioning(shardId#3440291, worklistShardItemId#3440803L, 30), ENSURE_REQUIREMENTS, [plan_id=989851]
(31) Sort [codegen id : 6]
Input [39]: [shardId#3440291, worklistShardItemId#3440803L, quantityAfterProdPlantOptimization#3440804, qty#3440805, orderProposalId#3441004L, originalReplenishmentRunId#3441046L, supplierGroup#3441006, supplier#3441007, supplyingPlant#3441011, productGroup#3441012, product#3441013, plant#3441008, subrange#3441010, orderDateTime#3441014, deliveryDateTime#3441009, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, constraintValues#3441037, constraintOperators#3441036, constraintLabels#3441035, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, splitIndicator#3441023L, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, sourceOfSupplyUuid#3441018, minimumOrderQuantity#3441034, orderProposalItemId#3441005, orderProposalItemGroupId#3441028, optimizationGroups#3441047, measurements#3441045, externalProductId#3441029, externalPlantId#3441030, previousOrderProposal#3441024L, isFallbackOrderOnly#3441021]
Arguments: [shardId#3440291 ASC NULLS FIRST, worklistShardItemId#3440803L ASC NULLS FIRST], false, 0
(32) Scan ExistingRDD [codegen id : 7]
Output [6]: [shardId#3441760, worklistShardItemId#3441761L, qty#3441762, demandChannel#3441763, demandStream#3441764, kpis#3441765]
Arguments: [shardId#3441760, worklistShardItemId#3441761L, qty#3441762, demandChannel#3441763, demandStream#3441764, kpis#3441765], MapPartitionsRDD[146443] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(33) Filter [codegen id : 7]
Input [6]: [shardId#3441760, worklistShardItemId#3441761L, qty#3441762, demandChannel#3441763, demandStream#3441764, kpis#3441765]
Condition : (((isnull(qty#3441762) AND isnull(demandChannel#3441763)) AND isnull(demandStream#3441764)) AND (isnotnull(shardId#3441760) AND isnotnull(worklistShardItemId#3441761L)))
(34) Project [codegen id : 7]
Output [3]: [shardId#3441760, worklistShardItemId#3441761L, coalesce(kpis#3441765, []) AS prodLocSpecificKpis#3441766]
Input [6]: [shardId#3441760, worklistShardItemId#3441761L, qty#3441762, demandChannel#3441763, demandStream#3441764, kpis#3441765]
(35) Exchange
Input [3]: [shardId#3441760, worklistShardItemId#3441761L, prodLocSpecificKpis#3441766]
Arguments: hashpartitioning(shardId#3441760, worklistShardItemId#3441761L, 30), ENSURE_REQUIREMENTS, [plan_id=989857]
(36) Sort [codegen id : 8]
Input [3]: [shardId#3441760, worklistShardItemId#3441761L, prodLocSpecificKpis#3441766]
Arguments: [shardId#3441760 ASC NULLS FIRST, worklistShardItemId#3441761L ASC NULLS FIRST], false, 0
(37) SortMergeJoin [codegen id : 9]
Left keys [2]: [shardId#3440291, worklistShardItemId#3440803L]
Right keys [2]: [shardId#3441760, worklistShardItemId#3441761L]
Join type: LeftOuter
Join condition: None
(38) Project [codegen id : 9]
Output [40]: [shardId#3440291, worklistShardItemId#3440803L, quantityAfterProdPlantOptimization#3440804, qty#3440805, orderProposalId#3441004L, originalReplenishmentRunId#3441046L, supplierGroup#3441006, supplier#3441007, supplyingPlant#3441011, productGroup#3441012, product#3441013, plant#3441008, subrange#3441010, orderDateTime#3441014, deliveryDateTime#3441009, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, constraintValues#3441037, constraintOperators#3441036, constraintLabels#3441035, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, splitIndicator#3441023L, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, sourceOfSupplyUuid#3441018, minimumOrderQuantity#3441034, orderProposalItemId#3441005, orderProposalItemGroupId#3441028, optimizationGroups#3441047, measurements#3441045, externalProductId#3441029, externalPlantId#3441030, previousOrderProposal#3441024L, isFallbackOrderOnly#3441021, coalesce(prodLocSpecificKpis#3441766, []) AS prodLocSpecificKpis#3441767]
Input [42]: [shardId#3440291, worklistShardItemId#3440803L, quantityAfterProdPlantOptimization#3440804, qty#3440805, orderProposalId#3441004L, originalReplenishmentRunId#3441046L, supplierGroup#3441006, supplier#3441007, supplyingPlant#3441011, productGroup#3441012, product#3441013, plant#3441008, subrange#3441010, orderDateTime#3441014, deliveryDateTime#3441009, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, constraintValues#3441037, constraintOperators#3441036, constraintLabels#3441035, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, splitIndicator#3441023L, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, sourceOfSupplyUuid#3441018, minimumOrderQuantity#3441034, orderProposalItemId#3441005, orderProposalItemGroupId#3441028, optimizationGroups#3441047, measurements#3441045, externalProductId#3441029, externalPlantId#3441030, previousOrderProposal#3441024L, isFallbackOrderOnly#3441021, shardId#3441760, worklistShardItemId#3441761L, prodLocSpecificKpis#3441766]
(39) Scan ExistingRDD [codegen id : 10]
Output [6]: [shardId#3441776, worklistShardItemId#3441777L, qty#3441778, demandChannel#3441779, demandStream#3441780, kpis#3441781]
Arguments: [shardId#3441776, worklistShardItemId#3441777L, qty#3441778, demandChannel#3441779, demandStream#3441780, kpis#3441781], MapPartitionsRDD[146443] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(40) Filter [codegen id : 10]
Input [6]: [shardId#3441776, worklistShardItemId#3441777L, qty#3441778, demandChannel#3441779, demandStream#3441780, kpis#3441781]
Condition : ((((isnull(qty#3441778) AND isnotnull(demandChannel#3441779)) AND isnotnull(demandStream#3441780)) AND (size(kpis#3441781, true) > 0)) AND (isnotnull(shardId#3441776) AND isnotnull(worklistShardItemId#3441777L)))
(41) Project [codegen id : 10]
Output [5]: [shardId#3441776, worklistShardItemId#3441777L, demandChannel#3441779, demandStream#3441780, kpis#3441781]
Input [6]: [shardId#3441776, worklistShardItemId#3441777L, qty#3441778, demandChannel#3441779, demandStream#3441780, kpis#3441781]
(42) ObjectHashAggregate
Input [5]: [shardId#3441776, worklistShardItemId#3441777L, demandChannel#3441779, demandStream#3441780, kpis#3441781]
Keys [2]: [shardId#3441776, worklistShardItemId#3441777L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#3441779, demandStream, demandStream#3441780, kpis, kpis#3441781), 0, 0)]
Aggregate Attributes [1]: [buf#3441956]
Results [3]: [shardId#3441776, worklistShardItemId#3441777L, buf#3441957]
(43) Exchange
Input [3]: [shardId#3441776, worklistShardItemId#3441777L, buf#3441957]
Arguments: hashpartitioning(shardId#3441776, worklistShardItemId#3441777L, 30), ENSURE_REQUIREMENTS, [plan_id=989868]
(44) ObjectHashAggregate
Input [3]: [shardId#3441776, worklistShardItemId#3441777L, buf#3441957]
Keys [2]: [shardId#3441776, worklistShardItemId#3441777L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#3441779, demandStream, demandStream#3441780, kpis, kpis#3441781), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#3441779, demandStream, demandStream#3441780, kpis, kpis#3441781), 0, 0)#3441775]
Results [3]: [shardId#3441776, worklistShardItemId#3441777L, collect_list(struct(demandChannel, demandChannel#3441779, demandStream, demandStream#3441780, kpis, kpis#3441781), 0, 0)#3441775 AS channelStreamSpecificKpis#3441768]
(45) Sort [codegen id : 11]
Input [3]: [shardId#3441776, worklistShardItemId#3441777L, channelStreamSpecificKpis#3441768]
Arguments: [shardId#3441776 ASC NULLS FIRST, worklistShardItemId#3441777L ASC NULLS FIRST], false, 0
(46) SortMergeJoin [codegen id : 12]
Left keys [2]: [shardId#3440291, worklistShardItemId#3440803L]
Right keys [2]: [shardId#3441776, worklistShardItemId#3441777L]
Join type: LeftOuter
Join condition: None
(47) Project [codegen id : 12]
Output [41]: [shardId#3440291, worklistShardItemId#3440803L, quantityAfterProdPlantOptimization#3440804, qty#3440805, orderProposalId#3441004L, originalReplenishmentRunId#3441046L, supplierGroup#3441006, supplier#3441007, supplyingPlant#3441011, productGroup#3441012, product#3441013, plant#3441008, subrange#3441010, orderDateTime#3441014, deliveryDateTime#3441009, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, constraintValues#3441037, constraintOperators#3441036, constraintLabels#3441035, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, splitIndicator#3441023L, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, sourceOfSupplyUuid#3441018, minimumOrderQuantity#3441034, orderProposalItemId#3441005, orderProposalItemGroupId#3441028, optimizationGroups#3441047, measurements#3441045, externalProductId#3441029, externalPlantId#3441030, previousOrderProposal#3441024L, isFallbackOrderOnly#3441021, prodLocSpecificKpis#3441767, coalesce(channelStreamSpecificKpis#3441768, []) AS channelStreamSpecificKpis#3441782]
Input [43]: [shardId#3440291, worklistShardItemId#3440803L, quantityAfterProdPlantOptimization#3440804, qty#3440805, orderProposalId#3441004L, originalReplenishmentRunId#3441046L, supplierGroup#3441006, supplier#3441007, supplyingPlant#3441011, productGroup#3441012, product#3441013, plant#3441008, subrange#3441010, orderDateTime#3441014, deliveryDateTime#3441009, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, constraintValues#3441037, constraintOperators#3441036, constraintLabels#3441035, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, splitIndicator#3441023L, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, sourceOfSupplyUuid#3441018, minimumOrderQuantity#3441034, orderProposalItemId#3441005, orderProposalItemGroupId#3441028, optimizationGroups#3441047, measurements#3441045, externalProductId#3441029, externalPlantId#3441030, previousOrderProposal#3441024L, isFallbackOrderOnly#3441021, prodLocSpecificKpis#3441767, shardId#3441776, worklistShardItemId#3441777L, channelStreamSpecificKpis#3441768]
(48) Scan ExistingRDD [codegen id : 13]
Output [6]: [shardId#3441789, worklistShardItemId#3441790L, qty#3441791, demandChannel#3441792, demandStream#3441793, kpis#3441794]
Arguments: [shardId#3441789, worklistShardItemId#3441790L, qty#3441791, demandChannel#3441792, demandStream#3441793, kpis#3441794], MapPartitionsRDD[146443] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(49) Filter [codegen id : 13]
Input [6]: [shardId#3441789, worklistShardItemId#3441790L, qty#3441791, demandChannel#3441792, demandStream#3441793, kpis#3441794]
Condition : ((isnotnull(qty#3441791) AND isnotnull(kpis#3441794)) AND (isnotnull(shardId#3441789) AND isnotnull(worklistShardItemId#3441790L)))
(50) Project [codegen id : 13]
Output [4]: [shardId#3441789, worklistShardItemId#3441790L, qty#3441791, kpis#3441794]
Input [6]: [shardId#3441789, worklistShardItemId#3441790L, qty#3441791, demandChannel#3441792, demandStream#3441793, kpis#3441794]
(51) ObjectHashAggregate
Input [4]: [shardId#3441789, worklistShardItemId#3441790L, qty#3441791, kpis#3441794]
Keys [2]: [shardId#3441789, worklistShardItemId#3441790L]
Functions [1]: [partial_collect_list(struct(qty, qty#3441791, kpis, kpis#3441794), 0, 0)]
Aggregate Attributes [1]: [buf#3441958]
Results [3]: [shardId#3441789, worklistShardItemId#3441790L, buf#3441959]
(52) Exchange
Input [3]: [shardId#3441789, worklistShardItemId#3441790L, buf#3441959]
Arguments: hashpartitioning(shardId#3441789, worklistShardItemId#3441790L, 30), ENSURE_REQUIREMENTS, [plan_id=989880]
(53) ObjectHashAggregate
Input [3]: [shardId#3441789, worklistShardItemId#3441790L, buf#3441959]
Keys [2]: [shardId#3441789, worklistShardItemId#3441790L]
Functions [1]: [collect_list(struct(qty, qty#3441791, kpis, kpis#3441794), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#3441791, kpis, kpis#3441794), 0, 0)#3441788]
Results [3]: [shardId#3441789, worklistShardItemId#3441790L, map_from_entries(collect_list(struct(qty, qty#3441791, kpis, kpis#3441794), 0, 0)#3441788) AS quantityKpis#3441783]
(54) Sort [codegen id : 14]
Input [3]: [shardId#3441789, worklistShardItemId#3441790L, quantityKpis#3441783]
Arguments: [shardId#3441789 ASC NULLS FIRST, worklistShardItemId#3441790L ASC NULLS FIRST], false, 0
(55) SortMergeJoin [codegen id : 15]
Left keys [2]: [shardId#3440291, worklistShardItemId#3440803L]
Right keys [2]: [shardId#3441789, worklistShardItemId#3441790L]
Join type: LeftOuter
Join condition: None
(56) Project [codegen id : 15]
Output [42]: [shardId#3440291, worklistShardItemId#3440803L, quantityAfterProdPlantOptimization#3440804, qty#3440805, orderProposalId#3441004L, originalReplenishmentRunId#3441046L, supplierGroup#3441006, supplier#3441007, supplyingPlant#3441011, productGroup#3441012, product#3441013, plant#3441008, subrange#3441010, orderDateTime#3441014, deliveryDateTime#3441009, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, constraintValues#3441037, constraintOperators#3441036, constraintLabels#3441035, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, splitIndicator#3441023L, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, sourceOfSupplyUuid#3441018, minimumOrderQuantity#3441034, orderProposalItemId#3441005, orderProposalItemGroupId#3441028, optimizationGroups#3441047, measurements#3441045, externalProductId#3441029, externalPlantId#3441030, previousOrderProposal#3441024L, isFallbackOrderOnly#3441021, prodLocSpecificKpis#3441767, channelStreamSpecificKpis#3441782, coalesce(quantityKpis#3441783, map(keys: [], values: [])) AS quantityKpis#3441795]
Input [44]: [shardId#3440291, worklistShardItemId#3440803L, quantityAfterProdPlantOptimization#3440804, qty#3440805, orderProposalId#3441004L, originalReplenishmentRunId#3441046L, supplierGroup#3441006, supplier#3441007, supplyingPlant#3441011, productGroup#3441012, product#3441013, plant#3441008, subrange#3441010, orderDateTime#3441014, deliveryDateTime#3441009, availabilityDateTime#3441015, nextAvailabilityDateTime#3441016, constraintValues#3441037, constraintOperators#3441036, constraintLabels#3441035, logisticUnits#3441031, orderQuantityBaseUom#3441032, orderQuantityBaseUomUuid#3441033, splitIndicator#3441023L, netPriceAmount#3441040, netPriceCurrencyCode#3441041, netPriceQuantity#3441042, netPriceQuantityUom#3441043, netPriceQuantityUomUuid#3441044, sourceOfSupplyUuid#3441018, minimumOrderQuantity#3441034, orderProposalItemId#3441005, orderProposalItemGroupId#3441028, optimizationGroups#3441047, measurements#3441045, externalProductId#3441029, externalPlantId#3441030, previousOrderProposal#3441024L, isFallbackOrderOnly#3441021, prodLocSpecificKpis#3441767, channelStreamSpecificKpis#3441782, shardId#3441789, worklistShardItemId#3441790L, quantityKpis#3441783]
(57) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#3440981, channelStreamSpecificKpis#3441782, constraintLabels#3440993, constraintOperators#3440994, constraintValues#3440996, deliveryDateTime#3440980, isFallbackOrderOnly#3440983, logisticUnits#3440998, measurements#3440991, minimumOrderQuantity#3440992, netPriceAmount#3440989, netPriceCurrencyCode#3440990, netPriceQuantity#3440986, netPriceQuantityUom#3440987, netPriceQuantityUomUuid#3440988, nextAvailabilityDateTime#3440982, optimizationGroups#3440999, orderDateTime#3440979, orderProposalId#3440961L, orderProposalItemGroupId#3440963, orderProposalItemId#3440962, orderQuantityBaseUom#3440984, orderQuantityBaseUomUuid#3440985, originalReplenishmentRunId#3440964L, plant#3440975, previousOrderProposal#3440967L, prodLocSpecificKpis#3441767, product#3440974, productGroup#3441003, qty#3440805, quantityAfterProdPlantOptimization#3440804, quantityKpis#3441795, shardId#3440291, sourceOfSupplyUuid#3440970, splitIndicator#3440966L, subrange#3440973, supplier#3440972, supplierGroup#3440971, supplyingPlant#3441002]
Condition : NOT (isFallbackOrderOnly#3440983 <=> true)
(58) Project [codegen id : 1]
Output [36]: [shardId#3440291, quantityAfterProdPlantOptimization#3440804, qty#3440805, orderProposalId#3440961L, originalReplenishmentRunId#3440964L, supplierGroup#3440971, supplier#3440972, supplyingPlant#3441002, productGroup#3441003, product#3440974, plant#3440975, subrange#3440973, orderDateTime#3440979, deliveryDateTime#3440980, availabilityDateTime#3440981, nextAvailabilityDateTime#3440982, logisticUnits#3440998, orderQuantityBaseUom#3440984, orderQuantityBaseUomUuid#3440985, splitIndicator#3440966L, netPriceAmount#3440989, netPriceCurrencyCode#3440990, netPriceQuantity#3440986, netPriceQuantityUom#3440987, netPriceQuantityUomUuid#3440988, sourceOfSupplyUuid#3440970, minimumOrderQuantity#3440992, orderProposalItemId#3440962, orderProposalItemGroupId#3440963, optimizationGroups#3440999, measurements#3440991, previousOrderProposal#3440967L, prodLocSpecificKpis#3441767, channelStreamSpecificKpis#3441782, quantityKpis#3441795, arrays_zip(constraintLabels#3440993, constraintOperators#3440994, constraintValues#3440996, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#3442209]
Input [39]: [availabilityDateTime#3440981, channelStreamSpecificKpis#3441782, constraintLabels#3440993, constraintOperators#3440994, constraintValues#3440996, deliveryDateTime#3440980, isFallbackOrderOnly#3440983, logisticUnits#3440998, measurements#3440991, minimumOrderQuantity#3440992, netPriceAmount#3440989, netPriceCurrencyCode#3440990, netPriceQuantity#3440986, netPriceQuantityUom#3440987, netPriceQuantityUomUuid#3440988, nextAvailabilityDateTime#3440982, optimizationGroups#3440999, orderDateTime#3440979, orderProposalId#3440961L, orderProposalItemGroupId#3440963, orderProposalItemId#3440962, orderQuantityBaseUom#3440984, orderQuantityBaseUomUuid#3440985, originalReplenishmentRunId#3440964L, plant#3440975, previousOrderProposal#3440967L, prodLocSpecificKpis#3441767, product#3440974, productGroup#3441003, qty#3440805, quantityAfterProdPlantOptimization#3440804, quantityKpis#3441795, shardId#3440291, sourceOfSupplyUuid#3440970, splitIndicator#3440966L, subrange#3440973, supplier#3440972, supplierGroup#3440971, supplyingPlant#3441002]
(59) Project
Output [37]: [shardId#3440291, qty#3440805, orderProposalId#3440961L, originalReplenishmentRunId#3440964L, supplierGroup#3440971, supplier#3440972, supplyingPlant#3441002, productGroup#3441003, product#3440974, plant#3440975, subrange#3440973, orderDateTime#3440979, deliveryDateTime#3440980, availabilityDateTime#3440981, nextAvailabilityDateTime#3440982, logisticUnits#3440998, orderQuantityBaseUom#3440984, orderQuantityBaseUomUuid#3440985, splitIndicator#3440966L, netPriceAmount#3440989, netPriceCurrencyCode#3440990, netPriceQuantity#3440986, netPriceQuantityUom#3440987, netPriceQuantityUomUuid#3440988, sourceOfSupplyUuid#3440970, orderProposalItemId#3440962, orderProposalItemGroupId#3440963, optimizationGroups#3440999, measurements#3440991, previousOrderProposal#3440967L, prodLocSpecificKpis#3441767, channelStreamSpecificKpis#3441782, quantityKpis#3441795, struct(minServiceLevel, array_min(filter(constraintStructArray#3442209, lambdafunction((lambda x_11399#3442216.constraintLabels = ServiceLevel), lambda x_11399#3442216, false)).constraintValues), minServiceLevelMinStock, array_min(filter(constraintStructArray#3442209, lambdafunction((lambda x_11400#3442217.constraintLabels = ServiceLevelMinimumStock), lambda x_11400#3442217, false)).constraintValues), maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#3442209, lambdafunction((lambda x_11401#3442218.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_11401#3442218, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#3442209, lambdafunction((lambda x_11402#3442219.constraintLabels = RangeOfCoverage), lambda x_11402#3442219, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#3440992, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#3441767, lambdafunction((lambda x_11403#3442220.label = NonListingStartTimestamp), lambda x_11403#3442220, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#3442215, CASE WHEN (qty#3440805 <=> quantityAfterProdPlantOptimization#3440804) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#3440805 * (cast(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11404#3442288.isOrderUnit, lambda x_11404#3442288, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11404#3442289.isOrderUnit, lambda x_11404#3442289, false)), 1, None, false).numerator as double))), qty#3440805), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11404#3442290.isOrderUnit, lambda x_11404#3442290, false)), 1, None, false).uom, orderQuantityBaseUom#3440984), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11404#3442291.isOrderUnit, lambda x_11404#3442291, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3440985), candidateOrderQuantityInBaseUnit, qty#3440805, orderQuantityBaseUom, orderQuantityBaseUom#3440984, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3440985, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3440998, lambdafunction((lambda x_11406#3442292.isPreferred AND (((qty#3440805 * cast(lambda x_11406#3442292.denominator as double)) % cast(lambda x_11406#3442292.numerator as double)) = 0.0)), lambda x_11406#3442292, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3440805 * cast(lambda x_11407#3442333.denominator as double)) / cast(lambda x_11407#3442333.numerator as double)), uom, lambda x_11407#3442333.uom, uomUuid, lambda x_11407#3442333.uomUuid), lambda x_11407#3442333, false))).inPreferredQuantity, coalesce((qty#3440805 * (cast(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11405#3442293.isOrderUnit, lambda x_11405#3442293, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11405#3442294.isOrderUnit, lambda x_11405#3442294, false)), 1, None, false).numerator as double))), qty#3440805)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3440998, lambdafunction((lambda x_11406#3442295.isPreferred AND (((qty#3440805 * cast(lambda x_11406#3442295.denominator as double)) % cast(lambda x_11406#3442295.numerator as double)) = 0.0)), lambda x_11406#3442295, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3440805 * cast(lambda x_11407#3442334.denominator as double)) / cast(lambda x_11407#3442334.numerator as double)), uom, lambda x_11407#3442334.uom, uomUuid, lambda x_11407#3442334.uomUuid), lambda x_11407#3442334, false))).uom, coalesce(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11405#3442296.isOrderUnit, lambda x_11405#3442296, false)), 1, None, false).uom, orderQuantityBaseUom#3440984)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3440998, lambdafunction((lambda x_11406#3442297.isPreferred AND (((qty#3440805 * cast(lambda x_11406#3442297.denominator as double)) % cast(lambda x_11406#3442297.numerator as double)) = 0.0)), lambda x_11406#3442297, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3440805 * cast(lambda x_11407#3442335.denominator as double)) / cast(lambda x_11407#3442335.numerator as double)), uom, lambda x_11407#3442335.uom, uomUuid, lambda x_11407#3442335.uomUuid), lambda x_11407#3442335, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11405#3442298.isOrderUnit, lambda x_11405#3442298, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3440985)), serviceLevel, coalesce(filter(element_at(quantityKpis#3441795, qty#3440805, None, false), lambdafunction((lambda x_11412#3442299.label = ServiceLevel), lambda x_11412#3442299, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#3440805 * (cast(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11404#3442303.isOrderUnit, lambda x_11404#3442303, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11404#3442304.isOrderUnit, lambda x_11404#3442304, false)), 1, None, false).numerator as double))), qty#3440805), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11404#3442305.isOrderUnit, lambda x_11404#3442305, false)), 1, None, false).uom, orderQuantityBaseUom#3440984), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11404#3442306.isOrderUnit, lambda x_11404#3442306, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3440985), candidateOrderQuantityInBaseUnit, qty#3440805, orderQuantityBaseUom, orderQuantityBaseUom#3440984, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3440985, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3440998, lambdafunction((lambda x_11406#3442307.isPreferred AND (((qty#3440805 * cast(lambda x_11406#3442307.denominator as double)) % cast(lambda x_11406#3442307.numerator as double)) = 0.0)), lambda x_11406#3442307, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3440805 * cast(lambda x_11407#3442336.denominator as double)) / cast(lambda x_11407#3442336.numerator as double)), uom, lambda x_11407#3442336.uom, uomUuid, lambda x_11407#3442336.uomUuid), lambda x_11407#3442336, false))).inPreferredQuantity, coalesce((qty#3440805 * (cast(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11405#3442308.isOrderUnit, lambda x_11405#3442308, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11405#3442309.isOrderUnit, lambda x_11405#3442309, false)), 1, None, false).numerator as double))), qty#3440805)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3440998, lambdafunction((lambda x_11406#3442310.isPreferred AND (((qty#3440805 * cast(lambda x_11406#3442310.denominator as double)) % cast(lambda x_11406#3442310.numerator as double)) = 0.0)), lambda x_11406#3442310, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3440805 * cast(lambda x_11407#3442337.denominator as double)) / cast(lambda x_11407#3442337.numerator as double)), uom, lambda x_11407#3442337.uom, uomUuid, lambda x_11407#3442337.uomUuid), lambda x_11407#3442337, false))).uom, coalesce(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11405#3442311.isOrderUnit, lambda x_11405#3442311, false)), 1, None, false).uom, orderQuantityBaseUom#3440984)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3440998, lambdafunction((lambda x_11406#3442312.isPreferred AND (((qty#3440805 * cast(lambda x_11406#3442312.denominator as double)) % cast(lambda x_11406#3442312.numerator as double)) = 0.0)), lambda x_11406#3442312, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3440805 * cast(lambda x_11407#3442338.denominator as double)) / cast(lambda x_11407#3442338.numerator as double)), uom, lambda x_11407#3442338.uom, uomUuid, lambda x_11407#3442338.uomUuid), lambda x_11407#3442338, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11405#3442313.isOrderUnit, lambda x_11405#3442313, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3440985)), serviceLevel, coalesce(filter(element_at(quantityKpis#3441795, qty#3440805, None, false), lambdafunction((lambda x_11416#3442314.label = ServiceLevel), lambda x_11416#3442314, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#3440804 * (cast(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11408#3442318.isOrderUnit, lambda x_11408#3442318, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11408#3442319.isOrderUnit, lambda x_11408#3442319, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#3440804), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11408#3442320.isOrderUnit, lambda x_11408#3442320, false)), 1, None, false).uom, orderQuantityBaseUom#3440984), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11408#3442321.isOrderUnit, lambda x_11408#3442321, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3440985), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#3440804, orderQuantityBaseUom, orderQuantityBaseUom#3440984, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3440985, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3440998, lambdafunction((lambda x_11410#3442322.isPreferred AND (((quantityAfterProdPlantOptimization#3440804 * cast(lambda x_11410#3442322.denominator as double)) % cast(lambda x_11410#3442322.numerator as double)) = 0.0)), lambda x_11410#3442322, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3440804 * cast(lambda x_11411#3442339.denominator as double)) / cast(lambda x_11411#3442339.numerator as double)), uom, lambda x_11411#3442339.uom, uomUuid, lambda x_11411#3442339.uomUuid), lambda x_11411#3442339, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#3440804 * (cast(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11409#3442323.isOrderUnit, lambda x_11409#3442323, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11409#3442324.isOrderUnit, lambda x_11409#3442324, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#3440804)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3440998, lambdafunction((lambda x_11410#3442325.isPreferred AND (((quantityAfterProdPlantOptimization#3440804 * cast(lambda x_11410#3442325.denominator as double)) % cast(lambda x_11410#3442325.numerator as double)) = 0.0)), lambda x_11410#3442325, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3440804 * cast(lambda x_11411#3442340.denominator as double)) / cast(lambda x_11411#3442340.numerator as double)), uom, lambda x_11411#3442340.uom, uomUuid, lambda x_11411#3442340.uomUuid), lambda x_11411#3442340, false))).uom, coalesce(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11409#3442326.isOrderUnit, lambda x_11409#3442326, false)), 1, None, false).uom, orderQuantityBaseUom#3440984)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3440998, lambdafunction((lambda x_11410#3442327.isPreferred AND (((quantityAfterProdPlantOptimization#3440804 * cast(lambda x_11410#3442327.denominator as double)) % cast(lambda x_11410#3442327.numerator as double)) = 0.0)), lambda x_11410#3442327, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3440804 * cast(lambda x_11411#3442341.denominator as double)) / cast(lambda x_11411#3442341.numerator as double)), uom, lambda x_11411#3442341.uom, uomUuid, lambda x_11411#3442341.uomUuid), lambda x_11411#3442341, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11409#3442328.isOrderUnit, lambda x_11409#3442328, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3440985)), serviceLevel, coalesce(filter(element_at(quantityKpis#3441795, quantityAfterProdPlantOptimization#3440804, None, false), lambdafunction((lambda x_11420#3442329.label = ServiceLevel), lambda x_11420#3442329, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#3442287, coalesce(filter(prodLocSpecificKpis#3441767, lambdafunction((lambda x_11424#3442343.label = InitialStockQty), lambda x_11424#3442343, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#3442342, coalesce(filter(prodLocSpecificKpis#3441767, lambdafunction((lambda x_11425#3442345.label = DemandPeriodEndTimestamp), lambda x_11425#3442345, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#3442344]
Input [36]: [shardId#3440291, quantityAfterProdPlantOptimization#3440804, qty#3440805, orderProposalId#3440961L, originalReplenishmentRunId#3440964L, supplierGroup#3440971, supplier#3440972, supplyingPlant#3441002, productGroup#3441003, product#3440974, plant#3440975, subrange#3440973, orderDateTime#3440979, deliveryDateTime#3440980, availabilityDateTime#3440981, nextAvailabilityDateTime#3440982, logisticUnits#3440998, orderQuantityBaseUom#3440984, orderQuantityBaseUomUuid#3440985, splitIndicator#3440966L, netPriceAmount#3440989, netPriceCurrencyCode#3440990, netPriceQuantity#3440986, netPriceQuantityUom#3440987, netPriceQuantityUomUuid#3440988, sourceOfSupplyUuid#3440970, minimumOrderQuantity#3440992, orderProposalItemId#3440962, orderProposalItemGroupId#3440963, optimizationGroups#3440999, measurements#3440991, previousOrderProposal#3440967L, prodLocSpecificKpis#3441767, channelStreamSpecificKpis#3441782, quantityKpis#3441795, constraintStructArray#3442209]
(60) Project
Output [21]: [shardId#3440291, qty#3440805, orderProposalId#3440961L, originalReplenishmentRunId#3440964L, supplierGroup#3440971, supplier#3440972, supplyingPlant#3441002, productGroup#3441003, product#3440974, plant#3440975, subrange#3440973, orderDateTime#3440979, deliveryDateTime#3440980, logisticUnits#3440998, orderQuantityBaseUom#3440984, orderQuantityBaseUomUuid#3440985, splitIndicator#3440966L, orderProposalItemId#3440962, orderProposalItemGroupId#3440963, previousOrderProposal#3440967L, struct(itemId, orderProposalItemId#3440962, itemGroupId, orderProposalItemGroupId#3440963, supplier, supplier#3440972, supplyingPlant, supplyingPlant#3441002, productGroup, productGroup#3441003, product, product#3440974, plant, plant#3440975, supplierSubRange, subrange#3440973, sourceOfSupplyUuid, sourceOfSupplyUuid#3440970, deliveryDateTime, deliveryDateTime#3440980, unitPrice, netPriceAmount#3440989, unitPriceCurrency, netPriceCurrencyCode#3440990, unitPriceQuantity, ... 37 more fields) AS parentItem#3442418]
Input [37]: [shardId#3440291, qty#3440805, orderProposalId#3440961L, originalReplenishmentRunId#3440964L, supplierGroup#3440971, supplier#3440972, supplyingPlant#3441002, productGroup#3441003, product#3440974, plant#3440975, subrange#3440973, orderDateTime#3440979, deliveryDateTime#3440980, availabilityDateTime#3440981, nextAvailabilityDateTime#3440982, logisticUnits#3440998, orderQuantityBaseUom#3440984, orderQuantityBaseUomUuid#3440985, splitIndicator#3440966L, netPriceAmount#3440989, netPriceCurrencyCode#3440990, netPriceQuantity#3440986, netPriceQuantityUom#3440987, netPriceQuantityUomUuid#3440988, sourceOfSupplyUuid#3440970, orderProposalItemId#3440962, orderProposalItemGroupId#3440963, optimizationGroups#3440999, measurements#3440991, previousOrderProposal#3440967L, prodLocSpecificKpis#3441767, channelStreamSpecificKpis#3441782, quantityKpis#3441795, constraintBenchmark#3442215, calculationAnalysis#3442287, inventoryDateTime#3442342, demandPeriodEndDateTime#3442344]
(61) Project
Output [12]: [shardId#3440291, orderProposalId#3440961L, originalReplenishmentRunId#3440964L, supplierGroup#3440971, supplier#3440972, supplyingPlant#3441002, orderDateTime#3440979, splitIndicator#3440966L, orderProposalItemGroupId#3440963, previousOrderProposal#3440967L, parentItem#3442418, struct(itemId, orderProposalItemId#3440962, supplier, supplier#3440972, supplyingPlant, supplyingPlant#3441002, productGroup, productGroup#3441003, product, product#3440974, plant, plant#3440975, supplierSubRange, subrange#3440973, deliveryDateTime, deliveryDateTime#3440980, orderQuantity, coalesce((qty#3440805 * (cast(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11449#3442452.isOrderUnit, lambda x_11449#3442452, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11449#3442453.isOrderUnit, lambda x_11449#3442453, false)), 1, None, false).numerator as double))), qty#3440805), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11449#3442454.isOrderUnit, lambda x_11449#3442454, false)), 1, None, false).uom, orderQuantityBaseUom#3440984), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3440998, lambdafunction(lambda x_11449#3442455.isOrderUnit, lambda x_11449#3442455, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3440985), orderQuantityInBaseUnit, qty#3440805, orderQuantityBaseUom, ... 13 more fields) AS item#3442449]
Input [21]: [shardId#3440291, qty#3440805, orderProposalId#3440961L, originalReplenishmentRunId#3440964L, supplierGroup#3440971, supplier#3440972, supplyingPlant#3441002, productGroup#3441003, product#3440974, plant#3440975, subrange#3440973, orderDateTime#3440979, deliveryDateTime#3440980, logisticUnits#3440998, orderQuantityBaseUom#3440984, orderQuantityBaseUomUuid#3440985, splitIndicator#3440966L, orderProposalItemId#3440962, orderProposalItemGroupId#3440963, previousOrderProposal#3440967L, parentItem#3442418]
(62) ObjectHashAggregate
Input [12]: [shardId#3440291, orderProposalId#3440961L, originalReplenishmentRunId#3440964L, supplierGroup#3440971, supplier#3440972, supplyingPlant#3441002, orderDateTime#3440979, splitIndicator#3440966L, orderProposalItemGroupId#3440963, previousOrderProposal#3440967L, parentItem#3442418, item#3442449]
Keys [4]: [shardId#3440291, orderProposalId#3440961L, splitIndicator#3440966L, orderProposalItemGroupId#3440963]
Functions [8]: [partial_max(originalReplenishmentRunId#3440964L), partial_max(supplierGroup#3440971), partial_max(supplier#3440972), partial_max(supplyingPlant#3441002), partial_max(orderDateTime#3440979), partial_collect_list(parentItem#3442418, 0, 0), partial_collect_set(previousOrderProposal#3440967L, 0, 0), partial_collect_list(item#3442449, 0, 0)]
Aggregate Attributes [8]: [max#3443702L, max#3443703, max#3443704, max#3443705, max#3443706, buf#3443707, buf#3443708, buf#3443709]
Results [12]: [shardId#3440291, orderProposalId#3440961L, splitIndicator#3440966L, orderProposalItemGroupId#3440963, max#3443710L, max#3443711, max#3443712, max#3443713, max#3443714, buf#3443715, buf#3443716, buf#3443717]
(63) Exchange
Input [12]: [shardId#3440291, orderProposalId#3440961L, splitIndicator#3440966L, orderProposalItemGroupId#3440963, max#3443710L, max#3443711, max#3443712, max#3443713, max#3443714, buf#3443715, buf#3443716, buf#3443717]
Arguments: hashpartitioning(shardId#3440291, orderProposalId#3440961L, splitIndicator#3440966L, orderProposalItemGroupId#3440963, 30), ENSURE_REQUIREMENTS, [plan_id=990136]
(64) ObjectHashAggregate
Input [12]: [shardId#3440291, orderProposalId#3440961L, splitIndicator#3440966L, orderProposalItemGroupId#3440963, max#3443710L, max#3443711, max#3443712, max#3443713, max#3443714, buf#3443715, buf#3443716, buf#3443717]
Keys [4]: [shardId#3440291, orderProposalId#3440961L, splitIndicator#3440966L, orderProposalItemGroupId#3440963]
Functions [8]: [max(originalReplenishmentRunId#3440964L), max(supplierGroup#3440971), max(supplier#3440972), max(supplyingPlant#3441002), max(orderDateTime#3440979), collect_list(parentItem#3442418, 0, 0), collect_set(previousOrderProposal#3440967L, 0, 0), collect_list(item#3442449, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#3440964L)#3442518L, max(supplierGroup#3440971)#3442519, max(supplier#3440972)#3442520, max(supplyingPlant#3441002)#3442521, max(orderDateTime#3440979)#3442522, collect_list(parentItem#3442418, 0, 0)#3442523, collect_set(previousOrderProposal#3440967L, 0, 0)#3442525, collect_list(item#3442449, 0, 0)#3442524]
Results [10]: [shardId#3440291, orderProposalId#3440961L, max(originalReplenishmentRunId#3440964L)#3442518L AS originalReplenishmentRunId#3442466L, max(supplierGroup#3440971)#3442519 AS supplierGroup#3442467, max(supplier#3440972)#3442520 AS supplier#3442468, max(supplyingPlant#3441002)#3442521 AS supplyingPlant#3442469, max(orderDateTime#3440979)#3442522 AS orderDateTime#3442470, collect_list(parentItem#3442418, 0, 0)#3442523 AS parentItems#3442471, collect_set(previousOrderProposal#3440967L, 0, 0)#3442525 AS previousOrderProposals#3442473, struct(itemGroupId, orderProposalItemGroupId#3440963, items, collect_list(item#3442449, 0, 0)#3442524) AS itemGroup#3442527]
(65) ObjectHashAggregate
Input [10]: [shardId#3440291, orderProposalId#3440961L, originalReplenishmentRunId#3442466L, supplierGroup#3442467, supplier#3442468, supplyingPlant#3442469, orderDateTime#3442470, parentItems#3442471, previousOrderProposals#3442473, itemGroup#3442527]
Keys [2]: [shardId#3440291, orderProposalId#3440961L]
Functions [8]: [partial_max(originalReplenishmentRunId#3442466L), partial_max(supplierGroup#3442467), partial_max(supplier#3442468), partial_max(supplyingPlant#3442469), partial_max(orderDateTime#3442470), partial_collect_list(itemGroup#3442527, 0, 0), partial_collect_list(parentItems#3442471, 0, 0), partial_collect_set(previousOrderProposals#3442473, 0, 0)]
Aggregate Attributes [8]: [max#3443686L, max#3443687, max#3443688, max#3443689, max#3443690, buf#3443691, buf#3443692, buf#3443693]
Results [10]: [shardId#3440291, orderProposalId#3440961L, max#3443694L, max#3443695, max#3443696, max#3443697, max#3443698, buf#3443699, buf#3443700, buf#3443701]
(66) Exchange
Input [10]: [shardId#3440291, orderProposalId#3440961L, max#3443694L, max#3443695, max#3443696, max#3443697, max#3443698, buf#3443699, buf#3443700, buf#3443701]
Arguments: hashpartitioning(shardId#3440291, orderProposalId#3440961L, 30), ENSURE_REQUIREMENTS, [plan_id=990139]
(67) ObjectHashAggregate
Input [10]: [shardId#3440291, orderProposalId#3440961L, max#3443694L, max#3443695, max#3443696, max#3443697, max#3443698, buf#3443699, buf#3443700, buf#3443701]
Keys [2]: [shardId#3440291, orderProposalId#3440961L]
Functions [8]: [max(originalReplenishmentRunId#3442466L), max(supplierGroup#3442467), max(supplier#3442468), max(supplyingPlant#3442469), max(orderDateTime#3442470), collect_list(itemGroup#3442527, 0, 0), collect_list(parentItems#3442471, 0, 0), collect_set(previousOrderProposals#3442473, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#3442466L)#3442549L, max(supplierGroup#3442467)#3442550, max(supplier#3442468)#3442551, max(supplyingPlant#3442469)#3442552, max(orderDateTime#3442470)#3442553, collect_list(itemGroup#3442527, 0, 0)#3442554, collect_list(parentItems#3442471, 0, 0)#3442555, collect_set(previousOrderProposals#3442473, 0, 0)#3442556]
Results [10]: [shardId#3440291, orderProposalId#3440961L, max(originalReplenishmentRunId#3442466L)#3442549L AS originalReplenishmentRunId#3442528L, max(supplierGroup#3442467)#3442550 AS supplierGroup#3442529, max(supplier#3442468)#3442551 AS supplier#3442530, max(supplyingPlant#3442469)#3442552 AS supplyingPlant#3442531, max(orderDateTime#3442470)#3442553 AS orderDateTime#3442532, collect_list(itemGroup#3442527, 0, 0)#3442554 AS itemGroups#3442533, flatten(collect_list(parentItems#3442471, 0, 0)#3442555) AS parentItems#3442534, flatten(collect_set(previousOrderProposals#3442473, 0, 0)#3442556) AS previousOrderProposals#3442535]
(68) Project
Output [2]: [shardId#3440291, struct(orderProposalId, orderProposalId#3440961L, originalReplenishmentRunId, originalReplenishmentRunId#3442528L, supplierGroup, supplierGroup#3442529, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#3442529) THEN supplier#3442530 END, supplyingPlant, supplyingPlant#3442531, orderDateTime, orderDateTime#3442532, itemGroups, itemGroups#3442533, previousOrderProposals, array_distinct(previousOrderProposals#3442535), parentItems, parentItems#3442534) AS orderProposal#3442560]
Input [10]: [shardId#3440291, orderProposalId#3440961L, originalReplenishmentRunId#3442528L, supplierGroup#3442529, supplier#3442530, supplyingPlant#3442531, orderDateTime#3442532, itemGroups#3442533, parentItems#3442534, previousOrderProposals#3442535]
(69) Project
Output [11]: [shardId#3440291, orderProposal#3442560.orderProposalId AS _extract_orderProposalId#3443318L, orderProposal#3442560.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#3443319L, orderProposal#3442560.supplierGroup AS _extract_supplierGroup#3443320, orderProposal#3442560.supplier AS _extract_supplier#3443321, orderProposal#3442560.supplyingPlant AS _extract_supplyingPlant#3443322, orderProposal#3442560.orderDateTime AS _extract_orderDateTime#3443323, orderProposal#3442560.itemGroups AS _extract_itemGroups#3443324, orderProposal#3442560.previousOrderProposals AS _extract_previousOrderProposals#3443325, orderProposal#3442560.parentItems AS _extract_parentItems#3443326, orderProposal#3442560.orderProposalId AS _extract_orderProposalId#3443327L]
Input [2]: [shardId#3440291, orderProposal#3442560]
(70) Exchange
Input [11]: [shardId#3440291, _extract_orderProposalId#3443318L, _extract_originalReplenishmentRunId#3443319L, _extract_supplierGroup#3443320, _extract_supplier#3443321, _extract_supplyingPlant#3443322, _extract_orderDateTime#3443323, _extract_itemGroups#3443324, _extract_previousOrderProposals#3443325, _extract_parentItems#3443326, _extract_orderProposalId#3443327L]
Arguments: hashpartitioning(coalesce(shardId#3440291, ), isnull(shardId#3440291), coalesce(_extract_orderProposalId#3443327L, 0), isnull(_extract_orderProposalId#3443327L), 30), ENSURE_REQUIREMENTS, [plan_id=990143]
(71) Sort
Input [11]: [shardId#3440291, _extract_orderProposalId#3443318L, _extract_originalReplenishmentRunId#3443319L, _extract_supplierGroup#3443320, _extract_supplier#3443321, _extract_supplyingPlant#3443322, _extract_orderDateTime#3443323, _extract_itemGroups#3443324, _extract_previousOrderProposals#3443325, _extract_parentItems#3443326, _extract_orderProposalId#3443327L]
Arguments: [coalesce(shardId#3440291, ) ASC NULLS FIRST, isnull(shardId#3440291) ASC NULLS FIRST, coalesce(_extract_orderProposalId#3443327L, 0) ASC NULLS FIRST, isnull(_extract_orderProposalId#3443327L) ASC NULLS FIRST], false, 0
(72) InMemoryTableScan
Output [3]: [shardId#3442575, orderProposalId#3442576L, optimizationGroups#3442578]
Arguments: [shardId#3442575, orderProposalId#3442576L, optimizationGroups#3442578], [isnotnull(orderProposalId#3442576L)]
(73) InMemoryRelation
Arguments: [shardId#3442575, orderProposalId#3442576L, items#3442577, optimizationGroups#3442578, isOptimal#3442579, optimizationInsights#3442581], StorageLevel(disk, memory, 2 replicas)
(74) Filter [codegen id : 2]
Input [3]: [shardId#3442575, orderProposalId#3442576L, optimizationGroups#3442578]
Condition : isnotnull(orderProposalId#3442576L)
(75) Exchange
Input [3]: [shardId#3442575, orderProposalId#3442576L, optimizationGroups#3442578]
Arguments: hashpartitioning(orderProposalId#3442576L, 30), ENSURE_REQUIREMENTS, [plan_id=990148]
(76) Sort [codegen id : 3]
Input [3]: [shardId#3442575, orderProposalId#3442576L, optimizationGroups#3442578]
Arguments: [orderProposalId#3442576L ASC NULLS FIRST], false, 0
(77) InMemoryTableScan
Output [2]: [items#3442204, shardId#3442202]
Arguments: [items#3442204, shardId#3442202], [(size(items#3442204.worklistShardItemId, true) > 0), isnotnull(items#3442204.worklistShardItemId), (shardId#3442202 = 0_5_10000000532)]
(78) InMemoryRelation
Arguments: [shardId#3442202, orderProposalId#3442203L, items#3442204, optimizationGroups#3442205, isOptimal#3442206, optimizationInsights#3442208], StorageLevel(disk, memory, 2 replicas)
(79) Filter [codegen id : 4]
Input [2]: [items#3442204, shardId#3442202]
Condition : (((size(items#3442204.worklistShardItemId, true) > 0) AND isnotnull(items#3442204.worklistShardItemId)) AND (shardId#3442202 = 0_5_10000000532))
(80) Project [codegen id : 4]
Output [1]: [items#3442204.worklistShardItemId AS _extract_worklistShardItemId#3443223]
Input [2]: [items#3442204, shardId#3442202]
(81) Generate [codegen id : 4]
Input [1]: [_extract_worklistShardItemId#3443223]
Arguments: explode(_extract_worklistShardItemId#3443223), false, [item#3442582L]
(82) Project [codegen id : 4]
Output [1]: [item#3442582L AS worklistShardItemId#3442583L]
Input [1]: [item#3442582L]
(83) BroadcastExchange
Input [1]: [worklistShardItemId#3442583L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=990159]
(84) Scan parquet
Output [5]: [orderProposalId#3442631L, isFallbackOrderOnly#3442648, worklistShardItemId#3442654L, shardId#3442675, sequenceId#3442653]
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#3442675), isnotnull(sequenceId#3442653), (shardId#3442675 = 0_5_10000000532), (sequenceId#3442653 = 3)]
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#3442631L, isFallbackOrderOnly#3442648, worklistShardItemId#3442654L, shardId#3442675, sequenceId#3442653]
(86) Filter [codegen id : 5]
Input [5]: [orderProposalId#3442631L, isFallbackOrderOnly#3442648, worklistShardItemId#3442654L, shardId#3442675, sequenceId#3442653]
Condition : ((isnotnull(worklistShardItemId#3442654L) AND NOT (isFallbackOrderOnly#3442648 <=> true)) AND isnotnull(orderProposalId#3442631L))
(87) Project [codegen id : 5]
Output [2]: [orderProposalId#3442631L, worklistShardItemId#3442654L]
Input [5]: [orderProposalId#3442631L, isFallbackOrderOnly#3442648, worklistShardItemId#3442654L, shardId#3442675, sequenceId#3442653]
(88) Exchange
Input [2]: [orderProposalId#3442631L, worklistShardItemId#3442654L]
Arguments: hashpartitioning(worklistShardItemId#3442654L, 30), REPARTITION_BY_NUM, [plan_id=990166]
(89) Project
Output [2]: [worklistShardItemId#3442654L, orderProposalId#3442631L]
Input [2]: [orderProposalId#3442631L, worklistShardItemId#3442654L]
(90) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [worklistShardItemId#3442583L]
Right keys [1]: [worklistShardItemId#3442654L]
Join type: Inner
Join condition: None
(91) Project [codegen id : 6]
Output [1]: [orderProposalId#3442631L]
Input [3]: [worklistShardItemId#3442583L, worklistShardItemId#3442654L, orderProposalId#3442631L]
(92) HashAggregate [codegen id : 6]
Input [1]: [orderProposalId#3442631L]
Keys [1]: [orderProposalId#3442631L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#3442631L]
(93) Exchange
Input [1]: [orderProposalId#3442631L]
Arguments: hashpartitioning(orderProposalId#3442631L, 30), ENSURE_REQUIREMENTS, [plan_id=990173]
(94) HashAggregate [codegen id : 7]
Input [1]: [orderProposalId#3442631L]
Keys [1]: [orderProposalId#3442631L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#3442631L]
(95) Sort [codegen id : 7]
Input [1]: [orderProposalId#3442631L]
Arguments: [orderProposalId#3442631L ASC NULLS FIRST], false, 0
(96) SortMergeJoin [codegen id : 8]
Left keys [1]: [orderProposalId#3442576L]
Right keys [1]: [orderProposalId#3442631L]
Join type: Inner
Join condition: None
(97) Project
Output [3]: [orderProposalId#3442576L, shardId#3442575, coalesce(transform(optimizationGroups#3442578, lambdafunction(struct(optGroupId, lambda x_11453#3442573.optGroupId, minOrderProfile, lambda x_11453#3442573.minOrderProfile, assignmentDetails, lambda x_11453#3442573.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_11453#3442573.minOrderGoal.dimensionType, unit, lambda x_11453#3442573.minOrderGoal.unit, unitUuid, lambda x_11453#3442573.minOrderGoal.unitUuid, goalValue, lambda x_11453#3442573.minOrderGoal.minOrderValue, calcValue, lambda x_11453#3442573.minOrderGoal.calculatedOrderValue), transportLoadProfile, null, transportLoadGoal, null), lambda x_11453#3442573, false)), []) AS optimizationGroups#3442572]
Input [4]: [shardId#3442575, orderProposalId#3442576L, optimizationGroups#3442578, orderProposalId#3442631L]
(98) Exchange
Input [3]: [orderProposalId#3442576L, shardId#3442575, optimizationGroups#3442572]
Arguments: hashpartitioning(coalesce(shardId#3442575, ), isnull(shardId#3442575), coalesce(orderProposalId#3442576L, 0), isnull(orderProposalId#3442576L), 30), ENSURE_REQUIREMENTS, [plan_id=990182]
(99) Sort [codegen id : 9]
Input [3]: [orderProposalId#3442576L, shardId#3442575, optimizationGroups#3442572]
Arguments: [coalesce(shardId#3442575, ) ASC NULLS FIRST, isnull(shardId#3442575) ASC NULLS FIRST, coalesce(orderProposalId#3442576L, 0) ASC NULLS FIRST, isnull(orderProposalId#3442576L) ASC NULLS FIRST], false, 0
(100) SortMergeJoin
Left keys [4]: [coalesce(shardId#3440291, ), isnull(shardId#3440291), coalesce(_extract_orderProposalId#3443327L, 0), isnull(_extract_orderProposalId#3443327L)]
Right keys [4]: [coalesce(shardId#3442575, ), isnull(shardId#3442575), coalesce(orderProposalId#3442576L, 0), isnull(orderProposalId#3442576L)]
Join type: LeftOuter
Join condition: None
(101) Project
Output [2]: [shardId#3440291, named_struct(orderProposalId, _extract_orderProposalId#3443327L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#3443319L, supplierGroup, _extract_supplierGroup#3443320, optimizationGroups, coalesce(optimizationGroups#3442572, []), supplier, _extract_supplier#3443321, supplyingPlant, _extract_supplyingPlant#3443322, orderDateTime, _extract_orderDateTime#3443323, itemGroups, _extract_itemGroups#3443324, previousOrderProposals, _extract_previousOrderProposals#3443325, parentItems, _extract_parentItems#3443326) AS orderProposal#3442679]
Input [14]: [shardId#3440291, _extract_orderProposalId#3443318L, _extract_originalReplenishmentRunId#3443319L, _extract_supplierGroup#3443320, _extract_supplier#3443321, _extract_supplyingPlant#3443322, _extract_orderDateTime#3443323, _extract_itemGroups#3443324, _extract_previousOrderProposals#3443325, _extract_parentItems#3443326, _extract_orderProposalId#3443327L, orderProposalId#3442576L, shardId#3442575, optimizationGroups#3442572]
(102) Project
Output [3]: [shardId#3440291, orderProposal#3442679, CASE WHEN (size(orderProposal#3442679.parentItems, true) > 2000) THEN xxhash64(orderProposal#3442679.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#3442679.orderProposalId as decimal(20,0)), 60), 42) END AS resultSeparationId#3444431L]
Input [2]: [orderProposal#3442679, shardId#3440291]
(103) ObjectHashAggregate
Input [3]: [shardId#3440291, orderProposal#3442679, resultSeparationId#3444431L]
Keys [2]: [shardId#3440291, resultSeparationId#3444431L]
Functions [1]: [partial_collect_list(orderProposal#3442679, 0, 0)]
Aggregate Attributes [1]: [buf#3444470]
Results [3]: [shardId#3440291, resultSeparationId#3444431L, buf#3444471]
(104) Exchange
Input [3]: [shardId#3440291, resultSeparationId#3444431L, buf#3444471]
Arguments: hashpartitioning(shardId#3440291, resultSeparationId#3444431L, 30), ENSURE_REQUIREMENTS, [plan_id=990338]
(105) ObjectHashAggregate
Input [3]: [shardId#3440291, resultSeparationId#3444431L, buf#3444471]
Keys [2]: [shardId#3440291, resultSeparationId#3444431L]
Functions [1]: [collect_list(orderProposal#3442679, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#3442679, 0, 0)#3444439]
Results [3]: [shardId#3440291, resultSeparationId#3444431L, collect_list(orderProposal#3442679, 0, 0)#3444439 AS orderProposals#3444435]
(106) Exchange
Input [3]: [shardId#3440291, resultSeparationId#3444431L, orderProposals#3444435]
Arguments: rangepartitioning(shardId#3440291 ASC NULLS FIRST, resultSeparationId#3444431L ASC NULLS FIRST, 60), REPARTITION_BY_NUM, [plan_id=990381]
(107) Project
Output [2]: [shardId#3440291, orderProposals#3444435]
Input [3]: [shardId#3440291, resultSeparationId#3444431L, orderProposals#3444435]
(108) HashAggregate [codegen id : 1]
Input [1]: [shardId#3440291]
Keys [1]: [shardId#3440291]
Functions: []
Aggregate Attributes: []
Results [1]: [shardId#3440291]
(109) Exchange
Input [1]: [shardId#3440291]
Arguments: hashpartitioning(shardId#3440291, 30), ENSURE_REQUIREMENTS, [plan_id=991846]
(110) HashAggregate [codegen id : 2]
Input [1]: [shardId#3440291]
Keys [1]: [shardId#3440291]
Functions: []
Aggregate Attributes: []
Results [1]: [shardId#3440291]