== Physical Plan ==
* HashAggregate (102)
+- * HashAggregate (101)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- Project (100)
+- Exchange (99)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- ObjectHashAggregate (98)
+- Exchange (97)
+- ObjectHashAggregate (96)
+- Project (95)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- Project (94)
+- BroadcastHashJoin LeftOuter BuildRight (93)
:- Project (67)
: +- Project (66)
: +- ObjectHashAggregate (65)
: +- Exchange (64)
: +- ObjectHashAggregate (63)
: +- ObjectHashAggregate (62)
: +- Exchange (61)
: +- ObjectHashAggregate (60)
: +- Project (59)
: +- Project (58)
: +- Project (57)
: +- * Project (56)
: +- * Filter (55)
: +- InMemoryTableScan (7)
: +- InMemoryRelation (8)
: +- * Project (54)
: +- * SortMergeJoin LeftOuter (53)
: :- * Project (45)
: : +- * SortMergeJoin LeftOuter (44)
: : :- * Project (36)
: : : +- * SortMergeJoin LeftOuter (35)
: : : :- * Sort (29)
: : : : +- Exchange (28)
: : : : +- * Project (27)
: : : : +- * BroadcastHashJoin LeftOuter BuildRight (26)
: : : : :- * Project (18)
: : : : : +- * Generate (17)
: : : : : +- * Filter (16)
: : : : : +- InMemoryTableScan (9)
: : : : : +- InMemoryRelation (10)
: : : : : +- * Filter (15)
: : : : : +- InMemoryTableScan (11)
: : : : : +- InMemoryRelation (12)
: : : : : +- * Filter (14)
: : : : : +- * Scan ExistingRDD (13)
: : : : +- BroadcastExchange (25)
: : : : +- * Project (24)
: : : : +- Exchange (23)
: : : : +- * Project (22)
: : : : +- * Filter (21)
: : : : +- * ColumnarToRow (20)
: : : : +- Scan parquet (19)
: : : +- * Sort (34)
: : : +- Exchange (33)
: : : +- * Project (32)
: : : +- * Filter (31)
: : : +- * Scan ExistingRDD (30)
: : +- * Sort (43)
: : +- ObjectHashAggregate (42)
: : +- Exchange (41)
: : +- ObjectHashAggregate (40)
: : +- * Project (39)
: : +- * Filter (38)
: : +- * Scan ExistingRDD (37)
: +- * Sort (52)
: +- ObjectHashAggregate (51)
: +- Exchange (50)
: +- ObjectHashAggregate (49)
: +- * Project (48)
: +- * Filter (47)
: +- * Scan ExistingRDD (46)
+- BroadcastExchange (92)
+- Project (91)
+- * BroadcastHashJoin Inner BuildLeft (90)
:- BroadcastExchange (71)
: +- * Filter (70)
: +- InMemoryTableScan (68)
: +- InMemoryRelation (69)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * HashAggregate (89)
+- Exchange (88)
+- * HashAggregate (87)
+- * Project (86)
+- * BroadcastHashJoin Inner BuildLeft (85)
:- BroadcastExchange (78)
: +- * Project (77)
: +- * Generate (76)
: +- * Project (75)
: +- * Filter (74)
: +- InMemoryTableScan (72)
: +- InMemoryRelation (73)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * Project (84)
+- Exchange (83)
+- * Project (82)
+- * Filter (81)
+- * ColumnarToRow (80)
+- Scan parquet (79)
(1) InMemoryTableScan
Output [1]: [shardId#935024]
Arguments: [shardId#935024]
(2) InMemoryRelation
Arguments: [shardId#935024, orderProposals#939102], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [3]: [shardId#935024, resultSeparationId#939098L, orderProposals#939102]
Arguments: [shardId#935024, resultSeparationId#939098L, orderProposals#939102]
(4) InMemoryRelation
Arguments: [shardId#935024, resultSeparationId#939098L, orderProposals#939102], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [2]: [orderProposal#937362, shardId#935024]
Arguments: [orderProposal#937362, shardId#935024]
(6) InMemoryRelation
Arguments: [shardId#935024, orderProposal#937362], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [39]: [availabilityDateTime#935714, channelStreamSpecificKpis#936455, constraintLabels#935726, constraintOperators#935727, constraintValues#935729, deliveryDateTime#935713, isFallbackOrderOnly#935716, logisticUnits#935731, measurements#935724, minimumOrderQuantity#935725, netPriceAmount#935722, netPriceCurrencyCode#935723, netPriceQuantity#935719, netPriceQuantityUom#935720, netPriceQuantityUomUuid#935721, nextAvailabilityDateTime#935715, optimizationGroups#935732, orderDateTime#935712, orderProposalId#935694L, orderProposalItemGroupId#935696, orderProposalItemId#935695, orderQuantityBaseUom#935717, orderQuantityBaseUomUuid#935718, originalReplenishmentRunId#935697L, plant#935708, previousOrderProposal#935700L, prodLocSpecificKpis#936440, product#935707, productGroup#935736, qty#935538, quantityAfterProdPlantOptimization#935537, quantityKpis#936468, shardId#935024, sourceOfSupplyUuid#935703, splitIndicator#935699L, subrange#935706, supplier#935705, supplierGroup#935704, supplyingPlant#935735]
Arguments: [availabilityDateTime#935714, channelStreamSpecificKpis#936455, constraintLabels#935726, constraintOperators#935727, constraintValues#935729, deliveryDateTime#935713, isFallbackOrderOnly#935716, logisticUnits#935731, measurements#935724, minimumOrderQuantity#935725, netPriceAmount#935722, netPriceCurrencyCode#935723, netPriceQuantity#935719, netPriceQuantityUom#935720, netPriceQuantityUomUuid#935721, nextAvailabilityDateTime#935715, optimizationGroups#935732, orderDateTime#935712, orderProposalId#935694L, orderProposalItemGroupId#935696, orderProposalItemId#935695, orderQuantityBaseUom#935717, orderQuantityBaseUomUuid#935718, originalReplenishmentRunId#935697L, plant#935708, ... 14 more fields], [NOT (isFallbackOrderOnly#935716 <=> true)]
(8) InMemoryRelation
Arguments: [shardId#935024, worklistShardItemId#935536L, quantityAfterProdPlantOptimization#935537, qty#935538, orderProposalId#935694L, originalReplenishmentRunId#935697L, supplierGroup#935704, supplier#935705, supplyingPlant#935735, productGroup#935736, product#935707, plant#935708, subrange#935706, orderDateTime#935712, deliveryDateTime#935713, availabilityDateTime#935714, nextAvailabilityDateTime#935715, constraintValues#935729, constraintOperators#935727, constraintLabels#935726, logisticUnits#935731, orderQuantityBaseUom#935717, orderQuantityBaseUomUuid#935718, splitIndicator#935699L, netPriceAmount#935722, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [2]: [shardId#935024, items#935026]
Arguments: [shardId#935024, items#935026], [(size(items#935026, true) > 0), isnotnull(items#935026)]
(10) InMemoryRelation
Arguments: [shardId#935024, orderProposalId#935025L, items#935026, optimizationGroups#935027, isOptimal#935028, optimizationInsights#935030], StorageLevel(disk, memory, 2 replicas)
(11) InMemoryTableScan
Output [6]: [shardId#935024, orderProposalId#935025L, items#935026, optimizationGroups#935027, isOptimal#935028, optimizationInsights#935030]
Arguments: [shardId#935024, orderProposalId#935025L, items#935026, optimizationGroups#935027, isOptimal#935028, optimizationInsights#935030], [isnotnull(shardId#935024), (shardId#935024 = 0_1_10000002110)]
(12) InMemoryRelation
Arguments: [shardId#935024, orderProposalId#935025L, items#935026, optimizationGroups#935027, isOptimal#935028, lastModified#935029, optimizationInsights#935030], StorageLevel(disk, memory, 2 replicas)
(13) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#935024, orderProposalId#935025L, items#935026, optimizationGroups#935027, isOptimal#935028, lastModified#935029, optimizationInsights#935030]
Arguments: [shardId#935024, orderProposalId#935025L, items#935026, optimizationGroups#935027, isOptimal#935028, lastModified#935029, optimizationInsights#935030], MapPartitionsRDD[43911] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(14) Filter [codegen id : 1]
Input [7]: [shardId#935024, orderProposalId#935025L, items#935026, optimizationGroups#935027, isOptimal#935028, lastModified#935029, optimizationInsights#935030]
Condition : (isnotnull(shardId#935024) AND (shardId#935024 = 0_1_10000002110))
(15) Filter [codegen id : 1]
Input [6]: [shardId#935024, orderProposalId#935025L, items#935026, optimizationGroups#935027, isOptimal#935028, optimizationInsights#935030]
Condition : (isnotnull(shardId#935024) AND (shardId#935024 = 0_1_10000002110))
(16) Filter [codegen id : 3]
Input [2]: [shardId#935024, items#935026]
Condition : ((size(items#935026, true) > 0) AND isnotnull(items#935026))
(17) Generate [codegen id : 3]
Input [2]: [shardId#935024, items#935026]
Arguments: explode(items#935026), [shardId#935024], false, [item#935535]
(18) Project [codegen id : 3]
Output [4]: [shardId#935024, item#935535.worklistShardItemId AS worklistShardItemId#935536L, item#935535.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#935537, item#935535.qty AS qty#935538]
Input [2]: [shardId#935024, item#935535]
(19) Scan parquet
Output [38]: [orderProposalId#935737L, orderProposalItemId#935738, supplierGroup#935739, supplier#935740, plant#935741, deliveryDateTime#935742, subrange#935743, supplyingPlant#935744, productGroup#935745, product#935746, orderDateTime#935747, availabilityDateTime#935748, nextAvailabilityDateTime#935749, sourceOfSupplyUuid#935751, isFallbackOrderOnly#935754, splitIndicator#935756L, previousOrderProposal#935757L, worklistShardItemId#935760L, orderProposalItemGroupId#935761, externalProductId#935762, externalPlantId#935763, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, minimumOrderQuantity#935767, constraintLabels#935768, constraintOperators#935769, constraintValues#935770, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, measurements#935778, originalReplenishmentRunId#935779L, optimizationGroups#935780, shardId#935781, sequenceId#935759]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000002110]
PartitionFilters: [isnotnull(shardId#935781), isnotnull(sequenceId#935759), (shardId#935781 = 0_1_10000002110), (sequenceId#935759 = 0)]
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>>
(20) ColumnarToRow [codegen id : 1]
Input [38]: [orderProposalId#935737L, orderProposalItemId#935738, supplierGroup#935739, supplier#935740, plant#935741, deliveryDateTime#935742, subrange#935743, supplyingPlant#935744, productGroup#935745, product#935746, orderDateTime#935747, availabilityDateTime#935748, nextAvailabilityDateTime#935749, sourceOfSupplyUuid#935751, isFallbackOrderOnly#935754, splitIndicator#935756L, previousOrderProposal#935757L, worklistShardItemId#935760L, orderProposalItemGroupId#935761, externalProductId#935762, externalPlantId#935763, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, minimumOrderQuantity#935767, constraintLabels#935768, constraintOperators#935769, constraintValues#935770, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, measurements#935778, originalReplenishmentRunId#935779L, optimizationGroups#935780, shardId#935781, sequenceId#935759]
(21) Filter [codegen id : 1]
Input [38]: [orderProposalId#935737L, orderProposalItemId#935738, supplierGroup#935739, supplier#935740, plant#935741, deliveryDateTime#935742, subrange#935743, supplyingPlant#935744, productGroup#935745, product#935746, orderDateTime#935747, availabilityDateTime#935748, nextAvailabilityDateTime#935749, sourceOfSupplyUuid#935751, isFallbackOrderOnly#935754, splitIndicator#935756L, previousOrderProposal#935757L, worklistShardItemId#935760L, orderProposalItemGroupId#935761, externalProductId#935762, externalPlantId#935763, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, minimumOrderQuantity#935767, constraintLabels#935768, constraintOperators#935769, constraintValues#935770, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, measurements#935778, originalReplenishmentRunId#935779L, optimizationGroups#935780, shardId#935781, sequenceId#935759]
Condition : isnotnull(worklistShardItemId#935760L)
(22) Project [codegen id : 1]
Output [36]: [orderProposalId#935737L, orderProposalItemId#935738, supplierGroup#935739, supplier#935740, plant#935741, deliveryDateTime#935742, subrange#935743, supplyingPlant#935744, productGroup#935745, product#935746, orderDateTime#935747, availabilityDateTime#935748, nextAvailabilityDateTime#935749, sourceOfSupplyUuid#935751, isFallbackOrderOnly#935754, splitIndicator#935756L, previousOrderProposal#935757L, worklistShardItemId#935760L, orderProposalItemGroupId#935761, externalProductId#935762, externalPlantId#935763, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, minimumOrderQuantity#935767, constraintLabels#935768, constraintOperators#935769, constraintValues#935770, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, measurements#935778, originalReplenishmentRunId#935779L, optimizationGroups#935780]
Input [38]: [orderProposalId#935737L, orderProposalItemId#935738, supplierGroup#935739, supplier#935740, plant#935741, deliveryDateTime#935742, subrange#935743, supplyingPlant#935744, productGroup#935745, product#935746, orderDateTime#935747, availabilityDateTime#935748, nextAvailabilityDateTime#935749, sourceOfSupplyUuid#935751, isFallbackOrderOnly#935754, splitIndicator#935756L, previousOrderProposal#935757L, worklistShardItemId#935760L, orderProposalItemGroupId#935761, externalProductId#935762, externalPlantId#935763, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, minimumOrderQuantity#935767, constraintLabels#935768, constraintOperators#935769, constraintValues#935770, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, measurements#935778, originalReplenishmentRunId#935779L, optimizationGroups#935780, shardId#935781, sequenceId#935759]
(23) Exchange
Input [36]: [orderProposalId#935737L, orderProposalItemId#935738, supplierGroup#935739, supplier#935740, plant#935741, deliveryDateTime#935742, subrange#935743, supplyingPlant#935744, productGroup#935745, product#935746, orderDateTime#935747, availabilityDateTime#935748, nextAvailabilityDateTime#935749, sourceOfSupplyUuid#935751, isFallbackOrderOnly#935754, splitIndicator#935756L, previousOrderProposal#935757L, worklistShardItemId#935760L, orderProposalItemGroupId#935761, externalProductId#935762, externalPlantId#935763, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, minimumOrderQuantity#935767, constraintLabels#935768, constraintOperators#935769, constraintValues#935770, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, measurements#935778, originalReplenishmentRunId#935779L, optimizationGroups#935780]
Arguments: hashpartitioning(worklistShardItemId#935760L, 20), REPARTITION_BY_NUM, [plan_id=368501]
(24) Project [codegen id : 2]
Output [36]: [worklistShardItemId#935760L, orderProposalId#935737L, orderProposalItemId#935738, orderProposalItemGroupId#935761, originalReplenishmentRunId#935779L, splitIndicator#935756L, previousOrderProposal#935757L, sourceOfSupplyUuid#935751, supplierGroup#935739, supplier#935740, subrange#935743, product#935746, plant#935741, orderDateTime#935747, deliveryDateTime#935742, availabilityDateTime#935748, nextAvailabilityDateTime#935749, isFallbackOrderOnly#935754, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, netPriceAmount#935773, netPriceCurrencyCode#935774, measurements#935778, minimumOrderQuantity#935767, constraintLabels#935768, constraintOperators#935769, constraintValues#935770, logisticUnits#935764, optimizationGroups#935780, externalProductId#935762, externalPlantId#935763, supplyingPlant#935744, productGroup#935745]
Input [36]: [orderProposalId#935737L, orderProposalItemId#935738, supplierGroup#935739, supplier#935740, plant#935741, deliveryDateTime#935742, subrange#935743, supplyingPlant#935744, productGroup#935745, product#935746, orderDateTime#935747, availabilityDateTime#935748, nextAvailabilityDateTime#935749, sourceOfSupplyUuid#935751, isFallbackOrderOnly#935754, splitIndicator#935756L, previousOrderProposal#935757L, worklistShardItemId#935760L, orderProposalItemGroupId#935761, externalProductId#935762, externalPlantId#935763, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, minimumOrderQuantity#935767, constraintLabels#935768, constraintOperators#935769, constraintValues#935770, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, measurements#935778, originalReplenishmentRunId#935779L, optimizationGroups#935780]
(25) BroadcastExchange
Input [36]: [worklistShardItemId#935760L, orderProposalId#935737L, orderProposalItemId#935738, orderProposalItemGroupId#935761, originalReplenishmentRunId#935779L, splitIndicator#935756L, previousOrderProposal#935757L, sourceOfSupplyUuid#935751, supplierGroup#935739, supplier#935740, subrange#935743, product#935746, plant#935741, orderDateTime#935747, deliveryDateTime#935742, availabilityDateTime#935748, nextAvailabilityDateTime#935749, isFallbackOrderOnly#935754, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, netPriceAmount#935773, netPriceCurrencyCode#935774, measurements#935778, minimumOrderQuantity#935767, constraintLabels#935768, constraintOperators#935769, constraintValues#935770, logisticUnits#935764, optimizationGroups#935780, externalProductId#935762, externalPlantId#935763, supplyingPlant#935744, productGroup#935745]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=368505]
(26) BroadcastHashJoin [codegen id : 3]
Left keys [1]: [worklistShardItemId#935536L]
Right keys [1]: [worklistShardItemId#935760L]
Join type: LeftOuter
Join condition: (shardId#935024 = 0_1_10000002110)
(27) Project [codegen id : 3]
Output [39]: [shardId#935024, worklistShardItemId#935536L, quantityAfterProdPlantOptimization#935537, qty#935538, orderProposalId#935737L, originalReplenishmentRunId#935779L, supplierGroup#935739, supplier#935740, supplyingPlant#935744, productGroup#935745, product#935746, plant#935741, subrange#935743, orderDateTime#935747, deliveryDateTime#935742, availabilityDateTime#935748, nextAvailabilityDateTime#935749, constraintValues#935770, constraintOperators#935769, constraintLabels#935768, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, splitIndicator#935756L, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, sourceOfSupplyUuid#935751, minimumOrderQuantity#935767, orderProposalItemId#935738, orderProposalItemGroupId#935761, optimizationGroups#935780, measurements#935778, externalProductId#935762, externalPlantId#935763, previousOrderProposal#935757L, isFallbackOrderOnly#935754]
Input [40]: [shardId#935024, worklistShardItemId#935536L, quantityAfterProdPlantOptimization#935537, qty#935538, worklistShardItemId#935760L, orderProposalId#935737L, orderProposalItemId#935738, orderProposalItemGroupId#935761, originalReplenishmentRunId#935779L, splitIndicator#935756L, previousOrderProposal#935757L, sourceOfSupplyUuid#935751, supplierGroup#935739, supplier#935740, subrange#935743, product#935746, plant#935741, orderDateTime#935747, deliveryDateTime#935742, availabilityDateTime#935748, nextAvailabilityDateTime#935749, isFallbackOrderOnly#935754, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, netPriceAmount#935773, netPriceCurrencyCode#935774, measurements#935778, minimumOrderQuantity#935767, constraintLabels#935768, constraintOperators#935769, constraintValues#935770, logisticUnits#935764, optimizationGroups#935780, externalProductId#935762, externalPlantId#935763, supplyingPlant#935744, productGroup#935745]
(28) Exchange
Input [39]: [shardId#935024, worklistShardItemId#935536L, quantityAfterProdPlantOptimization#935537, qty#935538, orderProposalId#935737L, originalReplenishmentRunId#935779L, supplierGroup#935739, supplier#935740, supplyingPlant#935744, productGroup#935745, product#935746, plant#935741, subrange#935743, orderDateTime#935747, deliveryDateTime#935742, availabilityDateTime#935748, nextAvailabilityDateTime#935749, constraintValues#935770, constraintOperators#935769, constraintLabels#935768, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, splitIndicator#935756L, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, sourceOfSupplyUuid#935751, minimumOrderQuantity#935767, orderProposalItemId#935738, orderProposalItemGroupId#935761, optimizationGroups#935780, measurements#935778, externalProductId#935762, externalPlantId#935763, previousOrderProposal#935757L, isFallbackOrderOnly#935754]
Arguments: hashpartitioning(shardId#935024, worklistShardItemId#935536L, 20), ENSURE_REQUIREMENTS, [plan_id=368510]
(29) Sort [codegen id : 4]
Input [39]: [shardId#935024, worklistShardItemId#935536L, quantityAfterProdPlantOptimization#935537, qty#935538, orderProposalId#935737L, originalReplenishmentRunId#935779L, supplierGroup#935739, supplier#935740, supplyingPlant#935744, productGroup#935745, product#935746, plant#935741, subrange#935743, orderDateTime#935747, deliveryDateTime#935742, availabilityDateTime#935748, nextAvailabilityDateTime#935749, constraintValues#935770, constraintOperators#935769, constraintLabels#935768, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, splitIndicator#935756L, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, sourceOfSupplyUuid#935751, minimumOrderQuantity#935767, orderProposalItemId#935738, orderProposalItemGroupId#935761, optimizationGroups#935780, measurements#935778, externalProductId#935762, externalPlantId#935763, previousOrderProposal#935757L, isFallbackOrderOnly#935754]
Arguments: [shardId#935024 ASC NULLS FIRST, worklistShardItemId#935536L ASC NULLS FIRST], false, 0
(30) Scan ExistingRDD [codegen id : 5]
Output [6]: [shardId#936433, worklistShardItemId#936434L, qty#936435, demandChannel#936436, demandStream#936437, kpis#936438]
Arguments: [shardId#936433, worklistShardItemId#936434L, qty#936435, demandChannel#936436, demandStream#936437, kpis#936438], MapPartitionsRDD[43985] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(31) Filter [codegen id : 5]
Input [6]: [shardId#936433, worklistShardItemId#936434L, qty#936435, demandChannel#936436, demandStream#936437, kpis#936438]
Condition : (((isnull(qty#936435) AND isnull(demandChannel#936436)) AND isnull(demandStream#936437)) AND (isnotnull(shardId#936433) AND isnotnull(worklistShardItemId#936434L)))
(32) Project [codegen id : 5]
Output [3]: [shardId#936433, worklistShardItemId#936434L, coalesce(kpis#936438, []) AS prodLocSpecificKpis#936439]
Input [6]: [shardId#936433, worklistShardItemId#936434L, qty#936435, demandChannel#936436, demandStream#936437, kpis#936438]
(33) Exchange
Input [3]: [shardId#936433, worklistShardItemId#936434L, prodLocSpecificKpis#936439]
Arguments: hashpartitioning(shardId#936433, worklistShardItemId#936434L, 20), ENSURE_REQUIREMENTS, [plan_id=368516]
(34) Sort [codegen id : 6]
Input [3]: [shardId#936433, worklistShardItemId#936434L, prodLocSpecificKpis#936439]
Arguments: [shardId#936433 ASC NULLS FIRST, worklistShardItemId#936434L ASC NULLS FIRST], false, 0
(35) SortMergeJoin [codegen id : 7]
Left keys [2]: [shardId#935024, worklistShardItemId#935536L]
Right keys [2]: [shardId#936433, worklistShardItemId#936434L]
Join type: LeftOuter
Join condition: None
(36) Project [codegen id : 7]
Output [40]: [shardId#935024, worklistShardItemId#935536L, quantityAfterProdPlantOptimization#935537, qty#935538, orderProposalId#935737L, originalReplenishmentRunId#935779L, supplierGroup#935739, supplier#935740, supplyingPlant#935744, productGroup#935745, product#935746, plant#935741, subrange#935743, orderDateTime#935747, deliveryDateTime#935742, availabilityDateTime#935748, nextAvailabilityDateTime#935749, constraintValues#935770, constraintOperators#935769, constraintLabels#935768, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, splitIndicator#935756L, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, sourceOfSupplyUuid#935751, minimumOrderQuantity#935767, orderProposalItemId#935738, orderProposalItemGroupId#935761, optimizationGroups#935780, measurements#935778, externalProductId#935762, externalPlantId#935763, previousOrderProposal#935757L, isFallbackOrderOnly#935754, coalesce(prodLocSpecificKpis#936439, []) AS prodLocSpecificKpis#936440]
Input [42]: [shardId#935024, worklistShardItemId#935536L, quantityAfterProdPlantOptimization#935537, qty#935538, orderProposalId#935737L, originalReplenishmentRunId#935779L, supplierGroup#935739, supplier#935740, supplyingPlant#935744, productGroup#935745, product#935746, plant#935741, subrange#935743, orderDateTime#935747, deliveryDateTime#935742, availabilityDateTime#935748, nextAvailabilityDateTime#935749, constraintValues#935770, constraintOperators#935769, constraintLabels#935768, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, splitIndicator#935756L, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, sourceOfSupplyUuid#935751, minimumOrderQuantity#935767, orderProposalItemId#935738, orderProposalItemGroupId#935761, optimizationGroups#935780, measurements#935778, externalProductId#935762, externalPlantId#935763, previousOrderProposal#935757L, isFallbackOrderOnly#935754, shardId#936433, worklistShardItemId#936434L, prodLocSpecificKpis#936439]
(37) Scan ExistingRDD [codegen id : 8]
Output [6]: [shardId#936449, worklistShardItemId#936450L, qty#936451, demandChannel#936452, demandStream#936453, kpis#936454]
Arguments: [shardId#936449, worklistShardItemId#936450L, qty#936451, demandChannel#936452, demandStream#936453, kpis#936454], MapPartitionsRDD[43985] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(38) Filter [codegen id : 8]
Input [6]: [shardId#936449, worklistShardItemId#936450L, qty#936451, demandChannel#936452, demandStream#936453, kpis#936454]
Condition : ((((isnull(qty#936451) AND isnotnull(demandChannel#936452)) AND isnotnull(demandStream#936453)) AND (size(kpis#936454, true) > 0)) AND (isnotnull(shardId#936449) AND isnotnull(worklistShardItemId#936450L)))
(39) Project [codegen id : 8]
Output [5]: [shardId#936449, worklistShardItemId#936450L, demandChannel#936452, demandStream#936453, kpis#936454]
Input [6]: [shardId#936449, worklistShardItemId#936450L, qty#936451, demandChannel#936452, demandStream#936453, kpis#936454]
(40) ObjectHashAggregate
Input [5]: [shardId#936449, worklistShardItemId#936450L, demandChannel#936452, demandStream#936453, kpis#936454]
Keys [2]: [shardId#936449, worklistShardItemId#936450L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#936452, demandStream, demandStream#936453, kpis, kpis#936454), 0, 0)]
Aggregate Attributes [1]: [buf#936629]
Results [3]: [shardId#936449, worklistShardItemId#936450L, buf#936630]
(41) Exchange
Input [3]: [shardId#936449, worklistShardItemId#936450L, buf#936630]
Arguments: hashpartitioning(shardId#936449, worklistShardItemId#936450L, 20), ENSURE_REQUIREMENTS, [plan_id=368527]
(42) ObjectHashAggregate
Input [3]: [shardId#936449, worklistShardItemId#936450L, buf#936630]
Keys [2]: [shardId#936449, worklistShardItemId#936450L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#936452, demandStream, demandStream#936453, kpis, kpis#936454), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#936452, demandStream, demandStream#936453, kpis, kpis#936454), 0, 0)#936448]
Results [3]: [shardId#936449, worklistShardItemId#936450L, collect_list(struct(demandChannel, demandChannel#936452, demandStream, demandStream#936453, kpis, kpis#936454), 0, 0)#936448 AS channelStreamSpecificKpis#936441]
(43) Sort [codegen id : 9]
Input [3]: [shardId#936449, worklistShardItemId#936450L, channelStreamSpecificKpis#936441]
Arguments: [shardId#936449 ASC NULLS FIRST, worklistShardItemId#936450L ASC NULLS FIRST], false, 0
(44) SortMergeJoin [codegen id : 10]
Left keys [2]: [shardId#935024, worklistShardItemId#935536L]
Right keys [2]: [shardId#936449, worklistShardItemId#936450L]
Join type: LeftOuter
Join condition: None
(45) Project [codegen id : 10]
Output [41]: [shardId#935024, worklistShardItemId#935536L, quantityAfterProdPlantOptimization#935537, qty#935538, orderProposalId#935737L, originalReplenishmentRunId#935779L, supplierGroup#935739, supplier#935740, supplyingPlant#935744, productGroup#935745, product#935746, plant#935741, subrange#935743, orderDateTime#935747, deliveryDateTime#935742, availabilityDateTime#935748, nextAvailabilityDateTime#935749, constraintValues#935770, constraintOperators#935769, constraintLabels#935768, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, splitIndicator#935756L, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, sourceOfSupplyUuid#935751, minimumOrderQuantity#935767, orderProposalItemId#935738, orderProposalItemGroupId#935761, optimizationGroups#935780, measurements#935778, externalProductId#935762, externalPlantId#935763, previousOrderProposal#935757L, isFallbackOrderOnly#935754, prodLocSpecificKpis#936440, coalesce(channelStreamSpecificKpis#936441, []) AS channelStreamSpecificKpis#936455]
Input [43]: [shardId#935024, worklistShardItemId#935536L, quantityAfterProdPlantOptimization#935537, qty#935538, orderProposalId#935737L, originalReplenishmentRunId#935779L, supplierGroup#935739, supplier#935740, supplyingPlant#935744, productGroup#935745, product#935746, plant#935741, subrange#935743, orderDateTime#935747, deliveryDateTime#935742, availabilityDateTime#935748, nextAvailabilityDateTime#935749, constraintValues#935770, constraintOperators#935769, constraintLabels#935768, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, splitIndicator#935756L, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, sourceOfSupplyUuid#935751, minimumOrderQuantity#935767, orderProposalItemId#935738, orderProposalItemGroupId#935761, optimizationGroups#935780, measurements#935778, externalProductId#935762, externalPlantId#935763, previousOrderProposal#935757L, isFallbackOrderOnly#935754, prodLocSpecificKpis#936440, shardId#936449, worklistShardItemId#936450L, channelStreamSpecificKpis#936441]
(46) Scan ExistingRDD [codegen id : 11]
Output [6]: [shardId#936462, worklistShardItemId#936463L, qty#936464, demandChannel#936465, demandStream#936466, kpis#936467]
Arguments: [shardId#936462, worklistShardItemId#936463L, qty#936464, demandChannel#936465, demandStream#936466, kpis#936467], MapPartitionsRDD[43985] at start at FileStorageAdapterImpl.java:592, ExistingRDD, UnknownPartitioning(0)
(47) Filter [codegen id : 11]
Input [6]: [shardId#936462, worklistShardItemId#936463L, qty#936464, demandChannel#936465, demandStream#936466, kpis#936467]
Condition : ((isnotnull(qty#936464) AND isnotnull(kpis#936467)) AND (isnotnull(shardId#936462) AND isnotnull(worklistShardItemId#936463L)))
(48) Project [codegen id : 11]
Output [4]: [shardId#936462, worklistShardItemId#936463L, qty#936464, kpis#936467]
Input [6]: [shardId#936462, worklistShardItemId#936463L, qty#936464, demandChannel#936465, demandStream#936466, kpis#936467]
(49) ObjectHashAggregate
Input [4]: [shardId#936462, worklistShardItemId#936463L, qty#936464, kpis#936467]
Keys [2]: [shardId#936462, worklistShardItemId#936463L]
Functions [1]: [partial_collect_list(struct(qty, qty#936464, kpis, kpis#936467), 0, 0)]
Aggregate Attributes [1]: [buf#936631]
Results [3]: [shardId#936462, worklistShardItemId#936463L, buf#936632]
(50) Exchange
Input [3]: [shardId#936462, worklistShardItemId#936463L, buf#936632]
Arguments: hashpartitioning(shardId#936462, worklistShardItemId#936463L, 20), ENSURE_REQUIREMENTS, [plan_id=368539]
(51) ObjectHashAggregate
Input [3]: [shardId#936462, worklistShardItemId#936463L, buf#936632]
Keys [2]: [shardId#936462, worklistShardItemId#936463L]
Functions [1]: [collect_list(struct(qty, qty#936464, kpis, kpis#936467), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#936464, kpis, kpis#936467), 0, 0)#936461]
Results [3]: [shardId#936462, worklistShardItemId#936463L, map_from_entries(collect_list(struct(qty, qty#936464, kpis, kpis#936467), 0, 0)#936461) AS quantityKpis#936456]
(52) Sort [codegen id : 12]
Input [3]: [shardId#936462, worklistShardItemId#936463L, quantityKpis#936456]
Arguments: [shardId#936462 ASC NULLS FIRST, worklistShardItemId#936463L ASC NULLS FIRST], false, 0
(53) SortMergeJoin [codegen id : 13]
Left keys [2]: [shardId#935024, worklistShardItemId#935536L]
Right keys [2]: [shardId#936462, worklistShardItemId#936463L]
Join type: LeftOuter
Join condition: None
(54) Project [codegen id : 13]
Output [42]: [shardId#935024, worklistShardItemId#935536L, quantityAfterProdPlantOptimization#935537, qty#935538, orderProposalId#935737L, originalReplenishmentRunId#935779L, supplierGroup#935739, supplier#935740, supplyingPlant#935744, productGroup#935745, product#935746, plant#935741, subrange#935743, orderDateTime#935747, deliveryDateTime#935742, availabilityDateTime#935748, nextAvailabilityDateTime#935749, constraintValues#935770, constraintOperators#935769, constraintLabels#935768, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, splitIndicator#935756L, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, sourceOfSupplyUuid#935751, minimumOrderQuantity#935767, orderProposalItemId#935738, orderProposalItemGroupId#935761, optimizationGroups#935780, measurements#935778, externalProductId#935762, externalPlantId#935763, previousOrderProposal#935757L, isFallbackOrderOnly#935754, prodLocSpecificKpis#936440, channelStreamSpecificKpis#936455, coalesce(quantityKpis#936456, map(keys: [], values: [])) AS quantityKpis#936468]
Input [44]: [shardId#935024, worklistShardItemId#935536L, quantityAfterProdPlantOptimization#935537, qty#935538, orderProposalId#935737L, originalReplenishmentRunId#935779L, supplierGroup#935739, supplier#935740, supplyingPlant#935744, productGroup#935745, product#935746, plant#935741, subrange#935743, orderDateTime#935747, deliveryDateTime#935742, availabilityDateTime#935748, nextAvailabilityDateTime#935749, constraintValues#935770, constraintOperators#935769, constraintLabels#935768, logisticUnits#935764, orderQuantityBaseUom#935765, orderQuantityBaseUomUuid#935766, splitIndicator#935756L, netPriceAmount#935773, netPriceCurrencyCode#935774, netPriceQuantity#935775, netPriceQuantityUom#935776, netPriceQuantityUomUuid#935777, sourceOfSupplyUuid#935751, minimumOrderQuantity#935767, orderProposalItemId#935738, orderProposalItemGroupId#935761, optimizationGroups#935780, measurements#935778, externalProductId#935762, externalPlantId#935763, previousOrderProposal#935757L, isFallbackOrderOnly#935754, prodLocSpecificKpis#936440, channelStreamSpecificKpis#936455, shardId#936462, worklistShardItemId#936463L, quantityKpis#936456]
(55) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#935714, channelStreamSpecificKpis#936455, constraintLabels#935726, constraintOperators#935727, constraintValues#935729, deliveryDateTime#935713, isFallbackOrderOnly#935716, logisticUnits#935731, measurements#935724, minimumOrderQuantity#935725, netPriceAmount#935722, netPriceCurrencyCode#935723, netPriceQuantity#935719, netPriceQuantityUom#935720, netPriceQuantityUomUuid#935721, nextAvailabilityDateTime#935715, optimizationGroups#935732, orderDateTime#935712, orderProposalId#935694L, orderProposalItemGroupId#935696, orderProposalItemId#935695, orderQuantityBaseUom#935717, orderQuantityBaseUomUuid#935718, originalReplenishmentRunId#935697L, plant#935708, previousOrderProposal#935700L, prodLocSpecificKpis#936440, product#935707, productGroup#935736, qty#935538, quantityAfterProdPlantOptimization#935537, quantityKpis#936468, shardId#935024, sourceOfSupplyUuid#935703, splitIndicator#935699L, subrange#935706, supplier#935705, supplierGroup#935704, supplyingPlant#935735]
Condition : NOT (isFallbackOrderOnly#935716 <=> true)
(56) Project [codegen id : 1]
Output [36]: [shardId#935024, quantityAfterProdPlantOptimization#935537, qty#935538, orderProposalId#935694L, originalReplenishmentRunId#935697L, supplierGroup#935704, supplier#935705, supplyingPlant#935735, productGroup#935736, product#935707, plant#935708, subrange#935706, orderDateTime#935712, deliveryDateTime#935713, availabilityDateTime#935714, nextAvailabilityDateTime#935715, logisticUnits#935731, orderQuantityBaseUom#935717, orderQuantityBaseUomUuid#935718, splitIndicator#935699L, netPriceAmount#935722, netPriceCurrencyCode#935723, netPriceQuantity#935719, netPriceQuantityUom#935720, netPriceQuantityUomUuid#935721, sourceOfSupplyUuid#935703, minimumOrderQuantity#935725, orderProposalItemId#935695, orderProposalItemGroupId#935696, optimizationGroups#935732, measurements#935724, previousOrderProposal#935700L, prodLocSpecificKpis#936440, channelStreamSpecificKpis#936455, quantityKpis#936468, arrays_zip(constraintLabels#935726, constraintOperators#935727, constraintValues#935729, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#936882]
Input [39]: [availabilityDateTime#935714, channelStreamSpecificKpis#936455, constraintLabels#935726, constraintOperators#935727, constraintValues#935729, deliveryDateTime#935713, isFallbackOrderOnly#935716, logisticUnits#935731, measurements#935724, minimumOrderQuantity#935725, netPriceAmount#935722, netPriceCurrencyCode#935723, netPriceQuantity#935719, netPriceQuantityUom#935720, netPriceQuantityUomUuid#935721, nextAvailabilityDateTime#935715, optimizationGroups#935732, orderDateTime#935712, orderProposalId#935694L, orderProposalItemGroupId#935696, orderProposalItemId#935695, orderQuantityBaseUom#935717, orderQuantityBaseUomUuid#935718, originalReplenishmentRunId#935697L, plant#935708, previousOrderProposal#935700L, prodLocSpecificKpis#936440, product#935707, productGroup#935736, qty#935538, quantityAfterProdPlantOptimization#935537, quantityKpis#936468, shardId#935024, sourceOfSupplyUuid#935703, splitIndicator#935699L, subrange#935706, supplier#935705, supplierGroup#935704, supplyingPlant#935735]
(57) Project
Output [37]: [shardId#935024, qty#935538, orderProposalId#935694L, originalReplenishmentRunId#935697L, supplierGroup#935704, supplier#935705, supplyingPlant#935735, productGroup#935736, product#935707, plant#935708, subrange#935706, orderDateTime#935712, deliveryDateTime#935713, availabilityDateTime#935714, nextAvailabilityDateTime#935715, logisticUnits#935731, orderQuantityBaseUom#935717, orderQuantityBaseUomUuid#935718, splitIndicator#935699L, netPriceAmount#935722, netPriceCurrencyCode#935723, netPriceQuantity#935719, netPriceQuantityUom#935720, netPriceQuantityUomUuid#935721, sourceOfSupplyUuid#935703, orderProposalItemId#935695, orderProposalItemGroupId#935696, optimizationGroups#935732, measurements#935724, previousOrderProposal#935700L, prodLocSpecificKpis#936440, channelStreamSpecificKpis#936455, quantityKpis#936468, struct(minServiceLevel, array_min(filter(constraintStructArray#936882, lambdafunction((lambda x_2402#936889.constraintLabels = ServiceLevel), lambda x_2402#936889, false)).constraintValues), minServiceLevelMinStock, null, maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#936882, lambdafunction((lambda x_2403#936890.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_2403#936890, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#936882, lambdafunction((lambda x_2404#936891.constraintLabels = RangeOfCoverage), lambda x_2404#936891, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#935725, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#936440, lambdafunction((lambda x_2405#936892.label = NonListingStartTimestamp), lambda x_2405#936892, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#936888, CASE WHEN (qty#935538 <=> quantityAfterProdPlantOptimization#935537) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#935538 * (cast(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2406#936960.isOrderUnit, lambda x_2406#936960, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2406#936961.isOrderUnit, lambda x_2406#936961, false)), 1, None, false).numerator as double))), qty#935538), orderQuantityUom, coalesce(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2406#936962.isOrderUnit, lambda x_2406#936962, false)), 1, None, false).uom, orderQuantityBaseUom#935717), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2406#936963.isOrderUnit, lambda x_2406#936963, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#935718), candidateOrderQuantityInBaseUnit, qty#935538, orderQuantityBaseUom, orderQuantityBaseUom#935717, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#935718, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#935731, lambdafunction((lambda x_2408#936964.isPreferred AND (((qty#935538 * cast(lambda x_2408#936964.denominator as double)) % cast(lambda x_2408#936964.numerator as double)) = 0.0)), lambda x_2408#936964, false)), lambdafunction(struct(inPreferredQuantity, ((qty#935538 * cast(lambda x_2409#937002.denominator as double)) / cast(lambda x_2409#937002.numerator as double)), uom, lambda x_2409#937002.uom, uomUuid, lambda x_2409#937002.uomUuid), lambda x_2409#937002, false))).inPreferredQuantity, coalesce((qty#935538 * (cast(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2407#936965.isOrderUnit, lambda x_2407#936965, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2407#936966.isOrderUnit, lambda x_2407#936966, false)), 1, None, false).numerator as double))), qty#935538)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#935731, lambdafunction((lambda x_2408#936967.isPreferred AND (((qty#935538 * cast(lambda x_2408#936967.denominator as double)) % cast(lambda x_2408#936967.numerator as double)) = 0.0)), lambda x_2408#936967, false)), lambdafunction(struct(inPreferredQuantity, ((qty#935538 * cast(lambda x_2409#937003.denominator as double)) / cast(lambda x_2409#937003.numerator as double)), uom, lambda x_2409#937003.uom, uomUuid, lambda x_2409#937003.uomUuid), lambda x_2409#937003, false))).uom, coalesce(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2407#936968.isOrderUnit, lambda x_2407#936968, false)), 1, None, false).uom, orderQuantityBaseUom#935717)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#935731, lambdafunction((lambda x_2408#936969.isPreferred AND (((qty#935538 * cast(lambda x_2408#936969.denominator as double)) % cast(lambda x_2408#936969.numerator as double)) = 0.0)), lambda x_2408#936969, false)), lambdafunction(struct(inPreferredQuantity, ((qty#935538 * cast(lambda x_2409#937004.denominator as double)) / cast(lambda x_2409#937004.numerator as double)), uom, lambda x_2409#937004.uom, uomUuid, lambda x_2409#937004.uomUuid), lambda x_2409#937004, false))).uomUuid, coalesce(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2407#936970.isOrderUnit, lambda x_2407#936970, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#935718)), serviceLevel, coalesce(filter(element_at(quantityKpis#936468, qty#935538, None, false), lambdafunction((lambda x_2414#936971.label = ServiceLevel), lambda x_2414#936971, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#935538 * (cast(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2406#936974.isOrderUnit, lambda x_2406#936974, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2406#936975.isOrderUnit, lambda x_2406#936975, false)), 1, None, false).numerator as double))), qty#935538), orderQuantityUom, coalesce(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2406#936976.isOrderUnit, lambda x_2406#936976, false)), 1, None, false).uom, orderQuantityBaseUom#935717), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2406#936977.isOrderUnit, lambda x_2406#936977, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#935718), candidateOrderQuantityInBaseUnit, qty#935538, orderQuantityBaseUom, orderQuantityBaseUom#935717, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#935718, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#935731, lambdafunction((lambda x_2408#936978.isPreferred AND (((qty#935538 * cast(lambda x_2408#936978.denominator as double)) % cast(lambda x_2408#936978.numerator as double)) = 0.0)), lambda x_2408#936978, false)), lambdafunction(struct(inPreferredQuantity, ((qty#935538 * cast(lambda x_2409#937005.denominator as double)) / cast(lambda x_2409#937005.numerator as double)), uom, lambda x_2409#937005.uom, uomUuid, lambda x_2409#937005.uomUuid), lambda x_2409#937005, false))).inPreferredQuantity, coalesce((qty#935538 * (cast(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2407#936979.isOrderUnit, lambda x_2407#936979, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2407#936980.isOrderUnit, lambda x_2407#936980, false)), 1, None, false).numerator as double))), qty#935538)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#935731, lambdafunction((lambda x_2408#936981.isPreferred AND (((qty#935538 * cast(lambda x_2408#936981.denominator as double)) % cast(lambda x_2408#936981.numerator as double)) = 0.0)), lambda x_2408#936981, false)), lambdafunction(struct(inPreferredQuantity, ((qty#935538 * cast(lambda x_2409#937006.denominator as double)) / cast(lambda x_2409#937006.numerator as double)), uom, lambda x_2409#937006.uom, uomUuid, lambda x_2409#937006.uomUuid), lambda x_2409#937006, false))).uom, coalesce(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2407#936982.isOrderUnit, lambda x_2407#936982, false)), 1, None, false).uom, orderQuantityBaseUom#935717)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#935731, lambdafunction((lambda x_2408#936983.isPreferred AND (((qty#935538 * cast(lambda x_2408#936983.denominator as double)) % cast(lambda x_2408#936983.numerator as double)) = 0.0)), lambda x_2408#936983, false)), lambdafunction(struct(inPreferredQuantity, ((qty#935538 * cast(lambda x_2409#937007.denominator as double)) / cast(lambda x_2409#937007.numerator as double)), uom, lambda x_2409#937007.uom, uomUuid, lambda x_2409#937007.uomUuid), lambda x_2409#937007, false))).uomUuid, coalesce(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2407#936984.isOrderUnit, lambda x_2407#936984, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#935718)), serviceLevel, coalesce(filter(element_at(quantityKpis#936468, qty#935538, None, false), lambdafunction((lambda x_2417#936985.label = ServiceLevel), lambda x_2417#936985, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#935537 * (cast(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2410#936988.isOrderUnit, lambda x_2410#936988, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2410#936989.isOrderUnit, lambda x_2410#936989, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#935537), orderQuantityUom, coalesce(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2410#936990.isOrderUnit, lambda x_2410#936990, false)), 1, None, false).uom, orderQuantityBaseUom#935717), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2410#936991.isOrderUnit, lambda x_2410#936991, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#935718), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#935537, orderQuantityBaseUom, orderQuantityBaseUom#935717, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#935718, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#935731, lambdafunction((lambda x_2412#936992.isPreferred AND (((quantityAfterProdPlantOptimization#935537 * cast(lambda x_2412#936992.denominator as double)) % cast(lambda x_2412#936992.numerator as double)) = 0.0)), lambda x_2412#936992, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#935537 * cast(lambda x_2413#937008.denominator as double)) / cast(lambda x_2413#937008.numerator as double)), uom, lambda x_2413#937008.uom, uomUuid, lambda x_2413#937008.uomUuid), lambda x_2413#937008, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#935537 * (cast(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2411#936993.isOrderUnit, lambda x_2411#936993, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2411#936994.isOrderUnit, lambda x_2411#936994, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#935537)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#935731, lambdafunction((lambda x_2412#936995.isPreferred AND (((quantityAfterProdPlantOptimization#935537 * cast(lambda x_2412#936995.denominator as double)) % cast(lambda x_2412#936995.numerator as double)) = 0.0)), lambda x_2412#936995, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#935537 * cast(lambda x_2413#937009.denominator as double)) / cast(lambda x_2413#937009.numerator as double)), uom, lambda x_2413#937009.uom, uomUuid, lambda x_2413#937009.uomUuid), lambda x_2413#937009, false))).uom, coalesce(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2411#936996.isOrderUnit, lambda x_2411#936996, false)), 1, None, false).uom, orderQuantityBaseUom#935717)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#935731, lambdafunction((lambda x_2412#936997.isPreferred AND (((quantityAfterProdPlantOptimization#935537 * cast(lambda x_2412#936997.denominator as double)) % cast(lambda x_2412#936997.numerator as double)) = 0.0)), lambda x_2412#936997, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#935537 * cast(lambda x_2413#937010.denominator as double)) / cast(lambda x_2413#937010.numerator as double)), uom, lambda x_2413#937010.uom, uomUuid, lambda x_2413#937010.uomUuid), lambda x_2413#937010, false))).uomUuid, coalesce(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2411#936998.isOrderUnit, lambda x_2411#936998, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#935718)), serviceLevel, coalesce(filter(element_at(quantityKpis#936468, quantityAfterProdPlantOptimization#935537, None, false), lambdafunction((lambda x_2420#936999.label = ServiceLevel), lambda x_2420#936999, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#936959, coalesce(filter(prodLocSpecificKpis#936440, lambdafunction((lambda x_2423#937012.label = InitialStockQty), lambda x_2423#937012, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#937011, coalesce(filter(prodLocSpecificKpis#936440, lambdafunction((lambda x_2424#937014.label = DemandPeriodEndTimestamp), lambda x_2424#937014, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#937013]
Input [36]: [shardId#935024, quantityAfterProdPlantOptimization#935537, qty#935538, orderProposalId#935694L, originalReplenishmentRunId#935697L, supplierGroup#935704, supplier#935705, supplyingPlant#935735, productGroup#935736, product#935707, plant#935708, subrange#935706, orderDateTime#935712, deliveryDateTime#935713, availabilityDateTime#935714, nextAvailabilityDateTime#935715, logisticUnits#935731, orderQuantityBaseUom#935717, orderQuantityBaseUomUuid#935718, splitIndicator#935699L, netPriceAmount#935722, netPriceCurrencyCode#935723, netPriceQuantity#935719, netPriceQuantityUom#935720, netPriceQuantityUomUuid#935721, sourceOfSupplyUuid#935703, minimumOrderQuantity#935725, orderProposalItemId#935695, orderProposalItemGroupId#935696, optimizationGroups#935732, measurements#935724, previousOrderProposal#935700L, prodLocSpecificKpis#936440, channelStreamSpecificKpis#936455, quantityKpis#936468, constraintStructArray#936882]
(58) Project
Output [21]: [shardId#935024, qty#935538, orderProposalId#935694L, originalReplenishmentRunId#935697L, supplierGroup#935704, supplier#935705, supplyingPlant#935735, productGroup#935736, product#935707, plant#935708, subrange#935706, orderDateTime#935712, deliveryDateTime#935713, logisticUnits#935731, orderQuantityBaseUom#935717, orderQuantityBaseUomUuid#935718, splitIndicator#935699L, orderProposalItemId#935695, orderProposalItemGroupId#935696, previousOrderProposal#935700L, struct(itemId, 123456, itemGroupId, 123456, supplier, supplier#935705, supplyingPlant, supplyingPlant#935735, productGroup, productGroup#935736, product, product#935707, plant, plant#935708, supplierSubRange, subrange#935706, sourceOfSupplyUuid, sourceOfSupplyUuid#935703, deliveryDateTime, deliveryDateTime#935713, unitPrice, netPriceAmount#935722, unitPriceCurrency, netPriceCurrencyCode#935723, unitPriceQuantity, ... 37 more fields) AS parentItem#937093]
Input [37]: [shardId#935024, qty#935538, orderProposalId#935694L, originalReplenishmentRunId#935697L, supplierGroup#935704, supplier#935705, supplyingPlant#935735, productGroup#935736, product#935707, plant#935708, subrange#935706, orderDateTime#935712, deliveryDateTime#935713, availabilityDateTime#935714, nextAvailabilityDateTime#935715, logisticUnits#935731, orderQuantityBaseUom#935717, orderQuantityBaseUomUuid#935718, splitIndicator#935699L, netPriceAmount#935722, netPriceCurrencyCode#935723, netPriceQuantity#935719, netPriceQuantityUom#935720, netPriceQuantityUomUuid#935721, sourceOfSupplyUuid#935703, orderProposalItemId#935695, orderProposalItemGroupId#935696, optimizationGroups#935732, measurements#935724, previousOrderProposal#935700L, prodLocSpecificKpis#936440, channelStreamSpecificKpis#936455, quantityKpis#936468, constraintBenchmark#936888, calculationAnalysis#936959, inventoryDateTime#937011, demandPeriodEndDateTime#937013]
(59) Project
Output [12]: [shardId#935024, orderProposalId#935694L, originalReplenishmentRunId#935697L, supplierGroup#935704, supplier#935705, supplyingPlant#935735, orderDateTime#935712, splitIndicator#935699L, orderProposalItemGroupId#935696, previousOrderProposal#935700L, parentItem#937093, struct(itemId, orderProposalItemId#935695, supplier, supplier#935705, supplyingPlant, supplyingPlant#935735, productGroup, productGroup#935736, product, product#935707, plant, plant#935708, supplierSubRange, subrange#935706, deliveryDateTime, deliveryDateTime#935713, orderQuantity, coalesce((qty#935538 * (cast(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2448#937127.isOrderUnit, lambda x_2448#937127, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2448#937128.isOrderUnit, lambda x_2448#937128, false)), 1, None, false).numerator as double))), qty#935538), orderQuantityUom, coalesce(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2448#937129.isOrderUnit, lambda x_2448#937129, false)), 1, None, false).uom, orderQuantityBaseUom#935717), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#935731, lambdafunction(lambda x_2448#937130.isOrderUnit, lambda x_2448#937130, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#935718), orderQuantityInBaseUnit, qty#935538, orderQuantityBaseUom, ... 13 more fields) AS item#937124]
Input [21]: [shardId#935024, qty#935538, orderProposalId#935694L, originalReplenishmentRunId#935697L, supplierGroup#935704, supplier#935705, supplyingPlant#935735, productGroup#935736, product#935707, plant#935708, subrange#935706, orderDateTime#935712, deliveryDateTime#935713, logisticUnits#935731, orderQuantityBaseUom#935717, orderQuantityBaseUomUuid#935718, splitIndicator#935699L, orderProposalItemId#935695, orderProposalItemGroupId#935696, previousOrderProposal#935700L, parentItem#937093]
(60) ObjectHashAggregate
Input [12]: [shardId#935024, orderProposalId#935694L, originalReplenishmentRunId#935697L, supplierGroup#935704, supplier#935705, supplyingPlant#935735, orderDateTime#935712, splitIndicator#935699L, orderProposalItemGroupId#935696, previousOrderProposal#935700L, parentItem#937093, item#937124]
Keys [4]: [shardId#935024, orderProposalId#935694L, splitIndicator#935699L, orderProposalItemGroupId#935696]
Functions [8]: [partial_max(originalReplenishmentRunId#935697L), partial_max(supplierGroup#935704), partial_max(supplier#935705), partial_max(supplyingPlant#935735), partial_max(orderDateTime#935712), partial_collect_list(parentItem#937093, 0, 0), partial_collect_set(previousOrderProposal#935700L, 0, 0), partial_collect_list(item#937124, 0, 0)]
Aggregate Attributes [8]: [max#938385L, max#938386, max#938387, max#938388, max#938389, buf#938390, buf#938391, buf#938392]
Results [12]: [shardId#935024, orderProposalId#935694L, splitIndicator#935699L, orderProposalItemGroupId#935696, max#938393L, max#938394, max#938395, max#938396, max#938397, buf#938398, buf#938399, buf#938400]
(61) Exchange
Input [12]: [shardId#935024, orderProposalId#935694L, splitIndicator#935699L, orderProposalItemGroupId#935696, max#938393L, max#938394, max#938395, max#938396, max#938397, buf#938398, buf#938399, buf#938400]
Arguments: hashpartitioning(shardId#935024, orderProposalId#935694L, splitIndicator#935699L, orderProposalItemGroupId#935696, 20), ENSURE_REQUIREMENTS, [plan_id=368777]
(62) ObjectHashAggregate
Input [12]: [shardId#935024, orderProposalId#935694L, splitIndicator#935699L, orderProposalItemGroupId#935696, max#938393L, max#938394, max#938395, max#938396, max#938397, buf#938398, buf#938399, buf#938400]
Keys [4]: [shardId#935024, orderProposalId#935694L, splitIndicator#935699L, orderProposalItemGroupId#935696]
Functions [8]: [max(originalReplenishmentRunId#935697L), max(supplierGroup#935704), max(supplier#935705), max(supplyingPlant#935735), max(orderDateTime#935712), collect_list(parentItem#937093, 0, 0), collect_set(previousOrderProposal#935700L, 0, 0), collect_list(item#937124, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#935697L)#937193L, max(supplierGroup#935704)#937194, max(supplier#935705)#937195, max(supplyingPlant#935735)#937196, max(orderDateTime#935712)#937197, collect_list(parentItem#937093, 0, 0)#937198, collect_set(previousOrderProposal#935700L, 0, 0)#937200, collect_list(item#937124, 0, 0)#937199]
Results [10]: [shardId#935024, orderProposalId#935694L, max(originalReplenishmentRunId#935697L)#937193L AS originalReplenishmentRunId#937141L, max(supplierGroup#935704)#937194 AS supplierGroup#937142, max(supplier#935705)#937195 AS supplier#937143, max(supplyingPlant#935735)#937196 AS supplyingPlant#937144, max(orderDateTime#935712)#937197 AS orderDateTime#937145, collect_list(parentItem#937093, 0, 0)#937198 AS parentItems#937146, collect_set(previousOrderProposal#935700L, 0, 0)#937200 AS previousOrderProposals#937148, struct(itemGroupId, coalesce(orderProposalItemGroupId#935696, cast((monotonically_increasing_id() % 9999999999) as string)), items, collect_list(item#937124, 0, 0)#937199) AS itemGroup#937202]
(63) ObjectHashAggregate
Input [10]: [shardId#935024, orderProposalId#935694L, originalReplenishmentRunId#937141L, supplierGroup#937142, supplier#937143, supplyingPlant#937144, orderDateTime#937145, parentItems#937146, previousOrderProposals#937148, itemGroup#937202]
Keys [2]: [shardId#935024, orderProposalId#935694L]
Functions [8]: [partial_max(originalReplenishmentRunId#937141L), partial_max(supplierGroup#937142), partial_max(supplier#937143), partial_max(supplyingPlant#937144), partial_max(orderDateTime#937145), partial_collect_list(itemGroup#937202, 0, 0), partial_collect_list(parentItems#937146, 0, 0), partial_collect_set(previousOrderProposals#937148, 0, 0)]
Aggregate Attributes [8]: [max#938369L, max#938370, max#938371, max#938372, max#938373, buf#938374, buf#938375, buf#938376]
Results [10]: [shardId#935024, orderProposalId#935694L, max#938377L, max#938378, max#938379, max#938380, max#938381, buf#938382, buf#938383, buf#938384]
(64) Exchange
Input [10]: [shardId#935024, orderProposalId#935694L, max#938377L, max#938378, max#938379, max#938380, max#938381, buf#938382, buf#938383, buf#938384]
Arguments: hashpartitioning(shardId#935024, orderProposalId#935694L, 20), ENSURE_REQUIREMENTS, [plan_id=368780]
(65) ObjectHashAggregate
Input [10]: [shardId#935024, orderProposalId#935694L, max#938377L, max#938378, max#938379, max#938380, max#938381, buf#938382, buf#938383, buf#938384]
Keys [2]: [shardId#935024, orderProposalId#935694L]
Functions [8]: [max(originalReplenishmentRunId#937141L), max(supplierGroup#937142), max(supplier#937143), max(supplyingPlant#937144), max(orderDateTime#937145), collect_list(itemGroup#937202, 0, 0), collect_list(parentItems#937146, 0, 0), collect_set(previousOrderProposals#937148, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#937141L)#937224L, max(supplierGroup#937142)#937225, max(supplier#937143)#937226, max(supplyingPlant#937144)#937227, max(orderDateTime#937145)#937228, collect_list(itemGroup#937202, 0, 0)#937229, collect_list(parentItems#937146, 0, 0)#937230, collect_set(previousOrderProposals#937148, 0, 0)#937231]
Results [10]: [shardId#935024, orderProposalId#935694L, max(originalReplenishmentRunId#937141L)#937224L AS originalReplenishmentRunId#937203L, max(supplierGroup#937142)#937225 AS supplierGroup#937204, max(supplier#937143)#937226 AS supplier#937205, max(supplyingPlant#937144)#937227 AS supplyingPlant#937206, max(orderDateTime#937145)#937228 AS orderDateTime#937207, collect_list(itemGroup#937202, 0, 0)#937229 AS itemGroups#937208, flatten(collect_list(parentItems#937146, 0, 0)#937230) AS parentItems#937209, flatten(collect_set(previousOrderProposals#937148, 0, 0)#937231) AS previousOrderProposals#937210]
(66) Project
Output [2]: [shardId#935024, struct(orderProposalId, orderProposalId#935694L, originalReplenishmentRunId, originalReplenishmentRunId#937203L, supplierGroup, supplierGroup#937204, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#937204) THEN supplier#937205 END, supplyingPlant, supplyingPlant#937206, orderDateTime, orderDateTime#937207, itemGroups, itemGroups#937208, previousOrderProposals, array_distinct(previousOrderProposals#937210), parentItems, parentItems#937209) AS orderProposal#937235]
Input [10]: [shardId#935024, orderProposalId#935694L, originalReplenishmentRunId#937203L, supplierGroup#937204, supplier#937205, supplyingPlant#937206, orderDateTime#937207, itemGroups#937208, parentItems#937209, previousOrderProposals#937210]
(67) Project
Output [11]: [shardId#935024, orderProposal#937235.orderProposalId AS _extract_orderProposalId#938001L, orderProposal#937235.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#938002L, orderProposal#937235.supplierGroup AS _extract_supplierGroup#938003, orderProposal#937235.supplier AS _extract_supplier#938004, orderProposal#937235.supplyingPlant AS _extract_supplyingPlant#938005, orderProposal#937235.orderDateTime AS _extract_orderDateTime#938006, orderProposal#937235.itemGroups AS _extract_itemGroups#938007, orderProposal#937235.previousOrderProposals AS _extract_previousOrderProposals#938008, orderProposal#937235.parentItems AS _extract_parentItems#938009, orderProposal#937235.orderProposalId AS _extract_orderProposalId#938010L]
Input [2]: [shardId#935024, orderProposal#937235]
(68) InMemoryTableScan
Output [3]: [shardId#937258, orderProposalId#937259L, optimizationGroups#937261]
Arguments: [shardId#937258, orderProposalId#937259L, optimizationGroups#937261], [isnotnull(orderProposalId#937259L)]
(69) InMemoryRelation
Arguments: [shardId#937258, orderProposalId#937259L, items#937260, optimizationGroups#937261, isOptimal#937262, optimizationInsights#937264], StorageLevel(disk, memory, 2 replicas)
(70) Filter [codegen id : 2]
Input [3]: [shardId#937258, orderProposalId#937259L, optimizationGroups#937261]
Condition : isnotnull(orderProposalId#937259L)
(71) BroadcastExchange
Input [3]: [shardId#937258, orderProposalId#937259L, optimizationGroups#937261]
Arguments: HashedRelationBroadcastMode(List(input[1, bigint, false]),false), [plan_id=368787]
(72) InMemoryTableScan
Output [2]: [items#936877, shardId#936875]
Arguments: [items#936877, shardId#936875], [(size(items#936877.worklistShardItemId, true) > 0), isnotnull(items#936877.worklistShardItemId), (shardId#936875 = 0_1_10000002110)]
(73) InMemoryRelation
Arguments: [shardId#936875, orderProposalId#936876L, items#936877, optimizationGroups#936878, isOptimal#936879, optimizationInsights#936881], StorageLevel(disk, memory, 2 replicas)
(74) Filter [codegen id : 3]
Input [2]: [items#936877, shardId#936875]
Condition : (((size(items#936877.worklistShardItemId, true) > 0) AND isnotnull(items#936877.worklistShardItemId)) AND (shardId#936875 = 0_1_10000002110))
(75) Project [codegen id : 3]
Output [1]: [items#936877.worklistShardItemId AS _extract_worklistShardItemId#937906]
Input [2]: [items#936877, shardId#936875]
(76) Generate [codegen id : 3]
Input [1]: [_extract_worklistShardItemId#937906]
Arguments: explode(_extract_worklistShardItemId#937906), false, [item#937265L]
(77) Project [codegen id : 3]
Output [1]: [item#937265L AS worklistShardItemId#937266L]
Input [1]: [item#937265L]
(78) BroadcastExchange
Input [1]: [worklistShardItemId#937266L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=368795]
(79) Scan parquet
Output [5]: [orderProposalId#937314L, isFallbackOrderOnly#937331, worklistShardItemId#937337L, shardId#937358, sequenceId#937336]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://2e93940d-4be8-4f12-830d-f0b8d392c03a.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000002110]
PartitionFilters: [isnotnull(shardId#937358), isnotnull(sequenceId#937336), (shardId#937358 = 0_1_10000002110), (sequenceId#937336 = 0)]
PushedFilters: [IsNotNull(worklistShardItemId), Not(EqualNullSafe(isFallbackOrderOnly,true)), IsNotNull(orderProposalId)]
ReadSchema: struct<orderProposalId:bigint,isFallbackOrderOnly:boolean,worklistShardItemId:bigint>
(80) ColumnarToRow [codegen id : 4]
Input [5]: [orderProposalId#937314L, isFallbackOrderOnly#937331, worklistShardItemId#937337L, shardId#937358, sequenceId#937336]
(81) Filter [codegen id : 4]
Input [5]: [orderProposalId#937314L, isFallbackOrderOnly#937331, worklistShardItemId#937337L, shardId#937358, sequenceId#937336]
Condition : ((isnotnull(worklistShardItemId#937337L) AND NOT (isFallbackOrderOnly#937331 <=> true)) AND isnotnull(orderProposalId#937314L))
(82) Project [codegen id : 4]
Output [2]: [orderProposalId#937314L, worklistShardItemId#937337L]
Input [5]: [orderProposalId#937314L, isFallbackOrderOnly#937331, worklistShardItemId#937337L, shardId#937358, sequenceId#937336]
(83) Exchange
Input [2]: [orderProposalId#937314L, worklistShardItemId#937337L]
Arguments: hashpartitioning(worklistShardItemId#937337L, 20), REPARTITION_BY_NUM, [plan_id=368802]
(84) Project
Output [2]: [worklistShardItemId#937337L, orderProposalId#937314L]
Input [2]: [orderProposalId#937314L, worklistShardItemId#937337L]
(85) BroadcastHashJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#937266L]
Right keys [1]: [worklistShardItemId#937337L]
Join type: Inner
Join condition: None
(86) Project [codegen id : 5]
Output [1]: [orderProposalId#937314L]
Input [3]: [worklistShardItemId#937266L, worklistShardItemId#937337L, orderProposalId#937314L]
(87) HashAggregate [codegen id : 5]
Input [1]: [orderProposalId#937314L]
Keys [1]: [orderProposalId#937314L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#937314L]
(88) Exchange
Input [1]: [orderProposalId#937314L]
Arguments: hashpartitioning(orderProposalId#937314L, 20), ENSURE_REQUIREMENTS, [plan_id=368809]
(89) HashAggregate
Input [1]: [orderProposalId#937314L]
Keys [1]: [orderProposalId#937314L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#937314L]
(90) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [orderProposalId#937259L]
Right keys [1]: [orderProposalId#937314L]
Join type: Inner
Join condition: None
(91) Project
Output [3]: [orderProposalId#937259L, shardId#937258, coalesce(transform(optimizationGroups#937261, lambdafunction(struct(optGroupId, lambda x_2452#937256.optGroupId, minOrderProfile, lambda x_2452#937256.minOrderProfile, assignmentDetails, lambda x_2452#937256.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_2452#937256.minOrderGoal.dimensionType, unit, lambda x_2452#937256.minOrderGoal.unit, unitUuid, lambda x_2452#937256.minOrderGoal.unitUuid, goalValue, lambda x_2452#937256.minOrderGoal.minOrderValue, calcValue, lambda x_2452#937256.minOrderGoal.calculatedOrderValue), transportLoadProfile, DummyTloProfile01, transportLoadGoal, [3,5000.0,false,PAL,a7f3c91d204eb8f56d12a09e3b785c4f,TON,b4e8d1f0c73a92e61d05b8f4a291c07e,40.0]), lambda x_2452#937256, false)), []) AS optimizationGroups#937255]
Input [4]: [shardId#937258, orderProposalId#937259L, optimizationGroups#937261, orderProposalId#937314L]
(92) BroadcastExchange
Input [3]: [orderProposalId#937259L, shardId#937258, optimizationGroups#937255]
Arguments: HashedRelationBroadcastMode(List(coalesce(input[1, string, true], ), isnull(input[1, string, true]), coalesce(input[0, bigint, true], 0), isnull(input[0, bigint, true])),false), [plan_id=368815]
(93) BroadcastHashJoin
Left keys [4]: [coalesce(shardId#935024, ), isnull(shardId#935024), coalesce(_extract_orderProposalId#938010L, 0), isnull(_extract_orderProposalId#938010L)]
Right keys [4]: [coalesce(shardId#937258, ), isnull(shardId#937258), coalesce(orderProposalId#937259L, 0), isnull(orderProposalId#937259L)]
Join type: LeftOuter
Join condition: None
(94) Project
Output [2]: [shardId#935024, named_struct(orderProposalId, _extract_orderProposalId#938010L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#938002L, supplierGroup, _extract_supplierGroup#938003, optimizationGroups, coalesce(optimizationGroups#937255, []), supplier, _extract_supplier#938004, supplyingPlant, _extract_supplyingPlant#938005, orderDateTime, _extract_orderDateTime#938006, itemGroups, _extract_itemGroups#938007, previousOrderProposals, _extract_previousOrderProposals#938008, parentItems, _extract_parentItems#938009) AS orderProposal#937362]
Input [14]: [shardId#935024, _extract_orderProposalId#938001L, _extract_originalReplenishmentRunId#938002L, _extract_supplierGroup#938003, _extract_supplier#938004, _extract_supplyingPlant#938005, _extract_orderDateTime#938006, _extract_itemGroups#938007, _extract_previousOrderProposals#938008, _extract_parentItems#938009, _extract_orderProposalId#938010L, orderProposalId#937259L, shardId#937258, optimizationGroups#937255]
(95) Project
Output [3]: [shardId#935024, orderProposal#937362, CASE WHEN (size(orderProposal#937362.parentItems, true) > 2000) THEN xxhash64(orderProposal#937362.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#937362.orderProposalId as decimal(20,0)), 1), 42) END AS resultSeparationId#939098L]
Input [2]: [orderProposal#937362, shardId#935024]
(96) ObjectHashAggregate
Input [3]: [shardId#935024, orderProposal#937362, resultSeparationId#939098L]
Keys [2]: [shardId#935024, resultSeparationId#939098L]
Functions [1]: [partial_collect_list(orderProposal#937362, 0, 0)]
Aggregate Attributes [1]: [buf#939137]
Results [3]: [shardId#935024, resultSeparationId#939098L, buf#939138]
(97) Exchange
Input [3]: [shardId#935024, resultSeparationId#939098L, buf#939138]
Arguments: hashpartitioning(shardId#935024, resultSeparationId#939098L, 20), ENSURE_REQUIREMENTS, [plan_id=368950]
(98) ObjectHashAggregate
Input [3]: [shardId#935024, resultSeparationId#939098L, buf#939138]
Keys [2]: [shardId#935024, resultSeparationId#939098L]
Functions [1]: [collect_list(orderProposal#937362, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#937362, 0, 0)#939106]
Results [3]: [shardId#935024, resultSeparationId#939098L, collect_list(orderProposal#937362, 0, 0)#939106 AS orderProposals#939102]
(99) Exchange
Input [3]: [shardId#935024, resultSeparationId#939098L, orderProposals#939102]
Arguments: SinglePartition, REPARTITION_BY_NUM, [plan_id=368993]
(100) Project
Output [2]: [shardId#935024, orderProposals#939102]
Input [3]: [shardId#935024, resultSeparationId#939098L, orderProposals#939102]
(101) HashAggregate [codegen id : 1]
Input [1]: [shardId#935024]
Keys [1]: [shardId#935024]
Functions: []
Aggregate Attributes: []
Results [1]: [shardId#935024]
(102) HashAggregate [codegen id : 1]
Input [1]: [shardId#935024]
Keys [1]: [shardId#935024]
Functions: []
Aggregate Attributes: []
Results [1]: [shardId#935024]