== 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#3580449]
Arguments: [shardId#3580449]
(2) InMemoryRelation
Arguments: [shardId#3580449, orderProposals#3592451], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [3]: [shardId#3580449, resultSeparationId#3592447L, orderProposals#3592451]
Arguments: [shardId#3580449, resultSeparationId#3592447L, orderProposals#3592451]
(4) InMemoryRelation
Arguments: [shardId#3580449, resultSeparationId#3592447L, orderProposals#3592451], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [2]: [orderProposal#3584099, shardId#3580449]
Arguments: [orderProposal#3584099, shardId#3580449]
(6) InMemoryRelation
Arguments: [shardId#3580449, orderProposal#3584099], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [39]: [availabilityDateTime#3582219, channelStreamSpecificKpis#3583201, constraintLabels#3582231, constraintOperators#3582232, constraintValues#3582234, deliveryDateTime#3582218, isFallbackOrderOnly#3582221, logisticUnits#3582236, measurements#3582229, minimumOrderQuantity#3582230, netPriceAmount#3582227, netPriceCurrencyCode#3582228, netPriceQuantity#3582224, netPriceQuantityUom#3582225, netPriceQuantityUomUuid#3582226, nextAvailabilityDateTime#3582220, optimizationGroups#3582237, orderDateTime#3582217, orderProposalId#3582199L, orderProposalItemGroupId#3582201, orderProposalItemId#3582200, orderQuantityBaseUom#3582222, orderQuantityBaseUomUuid#3582223, originalReplenishmentRunId#3582202L, plant#3582213, previousOrderProposal#3582205L, prodLocSpecificKpis#3583186, product#3582212, productGroup#3582241, qty#3581973, quantityAfterProdPlantOptimization#3581972, quantityKpis#3583214, shardId#3580449, sourceOfSupplyUuid#3582208, splitIndicator#3582204L, subrange#3582211, supplier#3582210, supplierGroup#3582209, supplyingPlant#3582240]
Arguments: [availabilityDateTime#3582219, channelStreamSpecificKpis#3583201, constraintLabels#3582231, constraintOperators#3582232, constraintValues#3582234, deliveryDateTime#3582218, isFallbackOrderOnly#3582221, logisticUnits#3582236, measurements#3582229, minimumOrderQuantity#3582230, netPriceAmount#3582227, netPriceCurrencyCode#3582228, netPriceQuantity#3582224, netPriceQuantityUom#3582225, netPriceQuantityUomUuid#3582226, nextAvailabilityDateTime#3582220, optimizationGroups#3582237, orderDateTime#3582217, orderProposalId#3582199L, orderProposalItemGroupId#3582201, orderProposalItemId#3582200, orderQuantityBaseUom#3582222, orderQuantityBaseUomUuid#3582223, originalReplenishmentRunId#3582202L, plant#3582213, ... 14 more fields], [NOT (isFallbackOrderOnly#3582221 <=> true)]
(8) InMemoryRelation
Arguments: [shardId#3580449, worklistShardItemId#3581971L, quantityAfterProdPlantOptimization#3581972, qty#3581973, orderProposalId#3582199L, originalReplenishmentRunId#3582202L, supplierGroup#3582209, supplier#3582210, supplyingPlant#3582240, productGroup#3582241, product#3582212, plant#3582213, subrange#3582211, orderDateTime#3582217, deliveryDateTime#3582218, availabilityDateTime#3582219, nextAvailabilityDateTime#3582220, constraintValues#3582234, constraintOperators#3582232, constraintLabels#3582231, logisticUnits#3582236, orderQuantityBaseUom#3582222, orderQuantityBaseUomUuid#3582223, splitIndicator#3582204L, netPriceAmount#3582227, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [2]: [shardId#3580449, items#3580451]
Arguments: [shardId#3580449, items#3580451], [(size(items#3580451, true) > 0), isnotnull(items#3580451)]
(10) InMemoryRelation
Arguments: [shardId#3580449, orderProposalId#3580450L, items#3580451, optimizationGroups#3580452, isOptimal#3580453, optimizationInsights#3580455], StorageLevel(disk, memory, 2 replicas)
(11) InMemoryTableScan
Output [6]: [shardId#3580449, orderProposalId#3580450L, items#3580451, optimizationGroups#3580452, isOptimal#3580453, optimizationInsights#3580455]
Arguments: [shardId#3580449, orderProposalId#3580450L, items#3580451, optimizationGroups#3580452, isOptimal#3580453, optimizationInsights#3580455], [isnotnull(shardId#3580449), (shardId#3580449 = 0_3_10000000532)]
(12) InMemoryRelation
Arguments: [shardId#3580449, orderProposalId#3580450L, items#3580451, optimizationGroups#3580452, isOptimal#3580453, lastModified#3580454, optimizationInsights#3580455], StorageLevel(disk, memory, 2 replicas)
(13) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#3580449, orderProposalId#3580450L, items#3580451, optimizationGroups#3580452, isOptimal#3580453, lastModified#3580454, optimizationInsights#3580455]
Arguments: [shardId#3580449, orderProposalId#3580450L, items#3580451, optimizationGroups#3580452, isOptimal#3580453, lastModified#3580454, optimizationInsights#3580455], MapPartitionsRDD[152568] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(14) Filter [codegen id : 1]
Input [7]: [shardId#3580449, orderProposalId#3580450L, items#3580451, optimizationGroups#3580452, isOptimal#3580453, lastModified#3580454, optimizationInsights#3580455]
Condition : (isnotnull(shardId#3580449) AND (shardId#3580449 = 0_3_10000000532))
(15) Filter [codegen id : 1]
Input [6]: [shardId#3580449, orderProposalId#3580450L, items#3580451, optimizationGroups#3580452, isOptimal#3580453, optimizationInsights#3580455]
Condition : (isnotnull(shardId#3580449) AND (shardId#3580449 = 0_3_10000000532))
(16) Filter [codegen id : 1]
Input [2]: [shardId#3580449, items#3580451]
Condition : ((size(items#3580451, true) > 0) AND isnotnull(items#3580451))
(17) Generate [codegen id : 1]
Input [2]: [shardId#3580449, items#3580451]
Arguments: explode(items#3580451), [shardId#3580449], false, [item#3581970]
(18) Project [codegen id : 1]
Output [4]: [shardId#3580449, item#3581970.worklistShardItemId AS worklistShardItemId#3581971L, item#3581970.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#3581972, item#3581970.qty AS qty#3581973]
Input [2]: [shardId#3580449, item#3581970]
(19) Exchange
Input [4]: [shardId#3580449, worklistShardItemId#3581971L, quantityAfterProdPlantOptimization#3581972, qty#3581973]
Arguments: hashpartitioning(worklistShardItemId#3581971L, 30), ENSURE_REQUIREMENTS, [plan_id=1027582]
(20) Sort [codegen id : 2]
Input [4]: [shardId#3580449, worklistShardItemId#3581971L, quantityAfterProdPlantOptimization#3581972, qty#3581973]
Arguments: [worklistShardItemId#3581971L ASC NULLS FIRST], false, 0
(21) Scan parquet
Output [38]: [orderProposalId#3582422L, orderProposalItemId#3582423, supplierGroup#3582424, supplier#3582425, plant#3582426, deliveryDateTime#3582427, subrange#3582428, supplyingPlant#3582429, productGroup#3582430, product#3582431, orderDateTime#3582432, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, sourceOfSupplyUuid#3582436, isFallbackOrderOnly#3582439, splitIndicator#3582441L, previousOrderProposal#3582442L, worklistShardItemId#3582445L, orderProposalItemGroupId#3582446, externalProductId#3582447, externalPlantId#3582448, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, minimumOrderQuantity#3582452, constraintLabels#3582453, constraintOperators#3582454, constraintValues#3582455, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, measurements#3582463, originalReplenishmentRunId#3582464L, optimizationGroups#3582465, shardId#3582466, sequenceId#3582444]
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#3582466), isnotnull(sequenceId#3582444), (shardId#3582466 = 0_3_10000000532), (sequenceId#3582444 = 2)]
PushedFilters: [IsNotNull(worklistShardItemId)]
ReadSchema: struct<orderProposalId:bigint,orderProposalItemId:string,supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:string,supplyingPlant:string,productGroup:string,product:string,orderDateTime:timestamp,availabilityDateTime:timestamp,nextAvailabilityDateTime:timestamp,sourceOfSupplyUuid:string,isFallbackOrderOnly:boolean,splitIndicator:bigint,previousOrderProposal:bigint,worklistShardItemId:bigint,orderProposalItemGroupId:string,externalProductId:string,externalPlantId:string,logisticUnits:array<struct<uom:string,uomUuid:string,numerator:int,denominator:int,isOrderUnit:boolean,isPreferred:boolean>>,orderQuantityBaseUom:string,orderQuantityBaseUomUuid:string,minimumOrderQuantity:double,constraintLabels:array<string>,constraintOperators:array<string>,constraintValues:array<double>,netPriceAmount:double,netPriceCurrencyCode:string,netPriceQuantity:double,netPriceQuantityUom:string,netPriceQuantityUomUuid:string,measurements:array<struct<value:double,dimensionType:int,dimensionCode:string,dimensionCodeUuid:string,isoCode:string>>,originalReplenishmentRunId:bigint,optimizationGroups:array<string>>
(22) ColumnarToRow [codegen id : 3]
Input [38]: [orderProposalId#3582422L, orderProposalItemId#3582423, supplierGroup#3582424, supplier#3582425, plant#3582426, deliveryDateTime#3582427, subrange#3582428, supplyingPlant#3582429, productGroup#3582430, product#3582431, orderDateTime#3582432, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, sourceOfSupplyUuid#3582436, isFallbackOrderOnly#3582439, splitIndicator#3582441L, previousOrderProposal#3582442L, worklistShardItemId#3582445L, orderProposalItemGroupId#3582446, externalProductId#3582447, externalPlantId#3582448, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, minimumOrderQuantity#3582452, constraintLabels#3582453, constraintOperators#3582454, constraintValues#3582455, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, measurements#3582463, originalReplenishmentRunId#3582464L, optimizationGroups#3582465, shardId#3582466, sequenceId#3582444]
(23) Filter [codegen id : 3]
Input [38]: [orderProposalId#3582422L, orderProposalItemId#3582423, supplierGroup#3582424, supplier#3582425, plant#3582426, deliveryDateTime#3582427, subrange#3582428, supplyingPlant#3582429, productGroup#3582430, product#3582431, orderDateTime#3582432, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, sourceOfSupplyUuid#3582436, isFallbackOrderOnly#3582439, splitIndicator#3582441L, previousOrderProposal#3582442L, worklistShardItemId#3582445L, orderProposalItemGroupId#3582446, externalProductId#3582447, externalPlantId#3582448, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, minimumOrderQuantity#3582452, constraintLabels#3582453, constraintOperators#3582454, constraintValues#3582455, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, measurements#3582463, originalReplenishmentRunId#3582464L, optimizationGroups#3582465, shardId#3582466, sequenceId#3582444]
Condition : isnotnull(worklistShardItemId#3582445L)
(24) Project [codegen id : 3]
Output [36]: [orderProposalId#3582422L, orderProposalItemId#3582423, supplierGroup#3582424, supplier#3582425, plant#3582426, deliveryDateTime#3582427, subrange#3582428, supplyingPlant#3582429, productGroup#3582430, product#3582431, orderDateTime#3582432, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, sourceOfSupplyUuid#3582436, isFallbackOrderOnly#3582439, splitIndicator#3582441L, previousOrderProposal#3582442L, worklistShardItemId#3582445L, orderProposalItemGroupId#3582446, externalProductId#3582447, externalPlantId#3582448, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, minimumOrderQuantity#3582452, constraintLabels#3582453, constraintOperators#3582454, constraintValues#3582455, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, measurements#3582463, originalReplenishmentRunId#3582464L, optimizationGroups#3582465]
Input [38]: [orderProposalId#3582422L, orderProposalItemId#3582423, supplierGroup#3582424, supplier#3582425, plant#3582426, deliveryDateTime#3582427, subrange#3582428, supplyingPlant#3582429, productGroup#3582430, product#3582431, orderDateTime#3582432, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, sourceOfSupplyUuid#3582436, isFallbackOrderOnly#3582439, splitIndicator#3582441L, previousOrderProposal#3582442L, worklistShardItemId#3582445L, orderProposalItemGroupId#3582446, externalProductId#3582447, externalPlantId#3582448, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, minimumOrderQuantity#3582452, constraintLabels#3582453, constraintOperators#3582454, constraintValues#3582455, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, measurements#3582463, originalReplenishmentRunId#3582464L, optimizationGroups#3582465, shardId#3582466, sequenceId#3582444]
(25) Exchange
Input [36]: [orderProposalId#3582422L, orderProposalItemId#3582423, supplierGroup#3582424, supplier#3582425, plant#3582426, deliveryDateTime#3582427, subrange#3582428, supplyingPlant#3582429, productGroup#3582430, product#3582431, orderDateTime#3582432, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, sourceOfSupplyUuid#3582436, isFallbackOrderOnly#3582439, splitIndicator#3582441L, previousOrderProposal#3582442L, worklistShardItemId#3582445L, orderProposalItemGroupId#3582446, externalProductId#3582447, externalPlantId#3582448, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, minimumOrderQuantity#3582452, constraintLabels#3582453, constraintOperators#3582454, constraintValues#3582455, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, measurements#3582463, originalReplenishmentRunId#3582464L, optimizationGroups#3582465]
Arguments: hashpartitioning(worklistShardItemId#3582445L, 30), REPARTITION_BY_NUM, [plan_id=1027592]
(26) Project [codegen id : 4]
Output [36]: [worklistShardItemId#3582445L, orderProposalId#3582422L, orderProposalItemId#3582423, orderProposalItemGroupId#3582446, originalReplenishmentRunId#3582464L, splitIndicator#3582441L, previousOrderProposal#3582442L, sourceOfSupplyUuid#3582436, supplierGroup#3582424, supplier#3582425, subrange#3582428, product#3582431, plant#3582426, orderDateTime#3582432, deliveryDateTime#3582427, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, isFallbackOrderOnly#3582439, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, netPriceAmount#3582458, netPriceCurrencyCode#3582459, measurements#3582463, minimumOrderQuantity#3582452, constraintLabels#3582453, constraintOperators#3582454, constraintValues#3582455, logisticUnits#3582449, optimizationGroups#3582465, externalProductId#3582447, externalPlantId#3582448, supplyingPlant#3582429, productGroup#3582430]
Input [36]: [orderProposalId#3582422L, orderProposalItemId#3582423, supplierGroup#3582424, supplier#3582425, plant#3582426, deliveryDateTime#3582427, subrange#3582428, supplyingPlant#3582429, productGroup#3582430, product#3582431, orderDateTime#3582432, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, sourceOfSupplyUuid#3582436, isFallbackOrderOnly#3582439, splitIndicator#3582441L, previousOrderProposal#3582442L, worklistShardItemId#3582445L, orderProposalItemGroupId#3582446, externalProductId#3582447, externalPlantId#3582448, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, minimumOrderQuantity#3582452, constraintLabels#3582453, constraintOperators#3582454, constraintValues#3582455, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, measurements#3582463, originalReplenishmentRunId#3582464L, optimizationGroups#3582465]
(27) Sort [codegen id : 4]
Input [36]: [worklistShardItemId#3582445L, orderProposalId#3582422L, orderProposalItemId#3582423, orderProposalItemGroupId#3582446, originalReplenishmentRunId#3582464L, splitIndicator#3582441L, previousOrderProposal#3582442L, sourceOfSupplyUuid#3582436, supplierGroup#3582424, supplier#3582425, subrange#3582428, product#3582431, plant#3582426, orderDateTime#3582432, deliveryDateTime#3582427, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, isFallbackOrderOnly#3582439, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, netPriceAmount#3582458, netPriceCurrencyCode#3582459, measurements#3582463, minimumOrderQuantity#3582452, constraintLabels#3582453, constraintOperators#3582454, constraintValues#3582455, logisticUnits#3582449, optimizationGroups#3582465, externalProductId#3582447, externalPlantId#3582448, supplyingPlant#3582429, productGroup#3582430]
Arguments: [worklistShardItemId#3582445L ASC NULLS FIRST], false, 0
(28) SortMergeJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#3581971L]
Right keys [1]: [worklistShardItemId#3582445L]
Join type: LeftOuter
Join condition: (shardId#3580449 = 0_3_10000000532)
(29) Project [codegen id : 5]
Output [39]: [shardId#3580449, worklistShardItemId#3581971L, quantityAfterProdPlantOptimization#3581972, qty#3581973, orderProposalId#3582422L, originalReplenishmentRunId#3582464L, supplierGroup#3582424, supplier#3582425, supplyingPlant#3582429, productGroup#3582430, product#3582431, plant#3582426, subrange#3582428, orderDateTime#3582432, deliveryDateTime#3582427, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, constraintValues#3582455, constraintOperators#3582454, constraintLabels#3582453, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, splitIndicator#3582441L, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, sourceOfSupplyUuid#3582436, minimumOrderQuantity#3582452, orderProposalItemId#3582423, orderProposalItemGroupId#3582446, optimizationGroups#3582465, measurements#3582463, externalProductId#3582447, externalPlantId#3582448, previousOrderProposal#3582442L, isFallbackOrderOnly#3582439]
Input [40]: [shardId#3580449, worklistShardItemId#3581971L, quantityAfterProdPlantOptimization#3581972, qty#3581973, worklistShardItemId#3582445L, orderProposalId#3582422L, orderProposalItemId#3582423, orderProposalItemGroupId#3582446, originalReplenishmentRunId#3582464L, splitIndicator#3582441L, previousOrderProposal#3582442L, sourceOfSupplyUuid#3582436, supplierGroup#3582424, supplier#3582425, subrange#3582428, product#3582431, plant#3582426, orderDateTime#3582432, deliveryDateTime#3582427, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, isFallbackOrderOnly#3582439, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, netPriceAmount#3582458, netPriceCurrencyCode#3582459, measurements#3582463, minimumOrderQuantity#3582452, constraintLabels#3582453, constraintOperators#3582454, constraintValues#3582455, logisticUnits#3582449, optimizationGroups#3582465, externalProductId#3582447, externalPlantId#3582448, supplyingPlant#3582429, productGroup#3582430]
(30) Exchange
Input [39]: [shardId#3580449, worklistShardItemId#3581971L, quantityAfterProdPlantOptimization#3581972, qty#3581973, orderProposalId#3582422L, originalReplenishmentRunId#3582464L, supplierGroup#3582424, supplier#3582425, supplyingPlant#3582429, productGroup#3582430, product#3582431, plant#3582426, subrange#3582428, orderDateTime#3582432, deliveryDateTime#3582427, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, constraintValues#3582455, constraintOperators#3582454, constraintLabels#3582453, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, splitIndicator#3582441L, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, sourceOfSupplyUuid#3582436, minimumOrderQuantity#3582452, orderProposalItemId#3582423, orderProposalItemGroupId#3582446, optimizationGroups#3582465, measurements#3582463, externalProductId#3582447, externalPlantId#3582448, previousOrderProposal#3582442L, isFallbackOrderOnly#3582439]
Arguments: hashpartitioning(shardId#3580449, worklistShardItemId#3581971L, 30), ENSURE_REQUIREMENTS, [plan_id=1027601]
(31) Sort [codegen id : 6]
Input [39]: [shardId#3580449, worklistShardItemId#3581971L, quantityAfterProdPlantOptimization#3581972, qty#3581973, orderProposalId#3582422L, originalReplenishmentRunId#3582464L, supplierGroup#3582424, supplier#3582425, supplyingPlant#3582429, productGroup#3582430, product#3582431, plant#3582426, subrange#3582428, orderDateTime#3582432, deliveryDateTime#3582427, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, constraintValues#3582455, constraintOperators#3582454, constraintLabels#3582453, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, splitIndicator#3582441L, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, sourceOfSupplyUuid#3582436, minimumOrderQuantity#3582452, orderProposalItemId#3582423, orderProposalItemGroupId#3582446, optimizationGroups#3582465, measurements#3582463, externalProductId#3582447, externalPlantId#3582448, previousOrderProposal#3582442L, isFallbackOrderOnly#3582439]
Arguments: [shardId#3580449 ASC NULLS FIRST, worklistShardItemId#3581971L ASC NULLS FIRST], false, 0
(32) Scan ExistingRDD [codegen id : 7]
Output [6]: [shardId#3583179, worklistShardItemId#3583180L, qty#3583181, demandChannel#3583182, demandStream#3583183, kpis#3583184]
Arguments: [shardId#3583179, worklistShardItemId#3583180L, qty#3583181, demandChannel#3583182, demandStream#3583183, kpis#3583184], MapPartitionsRDD[152726] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(33) Filter [codegen id : 7]
Input [6]: [shardId#3583179, worklistShardItemId#3583180L, qty#3583181, demandChannel#3583182, demandStream#3583183, kpis#3583184]
Condition : (((isnull(qty#3583181) AND isnull(demandChannel#3583182)) AND isnull(demandStream#3583183)) AND (isnotnull(shardId#3583179) AND isnotnull(worklistShardItemId#3583180L)))
(34) Project [codegen id : 7]
Output [3]: [shardId#3583179, worklistShardItemId#3583180L, coalesce(kpis#3583184, []) AS prodLocSpecificKpis#3583185]
Input [6]: [shardId#3583179, worklistShardItemId#3583180L, qty#3583181, demandChannel#3583182, demandStream#3583183, kpis#3583184]
(35) Exchange
Input [3]: [shardId#3583179, worklistShardItemId#3583180L, prodLocSpecificKpis#3583185]
Arguments: hashpartitioning(shardId#3583179, worklistShardItemId#3583180L, 30), ENSURE_REQUIREMENTS, [plan_id=1027607]
(36) Sort [codegen id : 8]
Input [3]: [shardId#3583179, worklistShardItemId#3583180L, prodLocSpecificKpis#3583185]
Arguments: [shardId#3583179 ASC NULLS FIRST, worklistShardItemId#3583180L ASC NULLS FIRST], false, 0
(37) SortMergeJoin [codegen id : 9]
Left keys [2]: [shardId#3580449, worklistShardItemId#3581971L]
Right keys [2]: [shardId#3583179, worklistShardItemId#3583180L]
Join type: LeftOuter
Join condition: None
(38) Project [codegen id : 9]
Output [40]: [shardId#3580449, worklistShardItemId#3581971L, quantityAfterProdPlantOptimization#3581972, qty#3581973, orderProposalId#3582422L, originalReplenishmentRunId#3582464L, supplierGroup#3582424, supplier#3582425, supplyingPlant#3582429, productGroup#3582430, product#3582431, plant#3582426, subrange#3582428, orderDateTime#3582432, deliveryDateTime#3582427, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, constraintValues#3582455, constraintOperators#3582454, constraintLabels#3582453, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, splitIndicator#3582441L, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, sourceOfSupplyUuid#3582436, minimumOrderQuantity#3582452, orderProposalItemId#3582423, orderProposalItemGroupId#3582446, optimizationGroups#3582465, measurements#3582463, externalProductId#3582447, externalPlantId#3582448, previousOrderProposal#3582442L, isFallbackOrderOnly#3582439, coalesce(prodLocSpecificKpis#3583185, []) AS prodLocSpecificKpis#3583186]
Input [42]: [shardId#3580449, worklistShardItemId#3581971L, quantityAfterProdPlantOptimization#3581972, qty#3581973, orderProposalId#3582422L, originalReplenishmentRunId#3582464L, supplierGroup#3582424, supplier#3582425, supplyingPlant#3582429, productGroup#3582430, product#3582431, plant#3582426, subrange#3582428, orderDateTime#3582432, deliveryDateTime#3582427, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, constraintValues#3582455, constraintOperators#3582454, constraintLabels#3582453, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, splitIndicator#3582441L, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, sourceOfSupplyUuid#3582436, minimumOrderQuantity#3582452, orderProposalItemId#3582423, orderProposalItemGroupId#3582446, optimizationGroups#3582465, measurements#3582463, externalProductId#3582447, externalPlantId#3582448, previousOrderProposal#3582442L, isFallbackOrderOnly#3582439, shardId#3583179, worklistShardItemId#3583180L, prodLocSpecificKpis#3583185]
(39) Scan ExistingRDD [codegen id : 10]
Output [6]: [shardId#3583195, worklistShardItemId#3583196L, qty#3583197, demandChannel#3583198, demandStream#3583199, kpis#3583200]
Arguments: [shardId#3583195, worklistShardItemId#3583196L, qty#3583197, demandChannel#3583198, demandStream#3583199, kpis#3583200], MapPartitionsRDD[152726] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(40) Filter [codegen id : 10]
Input [6]: [shardId#3583195, worklistShardItemId#3583196L, qty#3583197, demandChannel#3583198, demandStream#3583199, kpis#3583200]
Condition : ((((isnull(qty#3583197) AND isnotnull(demandChannel#3583198)) AND isnotnull(demandStream#3583199)) AND (size(kpis#3583200, true) > 0)) AND (isnotnull(shardId#3583195) AND isnotnull(worklistShardItemId#3583196L)))
(41) Project [codegen id : 10]
Output [5]: [shardId#3583195, worklistShardItemId#3583196L, demandChannel#3583198, demandStream#3583199, kpis#3583200]
Input [6]: [shardId#3583195, worklistShardItemId#3583196L, qty#3583197, demandChannel#3583198, demandStream#3583199, kpis#3583200]
(42) ObjectHashAggregate
Input [5]: [shardId#3583195, worklistShardItemId#3583196L, demandChannel#3583198, demandStream#3583199, kpis#3583200]
Keys [2]: [shardId#3583195, worklistShardItemId#3583196L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#3583198, demandStream, demandStream#3583199, kpis, kpis#3583200), 0, 0)]
Aggregate Attributes [1]: [buf#3583376]
Results [3]: [shardId#3583195, worklistShardItemId#3583196L, buf#3583377]
(43) Exchange
Input [3]: [shardId#3583195, worklistShardItemId#3583196L, buf#3583377]
Arguments: hashpartitioning(shardId#3583195, worklistShardItemId#3583196L, 30), ENSURE_REQUIREMENTS, [plan_id=1027618]
(44) ObjectHashAggregate
Input [3]: [shardId#3583195, worklistShardItemId#3583196L, buf#3583377]
Keys [2]: [shardId#3583195, worklistShardItemId#3583196L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#3583198, demandStream, demandStream#3583199, kpis, kpis#3583200), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#3583198, demandStream, demandStream#3583199, kpis, kpis#3583200), 0, 0)#3583194]
Results [3]: [shardId#3583195, worklistShardItemId#3583196L, collect_list(struct(demandChannel, demandChannel#3583198, demandStream, demandStream#3583199, kpis, kpis#3583200), 0, 0)#3583194 AS channelStreamSpecificKpis#3583187]
(45) Sort [codegen id : 11]
Input [3]: [shardId#3583195, worklistShardItemId#3583196L, channelStreamSpecificKpis#3583187]
Arguments: [shardId#3583195 ASC NULLS FIRST, worklistShardItemId#3583196L ASC NULLS FIRST], false, 0
(46) SortMergeJoin [codegen id : 12]
Left keys [2]: [shardId#3580449, worklistShardItemId#3581971L]
Right keys [2]: [shardId#3583195, worklistShardItemId#3583196L]
Join type: LeftOuter
Join condition: None
(47) Project [codegen id : 12]
Output [41]: [shardId#3580449, worklistShardItemId#3581971L, quantityAfterProdPlantOptimization#3581972, qty#3581973, orderProposalId#3582422L, originalReplenishmentRunId#3582464L, supplierGroup#3582424, supplier#3582425, supplyingPlant#3582429, productGroup#3582430, product#3582431, plant#3582426, subrange#3582428, orderDateTime#3582432, deliveryDateTime#3582427, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, constraintValues#3582455, constraintOperators#3582454, constraintLabels#3582453, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, splitIndicator#3582441L, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, sourceOfSupplyUuid#3582436, minimumOrderQuantity#3582452, orderProposalItemId#3582423, orderProposalItemGroupId#3582446, optimizationGroups#3582465, measurements#3582463, externalProductId#3582447, externalPlantId#3582448, previousOrderProposal#3582442L, isFallbackOrderOnly#3582439, prodLocSpecificKpis#3583186, coalesce(channelStreamSpecificKpis#3583187, []) AS channelStreamSpecificKpis#3583201]
Input [43]: [shardId#3580449, worklistShardItemId#3581971L, quantityAfterProdPlantOptimization#3581972, qty#3581973, orderProposalId#3582422L, originalReplenishmentRunId#3582464L, supplierGroup#3582424, supplier#3582425, supplyingPlant#3582429, productGroup#3582430, product#3582431, plant#3582426, subrange#3582428, orderDateTime#3582432, deliveryDateTime#3582427, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, constraintValues#3582455, constraintOperators#3582454, constraintLabels#3582453, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, splitIndicator#3582441L, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, sourceOfSupplyUuid#3582436, minimumOrderQuantity#3582452, orderProposalItemId#3582423, orderProposalItemGroupId#3582446, optimizationGroups#3582465, measurements#3582463, externalProductId#3582447, externalPlantId#3582448, previousOrderProposal#3582442L, isFallbackOrderOnly#3582439, prodLocSpecificKpis#3583186, shardId#3583195, worklistShardItemId#3583196L, channelStreamSpecificKpis#3583187]
(48) Scan ExistingRDD [codegen id : 13]
Output [6]: [shardId#3583208, worklistShardItemId#3583209L, qty#3583210, demandChannel#3583211, demandStream#3583212, kpis#3583213]
Arguments: [shardId#3583208, worklistShardItemId#3583209L, qty#3583210, demandChannel#3583211, demandStream#3583212, kpis#3583213], MapPartitionsRDD[152726] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(49) Filter [codegen id : 13]
Input [6]: [shardId#3583208, worklistShardItemId#3583209L, qty#3583210, demandChannel#3583211, demandStream#3583212, kpis#3583213]
Condition : ((isnotnull(qty#3583210) AND isnotnull(kpis#3583213)) AND (isnotnull(shardId#3583208) AND isnotnull(worklistShardItemId#3583209L)))
(50) Project [codegen id : 13]
Output [4]: [shardId#3583208, worklistShardItemId#3583209L, qty#3583210, kpis#3583213]
Input [6]: [shardId#3583208, worklistShardItemId#3583209L, qty#3583210, demandChannel#3583211, demandStream#3583212, kpis#3583213]
(51) ObjectHashAggregate
Input [4]: [shardId#3583208, worklistShardItemId#3583209L, qty#3583210, kpis#3583213]
Keys [2]: [shardId#3583208, worklistShardItemId#3583209L]
Functions [1]: [partial_collect_list(struct(qty, qty#3583210, kpis, kpis#3583213), 0, 0)]
Aggregate Attributes [1]: [buf#3583378]
Results [3]: [shardId#3583208, worklistShardItemId#3583209L, buf#3583379]
(52) Exchange
Input [3]: [shardId#3583208, worklistShardItemId#3583209L, buf#3583379]
Arguments: hashpartitioning(shardId#3583208, worklistShardItemId#3583209L, 30), ENSURE_REQUIREMENTS, [plan_id=1027630]
(53) ObjectHashAggregate
Input [3]: [shardId#3583208, worklistShardItemId#3583209L, buf#3583379]
Keys [2]: [shardId#3583208, worklistShardItemId#3583209L]
Functions [1]: [collect_list(struct(qty, qty#3583210, kpis, kpis#3583213), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#3583210, kpis, kpis#3583213), 0, 0)#3583207]
Results [3]: [shardId#3583208, worklistShardItemId#3583209L, map_from_entries(collect_list(struct(qty, qty#3583210, kpis, kpis#3583213), 0, 0)#3583207) AS quantityKpis#3583202]
(54) Sort [codegen id : 14]
Input [3]: [shardId#3583208, worklistShardItemId#3583209L, quantityKpis#3583202]
Arguments: [shardId#3583208 ASC NULLS FIRST, worklistShardItemId#3583209L ASC NULLS FIRST], false, 0
(55) SortMergeJoin [codegen id : 15]
Left keys [2]: [shardId#3580449, worklistShardItemId#3581971L]
Right keys [2]: [shardId#3583208, worklistShardItemId#3583209L]
Join type: LeftOuter
Join condition: None
(56) Project [codegen id : 15]
Output [42]: [shardId#3580449, worklistShardItemId#3581971L, quantityAfterProdPlantOptimization#3581972, qty#3581973, orderProposalId#3582422L, originalReplenishmentRunId#3582464L, supplierGroup#3582424, supplier#3582425, supplyingPlant#3582429, productGroup#3582430, product#3582431, plant#3582426, subrange#3582428, orderDateTime#3582432, deliveryDateTime#3582427, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, constraintValues#3582455, constraintOperators#3582454, constraintLabels#3582453, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, splitIndicator#3582441L, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, sourceOfSupplyUuid#3582436, minimumOrderQuantity#3582452, orderProposalItemId#3582423, orderProposalItemGroupId#3582446, optimizationGroups#3582465, measurements#3582463, externalProductId#3582447, externalPlantId#3582448, previousOrderProposal#3582442L, isFallbackOrderOnly#3582439, prodLocSpecificKpis#3583186, channelStreamSpecificKpis#3583201, coalesce(quantityKpis#3583202, map(keys: [], values: [])) AS quantityKpis#3583214]
Input [44]: [shardId#3580449, worklistShardItemId#3581971L, quantityAfterProdPlantOptimization#3581972, qty#3581973, orderProposalId#3582422L, originalReplenishmentRunId#3582464L, supplierGroup#3582424, supplier#3582425, supplyingPlant#3582429, productGroup#3582430, product#3582431, plant#3582426, subrange#3582428, orderDateTime#3582432, deliveryDateTime#3582427, availabilityDateTime#3582433, nextAvailabilityDateTime#3582434, constraintValues#3582455, constraintOperators#3582454, constraintLabels#3582453, logisticUnits#3582449, orderQuantityBaseUom#3582450, orderQuantityBaseUomUuid#3582451, splitIndicator#3582441L, netPriceAmount#3582458, netPriceCurrencyCode#3582459, netPriceQuantity#3582460, netPriceQuantityUom#3582461, netPriceQuantityUomUuid#3582462, sourceOfSupplyUuid#3582436, minimumOrderQuantity#3582452, orderProposalItemId#3582423, orderProposalItemGroupId#3582446, optimizationGroups#3582465, measurements#3582463, externalProductId#3582447, externalPlantId#3582448, previousOrderProposal#3582442L, isFallbackOrderOnly#3582439, prodLocSpecificKpis#3583186, channelStreamSpecificKpis#3583201, shardId#3583208, worklistShardItemId#3583209L, quantityKpis#3583202]
(57) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#3582219, channelStreamSpecificKpis#3583201, constraintLabels#3582231, constraintOperators#3582232, constraintValues#3582234, deliveryDateTime#3582218, isFallbackOrderOnly#3582221, logisticUnits#3582236, measurements#3582229, minimumOrderQuantity#3582230, netPriceAmount#3582227, netPriceCurrencyCode#3582228, netPriceQuantity#3582224, netPriceQuantityUom#3582225, netPriceQuantityUomUuid#3582226, nextAvailabilityDateTime#3582220, optimizationGroups#3582237, orderDateTime#3582217, orderProposalId#3582199L, orderProposalItemGroupId#3582201, orderProposalItemId#3582200, orderQuantityBaseUom#3582222, orderQuantityBaseUomUuid#3582223, originalReplenishmentRunId#3582202L, plant#3582213, previousOrderProposal#3582205L, prodLocSpecificKpis#3583186, product#3582212, productGroup#3582241, qty#3581973, quantityAfterProdPlantOptimization#3581972, quantityKpis#3583214, shardId#3580449, sourceOfSupplyUuid#3582208, splitIndicator#3582204L, subrange#3582211, supplier#3582210, supplierGroup#3582209, supplyingPlant#3582240]
Condition : NOT (isFallbackOrderOnly#3582221 <=> true)
(58) Project [codegen id : 1]
Output [36]: [shardId#3580449, quantityAfterProdPlantOptimization#3581972, qty#3581973, orderProposalId#3582199L, originalReplenishmentRunId#3582202L, supplierGroup#3582209, supplier#3582210, supplyingPlant#3582240, productGroup#3582241, product#3582212, plant#3582213, subrange#3582211, orderDateTime#3582217, deliveryDateTime#3582218, availabilityDateTime#3582219, nextAvailabilityDateTime#3582220, logisticUnits#3582236, orderQuantityBaseUom#3582222, orderQuantityBaseUomUuid#3582223, splitIndicator#3582204L, netPriceAmount#3582227, netPriceCurrencyCode#3582228, netPriceQuantity#3582224, netPriceQuantityUom#3582225, netPriceQuantityUomUuid#3582226, sourceOfSupplyUuid#3582208, minimumOrderQuantity#3582230, orderProposalItemId#3582200, orderProposalItemGroupId#3582201, optimizationGroups#3582237, measurements#3582229, previousOrderProposal#3582205L, prodLocSpecificKpis#3583186, channelStreamSpecificKpis#3583201, quantityKpis#3583214, arrays_zip(constraintLabels#3582231, constraintOperators#3582232, constraintValues#3582234, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#3583629]
Input [39]: [availabilityDateTime#3582219, channelStreamSpecificKpis#3583201, constraintLabels#3582231, constraintOperators#3582232, constraintValues#3582234, deliveryDateTime#3582218, isFallbackOrderOnly#3582221, logisticUnits#3582236, measurements#3582229, minimumOrderQuantity#3582230, netPriceAmount#3582227, netPriceCurrencyCode#3582228, netPriceQuantity#3582224, netPriceQuantityUom#3582225, netPriceQuantityUomUuid#3582226, nextAvailabilityDateTime#3582220, optimizationGroups#3582237, orderDateTime#3582217, orderProposalId#3582199L, orderProposalItemGroupId#3582201, orderProposalItemId#3582200, orderQuantityBaseUom#3582222, orderQuantityBaseUomUuid#3582223, originalReplenishmentRunId#3582202L, plant#3582213, previousOrderProposal#3582205L, prodLocSpecificKpis#3583186, product#3582212, productGroup#3582241, qty#3581973, quantityAfterProdPlantOptimization#3581972, quantityKpis#3583214, shardId#3580449, sourceOfSupplyUuid#3582208, splitIndicator#3582204L, subrange#3582211, supplier#3582210, supplierGroup#3582209, supplyingPlant#3582240]
(59) Project
Output [37]: [shardId#3580449, qty#3581973, orderProposalId#3582199L, originalReplenishmentRunId#3582202L, supplierGroup#3582209, supplier#3582210, supplyingPlant#3582240, productGroup#3582241, product#3582212, plant#3582213, subrange#3582211, orderDateTime#3582217, deliveryDateTime#3582218, availabilityDateTime#3582219, nextAvailabilityDateTime#3582220, logisticUnits#3582236, orderQuantityBaseUom#3582222, orderQuantityBaseUomUuid#3582223, splitIndicator#3582204L, netPriceAmount#3582227, netPriceCurrencyCode#3582228, netPriceQuantity#3582224, netPriceQuantityUom#3582225, netPriceQuantityUomUuid#3582226, sourceOfSupplyUuid#3582208, orderProposalItemId#3582200, orderProposalItemGroupId#3582201, optimizationGroups#3582237, measurements#3582229, previousOrderProposal#3582205L, prodLocSpecificKpis#3583186, channelStreamSpecificKpis#3583201, quantityKpis#3583214, struct(minServiceLevel, array_min(filter(constraintStructArray#3583629, lambdafunction((lambda x_11831#3583636.constraintLabels = ServiceLevel), lambda x_11831#3583636, false)).constraintValues), minServiceLevelMinStock, array_min(filter(constraintStructArray#3583629, lambdafunction((lambda x_11832#3583637.constraintLabels = ServiceLevelMinimumStock), lambda x_11832#3583637, false)).constraintValues), maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#3583629, lambdafunction((lambda x_11833#3583638.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_11833#3583638, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#3583629, lambdafunction((lambda x_11834#3583639.constraintLabels = RangeOfCoverage), lambda x_11834#3583639, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#3582230, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#3583186, lambdafunction((lambda x_11835#3583640.label = NonListingStartTimestamp), lambda x_11835#3583640, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#3583635, CASE WHEN (qty#3581973 <=> quantityAfterProdPlantOptimization#3581972) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#3581973 * (cast(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11836#3583708.isOrderUnit, lambda x_11836#3583708, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11836#3583709.isOrderUnit, lambda x_11836#3583709, false)), 1, None, false).numerator as double))), qty#3581973), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11836#3583710.isOrderUnit, lambda x_11836#3583710, false)), 1, None, false).uom, orderQuantityBaseUom#3582222), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11836#3583711.isOrderUnit, lambda x_11836#3583711, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3582223), candidateOrderQuantityInBaseUnit, qty#3581973, orderQuantityBaseUom, orderQuantityBaseUom#3582222, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3582223, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3582236, lambdafunction((lambda x_11838#3583712.isPreferred AND (((qty#3581973 * cast(lambda x_11838#3583712.denominator as double)) % cast(lambda x_11838#3583712.numerator as double)) = 0.0)), lambda x_11838#3583712, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3581973 * cast(lambda x_11839#3583753.denominator as double)) / cast(lambda x_11839#3583753.numerator as double)), uom, lambda x_11839#3583753.uom, uomUuid, lambda x_11839#3583753.uomUuid), lambda x_11839#3583753, false))).inPreferredQuantity, coalesce((qty#3581973 * (cast(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11837#3583713.isOrderUnit, lambda x_11837#3583713, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11837#3583714.isOrderUnit, lambda x_11837#3583714, false)), 1, None, false).numerator as double))), qty#3581973)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3582236, lambdafunction((lambda x_11838#3583715.isPreferred AND (((qty#3581973 * cast(lambda x_11838#3583715.denominator as double)) % cast(lambda x_11838#3583715.numerator as double)) = 0.0)), lambda x_11838#3583715, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3581973 * cast(lambda x_11839#3583754.denominator as double)) / cast(lambda x_11839#3583754.numerator as double)), uom, lambda x_11839#3583754.uom, uomUuid, lambda x_11839#3583754.uomUuid), lambda x_11839#3583754, false))).uom, coalesce(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11837#3583716.isOrderUnit, lambda x_11837#3583716, false)), 1, None, false).uom, orderQuantityBaseUom#3582222)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3582236, lambdafunction((lambda x_11838#3583717.isPreferred AND (((qty#3581973 * cast(lambda x_11838#3583717.denominator as double)) % cast(lambda x_11838#3583717.numerator as double)) = 0.0)), lambda x_11838#3583717, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3581973 * cast(lambda x_11839#3583755.denominator as double)) / cast(lambda x_11839#3583755.numerator as double)), uom, lambda x_11839#3583755.uom, uomUuid, lambda x_11839#3583755.uomUuid), lambda x_11839#3583755, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11837#3583718.isOrderUnit, lambda x_11837#3583718, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3582223)), serviceLevel, coalesce(filter(element_at(quantityKpis#3583214, qty#3581973, None, false), lambdafunction((lambda x_11844#3583719.label = ServiceLevel), lambda x_11844#3583719, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#3581973 * (cast(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11836#3583723.isOrderUnit, lambda x_11836#3583723, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11836#3583724.isOrderUnit, lambda x_11836#3583724, false)), 1, None, false).numerator as double))), qty#3581973), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11836#3583725.isOrderUnit, lambda x_11836#3583725, false)), 1, None, false).uom, orderQuantityBaseUom#3582222), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11836#3583726.isOrderUnit, lambda x_11836#3583726, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3582223), candidateOrderQuantityInBaseUnit, qty#3581973, orderQuantityBaseUom, orderQuantityBaseUom#3582222, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3582223, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3582236, lambdafunction((lambda x_11838#3583727.isPreferred AND (((qty#3581973 * cast(lambda x_11838#3583727.denominator as double)) % cast(lambda x_11838#3583727.numerator as double)) = 0.0)), lambda x_11838#3583727, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3581973 * cast(lambda x_11839#3583756.denominator as double)) / cast(lambda x_11839#3583756.numerator as double)), uom, lambda x_11839#3583756.uom, uomUuid, lambda x_11839#3583756.uomUuid), lambda x_11839#3583756, false))).inPreferredQuantity, coalesce((qty#3581973 * (cast(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11837#3583728.isOrderUnit, lambda x_11837#3583728, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11837#3583729.isOrderUnit, lambda x_11837#3583729, false)), 1, None, false).numerator as double))), qty#3581973)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3582236, lambdafunction((lambda x_11838#3583730.isPreferred AND (((qty#3581973 * cast(lambda x_11838#3583730.denominator as double)) % cast(lambda x_11838#3583730.numerator as double)) = 0.0)), lambda x_11838#3583730, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3581973 * cast(lambda x_11839#3583757.denominator as double)) / cast(lambda x_11839#3583757.numerator as double)), uom, lambda x_11839#3583757.uom, uomUuid, lambda x_11839#3583757.uomUuid), lambda x_11839#3583757, false))).uom, coalesce(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11837#3583731.isOrderUnit, lambda x_11837#3583731, false)), 1, None, false).uom, orderQuantityBaseUom#3582222)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3582236, lambdafunction((lambda x_11838#3583732.isPreferred AND (((qty#3581973 * cast(lambda x_11838#3583732.denominator as double)) % cast(lambda x_11838#3583732.numerator as double)) = 0.0)), lambda x_11838#3583732, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3581973 * cast(lambda x_11839#3583758.denominator as double)) / cast(lambda x_11839#3583758.numerator as double)), uom, lambda x_11839#3583758.uom, uomUuid, lambda x_11839#3583758.uomUuid), lambda x_11839#3583758, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11837#3583733.isOrderUnit, lambda x_11837#3583733, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3582223)), serviceLevel, coalesce(filter(element_at(quantityKpis#3583214, qty#3581973, None, false), lambdafunction((lambda x_11848#3583734.label = ServiceLevel), lambda x_11848#3583734, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#3581972 * (cast(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11840#3583738.isOrderUnit, lambda x_11840#3583738, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11840#3583739.isOrderUnit, lambda x_11840#3583739, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#3581972), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11840#3583740.isOrderUnit, lambda x_11840#3583740, false)), 1, None, false).uom, orderQuantityBaseUom#3582222), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11840#3583741.isOrderUnit, lambda x_11840#3583741, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3582223), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#3581972, orderQuantityBaseUom, orderQuantityBaseUom#3582222, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3582223, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3582236, lambdafunction((lambda x_11842#3583742.isPreferred AND (((quantityAfterProdPlantOptimization#3581972 * cast(lambda x_11842#3583742.denominator as double)) % cast(lambda x_11842#3583742.numerator as double)) = 0.0)), lambda x_11842#3583742, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3581972 * cast(lambda x_11843#3583759.denominator as double)) / cast(lambda x_11843#3583759.numerator as double)), uom, lambda x_11843#3583759.uom, uomUuid, lambda x_11843#3583759.uomUuid), lambda x_11843#3583759, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#3581972 * (cast(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11841#3583743.isOrderUnit, lambda x_11841#3583743, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11841#3583744.isOrderUnit, lambda x_11841#3583744, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#3581972)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3582236, lambdafunction((lambda x_11842#3583745.isPreferred AND (((quantityAfterProdPlantOptimization#3581972 * cast(lambda x_11842#3583745.denominator as double)) % cast(lambda x_11842#3583745.numerator as double)) = 0.0)), lambda x_11842#3583745, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3581972 * cast(lambda x_11843#3583760.denominator as double)) / cast(lambda x_11843#3583760.numerator as double)), uom, lambda x_11843#3583760.uom, uomUuid, lambda x_11843#3583760.uomUuid), lambda x_11843#3583760, false))).uom, coalesce(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11841#3583746.isOrderUnit, lambda x_11841#3583746, false)), 1, None, false).uom, orderQuantityBaseUom#3582222)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3582236, lambdafunction((lambda x_11842#3583747.isPreferred AND (((quantityAfterProdPlantOptimization#3581972 * cast(lambda x_11842#3583747.denominator as double)) % cast(lambda x_11842#3583747.numerator as double)) = 0.0)), lambda x_11842#3583747, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3581972 * cast(lambda x_11843#3583761.denominator as double)) / cast(lambda x_11843#3583761.numerator as double)), uom, lambda x_11843#3583761.uom, uomUuid, lambda x_11843#3583761.uomUuid), lambda x_11843#3583761, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11841#3583748.isOrderUnit, lambda x_11841#3583748, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3582223)), serviceLevel, coalesce(filter(element_at(quantityKpis#3583214, quantityAfterProdPlantOptimization#3581972, None, false), lambdafunction((lambda x_11852#3583749.label = ServiceLevel), lambda x_11852#3583749, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#3583707, coalesce(filter(prodLocSpecificKpis#3583186, lambdafunction((lambda x_11856#3583763.label = InitialStockQty), lambda x_11856#3583763, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#3583762, coalesce(filter(prodLocSpecificKpis#3583186, lambdafunction((lambda x_11857#3583765.label = DemandPeriodEndTimestamp), lambda x_11857#3583765, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#3583764]
Input [36]: [shardId#3580449, quantityAfterProdPlantOptimization#3581972, qty#3581973, orderProposalId#3582199L, originalReplenishmentRunId#3582202L, supplierGroup#3582209, supplier#3582210, supplyingPlant#3582240, productGroup#3582241, product#3582212, plant#3582213, subrange#3582211, orderDateTime#3582217, deliveryDateTime#3582218, availabilityDateTime#3582219, nextAvailabilityDateTime#3582220, logisticUnits#3582236, orderQuantityBaseUom#3582222, orderQuantityBaseUomUuid#3582223, splitIndicator#3582204L, netPriceAmount#3582227, netPriceCurrencyCode#3582228, netPriceQuantity#3582224, netPriceQuantityUom#3582225, netPriceQuantityUomUuid#3582226, sourceOfSupplyUuid#3582208, minimumOrderQuantity#3582230, orderProposalItemId#3582200, orderProposalItemGroupId#3582201, optimizationGroups#3582237, measurements#3582229, previousOrderProposal#3582205L, prodLocSpecificKpis#3583186, channelStreamSpecificKpis#3583201, quantityKpis#3583214, constraintStructArray#3583629]
(60) Project
Output [21]: [shardId#3580449, qty#3581973, orderProposalId#3582199L, originalReplenishmentRunId#3582202L, supplierGroup#3582209, supplier#3582210, supplyingPlant#3582240, productGroup#3582241, product#3582212, plant#3582213, subrange#3582211, orderDateTime#3582217, deliveryDateTime#3582218, logisticUnits#3582236, orderQuantityBaseUom#3582222, orderQuantityBaseUomUuid#3582223, splitIndicator#3582204L, orderProposalItemId#3582200, orderProposalItemGroupId#3582201, previousOrderProposal#3582205L, struct(itemId, orderProposalItemId#3582200, itemGroupId, orderProposalItemGroupId#3582201, supplier, supplier#3582210, supplyingPlant, supplyingPlant#3582240, productGroup, productGroup#3582241, product, product#3582212, plant, plant#3582213, supplierSubRange, subrange#3582211, sourceOfSupplyUuid, sourceOfSupplyUuid#3582208, deliveryDateTime, deliveryDateTime#3582218, unitPrice, netPriceAmount#3582227, unitPriceCurrency, netPriceCurrencyCode#3582228, unitPriceQuantity, ... 37 more fields) AS parentItem#3583838]
Input [37]: [shardId#3580449, qty#3581973, orderProposalId#3582199L, originalReplenishmentRunId#3582202L, supplierGroup#3582209, supplier#3582210, supplyingPlant#3582240, productGroup#3582241, product#3582212, plant#3582213, subrange#3582211, orderDateTime#3582217, deliveryDateTime#3582218, availabilityDateTime#3582219, nextAvailabilityDateTime#3582220, logisticUnits#3582236, orderQuantityBaseUom#3582222, orderQuantityBaseUomUuid#3582223, splitIndicator#3582204L, netPriceAmount#3582227, netPriceCurrencyCode#3582228, netPriceQuantity#3582224, netPriceQuantityUom#3582225, netPriceQuantityUomUuid#3582226, sourceOfSupplyUuid#3582208, orderProposalItemId#3582200, orderProposalItemGroupId#3582201, optimizationGroups#3582237, measurements#3582229, previousOrderProposal#3582205L, prodLocSpecificKpis#3583186, channelStreamSpecificKpis#3583201, quantityKpis#3583214, constraintBenchmark#3583635, calculationAnalysis#3583707, inventoryDateTime#3583762, demandPeriodEndDateTime#3583764]
(61) Project
Output [12]: [shardId#3580449, orderProposalId#3582199L, originalReplenishmentRunId#3582202L, supplierGroup#3582209, supplier#3582210, supplyingPlant#3582240, orderDateTime#3582217, splitIndicator#3582204L, orderProposalItemGroupId#3582201, previousOrderProposal#3582205L, parentItem#3583838, struct(itemId, orderProposalItemId#3582200, supplier, supplier#3582210, supplyingPlant, supplyingPlant#3582240, productGroup, productGroup#3582241, product, product#3582212, plant, plant#3582213, supplierSubRange, subrange#3582211, deliveryDateTime, deliveryDateTime#3582218, orderQuantity, coalesce((qty#3581973 * (cast(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11881#3583872.isOrderUnit, lambda x_11881#3583872, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11881#3583873.isOrderUnit, lambda x_11881#3583873, false)), 1, None, false).numerator as double))), qty#3581973), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11881#3583874.isOrderUnit, lambda x_11881#3583874, false)), 1, None, false).uom, orderQuantityBaseUom#3582222), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3582236, lambdafunction(lambda x_11881#3583875.isOrderUnit, lambda x_11881#3583875, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3582223), orderQuantityInBaseUnit, qty#3581973, orderQuantityBaseUom, ... 13 more fields) AS item#3583869]
Input [21]: [shardId#3580449, qty#3581973, orderProposalId#3582199L, originalReplenishmentRunId#3582202L, supplierGroup#3582209, supplier#3582210, supplyingPlant#3582240, productGroup#3582241, product#3582212, plant#3582213, subrange#3582211, orderDateTime#3582217, deliveryDateTime#3582218, logisticUnits#3582236, orderQuantityBaseUom#3582222, orderQuantityBaseUomUuid#3582223, splitIndicator#3582204L, orderProposalItemId#3582200, orderProposalItemGroupId#3582201, previousOrderProposal#3582205L, parentItem#3583838]
(62) ObjectHashAggregate
Input [12]: [shardId#3580449, orderProposalId#3582199L, originalReplenishmentRunId#3582202L, supplierGroup#3582209, supplier#3582210, supplyingPlant#3582240, orderDateTime#3582217, splitIndicator#3582204L, orderProposalItemGroupId#3582201, previousOrderProposal#3582205L, parentItem#3583838, item#3583869]
Keys [4]: [shardId#3580449, orderProposalId#3582199L, splitIndicator#3582204L, orderProposalItemGroupId#3582201]
Functions [8]: [partial_max(originalReplenishmentRunId#3582202L), partial_max(supplierGroup#3582209), partial_max(supplier#3582210), partial_max(supplyingPlant#3582240), partial_max(orderDateTime#3582217), partial_collect_list(parentItem#3583838, 0, 0), partial_collect_set(previousOrderProposal#3582205L, 0, 0), partial_collect_list(item#3583869, 0, 0)]
Aggregate Attributes [8]: [max#3585494L, max#3585495, max#3585496, max#3585497, max#3585498, buf#3585499, buf#3585500, buf#3585501]
Results [12]: [shardId#3580449, orderProposalId#3582199L, splitIndicator#3582204L, orderProposalItemGroupId#3582201, max#3585502L, max#3585503, max#3585504, max#3585505, max#3585506, buf#3585507, buf#3585508, buf#3585509]
(63) Exchange
Input [12]: [shardId#3580449, orderProposalId#3582199L, splitIndicator#3582204L, orderProposalItemGroupId#3582201, max#3585502L, max#3585503, max#3585504, max#3585505, max#3585506, buf#3585507, buf#3585508, buf#3585509]
Arguments: hashpartitioning(shardId#3580449, orderProposalId#3582199L, splitIndicator#3582204L, orderProposalItemGroupId#3582201, 30), ENSURE_REQUIREMENTS, [plan_id=1027963]
(64) ObjectHashAggregate
Input [12]: [shardId#3580449, orderProposalId#3582199L, splitIndicator#3582204L, orderProposalItemGroupId#3582201, max#3585502L, max#3585503, max#3585504, max#3585505, max#3585506, buf#3585507, buf#3585508, buf#3585509]
Keys [4]: [shardId#3580449, orderProposalId#3582199L, splitIndicator#3582204L, orderProposalItemGroupId#3582201]
Functions [8]: [max(originalReplenishmentRunId#3582202L), max(supplierGroup#3582209), max(supplier#3582210), max(supplyingPlant#3582240), max(orderDateTime#3582217), collect_list(parentItem#3583838, 0, 0), collect_set(previousOrderProposal#3582205L, 0, 0), collect_list(item#3583869, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#3582202L)#3583938L, max(supplierGroup#3582209)#3583939, max(supplier#3582210)#3583940, max(supplyingPlant#3582240)#3583941, max(orderDateTime#3582217)#3583942, collect_list(parentItem#3583838, 0, 0)#3583943, collect_set(previousOrderProposal#3582205L, 0, 0)#3583945, collect_list(item#3583869, 0, 0)#3583944]
Results [10]: [shardId#3580449, orderProposalId#3582199L, max(originalReplenishmentRunId#3582202L)#3583938L AS originalReplenishmentRunId#3583886L, max(supplierGroup#3582209)#3583939 AS supplierGroup#3583887, max(supplier#3582210)#3583940 AS supplier#3583888, max(supplyingPlant#3582240)#3583941 AS supplyingPlant#3583889, max(orderDateTime#3582217)#3583942 AS orderDateTime#3583890, collect_list(parentItem#3583838, 0, 0)#3583943 AS parentItems#3583891, collect_set(previousOrderProposal#3582205L, 0, 0)#3583945 AS previousOrderProposals#3583893, struct(itemGroupId, orderProposalItemGroupId#3582201, items, collect_list(item#3583869, 0, 0)#3583944) AS itemGroup#3583947]
(65) ObjectHashAggregate
Input [10]: [shardId#3580449, orderProposalId#3582199L, originalReplenishmentRunId#3583886L, supplierGroup#3583887, supplier#3583888, supplyingPlant#3583889, orderDateTime#3583890, parentItems#3583891, previousOrderProposals#3583893, itemGroup#3583947]
Keys [2]: [shardId#3580449, orderProposalId#3582199L]
Functions [8]: [partial_max(originalReplenishmentRunId#3583886L), partial_max(supplierGroup#3583887), partial_max(supplier#3583888), partial_max(supplyingPlant#3583889), partial_max(orderDateTime#3583890), partial_collect_list(itemGroup#3583947, 0, 0), partial_collect_list(parentItems#3583891, 0, 0), partial_collect_set(previousOrderProposals#3583893, 0, 0)]
Aggregate Attributes [8]: [max#3585478L, max#3585479, max#3585480, max#3585481, max#3585482, buf#3585483, buf#3585484, buf#3585485]
Results [10]: [shardId#3580449, orderProposalId#3582199L, max#3585486L, max#3585487, max#3585488, max#3585489, max#3585490, buf#3585491, buf#3585492, buf#3585493]
(66) Exchange
Input [10]: [shardId#3580449, orderProposalId#3582199L, max#3585486L, max#3585487, max#3585488, max#3585489, max#3585490, buf#3585491, buf#3585492, buf#3585493]
Arguments: hashpartitioning(shardId#3580449, orderProposalId#3582199L, 30), ENSURE_REQUIREMENTS, [plan_id=1027966]
(67) ObjectHashAggregate
Input [10]: [shardId#3580449, orderProposalId#3582199L, max#3585486L, max#3585487, max#3585488, max#3585489, max#3585490, buf#3585491, buf#3585492, buf#3585493]
Keys [2]: [shardId#3580449, orderProposalId#3582199L]
Functions [8]: [max(originalReplenishmentRunId#3583886L), max(supplierGroup#3583887), max(supplier#3583888), max(supplyingPlant#3583889), max(orderDateTime#3583890), collect_list(itemGroup#3583947, 0, 0), collect_list(parentItems#3583891, 0, 0), collect_set(previousOrderProposals#3583893, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#3583886L)#3583969L, max(supplierGroup#3583887)#3583970, max(supplier#3583888)#3583971, max(supplyingPlant#3583889)#3583972, max(orderDateTime#3583890)#3583973, collect_list(itemGroup#3583947, 0, 0)#3583974, collect_list(parentItems#3583891, 0, 0)#3583975, collect_set(previousOrderProposals#3583893, 0, 0)#3583976]
Results [10]: [shardId#3580449, orderProposalId#3582199L, max(originalReplenishmentRunId#3583886L)#3583969L AS originalReplenishmentRunId#3583948L, max(supplierGroup#3583887)#3583970 AS supplierGroup#3583949, max(supplier#3583888)#3583971 AS supplier#3583950, max(supplyingPlant#3583889)#3583972 AS supplyingPlant#3583951, max(orderDateTime#3583890)#3583973 AS orderDateTime#3583952, collect_list(itemGroup#3583947, 0, 0)#3583974 AS itemGroups#3583953, flatten(collect_list(parentItems#3583891, 0, 0)#3583975) AS parentItems#3583954, flatten(collect_set(previousOrderProposals#3583893, 0, 0)#3583976) AS previousOrderProposals#3583955]
(68) Project
Output [2]: [shardId#3580449, struct(orderProposalId, orderProposalId#3582199L, originalReplenishmentRunId, originalReplenishmentRunId#3583948L, supplierGroup, supplierGroup#3583949, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#3583949) THEN supplier#3583950 END, supplyingPlant, supplyingPlant#3583951, orderDateTime, orderDateTime#3583952, itemGroups, itemGroups#3583953, previousOrderProposals, array_distinct(previousOrderProposals#3583955), parentItems, parentItems#3583954) AS orderProposal#3583980]
Input [10]: [shardId#3580449, orderProposalId#3582199L, originalReplenishmentRunId#3583948L, supplierGroup#3583949, supplier#3583950, supplyingPlant#3583951, orderDateTime#3583952, itemGroups#3583953, parentItems#3583954, previousOrderProposals#3583955]
(69) Project
Output [11]: [shardId#3580449, orderProposal#3583980.orderProposalId AS _extract_orderProposalId#3585110L, orderProposal#3583980.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#3585111L, orderProposal#3583980.supplierGroup AS _extract_supplierGroup#3585112, orderProposal#3583980.supplier AS _extract_supplier#3585113, orderProposal#3583980.supplyingPlant AS _extract_supplyingPlant#3585114, orderProposal#3583980.orderDateTime AS _extract_orderDateTime#3585115, orderProposal#3583980.itemGroups AS _extract_itemGroups#3585116, orderProposal#3583980.previousOrderProposals AS _extract_previousOrderProposals#3585117, orderProposal#3583980.parentItems AS _extract_parentItems#3585118, orderProposal#3583980.orderProposalId AS _extract_orderProposalId#3585119L]
Input [2]: [shardId#3580449, orderProposal#3583980]
(70) Exchange
Input [11]: [shardId#3580449, _extract_orderProposalId#3585110L, _extract_originalReplenishmentRunId#3585111L, _extract_supplierGroup#3585112, _extract_supplier#3585113, _extract_supplyingPlant#3585114, _extract_orderDateTime#3585115, _extract_itemGroups#3585116, _extract_previousOrderProposals#3585117, _extract_parentItems#3585118, _extract_orderProposalId#3585119L]
Arguments: hashpartitioning(coalesce(shardId#3580449, ), isnull(shardId#3580449), coalesce(_extract_orderProposalId#3585119L, 0), isnull(_extract_orderProposalId#3585119L), 30), ENSURE_REQUIREMENTS, [plan_id=1027970]
(71) Sort
Input [11]: [shardId#3580449, _extract_orderProposalId#3585110L, _extract_originalReplenishmentRunId#3585111L, _extract_supplierGroup#3585112, _extract_supplier#3585113, _extract_supplyingPlant#3585114, _extract_orderDateTime#3585115, _extract_itemGroups#3585116, _extract_previousOrderProposals#3585117, _extract_parentItems#3585118, _extract_orderProposalId#3585119L]
Arguments: [coalesce(shardId#3580449, ) ASC NULLS FIRST, isnull(shardId#3580449) ASC NULLS FIRST, coalesce(_extract_orderProposalId#3585119L, 0) ASC NULLS FIRST, isnull(_extract_orderProposalId#3585119L) ASC NULLS FIRST], false, 0
(72) InMemoryTableScan
Output [3]: [shardId#3583995, orderProposalId#3583996L, optimizationGroups#3583998]
Arguments: [shardId#3583995, orderProposalId#3583996L, optimizationGroups#3583998], [isnotnull(orderProposalId#3583996L)]
(73) InMemoryRelation
Arguments: [shardId#3583995, orderProposalId#3583996L, items#3583997, optimizationGroups#3583998, isOptimal#3583999, optimizationInsights#3584001], StorageLevel(disk, memory, 2 replicas)
(74) Filter [codegen id : 2]
Input [3]: [shardId#3583995, orderProposalId#3583996L, optimizationGroups#3583998]
Condition : isnotnull(orderProposalId#3583996L)
(75) Exchange
Input [3]: [shardId#3583995, orderProposalId#3583996L, optimizationGroups#3583998]
Arguments: hashpartitioning(orderProposalId#3583996L, 30), ENSURE_REQUIREMENTS, [plan_id=1027975]
(76) Sort [codegen id : 3]
Input [3]: [shardId#3583995, orderProposalId#3583996L, optimizationGroups#3583998]
Arguments: [orderProposalId#3583996L ASC NULLS FIRST], false, 0
(77) InMemoryTableScan
Output [2]: [items#3583624, shardId#3583622]
Arguments: [items#3583624, shardId#3583622], [(size(items#3583624.worklistShardItemId, true) > 0), isnotnull(items#3583624.worklistShardItemId), (shardId#3583622 = 0_3_10000000532)]
(78) InMemoryRelation
Arguments: [shardId#3583622, orderProposalId#3583623L, items#3583624, optimizationGroups#3583625, isOptimal#3583626, optimizationInsights#3583628], StorageLevel(disk, memory, 2 replicas)
(79) Filter [codegen id : 4]
Input [2]: [items#3583624, shardId#3583622]
Condition : (((size(items#3583624.worklistShardItemId, true) > 0) AND isnotnull(items#3583624.worklistShardItemId)) AND (shardId#3583622 = 0_3_10000000532))
(80) Project [codegen id : 4]
Output [1]: [items#3583624.worklistShardItemId AS _extract_worklistShardItemId#3584643]
Input [2]: [items#3583624, shardId#3583622]
(81) Generate [codegen id : 4]
Input [1]: [_extract_worklistShardItemId#3584643]
Arguments: explode(_extract_worklistShardItemId#3584643), false, [item#3584002L]
(82) Project [codegen id : 4]
Output [1]: [item#3584002L AS worklistShardItemId#3584003L]
Input [1]: [item#3584002L]
(83) BroadcastExchange
Input [1]: [worklistShardItemId#3584003L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=1027986]
(84) Scan parquet
Output [5]: [orderProposalId#3584051L, isFallbackOrderOnly#3584068, worklistShardItemId#3584074L, shardId#3584095, sequenceId#3584073]
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#3584095), isnotnull(sequenceId#3584073), (shardId#3584095 = 0_3_10000000532), (sequenceId#3584073 = 2)]
PushedFilters: [IsNotNull(worklistShardItemId), Not(EqualNullSafe(isFallbackOrderOnly,true)), IsNotNull(orderProposalId)]
ReadSchema: struct<orderProposalId:bigint,isFallbackOrderOnly:boolean,worklistShardItemId:bigint>
(85) ColumnarToRow [codegen id : 5]
Input [5]: [orderProposalId#3584051L, isFallbackOrderOnly#3584068, worklistShardItemId#3584074L, shardId#3584095, sequenceId#3584073]
(86) Filter [codegen id : 5]
Input [5]: [orderProposalId#3584051L, isFallbackOrderOnly#3584068, worklistShardItemId#3584074L, shardId#3584095, sequenceId#3584073]
Condition : ((isnotnull(worklistShardItemId#3584074L) AND NOT (isFallbackOrderOnly#3584068 <=> true)) AND isnotnull(orderProposalId#3584051L))
(87) Project [codegen id : 5]
Output [2]: [orderProposalId#3584051L, worklistShardItemId#3584074L]
Input [5]: [orderProposalId#3584051L, isFallbackOrderOnly#3584068, worklistShardItemId#3584074L, shardId#3584095, sequenceId#3584073]
(88) Exchange
Input [2]: [orderProposalId#3584051L, worklistShardItemId#3584074L]
Arguments: hashpartitioning(worklistShardItemId#3584074L, 30), REPARTITION_BY_NUM, [plan_id=1027993]
(89) Project
Output [2]: [worklistShardItemId#3584074L, orderProposalId#3584051L]
Input [2]: [orderProposalId#3584051L, worklistShardItemId#3584074L]
(90) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [worklistShardItemId#3584003L]
Right keys [1]: [worklistShardItemId#3584074L]
Join type: Inner
Join condition: None
(91) Project [codegen id : 6]
Output [1]: [orderProposalId#3584051L]
Input [3]: [worklistShardItemId#3584003L, worklistShardItemId#3584074L, orderProposalId#3584051L]
(92) HashAggregate [codegen id : 6]
Input [1]: [orderProposalId#3584051L]
Keys [1]: [orderProposalId#3584051L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#3584051L]
(93) Exchange
Input [1]: [orderProposalId#3584051L]
Arguments: hashpartitioning(orderProposalId#3584051L, 30), ENSURE_REQUIREMENTS, [plan_id=1028000]
(94) HashAggregate [codegen id : 7]
Input [1]: [orderProposalId#3584051L]
Keys [1]: [orderProposalId#3584051L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#3584051L]
(95) Sort [codegen id : 7]
Input [1]: [orderProposalId#3584051L]
Arguments: [orderProposalId#3584051L ASC NULLS FIRST], false, 0
(96) SortMergeJoin [codegen id : 8]
Left keys [1]: [orderProposalId#3583996L]
Right keys [1]: [orderProposalId#3584051L]
Join type: Inner
Join condition: None
(97) Project
Output [3]: [orderProposalId#3583996L, shardId#3583995, coalesce(transform(optimizationGroups#3583998, lambdafunction(struct(optGroupId, lambda x_11885#3583993.optGroupId, minOrderProfile, lambda x_11885#3583993.minOrderProfile, assignmentDetails, lambda x_11885#3583993.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_11885#3583993.minOrderGoal.dimensionType, unit, lambda x_11885#3583993.minOrderGoal.unit, unitUuid, lambda x_11885#3583993.minOrderGoal.unitUuid, goalValue, lambda x_11885#3583993.minOrderGoal.minOrderValue, calcValue, lambda x_11885#3583993.minOrderGoal.calculatedOrderValue), transportLoadProfile, null, transportLoadGoal, null), lambda x_11885#3583993, false)), []) AS optimizationGroups#3583992]
Input [4]: [shardId#3583995, orderProposalId#3583996L, optimizationGroups#3583998, orderProposalId#3584051L]
(98) Exchange
Input [3]: [orderProposalId#3583996L, shardId#3583995, optimizationGroups#3583992]
Arguments: hashpartitioning(coalesce(shardId#3583995, ), isnull(shardId#3583995), coalesce(orderProposalId#3583996L, 0), isnull(orderProposalId#3583996L), 30), ENSURE_REQUIREMENTS, [plan_id=1028009]
(99) Sort [codegen id : 9]
Input [3]: [orderProposalId#3583996L, shardId#3583995, optimizationGroups#3583992]
Arguments: [coalesce(shardId#3583995, ) ASC NULLS FIRST, isnull(shardId#3583995) ASC NULLS FIRST, coalesce(orderProposalId#3583996L, 0) ASC NULLS FIRST, isnull(orderProposalId#3583996L) ASC NULLS FIRST], false, 0
(100) SortMergeJoin
Left keys [4]: [coalesce(shardId#3580449, ), isnull(shardId#3580449), coalesce(_extract_orderProposalId#3585119L, 0), isnull(_extract_orderProposalId#3585119L)]
Right keys [4]: [coalesce(shardId#3583995, ), isnull(shardId#3583995), coalesce(orderProposalId#3583996L, 0), isnull(orderProposalId#3583996L)]
Join type: LeftOuter
Join condition: None
(101) Project
Output [2]: [shardId#3580449, named_struct(orderProposalId, _extract_orderProposalId#3585119L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#3585111L, supplierGroup, _extract_supplierGroup#3585112, optimizationGroups, coalesce(optimizationGroups#3583992, []), supplier, _extract_supplier#3585113, supplyingPlant, _extract_supplyingPlant#3585114, orderDateTime, _extract_orderDateTime#3585115, itemGroups, _extract_itemGroups#3585116, previousOrderProposals, _extract_previousOrderProposals#3585117, parentItems, _extract_parentItems#3585118) AS orderProposal#3584099]
Input [14]: [shardId#3580449, _extract_orderProposalId#3585110L, _extract_originalReplenishmentRunId#3585111L, _extract_supplierGroup#3585112, _extract_supplier#3585113, _extract_supplyingPlant#3585114, _extract_orderDateTime#3585115, _extract_itemGroups#3585116, _extract_previousOrderProposals#3585117, _extract_parentItems#3585118, _extract_orderProposalId#3585119L, orderProposalId#3583996L, shardId#3583995, optimizationGroups#3583992]
(102) Project
Output [3]: [shardId#3580449, orderProposal#3584099, CASE WHEN (size(orderProposal#3584099.parentItems, true) > 2000) THEN xxhash64(orderProposal#3584099.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#3584099.orderProposalId as decimal(20,0)), 60), 42) END AS resultSeparationId#3592447L]
Input [2]: [orderProposal#3584099, shardId#3580449]
(103) ObjectHashAggregate
Input [3]: [shardId#3580449, orderProposal#3584099, resultSeparationId#3592447L]
Keys [2]: [shardId#3580449, resultSeparationId#3592447L]
Functions [1]: [partial_collect_list(orderProposal#3584099, 0, 0)]
Aggregate Attributes [1]: [buf#3592486]
Results [3]: [shardId#3580449, resultSeparationId#3592447L, buf#3592487]
(104) Exchange
Input [3]: [shardId#3580449, resultSeparationId#3592447L, buf#3592487]
Arguments: hashpartitioning(shardId#3580449, resultSeparationId#3592447L, 30), ENSURE_REQUIREMENTS, [plan_id=1029905]
(105) ObjectHashAggregate
Input [3]: [shardId#3580449, resultSeparationId#3592447L, buf#3592487]
Keys [2]: [shardId#3580449, resultSeparationId#3592447L]
Functions [1]: [collect_list(orderProposal#3584099, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#3584099, 0, 0)#3592455]
Results [3]: [shardId#3580449, resultSeparationId#3592447L, collect_list(orderProposal#3584099, 0, 0)#3592455 AS orderProposals#3592451]
(106) Exchange
Input [3]: [shardId#3580449, resultSeparationId#3592447L, orderProposals#3592451]
Arguments: rangepartitioning(shardId#3580449 ASC NULLS FIRST, resultSeparationId#3592447L ASC NULLS FIRST, 60), REPARTITION_BY_NUM, [plan_id=1029948]
(107) Project
Output [2]: [shardId#3580449, orderProposals#3592451]
Input [3]: [shardId#3580449, resultSeparationId#3592447L, orderProposals#3592451]
(108) HashAggregate [codegen id : 1]
Input [1]: [shardId#3580449]
Keys [1]: [shardId#3580449]
Functions: []
Aggregate Attributes: []
Results [1]: [shardId#3580449]
(109) Exchange
Input [1]: [shardId#3580449]
Arguments: hashpartitioning(shardId#3580449, 30), ENSURE_REQUIREMENTS, [plan_id=1034313]
(110) HashAggregate [codegen id : 2]
Input [1]: [shardId#3580449]
Keys [1]: [shardId#3580449]
Functions: []
Aggregate Attributes: []
Results [1]: [shardId#3580449]