== Physical Plan ==
Execute InsertIntoHadoopFsRelationCommand (111)
+- WriteFiles (110)
+- Sort (109)
+- Project (108)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- Project (107)
+- Exchange (106)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- ObjectHashAggregate (105)
+- Exchange (104)
+- ObjectHashAggregate (103)
+- Project (102)
+- InMemoryTableScan (5)
+- InMemoryRelation (6)
+- Project (101)
+- SortMergeJoin LeftOuter (100)
:- Sort (71)
: +- Exchange (70)
: +- Project (69)
: +- Project (68)
: +- ObjectHashAggregate (67)
: +- Exchange (66)
: +- ObjectHashAggregate (65)
: +- ObjectHashAggregate (64)
: +- Exchange (63)
: +- ObjectHashAggregate (62)
: +- Project (61)
: +- Project (60)
: +- Project (59)
: +- * Project (58)
: +- * Filter (57)
: +- InMemoryTableScan (7)
: +- InMemoryRelation (8)
: +- * Project (56)
: +- * SortMergeJoin LeftOuter (55)
: :- * Project (47)
: : +- * SortMergeJoin LeftOuter (46)
: : :- * Project (38)
: : : +- * SortMergeJoin LeftOuter (37)
: : : :- * Sort (31)
: : : : +- Exchange (30)
: : : : +- * Project (29)
: : : : +- * SortMergeJoin LeftOuter (28)
: : : : :- * Sort (20)
: : : : : +- Exchange (19)
: : : : : +- * Project (18)
: : : : : +- * Generate (17)
: : : : : +- * Filter (16)
: : : : : +- InMemoryTableScan (9)
: : : : : +- InMemoryRelation (10)
: : : : : +- * Filter (15)
: : : : : +- InMemoryTableScan (11)
: : : : : +- InMemoryRelation (12)
: : : : : +- * Filter (14)
: : : : : +- * Scan ExistingRDD (13)
: : : : +- * Sort (27)
: : : : +- * Project (26)
: : : : +- Exchange (25)
: : : : +- * Project (24)
: : : : +- * Filter (23)
: : : : +- * ColumnarToRow (22)
: : : : +- Scan parquet (21)
: : : +- * Sort (36)
: : : +- Exchange (35)
: : : +- * Project (34)
: : : +- * Filter (33)
: : : +- * Scan ExistingRDD (32)
: : +- * Sort (45)
: : +- ObjectHashAggregate (44)
: : +- Exchange (43)
: : +- ObjectHashAggregate (42)
: : +- * Project (41)
: : +- * Filter (40)
: : +- * Scan ExistingRDD (39)
: +- * Sort (54)
: +- ObjectHashAggregate (53)
: +- Exchange (52)
: +- ObjectHashAggregate (51)
: +- * Project (50)
: +- * Filter (49)
: +- * Scan ExistingRDD (48)
+- * Sort (99)
+- Exchange (98)
+- Project (97)
+- * SortMergeJoin Inner (96)
:- * Sort (76)
: +- Exchange (75)
: +- * Filter (74)
: +- InMemoryTableScan (72)
: +- InMemoryRelation (73)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * Sort (95)
+- * HashAggregate (94)
+- Exchange (93)
+- * HashAggregate (92)
+- * Project (91)
+- * BroadcastHashJoin Inner BuildLeft (90)
:- BroadcastExchange (83)
: +- * Project (82)
: +- * Generate (81)
: +- * Project (80)
: +- * Filter (79)
: +- InMemoryTableScan (77)
: +- InMemoryRelation (78)
: +- * Filter (15)
: +- InMemoryTableScan (11)
: +- InMemoryRelation (12)
: +- * Filter (14)
: +- * Scan ExistingRDD (13)
+- * Project (89)
+- Exchange (88)
+- * Project (87)
+- * Filter (86)
+- * ColumnarToRow (85)
+- Scan parquet (84)
(1) InMemoryTableScan
Output [2]: [orderProposals#3365317, shardId#3350462]
Arguments: [orderProposals#3365317, shardId#3350462]
(2) InMemoryRelation
Arguments: [shardId#3350462, orderProposals#3365317], StorageLevel(disk, memory, 2 replicas)
(3) InMemoryTableScan
Output [3]: [shardId#3350462, resultSeparationId#3365313L, orderProposals#3365317]
Arguments: [shardId#3350462, resultSeparationId#3365313L, orderProposals#3365317]
(4) InMemoryRelation
Arguments: [shardId#3350462, resultSeparationId#3365313L, orderProposals#3365317], StorageLevel(disk, memory, 2 replicas)
(5) InMemoryTableScan
Output [2]: [orderProposal#3360416, shardId#3350462]
Arguments: [orderProposal#3360416, shardId#3350462]
(6) InMemoryRelation
Arguments: [shardId#3350462, orderProposal#3360416], StorageLevel(disk, memory, 2 replicas)
(7) InMemoryTableScan
Output [39]: [availabilityDateTime#3351265, channelStreamSpecificKpis#3359519, constraintLabels#3351277, constraintOperators#3351278, constraintValues#3351280, deliveryDateTime#3351264, isFallbackOrderOnly#3351267, logisticUnits#3351282, measurements#3351275, minimumOrderQuantity#3351276, netPriceAmount#3351273, netPriceCurrencyCode#3351274, netPriceQuantity#3351270, netPriceQuantityUom#3351271, netPriceQuantityUomUuid#3351272, nextAvailabilityDateTime#3351266, optimizationGroups#3351283, orderDateTime#3351263, orderProposalId#3351245L, orderProposalItemGroupId#3351247, orderProposalItemId#3351246, orderQuantityBaseUom#3351268, orderQuantityBaseUomUuid#3351269, originalReplenishmentRunId#3351248L, plant#3351259, previousOrderProposal#3351251L, prodLocSpecificKpis#3359504, product#3351258, productGroup#3351287, qty#3351059, quantityAfterProdPlantOptimization#3351058, quantityKpis#3359532, shardId#3350462, sourceOfSupplyUuid#3351254, splitIndicator#3351250L, subrange#3351257, supplier#3351256, supplierGroup#3351255, supplyingPlant#3351286]
Arguments: [availabilityDateTime#3351265, channelStreamSpecificKpis#3359519, constraintLabels#3351277, constraintOperators#3351278, constraintValues#3351280, deliveryDateTime#3351264, isFallbackOrderOnly#3351267, logisticUnits#3351282, measurements#3351275, minimumOrderQuantity#3351276, netPriceAmount#3351273, netPriceCurrencyCode#3351274, netPriceQuantity#3351270, netPriceQuantityUom#3351271, netPriceQuantityUomUuid#3351272, nextAvailabilityDateTime#3351266, optimizationGroups#3351283, orderDateTime#3351263, orderProposalId#3351245L, orderProposalItemGroupId#3351247, orderProposalItemId#3351246, orderQuantityBaseUom#3351268, orderQuantityBaseUomUuid#3351269, originalReplenishmentRunId#3351248L, plant#3351259, ... 14 more fields], [NOT (isFallbackOrderOnly#3351267 <=> true)]
(8) InMemoryRelation
Arguments: [shardId#3350462, worklistShardItemId#3351057L, quantityAfterProdPlantOptimization#3351058, qty#3351059, orderProposalId#3351245L, originalReplenishmentRunId#3351248L, supplierGroup#3351255, supplier#3351256, supplyingPlant#3351286, productGroup#3351287, product#3351258, plant#3351259, subrange#3351257, orderDateTime#3351263, deliveryDateTime#3351264, availabilityDateTime#3351265, nextAvailabilityDateTime#3351266, constraintValues#3351280, constraintOperators#3351278, constraintLabels#3351277, logisticUnits#3351282, orderQuantityBaseUom#3351268, orderQuantityBaseUomUuid#3351269, splitIndicator#3351250L, netPriceAmount#3351273, ... 17 more fields], StorageLevel(disk, memory, 2 replicas)
(9) InMemoryTableScan
Output [2]: [shardId#3350462, items#3350464]
Arguments: [shardId#3350462, items#3350464], [(size(items#3350464, true) > 0), isnotnull(items#3350464)]
(10) InMemoryRelation
Arguments: [shardId#3350462, orderProposalId#3350463L, items#3350464, optimizationGroups#3350465, isOptimal#3350466, optimizationInsights#3350468], StorageLevel(disk, memory, 2 replicas)
(11) InMemoryTableScan
Output [6]: [shardId#3350462, orderProposalId#3350463L, items#3350464, optimizationGroups#3350465, isOptimal#3350466, optimizationInsights#3350468]
Arguments: [shardId#3350462, orderProposalId#3350463L, items#3350464, optimizationGroups#3350465, isOptimal#3350466, optimizationInsights#3350468], [isnotnull(shardId#3350462), (shardId#3350462 = 0_2_10000000532)]
(12) InMemoryRelation
Arguments: [shardId#3350462, orderProposalId#3350463L, items#3350464, optimizationGroups#3350465, isOptimal#3350466, lastModified#3350467, optimizationInsights#3350468], StorageLevel(disk, memory, 2 replicas)
(13) Scan ExistingRDD [codegen id : 1]
Output [7]: [shardId#3350462, orderProposalId#3350463L, items#3350464, optimizationGroups#3350465, isOptimal#3350466, lastModified#3350467, optimizationInsights#3350468]
Arguments: [shardId#3350462, orderProposalId#3350463L, items#3350464, optimizationGroups#3350465, isOptimal#3350466, lastModified#3350467, optimizationInsights#3350468], MapPartitionsRDD[142007] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(14) Filter [codegen id : 1]
Input [7]: [shardId#3350462, orderProposalId#3350463L, items#3350464, optimizationGroups#3350465, isOptimal#3350466, lastModified#3350467, optimizationInsights#3350468]
Condition : (isnotnull(shardId#3350462) AND (shardId#3350462 = 0_2_10000000532))
(15) Filter [codegen id : 1]
Input [6]: [shardId#3350462, orderProposalId#3350463L, items#3350464, optimizationGroups#3350465, isOptimal#3350466, optimizationInsights#3350468]
Condition : (isnotnull(shardId#3350462) AND (shardId#3350462 = 0_2_10000000532))
(16) Filter [codegen id : 1]
Input [2]: [shardId#3350462, items#3350464]
Condition : ((size(items#3350464, true) > 0) AND isnotnull(items#3350464))
(17) Generate [codegen id : 1]
Input [2]: [shardId#3350462, items#3350464]
Arguments: explode(items#3350464), [shardId#3350462], false, [item#3351056]
(18) Project [codegen id : 1]
Output [4]: [shardId#3350462, item#3351056.worklistShardItemId AS worklistShardItemId#3351057L, item#3351056.quantityAfterProdPlantOptimization AS quantityAfterProdPlantOptimization#3351058, item#3351056.qty AS qty#3351059]
Input [2]: [shardId#3350462, item#3351056]
(19) Exchange
Input [4]: [shardId#3350462, worklistShardItemId#3351057L, quantityAfterProdPlantOptimization#3351058, qty#3351059]
Arguments: hashpartitioning(worklistShardItemId#3351057L, 30), ENSURE_REQUIREMENTS, [plan_id=967392]
(20) Sort [codegen id : 2]
Input [4]: [shardId#3350462, worklistShardItemId#3351057L, quantityAfterProdPlantOptimization#3351058, qty#3351059]
Arguments: [worklistShardItemId#3351057L ASC NULLS FIRST], false, 0
(21) Scan parquet
Output [38]: [orderProposalId#3351298L, orderProposalItemId#3351299, supplierGroup#3351300, supplier#3351301, plant#3351302, deliveryDateTime#3351303, subrange#3351304, supplyingPlant#3351305, productGroup#3351306, product#3351307, orderDateTime#3351308, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, sourceOfSupplyUuid#3351312, isFallbackOrderOnly#3351315, splitIndicator#3351317L, previousOrderProposal#3351318L, worklistShardItemId#3351321L, orderProposalItemGroupId#3351322, externalProductId#3351323, externalPlantId#3351324, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, minimumOrderQuantity#3351328, constraintLabels#3351329, constraintOperators#3351330, constraintValues#3351331, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, measurements#3351339, originalReplenishmentRunId#3351340L, optimizationGroups#3351341, shardId#3351342, sequenceId#3351320]
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#3351342), isnotnull(sequenceId#3351320), (shardId#3351342 = 0_2_10000000532), (sequenceId#3351320 = 6)]
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#3351298L, orderProposalItemId#3351299, supplierGroup#3351300, supplier#3351301, plant#3351302, deliveryDateTime#3351303, subrange#3351304, supplyingPlant#3351305, productGroup#3351306, product#3351307, orderDateTime#3351308, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, sourceOfSupplyUuid#3351312, isFallbackOrderOnly#3351315, splitIndicator#3351317L, previousOrderProposal#3351318L, worklistShardItemId#3351321L, orderProposalItemGroupId#3351322, externalProductId#3351323, externalPlantId#3351324, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, minimumOrderQuantity#3351328, constraintLabels#3351329, constraintOperators#3351330, constraintValues#3351331, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, measurements#3351339, originalReplenishmentRunId#3351340L, optimizationGroups#3351341, shardId#3351342, sequenceId#3351320]
(23) Filter [codegen id : 3]
Input [38]: [orderProposalId#3351298L, orderProposalItemId#3351299, supplierGroup#3351300, supplier#3351301, plant#3351302, deliveryDateTime#3351303, subrange#3351304, supplyingPlant#3351305, productGroup#3351306, product#3351307, orderDateTime#3351308, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, sourceOfSupplyUuid#3351312, isFallbackOrderOnly#3351315, splitIndicator#3351317L, previousOrderProposal#3351318L, worklistShardItemId#3351321L, orderProposalItemGroupId#3351322, externalProductId#3351323, externalPlantId#3351324, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, minimumOrderQuantity#3351328, constraintLabels#3351329, constraintOperators#3351330, constraintValues#3351331, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, measurements#3351339, originalReplenishmentRunId#3351340L, optimizationGroups#3351341, shardId#3351342, sequenceId#3351320]
Condition : isnotnull(worklistShardItemId#3351321L)
(24) Project [codegen id : 3]
Output [36]: [orderProposalId#3351298L, orderProposalItemId#3351299, supplierGroup#3351300, supplier#3351301, plant#3351302, deliveryDateTime#3351303, subrange#3351304, supplyingPlant#3351305, productGroup#3351306, product#3351307, orderDateTime#3351308, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, sourceOfSupplyUuid#3351312, isFallbackOrderOnly#3351315, splitIndicator#3351317L, previousOrderProposal#3351318L, worklistShardItemId#3351321L, orderProposalItemGroupId#3351322, externalProductId#3351323, externalPlantId#3351324, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, minimumOrderQuantity#3351328, constraintLabels#3351329, constraintOperators#3351330, constraintValues#3351331, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, measurements#3351339, originalReplenishmentRunId#3351340L, optimizationGroups#3351341]
Input [38]: [orderProposalId#3351298L, orderProposalItemId#3351299, supplierGroup#3351300, supplier#3351301, plant#3351302, deliveryDateTime#3351303, subrange#3351304, supplyingPlant#3351305, productGroup#3351306, product#3351307, orderDateTime#3351308, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, sourceOfSupplyUuid#3351312, isFallbackOrderOnly#3351315, splitIndicator#3351317L, previousOrderProposal#3351318L, worklistShardItemId#3351321L, orderProposalItemGroupId#3351322, externalProductId#3351323, externalPlantId#3351324, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, minimumOrderQuantity#3351328, constraintLabels#3351329, constraintOperators#3351330, constraintValues#3351331, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, measurements#3351339, originalReplenishmentRunId#3351340L, optimizationGroups#3351341, shardId#3351342, sequenceId#3351320]
(25) Exchange
Input [36]: [orderProposalId#3351298L, orderProposalItemId#3351299, supplierGroup#3351300, supplier#3351301, plant#3351302, deliveryDateTime#3351303, subrange#3351304, supplyingPlant#3351305, productGroup#3351306, product#3351307, orderDateTime#3351308, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, sourceOfSupplyUuid#3351312, isFallbackOrderOnly#3351315, splitIndicator#3351317L, previousOrderProposal#3351318L, worklistShardItemId#3351321L, orderProposalItemGroupId#3351322, externalProductId#3351323, externalPlantId#3351324, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, minimumOrderQuantity#3351328, constraintLabels#3351329, constraintOperators#3351330, constraintValues#3351331, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, measurements#3351339, originalReplenishmentRunId#3351340L, optimizationGroups#3351341]
Arguments: hashpartitioning(worklistShardItemId#3351321L, 30), REPARTITION_BY_NUM, [plan_id=967402]
(26) Project [codegen id : 4]
Output [36]: [worklistShardItemId#3351321L, orderProposalId#3351298L, orderProposalItemId#3351299, orderProposalItemGroupId#3351322, originalReplenishmentRunId#3351340L, splitIndicator#3351317L, previousOrderProposal#3351318L, sourceOfSupplyUuid#3351312, supplierGroup#3351300, supplier#3351301, subrange#3351304, product#3351307, plant#3351302, orderDateTime#3351308, deliveryDateTime#3351303, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, isFallbackOrderOnly#3351315, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, netPriceAmount#3351334, netPriceCurrencyCode#3351335, measurements#3351339, minimumOrderQuantity#3351328, constraintLabels#3351329, constraintOperators#3351330, constraintValues#3351331, logisticUnits#3351325, optimizationGroups#3351341, externalProductId#3351323, externalPlantId#3351324, supplyingPlant#3351305, productGroup#3351306]
Input [36]: [orderProposalId#3351298L, orderProposalItemId#3351299, supplierGroup#3351300, supplier#3351301, plant#3351302, deliveryDateTime#3351303, subrange#3351304, supplyingPlant#3351305, productGroup#3351306, product#3351307, orderDateTime#3351308, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, sourceOfSupplyUuid#3351312, isFallbackOrderOnly#3351315, splitIndicator#3351317L, previousOrderProposal#3351318L, worklistShardItemId#3351321L, orderProposalItemGroupId#3351322, externalProductId#3351323, externalPlantId#3351324, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, minimumOrderQuantity#3351328, constraintLabels#3351329, constraintOperators#3351330, constraintValues#3351331, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, measurements#3351339, originalReplenishmentRunId#3351340L, optimizationGroups#3351341]
(27) Sort [codegen id : 4]
Input [36]: [worklistShardItemId#3351321L, orderProposalId#3351298L, orderProposalItemId#3351299, orderProposalItemGroupId#3351322, originalReplenishmentRunId#3351340L, splitIndicator#3351317L, previousOrderProposal#3351318L, sourceOfSupplyUuid#3351312, supplierGroup#3351300, supplier#3351301, subrange#3351304, product#3351307, plant#3351302, orderDateTime#3351308, deliveryDateTime#3351303, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, isFallbackOrderOnly#3351315, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, netPriceAmount#3351334, netPriceCurrencyCode#3351335, measurements#3351339, minimumOrderQuantity#3351328, constraintLabels#3351329, constraintOperators#3351330, constraintValues#3351331, logisticUnits#3351325, optimizationGroups#3351341, externalProductId#3351323, externalPlantId#3351324, supplyingPlant#3351305, productGroup#3351306]
Arguments: [worklistShardItemId#3351321L ASC NULLS FIRST], false, 0
(28) SortMergeJoin [codegen id : 5]
Left keys [1]: [worklistShardItemId#3351057L]
Right keys [1]: [worklistShardItemId#3351321L]
Join type: LeftOuter
Join condition: (shardId#3350462 = 0_2_10000000532)
(29) Project [codegen id : 5]
Output [39]: [shardId#3350462, worklistShardItemId#3351057L, quantityAfterProdPlantOptimization#3351058, qty#3351059, orderProposalId#3351298L, originalReplenishmentRunId#3351340L, supplierGroup#3351300, supplier#3351301, supplyingPlant#3351305, productGroup#3351306, product#3351307, plant#3351302, subrange#3351304, orderDateTime#3351308, deliveryDateTime#3351303, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, constraintValues#3351331, constraintOperators#3351330, constraintLabels#3351329, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, splitIndicator#3351317L, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, sourceOfSupplyUuid#3351312, minimumOrderQuantity#3351328, orderProposalItemId#3351299, orderProposalItemGroupId#3351322, optimizationGroups#3351341, measurements#3351339, externalProductId#3351323, externalPlantId#3351324, previousOrderProposal#3351318L, isFallbackOrderOnly#3351315]
Input [40]: [shardId#3350462, worklistShardItemId#3351057L, quantityAfterProdPlantOptimization#3351058, qty#3351059, worklistShardItemId#3351321L, orderProposalId#3351298L, orderProposalItemId#3351299, orderProposalItemGroupId#3351322, originalReplenishmentRunId#3351340L, splitIndicator#3351317L, previousOrderProposal#3351318L, sourceOfSupplyUuid#3351312, supplierGroup#3351300, supplier#3351301, subrange#3351304, product#3351307, plant#3351302, orderDateTime#3351308, deliveryDateTime#3351303, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, isFallbackOrderOnly#3351315, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, netPriceAmount#3351334, netPriceCurrencyCode#3351335, measurements#3351339, minimumOrderQuantity#3351328, constraintLabels#3351329, constraintOperators#3351330, constraintValues#3351331, logisticUnits#3351325, optimizationGroups#3351341, externalProductId#3351323, externalPlantId#3351324, supplyingPlant#3351305, productGroup#3351306]
(30) Exchange
Input [39]: [shardId#3350462, worklistShardItemId#3351057L, quantityAfterProdPlantOptimization#3351058, qty#3351059, orderProposalId#3351298L, originalReplenishmentRunId#3351340L, supplierGroup#3351300, supplier#3351301, supplyingPlant#3351305, productGroup#3351306, product#3351307, plant#3351302, subrange#3351304, orderDateTime#3351308, deliveryDateTime#3351303, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, constraintValues#3351331, constraintOperators#3351330, constraintLabels#3351329, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, splitIndicator#3351317L, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, sourceOfSupplyUuid#3351312, minimumOrderQuantity#3351328, orderProposalItemId#3351299, orderProposalItemGroupId#3351322, optimizationGroups#3351341, measurements#3351339, externalProductId#3351323, externalPlantId#3351324, previousOrderProposal#3351318L, isFallbackOrderOnly#3351315]
Arguments: hashpartitioning(shardId#3350462, worklistShardItemId#3351057L, 30), ENSURE_REQUIREMENTS, [plan_id=967411]
(31) Sort [codegen id : 6]
Input [39]: [shardId#3350462, worklistShardItemId#3351057L, quantityAfterProdPlantOptimization#3351058, qty#3351059, orderProposalId#3351298L, originalReplenishmentRunId#3351340L, supplierGroup#3351300, supplier#3351301, supplyingPlant#3351305, productGroup#3351306, product#3351307, plant#3351302, subrange#3351304, orderDateTime#3351308, deliveryDateTime#3351303, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, constraintValues#3351331, constraintOperators#3351330, constraintLabels#3351329, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, splitIndicator#3351317L, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, sourceOfSupplyUuid#3351312, minimumOrderQuantity#3351328, orderProposalItemId#3351299, orderProposalItemGroupId#3351322, optimizationGroups#3351341, measurements#3351339, externalProductId#3351323, externalPlantId#3351324, previousOrderProposal#3351318L, isFallbackOrderOnly#3351315]
Arguments: [shardId#3350462 ASC NULLS FIRST, worklistShardItemId#3351057L ASC NULLS FIRST], false, 0
(32) Scan ExistingRDD [codegen id : 7]
Output [6]: [shardId#3359497, worklistShardItemId#3359498L, qty#3359499, demandChannel#3359500, demandStream#3359501, kpis#3359502]
Arguments: [shardId#3359497, worklistShardItemId#3359498L, qty#3359499, demandChannel#3359500, demandStream#3359501, kpis#3359502], MapPartitionsRDD[142401] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(33) Filter [codegen id : 7]
Input [6]: [shardId#3359497, worklistShardItemId#3359498L, qty#3359499, demandChannel#3359500, demandStream#3359501, kpis#3359502]
Condition : (((isnull(qty#3359499) AND isnull(demandChannel#3359500)) AND isnull(demandStream#3359501)) AND (isnotnull(shardId#3359497) AND isnotnull(worklistShardItemId#3359498L)))
(34) Project [codegen id : 7]
Output [3]: [shardId#3359497, worklistShardItemId#3359498L, coalesce(kpis#3359502, []) AS prodLocSpecificKpis#3359503]
Input [6]: [shardId#3359497, worklistShardItemId#3359498L, qty#3359499, demandChannel#3359500, demandStream#3359501, kpis#3359502]
(35) Exchange
Input [3]: [shardId#3359497, worklistShardItemId#3359498L, prodLocSpecificKpis#3359503]
Arguments: hashpartitioning(shardId#3359497, worklistShardItemId#3359498L, 30), ENSURE_REQUIREMENTS, [plan_id=967417]
(36) Sort [codegen id : 8]
Input [3]: [shardId#3359497, worklistShardItemId#3359498L, prodLocSpecificKpis#3359503]
Arguments: [shardId#3359497 ASC NULLS FIRST, worklistShardItemId#3359498L ASC NULLS FIRST], false, 0
(37) SortMergeJoin [codegen id : 9]
Left keys [2]: [shardId#3350462, worklistShardItemId#3351057L]
Right keys [2]: [shardId#3359497, worklistShardItemId#3359498L]
Join type: LeftOuter
Join condition: None
(38) Project [codegen id : 9]
Output [40]: [shardId#3350462, worklistShardItemId#3351057L, quantityAfterProdPlantOptimization#3351058, qty#3351059, orderProposalId#3351298L, originalReplenishmentRunId#3351340L, supplierGroup#3351300, supplier#3351301, supplyingPlant#3351305, productGroup#3351306, product#3351307, plant#3351302, subrange#3351304, orderDateTime#3351308, deliveryDateTime#3351303, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, constraintValues#3351331, constraintOperators#3351330, constraintLabels#3351329, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, splitIndicator#3351317L, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, sourceOfSupplyUuid#3351312, minimumOrderQuantity#3351328, orderProposalItemId#3351299, orderProposalItemGroupId#3351322, optimizationGroups#3351341, measurements#3351339, externalProductId#3351323, externalPlantId#3351324, previousOrderProposal#3351318L, isFallbackOrderOnly#3351315, coalesce(prodLocSpecificKpis#3359503, []) AS prodLocSpecificKpis#3359504]
Input [42]: [shardId#3350462, worklistShardItemId#3351057L, quantityAfterProdPlantOptimization#3351058, qty#3351059, orderProposalId#3351298L, originalReplenishmentRunId#3351340L, supplierGroup#3351300, supplier#3351301, supplyingPlant#3351305, productGroup#3351306, product#3351307, plant#3351302, subrange#3351304, orderDateTime#3351308, deliveryDateTime#3351303, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, constraintValues#3351331, constraintOperators#3351330, constraintLabels#3351329, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, splitIndicator#3351317L, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, sourceOfSupplyUuid#3351312, minimumOrderQuantity#3351328, orderProposalItemId#3351299, orderProposalItemGroupId#3351322, optimizationGroups#3351341, measurements#3351339, externalProductId#3351323, externalPlantId#3351324, previousOrderProposal#3351318L, isFallbackOrderOnly#3351315, shardId#3359497, worklistShardItemId#3359498L, prodLocSpecificKpis#3359503]
(39) Scan ExistingRDD [codegen id : 10]
Output [6]: [shardId#3359513, worklistShardItemId#3359514L, qty#3359515, demandChannel#3359516, demandStream#3359517, kpis#3359518]
Arguments: [shardId#3359513, worklistShardItemId#3359514L, qty#3359515, demandChannel#3359516, demandStream#3359517, kpis#3359518], MapPartitionsRDD[142401] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(40) Filter [codegen id : 10]
Input [6]: [shardId#3359513, worklistShardItemId#3359514L, qty#3359515, demandChannel#3359516, demandStream#3359517, kpis#3359518]
Condition : ((((isnull(qty#3359515) AND isnotnull(demandChannel#3359516)) AND isnotnull(demandStream#3359517)) AND (size(kpis#3359518, true) > 0)) AND (isnotnull(shardId#3359513) AND isnotnull(worklistShardItemId#3359514L)))
(41) Project [codegen id : 10]
Output [5]: [shardId#3359513, worklistShardItemId#3359514L, demandChannel#3359516, demandStream#3359517, kpis#3359518]
Input [6]: [shardId#3359513, worklistShardItemId#3359514L, qty#3359515, demandChannel#3359516, demandStream#3359517, kpis#3359518]
(42) ObjectHashAggregate
Input [5]: [shardId#3359513, worklistShardItemId#3359514L, demandChannel#3359516, demandStream#3359517, kpis#3359518]
Keys [2]: [shardId#3359513, worklistShardItemId#3359514L]
Functions [1]: [partial_collect_list(struct(demandChannel, demandChannel#3359516, demandStream, demandStream#3359517, kpis, kpis#3359518), 0, 0)]
Aggregate Attributes [1]: [buf#3359693]
Results [3]: [shardId#3359513, worklistShardItemId#3359514L, buf#3359694]
(43) Exchange
Input [3]: [shardId#3359513, worklistShardItemId#3359514L, buf#3359694]
Arguments: hashpartitioning(shardId#3359513, worklistShardItemId#3359514L, 30), ENSURE_REQUIREMENTS, [plan_id=967428]
(44) ObjectHashAggregate
Input [3]: [shardId#3359513, worklistShardItemId#3359514L, buf#3359694]
Keys [2]: [shardId#3359513, worklistShardItemId#3359514L]
Functions [1]: [collect_list(struct(demandChannel, demandChannel#3359516, demandStream, demandStream#3359517, kpis, kpis#3359518), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(demandChannel, demandChannel#3359516, demandStream, demandStream#3359517, kpis, kpis#3359518), 0, 0)#3359512]
Results [3]: [shardId#3359513, worklistShardItemId#3359514L, collect_list(struct(demandChannel, demandChannel#3359516, demandStream, demandStream#3359517, kpis, kpis#3359518), 0, 0)#3359512 AS channelStreamSpecificKpis#3359505]
(45) Sort [codegen id : 11]
Input [3]: [shardId#3359513, worklistShardItemId#3359514L, channelStreamSpecificKpis#3359505]
Arguments: [shardId#3359513 ASC NULLS FIRST, worklistShardItemId#3359514L ASC NULLS FIRST], false, 0
(46) SortMergeJoin [codegen id : 12]
Left keys [2]: [shardId#3350462, worklistShardItemId#3351057L]
Right keys [2]: [shardId#3359513, worklistShardItemId#3359514L]
Join type: LeftOuter
Join condition: None
(47) Project [codegen id : 12]
Output [41]: [shardId#3350462, worklistShardItemId#3351057L, quantityAfterProdPlantOptimization#3351058, qty#3351059, orderProposalId#3351298L, originalReplenishmentRunId#3351340L, supplierGroup#3351300, supplier#3351301, supplyingPlant#3351305, productGroup#3351306, product#3351307, plant#3351302, subrange#3351304, orderDateTime#3351308, deliveryDateTime#3351303, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, constraintValues#3351331, constraintOperators#3351330, constraintLabels#3351329, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, splitIndicator#3351317L, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, sourceOfSupplyUuid#3351312, minimumOrderQuantity#3351328, orderProposalItemId#3351299, orderProposalItemGroupId#3351322, optimizationGroups#3351341, measurements#3351339, externalProductId#3351323, externalPlantId#3351324, previousOrderProposal#3351318L, isFallbackOrderOnly#3351315, prodLocSpecificKpis#3359504, coalesce(channelStreamSpecificKpis#3359505, []) AS channelStreamSpecificKpis#3359519]
Input [43]: [shardId#3350462, worklistShardItemId#3351057L, quantityAfterProdPlantOptimization#3351058, qty#3351059, orderProposalId#3351298L, originalReplenishmentRunId#3351340L, supplierGroup#3351300, supplier#3351301, supplyingPlant#3351305, productGroup#3351306, product#3351307, plant#3351302, subrange#3351304, orderDateTime#3351308, deliveryDateTime#3351303, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, constraintValues#3351331, constraintOperators#3351330, constraintLabels#3351329, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, splitIndicator#3351317L, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, sourceOfSupplyUuid#3351312, minimumOrderQuantity#3351328, orderProposalItemId#3351299, orderProposalItemGroupId#3351322, optimizationGroups#3351341, measurements#3351339, externalProductId#3351323, externalPlantId#3351324, previousOrderProposal#3351318L, isFallbackOrderOnly#3351315, prodLocSpecificKpis#3359504, shardId#3359513, worklistShardItemId#3359514L, channelStreamSpecificKpis#3359505]
(48) Scan ExistingRDD [codegen id : 13]
Output [6]: [shardId#3359526, worklistShardItemId#3359527L, qty#3359528, demandChannel#3359529, demandStream#3359530, kpis#3359531]
Arguments: [shardId#3359526, worklistShardItemId#3359527L, qty#3359528, demandChannel#3359529, demandStream#3359530, kpis#3359531], MapPartitionsRDD[142401] at start at FileStorageAdapterImpl.java:596, ExistingRDD, UnknownPartitioning(0)
(49) Filter [codegen id : 13]
Input [6]: [shardId#3359526, worklistShardItemId#3359527L, qty#3359528, demandChannel#3359529, demandStream#3359530, kpis#3359531]
Condition : ((isnotnull(qty#3359528) AND isnotnull(kpis#3359531)) AND (isnotnull(shardId#3359526) AND isnotnull(worklistShardItemId#3359527L)))
(50) Project [codegen id : 13]
Output [4]: [shardId#3359526, worklistShardItemId#3359527L, qty#3359528, kpis#3359531]
Input [6]: [shardId#3359526, worklistShardItemId#3359527L, qty#3359528, demandChannel#3359529, demandStream#3359530, kpis#3359531]
(51) ObjectHashAggregate
Input [4]: [shardId#3359526, worklistShardItemId#3359527L, qty#3359528, kpis#3359531]
Keys [2]: [shardId#3359526, worklistShardItemId#3359527L]
Functions [1]: [partial_collect_list(struct(qty, qty#3359528, kpis, kpis#3359531), 0, 0)]
Aggregate Attributes [1]: [buf#3359695]
Results [3]: [shardId#3359526, worklistShardItemId#3359527L, buf#3359696]
(52) Exchange
Input [3]: [shardId#3359526, worklistShardItemId#3359527L, buf#3359696]
Arguments: hashpartitioning(shardId#3359526, worklistShardItemId#3359527L, 30), ENSURE_REQUIREMENTS, [plan_id=967440]
(53) ObjectHashAggregate
Input [3]: [shardId#3359526, worklistShardItemId#3359527L, buf#3359696]
Keys [2]: [shardId#3359526, worklistShardItemId#3359527L]
Functions [1]: [collect_list(struct(qty, qty#3359528, kpis, kpis#3359531), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(qty, qty#3359528, kpis, kpis#3359531), 0, 0)#3359525]
Results [3]: [shardId#3359526, worklistShardItemId#3359527L, map_from_entries(collect_list(struct(qty, qty#3359528, kpis, kpis#3359531), 0, 0)#3359525) AS quantityKpis#3359520]
(54) Sort [codegen id : 14]
Input [3]: [shardId#3359526, worklistShardItemId#3359527L, quantityKpis#3359520]
Arguments: [shardId#3359526 ASC NULLS FIRST, worklistShardItemId#3359527L ASC NULLS FIRST], false, 0
(55) SortMergeJoin [codegen id : 15]
Left keys [2]: [shardId#3350462, worklistShardItemId#3351057L]
Right keys [2]: [shardId#3359526, worklistShardItemId#3359527L]
Join type: LeftOuter
Join condition: None
(56) Project [codegen id : 15]
Output [42]: [shardId#3350462, worklistShardItemId#3351057L, quantityAfterProdPlantOptimization#3351058, qty#3351059, orderProposalId#3351298L, originalReplenishmentRunId#3351340L, supplierGroup#3351300, supplier#3351301, supplyingPlant#3351305, productGroup#3351306, product#3351307, plant#3351302, subrange#3351304, orderDateTime#3351308, deliveryDateTime#3351303, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, constraintValues#3351331, constraintOperators#3351330, constraintLabels#3351329, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, splitIndicator#3351317L, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, sourceOfSupplyUuid#3351312, minimumOrderQuantity#3351328, orderProposalItemId#3351299, orderProposalItemGroupId#3351322, optimizationGroups#3351341, measurements#3351339, externalProductId#3351323, externalPlantId#3351324, previousOrderProposal#3351318L, isFallbackOrderOnly#3351315, prodLocSpecificKpis#3359504, channelStreamSpecificKpis#3359519, coalesce(quantityKpis#3359520, map(keys: [], values: [])) AS quantityKpis#3359532]
Input [44]: [shardId#3350462, worklistShardItemId#3351057L, quantityAfterProdPlantOptimization#3351058, qty#3351059, orderProposalId#3351298L, originalReplenishmentRunId#3351340L, supplierGroup#3351300, supplier#3351301, supplyingPlant#3351305, productGroup#3351306, product#3351307, plant#3351302, subrange#3351304, orderDateTime#3351308, deliveryDateTime#3351303, availabilityDateTime#3351309, nextAvailabilityDateTime#3351310, constraintValues#3351331, constraintOperators#3351330, constraintLabels#3351329, logisticUnits#3351325, orderQuantityBaseUom#3351326, orderQuantityBaseUomUuid#3351327, splitIndicator#3351317L, netPriceAmount#3351334, netPriceCurrencyCode#3351335, netPriceQuantity#3351336, netPriceQuantityUom#3351337, netPriceQuantityUomUuid#3351338, sourceOfSupplyUuid#3351312, minimumOrderQuantity#3351328, orderProposalItemId#3351299, orderProposalItemGroupId#3351322, optimizationGroups#3351341, measurements#3351339, externalProductId#3351323, externalPlantId#3351324, previousOrderProposal#3351318L, isFallbackOrderOnly#3351315, prodLocSpecificKpis#3359504, channelStreamSpecificKpis#3359519, shardId#3359526, worklistShardItemId#3359527L, quantityKpis#3359520]
(57) Filter [codegen id : 1]
Input [39]: [availabilityDateTime#3351265, channelStreamSpecificKpis#3359519, constraintLabels#3351277, constraintOperators#3351278, constraintValues#3351280, deliveryDateTime#3351264, isFallbackOrderOnly#3351267, logisticUnits#3351282, measurements#3351275, minimumOrderQuantity#3351276, netPriceAmount#3351273, netPriceCurrencyCode#3351274, netPriceQuantity#3351270, netPriceQuantityUom#3351271, netPriceQuantityUomUuid#3351272, nextAvailabilityDateTime#3351266, optimizationGroups#3351283, orderDateTime#3351263, orderProposalId#3351245L, orderProposalItemGroupId#3351247, orderProposalItemId#3351246, orderQuantityBaseUom#3351268, orderQuantityBaseUomUuid#3351269, originalReplenishmentRunId#3351248L, plant#3351259, previousOrderProposal#3351251L, prodLocSpecificKpis#3359504, product#3351258, productGroup#3351287, qty#3351059, quantityAfterProdPlantOptimization#3351058, quantityKpis#3359532, shardId#3350462, sourceOfSupplyUuid#3351254, splitIndicator#3351250L, subrange#3351257, supplier#3351256, supplierGroup#3351255, supplyingPlant#3351286]
Condition : NOT (isFallbackOrderOnly#3351267 <=> true)
(58) Project [codegen id : 1]
Output [36]: [shardId#3350462, quantityAfterProdPlantOptimization#3351058, qty#3351059, orderProposalId#3351245L, originalReplenishmentRunId#3351248L, supplierGroup#3351255, supplier#3351256, supplyingPlant#3351286, productGroup#3351287, product#3351258, plant#3351259, subrange#3351257, orderDateTime#3351263, deliveryDateTime#3351264, availabilityDateTime#3351265, nextAvailabilityDateTime#3351266, logisticUnits#3351282, orderQuantityBaseUom#3351268, orderQuantityBaseUomUuid#3351269, splitIndicator#3351250L, netPriceAmount#3351273, netPriceCurrencyCode#3351274, netPriceQuantity#3351270, netPriceQuantityUom#3351271, netPriceQuantityUomUuid#3351272, sourceOfSupplyUuid#3351254, minimumOrderQuantity#3351276, orderProposalItemId#3351246, orderProposalItemGroupId#3351247, optimizationGroups#3351283, measurements#3351275, previousOrderProposal#3351251L, prodLocSpecificKpis#3359504, channelStreamSpecificKpis#3359519, quantityKpis#3359532, arrays_zip(constraintLabels#3351277, constraintOperators#3351278, constraintValues#3351280, constraintLabels, constraintOperators, constraintValues) AS constraintStructArray#3359946]
Input [39]: [availabilityDateTime#3351265, channelStreamSpecificKpis#3359519, constraintLabels#3351277, constraintOperators#3351278, constraintValues#3351280, deliveryDateTime#3351264, isFallbackOrderOnly#3351267, logisticUnits#3351282, measurements#3351275, minimumOrderQuantity#3351276, netPriceAmount#3351273, netPriceCurrencyCode#3351274, netPriceQuantity#3351270, netPriceQuantityUom#3351271, netPriceQuantityUomUuid#3351272, nextAvailabilityDateTime#3351266, optimizationGroups#3351283, orderDateTime#3351263, orderProposalId#3351245L, orderProposalItemGroupId#3351247, orderProposalItemId#3351246, orderQuantityBaseUom#3351268, orderQuantityBaseUomUuid#3351269, originalReplenishmentRunId#3351248L, plant#3351259, previousOrderProposal#3351251L, prodLocSpecificKpis#3359504, product#3351258, productGroup#3351287, qty#3351059, quantityAfterProdPlantOptimization#3351058, quantityKpis#3359532, shardId#3350462, sourceOfSupplyUuid#3351254, splitIndicator#3351250L, subrange#3351257, supplier#3351256, supplierGroup#3351255, supplyingPlant#3351286]
(59) Project
Output [37]: [shardId#3350462, qty#3351059, orderProposalId#3351245L, originalReplenishmentRunId#3351248L, supplierGroup#3351255, supplier#3351256, supplyingPlant#3351286, productGroup#3351287, product#3351258, plant#3351259, subrange#3351257, orderDateTime#3351263, deliveryDateTime#3351264, availabilityDateTime#3351265, nextAvailabilityDateTime#3351266, logisticUnits#3351282, orderQuantityBaseUom#3351268, orderQuantityBaseUomUuid#3351269, splitIndicator#3351250L, netPriceAmount#3351273, netPriceCurrencyCode#3351274, netPriceQuantity#3351270, netPriceQuantityUom#3351271, netPriceQuantityUomUuid#3351272, sourceOfSupplyUuid#3351254, orderProposalItemId#3351246, orderProposalItemGroupId#3351247, optimizationGroups#3351283, measurements#3351275, previousOrderProposal#3351251L, prodLocSpecificKpis#3359504, channelStreamSpecificKpis#3359519, quantityKpis#3359532, struct(minServiceLevel, array_min(filter(constraintStructArray#3359946, lambdafunction((lambda x_11049#3359953.constraintLabels = ServiceLevel), lambda x_11049#3359953, false)).constraintValues), minServiceLevelMinStock, array_min(filter(constraintStructArray#3359946, lambdafunction((lambda x_11050#3359954.constraintLabels = ServiceLevelMinimumStock), lambda x_11050#3359954, false)).constraintValues), maxServiceLevelEndOfListing, array_min(filter(constraintStructArray#3359946, lambdafunction((lambda x_11051#3359955.constraintLabels = ServiceLevelAtStartOfDelisting), lambda x_11051#3359955, false)).constraintValues), maxRoc, array_min(filter(constraintStructArray#3359946, lambdafunction((lambda x_11052#3359956.constraintLabels = RangeOfCoverage), lambda x_11052#3359956, false)).constraintValues), minimumOrderQuantity, minimumOrderQuantity#3351276, endOfListingDateTime, coalesce(filter(prodLocSpecificKpis#3359504, lambdafunction((lambda x_11053#3359957.label = NonListingStartTimestamp), lambda x_11053#3359957, false))[0].dateTime, 1970-01-01 00:00:00)) AS constraintBenchmark#3359952, CASE WHEN (qty#3351059 <=> quantityAfterProdPlantOptimization#3351058) THEN array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((qty#3351059 * (cast(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11054#3360025.isOrderUnit, lambda x_11054#3360025, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11054#3360026.isOrderUnit, lambda x_11054#3360026, false)), 1, None, false).numerator as double))), qty#3351059), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11054#3360027.isOrderUnit, lambda x_11054#3360027, false)), 1, None, false).uom, orderQuantityBaseUom#3351268), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11054#3360028.isOrderUnit, lambda x_11054#3360028, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3351269), candidateOrderQuantityInBaseUnit, qty#3351059, orderQuantityBaseUom, orderQuantityBaseUom#3351268, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3351269, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3351282, lambdafunction((lambda x_11056#3360029.isPreferred AND (((qty#3351059 * cast(lambda x_11056#3360029.denominator as double)) % cast(lambda x_11056#3360029.numerator as double)) = 0.0)), lambda x_11056#3360029, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3351059 * cast(lambda x_11057#3360070.denominator as double)) / cast(lambda x_11057#3360070.numerator as double)), uom, lambda x_11057#3360070.uom, uomUuid, lambda x_11057#3360070.uomUuid), lambda x_11057#3360070, false))).inPreferredQuantity, coalesce((qty#3351059 * (cast(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11055#3360030.isOrderUnit, lambda x_11055#3360030, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11055#3360031.isOrderUnit, lambda x_11055#3360031, false)), 1, None, false).numerator as double))), qty#3351059)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3351282, lambdafunction((lambda x_11056#3360032.isPreferred AND (((qty#3351059 * cast(lambda x_11056#3360032.denominator as double)) % cast(lambda x_11056#3360032.numerator as double)) = 0.0)), lambda x_11056#3360032, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3351059 * cast(lambda x_11057#3360071.denominator as double)) / cast(lambda x_11057#3360071.numerator as double)), uom, lambda x_11057#3360071.uom, uomUuid, lambda x_11057#3360071.uomUuid), lambda x_11057#3360071, false))).uom, coalesce(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11055#3360033.isOrderUnit, lambda x_11055#3360033, false)), 1, None, false).uom, orderQuantityBaseUom#3351268)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3351282, lambdafunction((lambda x_11056#3360034.isPreferred AND (((qty#3351059 * cast(lambda x_11056#3360034.denominator as double)) % cast(lambda x_11056#3360034.numerator as double)) = 0.0)), lambda x_11056#3360034, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3351059 * cast(lambda x_11057#3360072.denominator as double)) / cast(lambda x_11057#3360072.numerator as double)), uom, lambda x_11057#3360072.uom, uomUuid, lambda x_11057#3360072.uomUuid), lambda x_11057#3360072, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11055#3360035.isOrderUnit, lambda x_11055#3360035, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3351269)), serviceLevel, coalesce(filter(element_at(quantityKpis#3359532, qty#3351059, None, false), lambdafunction((lambda x_11062#3360036.label = ServiceLevel), lambda x_11062#3360036, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) ELSE array(struct(isProposedCandidate, true, isProdlocOptimalCandidate, false, candidateOrderQuantity, coalesce((qty#3351059 * (cast(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11054#3360040.isOrderUnit, lambda x_11054#3360040, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11054#3360041.isOrderUnit, lambda x_11054#3360041, false)), 1, None, false).numerator as double))), qty#3351059), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11054#3360042.isOrderUnit, lambda x_11054#3360042, false)), 1, None, false).uom, orderQuantityBaseUom#3351268), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11054#3360043.isOrderUnit, lambda x_11054#3360043, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3351269), candidateOrderQuantityInBaseUnit, qty#3351059, orderQuantityBaseUom, orderQuantityBaseUom#3351268, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3351269, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3351282, lambdafunction((lambda x_11056#3360044.isPreferred AND (((qty#3351059 * cast(lambda x_11056#3360044.denominator as double)) % cast(lambda x_11056#3360044.numerator as double)) = 0.0)), lambda x_11056#3360044, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3351059 * cast(lambda x_11057#3360073.denominator as double)) / cast(lambda x_11057#3360073.numerator as double)), uom, lambda x_11057#3360073.uom, uomUuid, lambda x_11057#3360073.uomUuid), lambda x_11057#3360073, false))).inPreferredQuantity, coalesce((qty#3351059 * (cast(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11055#3360045.isOrderUnit, lambda x_11055#3360045, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11055#3360046.isOrderUnit, lambda x_11055#3360046, false)), 1, None, false).numerator as double))), qty#3351059)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3351282, lambdafunction((lambda x_11056#3360047.isPreferred AND (((qty#3351059 * cast(lambda x_11056#3360047.denominator as double)) % cast(lambda x_11056#3360047.numerator as double)) = 0.0)), lambda x_11056#3360047, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3351059 * cast(lambda x_11057#3360074.denominator as double)) / cast(lambda x_11057#3360074.numerator as double)), uom, lambda x_11057#3360074.uom, uomUuid, lambda x_11057#3360074.uomUuid), lambda x_11057#3360074, false))).uom, coalesce(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11055#3360048.isOrderUnit, lambda x_11055#3360048, false)), 1, None, false).uom, orderQuantityBaseUom#3351268)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3351282, lambdafunction((lambda x_11056#3360049.isPreferred AND (((qty#3351059 * cast(lambda x_11056#3360049.denominator as double)) % cast(lambda x_11056#3360049.numerator as double)) = 0.0)), lambda x_11056#3360049, false)), lambdafunction(struct(inPreferredQuantity, ((qty#3351059 * cast(lambda x_11057#3360075.denominator as double)) / cast(lambda x_11057#3360075.numerator as double)), uom, lambda x_11057#3360075.uom, uomUuid, lambda x_11057#3360075.uomUuid), lambda x_11057#3360075, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11055#3360050.isOrderUnit, lambda x_11055#3360050, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3351269)), serviceLevel, coalesce(filter(element_at(quantityKpis#3359532, qty#3351059, None, false), lambdafunction((lambda x_11066#3360051.label = ServiceLevel), lambda x_11066#3360051, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields), struct(isProposedCandidate, false, isProdlocOptimalCandidate, true, candidateOrderQuantity, coalesce((quantityAfterProdPlantOptimization#3351058 * (cast(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11058#3360055.isOrderUnit, lambda x_11058#3360055, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11058#3360056.isOrderUnit, lambda x_11058#3360056, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#3351058), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11058#3360057.isOrderUnit, lambda x_11058#3360057, false)), 1, None, false).uom, orderQuantityBaseUom#3351268), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11058#3360058.isOrderUnit, lambda x_11058#3360058, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3351269), candidateOrderQuantityInBaseUnit, quantityAfterProdPlantOptimization#3351058, orderQuantityBaseUom, orderQuantityBaseUom#3351268, orderQuantityBaseUomUuid, orderQuantityBaseUomUuid#3351269, candidateOrderQuantityInPreferredUnit, coalesce(array_min(transform(filter(logisticUnits#3351282, lambdafunction((lambda x_11060#3360059.isPreferred AND (((quantityAfterProdPlantOptimization#3351058 * cast(lambda x_11060#3360059.denominator as double)) % cast(lambda x_11060#3360059.numerator as double)) = 0.0)), lambda x_11060#3360059, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3351058 * cast(lambda x_11061#3360076.denominator as double)) / cast(lambda x_11061#3360076.numerator as double)), uom, lambda x_11061#3360076.uom, uomUuid, lambda x_11061#3360076.uomUuid), lambda x_11061#3360076, false))).inPreferredQuantity, coalesce((quantityAfterProdPlantOptimization#3351058 * (cast(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11059#3360060.isOrderUnit, lambda x_11059#3360060, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11059#3360061.isOrderUnit, lambda x_11059#3360061, false)), 1, None, false).numerator as double))), quantityAfterProdPlantOptimization#3351058)), orderQuantityPreferredUom, coalesce(array_min(transform(filter(logisticUnits#3351282, lambdafunction((lambda x_11060#3360062.isPreferred AND (((quantityAfterProdPlantOptimization#3351058 * cast(lambda x_11060#3360062.denominator as double)) % cast(lambda x_11060#3360062.numerator as double)) = 0.0)), lambda x_11060#3360062, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3351058 * cast(lambda x_11061#3360077.denominator as double)) / cast(lambda x_11061#3360077.numerator as double)), uom, lambda x_11061#3360077.uom, uomUuid, lambda x_11061#3360077.uomUuid), lambda x_11061#3360077, false))).uom, coalesce(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11059#3360063.isOrderUnit, lambda x_11059#3360063, false)), 1, None, false).uom, orderQuantityBaseUom#3351268)), orderQuantityPreferredUomUuid, coalesce(array_min(transform(filter(logisticUnits#3351282, lambdafunction((lambda x_11060#3360064.isPreferred AND (((quantityAfterProdPlantOptimization#3351058 * cast(lambda x_11060#3360064.denominator as double)) % cast(lambda x_11060#3360064.numerator as double)) = 0.0)), lambda x_11060#3360064, false)), lambdafunction(struct(inPreferredQuantity, ((quantityAfterProdPlantOptimization#3351058 * cast(lambda x_11061#3360078.denominator as double)) / cast(lambda x_11061#3360078.numerator as double)), uom, lambda x_11061#3360078.uom, uomUuid, lambda x_11061#3360078.uomUuid), lambda x_11061#3360078, false))).uomUuid, coalesce(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11059#3360065.isOrderUnit, lambda x_11059#3360065, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3351269)), serviceLevel, coalesce(filter(element_at(quantityKpis#3359532, quantityAfterProdPlantOptimization#3351058, None, false), lambdafunction((lambda x_11070#3360066.label = ServiceLevel), lambda x_11070#3360066, false))[0].value, 0.0), serviceLevelMinStock, ... 5 more fields)) END AS calculationAnalysis#3360024, coalesce(filter(prodLocSpecificKpis#3359504, lambdafunction((lambda x_11074#3360080.label = InitialStockQty), lambda x_11074#3360080, false))[0].dateTime, 1970-01-01 00:00:00) AS inventoryDateTime#3360079, coalesce(filter(prodLocSpecificKpis#3359504, lambdafunction((lambda x_11075#3360082.label = DemandPeriodEndTimestamp), lambda x_11075#3360082, false))[0].dateTime, 1970-01-01 00:00:00) AS demandPeriodEndDateTime#3360081]
Input [36]: [shardId#3350462, quantityAfterProdPlantOptimization#3351058, qty#3351059, orderProposalId#3351245L, originalReplenishmentRunId#3351248L, supplierGroup#3351255, supplier#3351256, supplyingPlant#3351286, productGroup#3351287, product#3351258, plant#3351259, subrange#3351257, orderDateTime#3351263, deliveryDateTime#3351264, availabilityDateTime#3351265, nextAvailabilityDateTime#3351266, logisticUnits#3351282, orderQuantityBaseUom#3351268, orderQuantityBaseUomUuid#3351269, splitIndicator#3351250L, netPriceAmount#3351273, netPriceCurrencyCode#3351274, netPriceQuantity#3351270, netPriceQuantityUom#3351271, netPriceQuantityUomUuid#3351272, sourceOfSupplyUuid#3351254, minimumOrderQuantity#3351276, orderProposalItemId#3351246, orderProposalItemGroupId#3351247, optimizationGroups#3351283, measurements#3351275, previousOrderProposal#3351251L, prodLocSpecificKpis#3359504, channelStreamSpecificKpis#3359519, quantityKpis#3359532, constraintStructArray#3359946]
(60) Project
Output [21]: [shardId#3350462, qty#3351059, orderProposalId#3351245L, originalReplenishmentRunId#3351248L, supplierGroup#3351255, supplier#3351256, supplyingPlant#3351286, productGroup#3351287, product#3351258, plant#3351259, subrange#3351257, orderDateTime#3351263, deliveryDateTime#3351264, logisticUnits#3351282, orderQuantityBaseUom#3351268, orderQuantityBaseUomUuid#3351269, splitIndicator#3351250L, orderProposalItemId#3351246, orderProposalItemGroupId#3351247, previousOrderProposal#3351251L, struct(itemId, orderProposalItemId#3351246, itemGroupId, orderProposalItemGroupId#3351247, supplier, supplier#3351256, supplyingPlant, supplyingPlant#3351286, productGroup, productGroup#3351287, product, product#3351258, plant, plant#3351259, supplierSubRange, subrange#3351257, sourceOfSupplyUuid, sourceOfSupplyUuid#3351254, deliveryDateTime, deliveryDateTime#3351264, unitPrice, netPriceAmount#3351273, unitPriceCurrency, netPriceCurrencyCode#3351274, unitPriceQuantity, ... 37 more fields) AS parentItem#3360155]
Input [37]: [shardId#3350462, qty#3351059, orderProposalId#3351245L, originalReplenishmentRunId#3351248L, supplierGroup#3351255, supplier#3351256, supplyingPlant#3351286, productGroup#3351287, product#3351258, plant#3351259, subrange#3351257, orderDateTime#3351263, deliveryDateTime#3351264, availabilityDateTime#3351265, nextAvailabilityDateTime#3351266, logisticUnits#3351282, orderQuantityBaseUom#3351268, orderQuantityBaseUomUuid#3351269, splitIndicator#3351250L, netPriceAmount#3351273, netPriceCurrencyCode#3351274, netPriceQuantity#3351270, netPriceQuantityUom#3351271, netPriceQuantityUomUuid#3351272, sourceOfSupplyUuid#3351254, orderProposalItemId#3351246, orderProposalItemGroupId#3351247, optimizationGroups#3351283, measurements#3351275, previousOrderProposal#3351251L, prodLocSpecificKpis#3359504, channelStreamSpecificKpis#3359519, quantityKpis#3359532, constraintBenchmark#3359952, calculationAnalysis#3360024, inventoryDateTime#3360079, demandPeriodEndDateTime#3360081]
(61) Project
Output [12]: [shardId#3350462, orderProposalId#3351245L, originalReplenishmentRunId#3351248L, supplierGroup#3351255, supplier#3351256, supplyingPlant#3351286, orderDateTime#3351263, splitIndicator#3351250L, orderProposalItemGroupId#3351247, previousOrderProposal#3351251L, parentItem#3360155, struct(itemId, orderProposalItemId#3351246, supplier, supplier#3351256, supplyingPlant, supplyingPlant#3351286, productGroup, productGroup#3351287, product, product#3351258, plant, plant#3351259, supplierSubRange, subrange#3351257, deliveryDateTime, deliveryDateTime#3351264, orderQuantity, coalesce((qty#3351059 * (cast(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11099#3360189.isOrderUnit, lambda x_11099#3360189, false)), 1, None, false).denominator as double) / cast(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11099#3360190.isOrderUnit, lambda x_11099#3360190, false)), 1, None, false).numerator as double))), qty#3351059), orderQuantityUom, coalesce(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11099#3360191.isOrderUnit, lambda x_11099#3360191, false)), 1, None, false).uom, orderQuantityBaseUom#3351268), orderQuantityUomUuid, coalesce(element_at(filter(logisticUnits#3351282, lambdafunction(lambda x_11099#3360192.isOrderUnit, lambda x_11099#3360192, false)), 1, None, false).uomUuid, orderQuantityBaseUomUuid#3351269), orderQuantityInBaseUnit, qty#3351059, orderQuantityBaseUom, ... 13 more fields) AS item#3360186]
Input [21]: [shardId#3350462, qty#3351059, orderProposalId#3351245L, originalReplenishmentRunId#3351248L, supplierGroup#3351255, supplier#3351256, supplyingPlant#3351286, productGroup#3351287, product#3351258, plant#3351259, subrange#3351257, orderDateTime#3351263, deliveryDateTime#3351264, logisticUnits#3351282, orderQuantityBaseUom#3351268, orderQuantityBaseUomUuid#3351269, splitIndicator#3351250L, orderProposalItemId#3351246, orderProposalItemGroupId#3351247, previousOrderProposal#3351251L, parentItem#3360155]
(62) ObjectHashAggregate
Input [12]: [shardId#3350462, orderProposalId#3351245L, originalReplenishmentRunId#3351248L, supplierGroup#3351255, supplier#3351256, supplyingPlant#3351286, orderDateTime#3351263, splitIndicator#3351250L, orderProposalItemGroupId#3351247, previousOrderProposal#3351251L, parentItem#3360155, item#3360186]
Keys [4]: [shardId#3350462, orderProposalId#3351245L, splitIndicator#3351250L, orderProposalItemGroupId#3351247]
Functions [8]: [partial_max(originalReplenishmentRunId#3351248L), partial_max(supplierGroup#3351255), partial_max(supplier#3351256), partial_max(supplyingPlant#3351286), partial_max(orderDateTime#3351263), partial_collect_list(parentItem#3360155, 0, 0), partial_collect_set(previousOrderProposal#3351251L, 0, 0), partial_collect_list(item#3360186, 0, 0)]
Aggregate Attributes [8]: [max#3361439L, max#3361440, max#3361441, max#3361442, max#3361443, buf#3361444, buf#3361445, buf#3361446]
Results [12]: [shardId#3350462, orderProposalId#3351245L, splitIndicator#3351250L, orderProposalItemGroupId#3351247, max#3361447L, max#3361448, max#3361449, max#3361450, max#3361451, buf#3361452, buf#3361453, buf#3361454]
(63) Exchange
Input [12]: [shardId#3350462, orderProposalId#3351245L, splitIndicator#3351250L, orderProposalItemGroupId#3351247, max#3361447L, max#3361448, max#3361449, max#3361450, max#3361451, buf#3361452, buf#3361453, buf#3361454]
Arguments: hashpartitioning(shardId#3350462, orderProposalId#3351245L, splitIndicator#3351250L, orderProposalItemGroupId#3351247, 30), ENSURE_REQUIREMENTS, [plan_id=967696]
(64) ObjectHashAggregate
Input [12]: [shardId#3350462, orderProposalId#3351245L, splitIndicator#3351250L, orderProposalItemGroupId#3351247, max#3361447L, max#3361448, max#3361449, max#3361450, max#3361451, buf#3361452, buf#3361453, buf#3361454]
Keys [4]: [shardId#3350462, orderProposalId#3351245L, splitIndicator#3351250L, orderProposalItemGroupId#3351247]
Functions [8]: [max(originalReplenishmentRunId#3351248L), max(supplierGroup#3351255), max(supplier#3351256), max(supplyingPlant#3351286), max(orderDateTime#3351263), collect_list(parentItem#3360155, 0, 0), collect_set(previousOrderProposal#3351251L, 0, 0), collect_list(item#3360186, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#3351248L)#3360255L, max(supplierGroup#3351255)#3360256, max(supplier#3351256)#3360257, max(supplyingPlant#3351286)#3360258, max(orderDateTime#3351263)#3360259, collect_list(parentItem#3360155, 0, 0)#3360260, collect_set(previousOrderProposal#3351251L, 0, 0)#3360262, collect_list(item#3360186, 0, 0)#3360261]
Results [10]: [shardId#3350462, orderProposalId#3351245L, max(originalReplenishmentRunId#3351248L)#3360255L AS originalReplenishmentRunId#3360203L, max(supplierGroup#3351255)#3360256 AS supplierGroup#3360204, max(supplier#3351256)#3360257 AS supplier#3360205, max(supplyingPlant#3351286)#3360258 AS supplyingPlant#3360206, max(orderDateTime#3351263)#3360259 AS orderDateTime#3360207, collect_list(parentItem#3360155, 0, 0)#3360260 AS parentItems#3360208, collect_set(previousOrderProposal#3351251L, 0, 0)#3360262 AS previousOrderProposals#3360210, struct(itemGroupId, orderProposalItemGroupId#3351247, items, collect_list(item#3360186, 0, 0)#3360261) AS itemGroup#3360264]
(65) ObjectHashAggregate
Input [10]: [shardId#3350462, orderProposalId#3351245L, originalReplenishmentRunId#3360203L, supplierGroup#3360204, supplier#3360205, supplyingPlant#3360206, orderDateTime#3360207, parentItems#3360208, previousOrderProposals#3360210, itemGroup#3360264]
Keys [2]: [shardId#3350462, orderProposalId#3351245L]
Functions [8]: [partial_max(originalReplenishmentRunId#3360203L), partial_max(supplierGroup#3360204), partial_max(supplier#3360205), partial_max(supplyingPlant#3360206), partial_max(orderDateTime#3360207), partial_collect_list(itemGroup#3360264, 0, 0), partial_collect_list(parentItems#3360208, 0, 0), partial_collect_set(previousOrderProposals#3360210, 0, 0)]
Aggregate Attributes [8]: [max#3361423L, max#3361424, max#3361425, max#3361426, max#3361427, buf#3361428, buf#3361429, buf#3361430]
Results [10]: [shardId#3350462, orderProposalId#3351245L, max#3361431L, max#3361432, max#3361433, max#3361434, max#3361435, buf#3361436, buf#3361437, buf#3361438]
(66) Exchange
Input [10]: [shardId#3350462, orderProposalId#3351245L, max#3361431L, max#3361432, max#3361433, max#3361434, max#3361435, buf#3361436, buf#3361437, buf#3361438]
Arguments: hashpartitioning(shardId#3350462, orderProposalId#3351245L, 30), ENSURE_REQUIREMENTS, [plan_id=967699]
(67) ObjectHashAggregate
Input [10]: [shardId#3350462, orderProposalId#3351245L, max#3361431L, max#3361432, max#3361433, max#3361434, max#3361435, buf#3361436, buf#3361437, buf#3361438]
Keys [2]: [shardId#3350462, orderProposalId#3351245L]
Functions [8]: [max(originalReplenishmentRunId#3360203L), max(supplierGroup#3360204), max(supplier#3360205), max(supplyingPlant#3360206), max(orderDateTime#3360207), collect_list(itemGroup#3360264, 0, 0), collect_list(parentItems#3360208, 0, 0), collect_set(previousOrderProposals#3360210, 0, 0)]
Aggregate Attributes [8]: [max(originalReplenishmentRunId#3360203L)#3360286L, max(supplierGroup#3360204)#3360287, max(supplier#3360205)#3360288, max(supplyingPlant#3360206)#3360289, max(orderDateTime#3360207)#3360290, collect_list(itemGroup#3360264, 0, 0)#3360291, collect_list(parentItems#3360208, 0, 0)#3360292, collect_set(previousOrderProposals#3360210, 0, 0)#3360293]
Results [10]: [shardId#3350462, orderProposalId#3351245L, max(originalReplenishmentRunId#3360203L)#3360286L AS originalReplenishmentRunId#3360265L, max(supplierGroup#3360204)#3360287 AS supplierGroup#3360266, max(supplier#3360205)#3360288 AS supplier#3360267, max(supplyingPlant#3360206)#3360289 AS supplyingPlant#3360268, max(orderDateTime#3360207)#3360290 AS orderDateTime#3360269, collect_list(itemGroup#3360264, 0, 0)#3360291 AS itemGroups#3360270, flatten(collect_list(parentItems#3360208, 0, 0)#3360292) AS parentItems#3360271, flatten(collect_set(previousOrderProposals#3360210, 0, 0)#3360293) AS previousOrderProposals#3360272]
(68) Project
Output [2]: [shardId#3350462, struct(orderProposalId, orderProposalId#3351245L, originalReplenishmentRunId, originalReplenishmentRunId#3360265L, supplierGroup, supplierGroup#3360266, optimizationGroups, null, supplier, CASE WHEN isnull(supplierGroup#3360266) THEN supplier#3360267 END, supplyingPlant, supplyingPlant#3360268, orderDateTime, orderDateTime#3360269, itemGroups, itemGroups#3360270, previousOrderProposals, array_distinct(previousOrderProposals#3360272), parentItems, parentItems#3360271) AS orderProposal#3360297]
Input [10]: [shardId#3350462, orderProposalId#3351245L, originalReplenishmentRunId#3360265L, supplierGroup#3360266, supplier#3360267, supplyingPlant#3360268, orderDateTime#3360269, itemGroups#3360270, parentItems#3360271, previousOrderProposals#3360272]
(69) Project
Output [11]: [shardId#3350462, orderProposal#3360297.orderProposalId AS _extract_orderProposalId#3361055L, orderProposal#3360297.originalReplenishmentRunId AS _extract_originalReplenishmentRunId#3361056L, orderProposal#3360297.supplierGroup AS _extract_supplierGroup#3361057, orderProposal#3360297.supplier AS _extract_supplier#3361058, orderProposal#3360297.supplyingPlant AS _extract_supplyingPlant#3361059, orderProposal#3360297.orderDateTime AS _extract_orderDateTime#3361060, orderProposal#3360297.itemGroups AS _extract_itemGroups#3361061, orderProposal#3360297.previousOrderProposals AS _extract_previousOrderProposals#3361062, orderProposal#3360297.parentItems AS _extract_parentItems#3361063, orderProposal#3360297.orderProposalId AS _extract_orderProposalId#3361064L]
Input [2]: [shardId#3350462, orderProposal#3360297]
(70) Exchange
Input [11]: [shardId#3350462, _extract_orderProposalId#3361055L, _extract_originalReplenishmentRunId#3361056L, _extract_supplierGroup#3361057, _extract_supplier#3361058, _extract_supplyingPlant#3361059, _extract_orderDateTime#3361060, _extract_itemGroups#3361061, _extract_previousOrderProposals#3361062, _extract_parentItems#3361063, _extract_orderProposalId#3361064L]
Arguments: hashpartitioning(coalesce(shardId#3350462, ), isnull(shardId#3350462), coalesce(_extract_orderProposalId#3361064L, 0), isnull(_extract_orderProposalId#3361064L), 30), ENSURE_REQUIREMENTS, [plan_id=967703]
(71) Sort
Input [11]: [shardId#3350462, _extract_orderProposalId#3361055L, _extract_originalReplenishmentRunId#3361056L, _extract_supplierGroup#3361057, _extract_supplier#3361058, _extract_supplyingPlant#3361059, _extract_orderDateTime#3361060, _extract_itemGroups#3361061, _extract_previousOrderProposals#3361062, _extract_parentItems#3361063, _extract_orderProposalId#3361064L]
Arguments: [coalesce(shardId#3350462, ) ASC NULLS FIRST, isnull(shardId#3350462) ASC NULLS FIRST, coalesce(_extract_orderProposalId#3361064L, 0) ASC NULLS FIRST, isnull(_extract_orderProposalId#3361064L) ASC NULLS FIRST], false, 0
(72) InMemoryTableScan
Output [3]: [shardId#3360312, orderProposalId#3360313L, optimizationGroups#3360315]
Arguments: [shardId#3360312, orderProposalId#3360313L, optimizationGroups#3360315], [isnotnull(orderProposalId#3360313L)]
(73) InMemoryRelation
Arguments: [shardId#3360312, orderProposalId#3360313L, items#3360314, optimizationGroups#3360315, isOptimal#3360316, optimizationInsights#3360318], StorageLevel(disk, memory, 2 replicas)
(74) Filter [codegen id : 2]
Input [3]: [shardId#3360312, orderProposalId#3360313L, optimizationGroups#3360315]
Condition : isnotnull(orderProposalId#3360313L)
(75) Exchange
Input [3]: [shardId#3360312, orderProposalId#3360313L, optimizationGroups#3360315]
Arguments: hashpartitioning(orderProposalId#3360313L, 30), ENSURE_REQUIREMENTS, [plan_id=967708]
(76) Sort [codegen id : 3]
Input [3]: [shardId#3360312, orderProposalId#3360313L, optimizationGroups#3360315]
Arguments: [orderProposalId#3360313L ASC NULLS FIRST], false, 0
(77) InMemoryTableScan
Output [2]: [items#3359941, shardId#3359939]
Arguments: [items#3359941, shardId#3359939], [(size(items#3359941.worklistShardItemId, true) > 0), isnotnull(items#3359941.worklistShardItemId), (shardId#3359939 = 0_2_10000000532)]
(78) InMemoryRelation
Arguments: [shardId#3359939, orderProposalId#3359940L, items#3359941, optimizationGroups#3359942, isOptimal#3359943, optimizationInsights#3359945], StorageLevel(disk, memory, 2 replicas)
(79) Filter [codegen id : 4]
Input [2]: [items#3359941, shardId#3359939]
Condition : (((size(items#3359941.worklistShardItemId, true) > 0) AND isnotnull(items#3359941.worklistShardItemId)) AND (shardId#3359939 = 0_2_10000000532))
(80) Project [codegen id : 4]
Output [1]: [items#3359941.worklistShardItemId AS _extract_worklistShardItemId#3360960]
Input [2]: [items#3359941, shardId#3359939]
(81) Generate [codegen id : 4]
Input [1]: [_extract_worklistShardItemId#3360960]
Arguments: explode(_extract_worklistShardItemId#3360960), false, [item#3360319L]
(82) Project [codegen id : 4]
Output [1]: [item#3360319L AS worklistShardItemId#3360320L]
Input [1]: [item#3360319L]
(83) BroadcastExchange
Input [1]: [worklistShardItemId#3360320L]
Arguments: HashedRelationBroadcastMode(List(input[0, bigint, true]),false), [plan_id=967719]
(84) Scan parquet
Output [5]: [orderProposalId#3360368L, isFallbackOrderOnly#3360385, worklistShardItemId#3360391L, shardId#3360412, sequenceId#3360390]
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#3360412), isnotnull(sequenceId#3360390), (shardId#3360412 = 0_2_10000000532), (sequenceId#3360390 = 6)]
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#3360368L, isFallbackOrderOnly#3360385, worklistShardItemId#3360391L, shardId#3360412, sequenceId#3360390]
(86) Filter [codegen id : 5]
Input [5]: [orderProposalId#3360368L, isFallbackOrderOnly#3360385, worklistShardItemId#3360391L, shardId#3360412, sequenceId#3360390]
Condition : ((isnotnull(worklistShardItemId#3360391L) AND NOT (isFallbackOrderOnly#3360385 <=> true)) AND isnotnull(orderProposalId#3360368L))
(87) Project [codegen id : 5]
Output [2]: [orderProposalId#3360368L, worklistShardItemId#3360391L]
Input [5]: [orderProposalId#3360368L, isFallbackOrderOnly#3360385, worklistShardItemId#3360391L, shardId#3360412, sequenceId#3360390]
(88) Exchange
Input [2]: [orderProposalId#3360368L, worklistShardItemId#3360391L]
Arguments: hashpartitioning(worklistShardItemId#3360391L, 30), REPARTITION_BY_NUM, [plan_id=967726]
(89) Project
Output [2]: [worklistShardItemId#3360391L, orderProposalId#3360368L]
Input [2]: [orderProposalId#3360368L, worklistShardItemId#3360391L]
(90) BroadcastHashJoin [codegen id : 6]
Left keys [1]: [worklistShardItemId#3360320L]
Right keys [1]: [worklistShardItemId#3360391L]
Join type: Inner
Join condition: None
(91) Project [codegen id : 6]
Output [1]: [orderProposalId#3360368L]
Input [3]: [worklistShardItemId#3360320L, worklistShardItemId#3360391L, orderProposalId#3360368L]
(92) HashAggregate [codegen id : 6]
Input [1]: [orderProposalId#3360368L]
Keys [1]: [orderProposalId#3360368L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#3360368L]
(93) Exchange
Input [1]: [orderProposalId#3360368L]
Arguments: hashpartitioning(orderProposalId#3360368L, 30), ENSURE_REQUIREMENTS, [plan_id=967733]
(94) HashAggregate [codegen id : 7]
Input [1]: [orderProposalId#3360368L]
Keys [1]: [orderProposalId#3360368L]
Functions: []
Aggregate Attributes: []
Results [1]: [orderProposalId#3360368L]
(95) Sort [codegen id : 7]
Input [1]: [orderProposalId#3360368L]
Arguments: [orderProposalId#3360368L ASC NULLS FIRST], false, 0
(96) SortMergeJoin [codegen id : 8]
Left keys [1]: [orderProposalId#3360313L]
Right keys [1]: [orderProposalId#3360368L]
Join type: Inner
Join condition: None
(97) Project
Output [3]: [orderProposalId#3360313L, shardId#3360312, coalesce(transform(optimizationGroups#3360315, lambdafunction(struct(optGroupId, lambda x_11103#3360310.optGroupId, minOrderProfile, lambda x_11103#3360310.minOrderProfile, assignmentDetails, lambda x_11103#3360310.assignmentDetails, minOrdBenchmark, struct(dimensionType, lambda x_11103#3360310.minOrderGoal.dimensionType, unit, lambda x_11103#3360310.minOrderGoal.unit, unitUuid, lambda x_11103#3360310.minOrderGoal.unitUuid, goalValue, lambda x_11103#3360310.minOrderGoal.minOrderValue, calcValue, lambda x_11103#3360310.minOrderGoal.calculatedOrderValue), transportLoadProfile, null, transportLoadGoal, null), lambda x_11103#3360310, false)), []) AS optimizationGroups#3360309]
Input [4]: [shardId#3360312, orderProposalId#3360313L, optimizationGroups#3360315, orderProposalId#3360368L]
(98) Exchange
Input [3]: [orderProposalId#3360313L, shardId#3360312, optimizationGroups#3360309]
Arguments: hashpartitioning(coalesce(shardId#3360312, ), isnull(shardId#3360312), coalesce(orderProposalId#3360313L, 0), isnull(orderProposalId#3360313L), 30), ENSURE_REQUIREMENTS, [plan_id=967742]
(99) Sort [codegen id : 9]
Input [3]: [orderProposalId#3360313L, shardId#3360312, optimizationGroups#3360309]
Arguments: [coalesce(shardId#3360312, ) ASC NULLS FIRST, isnull(shardId#3360312) ASC NULLS FIRST, coalesce(orderProposalId#3360313L, 0) ASC NULLS FIRST, isnull(orderProposalId#3360313L) ASC NULLS FIRST], false, 0
(100) SortMergeJoin
Left keys [4]: [coalesce(shardId#3350462, ), isnull(shardId#3350462), coalesce(_extract_orderProposalId#3361064L, 0), isnull(_extract_orderProposalId#3361064L)]
Right keys [4]: [coalesce(shardId#3360312, ), isnull(shardId#3360312), coalesce(orderProposalId#3360313L, 0), isnull(orderProposalId#3360313L)]
Join type: LeftOuter
Join condition: None
(101) Project
Output [2]: [shardId#3350462, named_struct(orderProposalId, _extract_orderProposalId#3361064L, originalReplenishmentRunId, _extract_originalReplenishmentRunId#3361056L, supplierGroup, _extract_supplierGroup#3361057, optimizationGroups, coalesce(optimizationGroups#3360309, []), supplier, _extract_supplier#3361058, supplyingPlant, _extract_supplyingPlant#3361059, orderDateTime, _extract_orderDateTime#3361060, itemGroups, _extract_itemGroups#3361061, previousOrderProposals, _extract_previousOrderProposals#3361062, parentItems, _extract_parentItems#3361063) AS orderProposal#3360416]
Input [14]: [shardId#3350462, _extract_orderProposalId#3361055L, _extract_originalReplenishmentRunId#3361056L, _extract_supplierGroup#3361057, _extract_supplier#3361058, _extract_supplyingPlant#3361059, _extract_orderDateTime#3361060, _extract_itemGroups#3361061, _extract_previousOrderProposals#3361062, _extract_parentItems#3361063, _extract_orderProposalId#3361064L, orderProposalId#3360313L, shardId#3360312, optimizationGroups#3360309]
(102) Project
Output [3]: [shardId#3350462, orderProposal#3360416, CASE WHEN (size(orderProposal#3360416.parentItems, true) > 2000) THEN xxhash64(orderProposal#3360416.orderProposalId, 42) ELSE xxhash64(pmod(cast(orderProposal#3360416.orderProposalId as decimal(20,0)), 56), 42) END AS resultSeparationId#3365313L]
Input [2]: [orderProposal#3360416, shardId#3350462]
(103) ObjectHashAggregate
Input [3]: [shardId#3350462, orderProposal#3360416, resultSeparationId#3365313L]
Keys [2]: [shardId#3350462, resultSeparationId#3365313L]
Functions [1]: [partial_collect_list(orderProposal#3360416, 0, 0)]
Aggregate Attributes [1]: [buf#3365352]
Results [3]: [shardId#3350462, resultSeparationId#3365313L, buf#3365353]
(104) Exchange
Input [3]: [shardId#3350462, resultSeparationId#3365313L, buf#3365353]
Arguments: hashpartitioning(shardId#3350462, resultSeparationId#3365313L, 30), ENSURE_REQUIREMENTS, [plan_id=968719]
(105) ObjectHashAggregate
Input [3]: [shardId#3350462, resultSeparationId#3365313L, buf#3365353]
Keys [2]: [shardId#3350462, resultSeparationId#3365313L]
Functions [1]: [collect_list(orderProposal#3360416, 0, 0)]
Aggregate Attributes [1]: [collect_list(orderProposal#3360416, 0, 0)#3365321]
Results [3]: [shardId#3350462, resultSeparationId#3365313L, collect_list(orderProposal#3360416, 0, 0)#3365321 AS orderProposals#3365317]
(106) Exchange
Input [3]: [shardId#3350462, resultSeparationId#3365313L, orderProposals#3365317]
Arguments: rangepartitioning(shardId#3350462 ASC NULLS FIRST, resultSeparationId#3365313L ASC NULLS FIRST, 56), REPARTITION_BY_NUM, [plan_id=968762]
(107) Project
Output [2]: [shardId#3350462, orderProposals#3365317]
Input [3]: [shardId#3350462, resultSeparationId#3365313L, orderProposals#3365317]
(108) Project
Output [2]: [empty2null(shardId#3350462) AS shardId#3379853, orderProposals#3365317]
Input [2]: [orderProposals#3365317, shardId#3350462]
(109) Sort
Input [2]: [shardId#3379853, orderProposals#3365317]
Arguments: [shardId#3379853 ASC NULLS FIRST], false, 0
(110) WriteFiles
Input [2]: [shardId#3379853, orderProposals#3365317]
(111) Execute InsertIntoHadoopFsRelationCommand
Input: []
Arguments: hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/order-proposal-result/10000000532, false, [shardId#3379853], JSON, [__partition_columns=["shardId"], path=hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/out/order-proposal-result/10000000532], Append, [shardId, orderProposals]