== Physical Plan ==
Execute SaveIntoDataSourceCommand (1)
+- SaveIntoDataSourceCommand (2)
+- Project (221)
+- Project (220)
+- Project (219)
+- Project (218)
+- Project (217)
+- Project (216)
+- Project (215)
+- Project (214)
+- Project (213)
+- Project (212)
+- Deduplicate (211)
+- Project (210)
+- Filter (209)
+- Project (208)
+- Join (207)
:- Project (205)
: +- Project (204)
: +- Project (203)
: +- Project (202)
: +- Project (201)
: +- Project (200)
: +- Join (199)
: :- Project (29)
: : +- Project (28)
: : +- Project (27)
: : +- Project (26)
: : +- Generate (25)
: : +- Project (24)
: : +- Generate (23)
: : +- Project (22)
: : +- Join (21)
: : :- Project (18)
: : : +- Project (17)
: : : +- Join (16)
: : : :- SubqueryAlias (12)
: : : : +- Project (11)
: : : : +- Join (10)
: : : : :- Project (5)
: : : : : +- RepartitionByExpression (4)
: : : : : +- LogicalRelation (3)
: : : : +- Project (9)
: : : : +- Project (8)
: : : : +- Repartition (7)
: : : : +- LogicalRelation (6)
: : : +- Project (15)
: : : +- Repartition (14)
: : : +- LogicalRelation (13)
: : +- Repartition (20)
: : +- LogicalRelation (19)
: +- Project (198)
: +- Aggregate (197)
: +- Project (196)
: +- Join (195)
: :- Project (111)
: : +- Filter (110)
: : +- Join (109)
: : :- Filter (81)
: : : +- Project (80)
: : : +- Project (79)
: : : +- Generate (78)
: : : +- Project (77)
: : : +- Aggregate (76)
: : : +- Project (75)
: : : +- Generate (74)
: : : +- Join (73)
: : : :- Repartition (31)
: : : : +- LogicalRelation (30)
: : : +- Project (72)
: : : +- Join (71)
: : : :- Project (41)
: : : : +- Project (40)
: : : : +- Generate (39)
: : : : +- Project (38)
: : : : +- Generate (37)
: : : : +- Project (36)
: : : : +- Project (35)
: : : : +- Filter (34)
: : : : +- Repartition (33)
: : : : +- LogicalRelation (32)
: : : +- Deduplicate (70)
: : : +- Project (69)
: : : +- Project (68)
: : : +- Project (67)
: : : +- Project (66)
: : : +- Project (65)
: : : +- Generate (64)
: : : +- Project (63)
: : : +- Generate (62)
: : : +- Project (61)
: : : +- Join (60)
: : : :- Project (57)
: : : : +- Project (56)
: : : : +- Join (55)
: : : : :- SubqueryAlias (51)
: : : : : +- Project (50)
: : : : : +- Join (49)
: : : : : :- Project (44)
: : : : : : +- RepartitionByExpression (43)
: : : : : : +- LogicalRelation (42)
: : : : : +- Project (48)
: : : : : +- Project (47)
: : : : : +- Repartition (46)
: : : : : +- LogicalRelation (45)
: : : : +- Project (54)
: : : : +- Repartition (53)
: : : : +- LogicalRelation (52)
: : : +- Repartition (59)
: : : +- LogicalRelation (58)
: : +- Project (108)
: : +- Project (107)
: : +- Project (106)
: : +- Project (105)
: : +- Generate (104)
: : +- Project (103)
: : +- Generate (102)
: : +- Project (101)
: : +- Join (100)
: : :- Project (97)
: : : +- Project (96)
: : : +- Join (95)
: : : :- SubqueryAlias (91)
: : : : +- Project (90)
: : : : +- Join (89)
: : : : :- Project (84)
: : : : : +- RepartitionByExpression (83)
: : : : : +- LogicalRelation (82)
: : : : +- Project (88)
: : : : +- Project (87)
: : : : +- Repartition (86)
: : : : +- LogicalRelation (85)
: : : +- Project (94)
: : : +- Repartition (93)
: : : +- LogicalRelation (92)
: : +- Repartition (99)
: : +- LogicalRelation (98)
: +- Aggregate (194)
: +- Project (193)
: +- Filter (192)
: +- Join (191)
: :- Filter (163)
: : +- Project (162)
: : +- Project (161)
: : +- Generate (160)
: : +- Project (159)
: : +- Aggregate (158)
: : +- Project (157)
: : +- Generate (156)
: : +- Join (155)
: : :- Repartition (113)
: : : +- LogicalRelation (112)
: : +- Project (154)
: : +- Join (153)
: : :- Project (123)
: : : +- Project (122)
: : : +- Generate (121)
: : : +- Project (120)
: : : +- Generate (119)
: : : +- Project (118)
: : : +- Project (117)
: : : +- Filter (116)
: : : +- Repartition (115)
: : : +- LogicalRelation (114)
: : +- Deduplicate (152)
: : +- Project (151)
: : +- Project (150)
: : +- Project (149)
: : +- Project (148)
: : +- Project (147)
: : +- Generate (146)
: : +- Project (145)
: : +- Generate (144)
: : +- Project (143)
: : +- Join (142)
: : :- Project (139)
: : : +- Project (138)
: : : +- Join (137)
: : : :- SubqueryAlias (133)
: : : : +- Project (132)
: : : : +- Join (131)
: : : : :- Project (126)
: : : : : +- RepartitionByExpression (125)
: : : : : +- LogicalRelation (124)
: : : : +- Project (130)
: : : : +- Project (129)
: : : : +- Repartition (128)
: : : : +- LogicalRelation (127)
: : : +- Project (136)
: : : +- Repartition (135)
: : : +- LogicalRelation (134)
: : +- Repartition (141)
: : +- LogicalRelation (140)
: +- Project (190)
: +- Project (189)
: +- Project (188)
: +- Project (187)
: +- Generate (186)
: +- Project (185)
: +- Generate (184)
: +- Project (183)
: +- Join (182)
: :- Project (179)
: : +- Project (178)
: : +- Join (177)
: : :- SubqueryAlias (173)
: : : +- Project (172)
: : : +- Join (171)
: : : :- Project (166)
: : : : +- RepartitionByExpression (165)
: : : : +- LogicalRelation (164)
: : : +- Project (170)
: : : +- Project (169)
: : : +- Repartition (168)
: : : +- LogicalRelation (167)
: : +- Project (176)
: : +- Repartition (175)
: : +- LogicalRelation (174)
: +- Repartition (181)
: +- LogicalRelation (180)
+- LogicalRelation (206)
(1) Execute SaveIntoDataSourceCommand
Output: []
(2) SaveIntoDataSourceCommand
Arguments: org.apache.spark.sql.kafka010.KafkaSourceProvider@6d30d4f6, [kafka.ssl.keystore.type=PEM, kafka.ssl.truststore.certificates=-----BEGIN CERTIFICATE-----
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
/jpDfYNIFFeK2b96ea3PMzQYLg==
-----END CERTIFICATE-----, kafka.bootstrap.servers=52.137.59.6:50094,52.137.59.6:50194,52.137.59.6:50294, kafka.ssl.keystore.key=-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCi8oGm8yTQqwhl
wuI/WoFcqdrSo5RG4Exb5qkGAdxARJ5uYjQuHxSni7Qo+EOCCk/vis0y5ZN9XypT
Mw1MPZyBv/hylDRDv97NUvj9Hlrb+Z+gySf+J2IWxRNgduwwP1brc+AJj8Cu5gGE
3g0goLcUfWUmys3yptR8awSC2tehgx6aLzEsoPJAwqEFbAUtchJtntPXGsHBPEcB
FeqMRdd3pROiNBeF2E2q8q9oINpZHZ82IuL8J+AC9e+uLLmfFtGr/kBL6Vubg72/
syOG1b3y/0hDtVPNjjW3Y3y8d4AXs9ZgZwnrT5TLCAOUAm4Y6pLICfedgZeiVP9F
8w9USfSLAgMBAAECggEATzVmG/MurratLtZUp6pFnvc8VU9KCUgIJlZSTIbD+4O/
pfXb2p2mKynIim/gVQrRP6avx/F8SCHmD6qN6MU8WoAoc/4iB9rxocqXGWfTkAHg
fEa8R5n6XwouuKImfu+TP4JE4jD8X6iUDXPpWrZ1OKMZ9Aj6ot1BBjf5aeiakDpH
adxRdrAebDwsQ4yy1D99xkL1UbcR8FM/dn8XdYCICQfrhP0l7M5xNXhmmAAlbZwN
upLQ4G0Grwj2arqzjpDE2T0z0GNvEQTViIViKbBHUGX85UZUXGHQgxodujS4vGho
g6hk684fu98fe7xCPNKrdXtrlQDPFePGSKhviBkW2QKBgQDWuOw85XuM0kYe8+10
HBiSWjGSkUtwwSTs0NLIcnBaugPGwbqdOzQy6y4Yq5CHS3d2BDOOaytZVAXa6r4N
pvyRyLX1d9m36LlUqZf33iyZgg5qPegYpt4o26R7/Tzjt5A2EXfwgUWXeIOWoC1S
HSOqpgKlNXIT8OeWXQXV1jkviQKBgQDCRZcomU6qyBWncOQ6dWFoRp/5587gkYqb
dAUAOa4JCHGPLku04X5tuCIPf8d3b/Jq9HLfXMx+zstk5QuIMAuIX+KFzmfquykl
4E+tzDtI/ZKeAesoxH894aCUr+zaYOzuZ1C2nNY9IGIYCAxtiLSOBsWuW0fTEJ/a
YTRbFvxKcwKBgQCpGWESZDd0o3SNk9SBCE9hkp5PqxUaa0FFLv+Q1G8fRDcNJCxu
/t0Q7J2U2CguJISj8JMZqdStuLoTuaKK5eMqfEKwWf6gEytBPX5sug+tpPrtOGu8
Xk2/J5rV+o0lWL69lew6/9NqgoI+8U4/yKr6DVsv+HMquSHpDME3skm+4QKBgAMu
QoBOqkQPjJM2PPZcD6E2bs4XpoJ0v5E2ABL13syVD87pUiH/AyPmvOAGFoz1D0ID
CJJxoYN9/USEn4C2UKoF796C956XO+A74PIWgu36ANmHbIM5XF/1/rwQeU9GAPsS
Q/cJcFSF4DVGhHWSpGoi4D+vjOh+wC9CIipPoQfTAoGBALe/puazb5oT20FGEyBm
4HO8Dba35K7ntTE90SrKeYXobQrXd0ZVzXvwR2n73Uoye/xig3tXVSK/SrNtRybi
A+Rnwbfcz6rtLVCf3RNmzODeo7dt4XIUc262Xcu4Z4M9jUWhEtRBK+NQvZ16Bn6g
EQGotGoh6684iVMYxzvUKORD
-----END PRIVATE KEY-----, topic=SituationsTopic, kafka.ssl.truststore.type=PEM, kafka.ssl.keystore.certificate.chain=-----BEGIN CERTIFICATE-----
MIIG+jCCBOKgAwIBAgIRALp+YQWDPjU36fO4+KuOIMIwDQYJKoZIhvcNAQELBQAw
eTELMAkGA1UEBhMCREUxDTALBgNVBAcMBEVVMTAxDzANBgNVBAoMBlNBUCBTRTEj
MCEGA1UECwwaU0FQIENsb3VkIFBsYXRmb3JtIENsaWVudHMxJTAjBgNVBAMMHFNB
UCBDbG91ZCBQbGF0Zm9ybSBDbGllbnQgQ0EwHhcNMjYwNjE4MDcxNTQ0WhcNMjcw
NjE4MDgxNTQ0WjCCAfExCzAJBgNVBAYTAkRFMQ8wDQYDVQQKDAZTQVAgU0UxIzAh
BgNVBAsMGlNBUCBDbG91ZCBQbGF0Zm9ybSBDbGllbnRzMRowGAYDVQQLDBFjZi1l
dTIwLXNhcC1rYWZrYTGCAWMwggFfBgNVBAcMggFWUW1QN21yaGM1bW5sZnVqVTUw
THpubkNTQmIyNC1xb01WOXVnQl9sTEJOUENlaHo4X0FLSHdlYzBuRnAtbDB2TGJE
S1RuMjQzVHYyWVlhc1p4VDhVYmRkVkpqTWNlazN0cFZzTmdWU2czRHhDRHQ4aWpL
YkRUTDdnNjdMdm55NnZjc2w5TU9CYjF5U2daRmp2NVVhcVFVQWxTVU42dXNKaFl6
aXl6Mkg1Y2FPZ1FMY1RsMTFMeVBnbVM4UE1jaGItdEZzcnZVQmxkam9DdFQwZHpN
N1dkREJVaFpqRm52d1V3ekhvYlhqYnlGQ1ZiYjlDSWliaWdwek1XNjRlSHJoNDZZ
ODRzakFhTFBHQ1JSdnRmb3ZaYkZiUUktT0NjWWF3SkZlcDdVcTRjMDNhMG1nLUdr
N2RPMGV1NEhjbW1ncEM2c3Z2SVZVQ082UzJuWlhtVXhVV1d3MSkwJwYDVQQDDCBz
YnNzXzlyMmFrZ2VhbXVrZnp3MWV3em1kYnRkZ3plazCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBAKLygabzJNCrCGXC4j9agVyp2tKjlEbgTFvmqQYB3EBE
nm5iNC4fFKeLtCj4Q4IKT++KzTLlk31fKlMzDUw9nIG/+HKUNEO/3s1S+P0eWtv5
n6DJJ/4nYhbFE2B27DA/Vutz4AmPwK7mAYTeDSCgtxR9ZSbKzfKm1HxrBILa16GD
HpovMSyg8kDCoQVsBS1yEm2e09cawcE8RwEV6oxF13elE6I0F4XYTaryr2gg2lkd
nzYi4vwn4AL1764suZ8W0av+QEvpW5uDvb+zI4bVvfL/SEO1U82ONbdjfLx3gBez
1mBnCetPlMsIA5QCbhjqksgJ952Bl6JU/0XzD1RJ9IsCAwEAAaOCAQEwgf4wCQYD
VR0TBAIwADAfBgNVHSMEGDAWgBTtx8AzXhKk93kym3vuCviohXiMLzAdBgNVHQ4E
FgQUsR83TgHGVsLA1G4idLLPBIM7O9EwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQM
MAoGCCsGAQUFBwMCMIGLBgNVHR8EgYMwgYAwfqB8oHqGeGh0dHA6Ly9zYXAtY2xv
dWQtcGxhdGZvcm0tY2xpZW50LWNhLWV1MTAtY3Jscy5zMy5ldS1jZW50cmFsLTEu
YW1hem9uYXdzLmNvbS9jcmwvMmExYjQ5YWMtZmMwMi00YTQ4LTk5M2EtOWE0ZDBk
ZmVjMzNlLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAe/RSvettwbRgy73EU61mRpoH
LlebOTpS54/3Bd5lBecS4NyeFnMaKxV5dmNaQ65W7cEGcZ523Hg9WkWV+R/LiTff
QkmXCMClsHhjx3VxZe/8W/2nz3Vy4muGU9pL29WGcDE3QzppxQ+0BZLqI672yW/2
R5EzepjLQiB0re4cyWfUm3erjQtveZnGizxi5pyPmcm6RpMe70Cx5SswidEaqljl
K0Z4/UVd4NgaScUJm+I78i/Xgo15fd3Ju4l4pk6cC3n22M9JbcU0i4uDwfksa9iN
mo8OUhEEkNLISo1gH+LxqL2d/a8/J/lDH4GbjoZnQK9vK+75MSYPO5IyDTbMP2ew
gQMnJSHKj76dEFBE8drl/6Xf6mucjMf00+q5FBHwGUsB3ZP+HUZ3oLzL8lIBbLZV
C5WacMRRV8SVp1N+lq32V21a9jXqSJP+Es3kS3iIKJOKWuRLroL7Ln+Xnlq5MlRi
2NW895Zhoj5kIDNG7nKlw1pu3I7hiPyEzIh52DsOUdvKPqUMljcuuA9+SlvxWTfc
Catr6/rV9FgXEBVuPULs/wizaVLT7668Szzo7+y2RAMr1g4URO5IBUsVWYFNrPhE
l+VLtcBI82wdp9LGi1P9AEoMk6e6p66Una2CEKtNyjTiCWYOG1gyeLaq6vSW1sJC
GL645CBGfMJODZmU9pM=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
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
TG767A==
-----END CERTIFICATE-----, kafka.security.protocol=SSL], ErrorIfExists
(3) LogicalRelation
Arguments: parquet, [product#1102, plant#1103, orderDateTime#1104, planningStartDateTime#1105], false
(4) RepartitionByExpression
Arguments: [product#1102, plant#1103], 10
(5) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104]
(6) LogicalRelation
Arguments: parquet, [systemId#1107, internalUUID#1108, plant#1109, product#1110, blockedForReplenishmentStartingFrom#1111, productionAspect#1112, salesPlant#1113, listing#1114], false
(7) Repartition
Arguments: 10, true
(8) Project
Arguments: [systemId#1107, internalUUID#1108, plant#1109, product#1110, blockedForReplenishmentStartingFrom#1111, productionAspect#1112, salesPlant#1113, listing#1114, struct(systemId, systemId#1107, internalUUID, internalUUID#1108, plant, plant#1109, product, product#1110, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#1111, productionAspect, productionAspect#1112, salesPlant, salesPlant#1113, listing, listing#1114) AS productPlant#1116]
(9) Project
Arguments: [productPlant#1116]
(10) Join
Arguments: LeftOuter, ((product#1102 <=> productPlant#1116.product.internalRefUUID) AND (plant#1103 <=> productPlant#1116.plant.internalRefUUID))
(11) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116]
(12) SubqueryAlias
Arguments: wl
(13) LogicalRelation
Arguments: parquet, [systemId#1119, internalUUID#1120, id#1121, displayId#1122, name#1123, category#1124, companyCode#1125, address#1126, mainDistributionChain#1127, mainPurchasingOrganization#1128, validPurchasingOrganizations#1129, productGroup#1130], false
(14) Repartition
Arguments: 10, true
(15) Project
Arguments: [internalUUID#1120, address#1126.timeZone.code AS timezonecode#1131]
(16) Join
Arguments: LeftOuter, (plant#1103 <=> internalUUID#1120)
(17) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116, internalUUID#1120, CASE WHEN isnotnull(timezonecode#1131) THEN timezonecode#1131 ELSE UTC END AS timezonecode#1134]
(18) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116, timezonecode#1134]
(19) LogicalRelation
Arguments: parquet, [systemId#1135, internalUUID#1136, id#1137, displayId#1138, name#1139, baseUnitOfMeasure#1140, unitOfMeasures#1141, unitOfMeasureConversions#1142, productionAspect#1143, salesAspect#1144, procurementAspect#1145, productGroup#1146], false
(20) Repartition
Arguments: 10, true
(21) Join
Arguments: LeftOuter, (product#1102 = internalUUID#1136)
(22) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116, timezonecode#1134, systemId#1135, internalUUID#1136, id#1137, displayId#1138, name#1139, baseUnitOfMeasure#1140, unitOfMeasures#1141, unitOfMeasureConversions#1142, productionAspect#1143, salesAspect#1144, procurementAspect#1145, productGroup#1146, filter(unitOfMeasureConversions#1142, lambdafunction((((lambda u#1149.measurementUnit1.code = productPlant#1116.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#1149.measurementUnit1.internalRefUUID = productPlant#1116.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#1149.measurementUnit2.code = baseUnitOfMeasure#1140.code) AND (lambda u#1149.measurementUnit2.internalRefUUID = baseUnitOfMeasure#1140.internalRefUUID))), lambda u#1149, false)) AS filteredUnitOfMeasureConversions#1148]
(23) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1148.quantityNumerator), true, [quantityNumerator#1156]
(24) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116, timezonecode#1134, systemId#1135, internalUUID#1136, id#1137, displayId#1138, name#1139, baseUnitOfMeasure#1140, unitOfMeasures#1141, unitOfMeasureConversions#1142, productionAspect#1143, salesAspect#1144, procurementAspect#1145, productGroup#1146, filteredUnitOfMeasureConversions#1148, quantityNumerator#1156]
(25) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1148.quantityDenominator), true, [quantityDenominator#1159]
(26) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116, timezonecode#1134, systemId#1135, internalUUID#1136, id#1137, displayId#1138, name#1139, baseUnitOfMeasure#1140, unitOfMeasures#1141, unitOfMeasureConversions#1142, productionAspect#1143, salesAspect#1144, procurementAspect#1145, productGroup#1146, filteredUnitOfMeasureConversions#1148, quantityNumerator#1156, quantityDenominator#1159]
(27) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116, timezonecode#1134, systemId#1135, internalUUID#1136, id#1137, displayId#1138, name#1139, baseUnitOfMeasure#1140, unitOfMeasures#1141, unitOfMeasureConversions#1142, productionAspect#1143, salesAspect#1144, procurementAspect#1145, productGroup#1146, filteredUnitOfMeasureConversions#1148, quantityNumerator#1156, quantityDenominator#1159, (cast(quantityNumerator#1156 as double) / cast(quantityDenominator#1159 as double)) AS outboundUnit#1160]
(28) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116, timezonecode#1134, systemId#1135, internalUUID#1136, id#1137, displayId#1138, name#1139, baseUnitOfMeasure#1140, unitOfMeasures#1141, unitOfMeasureConversions#1142, productionAspect#1143, salesAspect#1144, procurementAspect#1145, productGroup#1146, filteredUnitOfMeasureConversions#1148, quantityNumerator#1156, quantityDenominator#1159, CASE WHEN (isnull(outboundUnit#1160) OR (outboundUnit#1160 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#1160 END AS outboundUnit#1161]
(29) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116, timezonecode#1134, outboundUnit#1161]
(30) LogicalRelation
Arguments: parquet, [systemId#1198, internalUUID#1199, product#1200, plant#1201, calculationDateTime#1202, stockQuantities#1203], false
(31) Repartition
Arguments: 10, true
(32) LogicalRelation
Arguments: parquet, [marketUnit#1162, description#1163, articleHierarchy#1164, defaultCurrency#1165, responsibilities#1166, replenishmentTypes#1167, distributionCenters#1168, assignedArticleHierarchyNodes#1169, minOrderQtySetting#1170, minOrderQtySettingInternal#1171, listingCheck#1172, odsSelection#1173, demandProfiles#1174, constraintProfiles#1175, optimizationProfiles#1176, orderGroupSplitProfiles#1177, supplierMinimumProfiles#1178, multipleRestrictionProfiles#1179, preferredUomSource#1180, handlingOfUnfulfilledDemands#1181, negligibleQuantitiesThreshold#1182, eventtype#1183], false
(33) Repartition
Arguments: 10, true
(34) Filter
Arguments: (marketUnit#1162 <=> DIP_1691)
(35) Project
Arguments: [marketUnit#1162, description#1163, articleHierarchy#1164, defaultCurrency#1165, responsibilities#1166, replenishmentTypes#1167, distributionCenters#1168, assignedArticleHierarchyNodes#1169, minOrderQtySetting#1170, minOrderQtySettingInternal#1171, listingCheck#1172, odsSelection#1173, demandProfiles#1174, constraintProfiles#1175, optimizationProfiles#1176, orderGroupSplitProfiles#1177, supplierMinimumProfiles#1178, multipleRestrictionProfiles#1179, preferredUomSource#1180, handlingOfUnfulfilledDemands#1181, negligibleQuantitiesThreshold#1182, eventtype#1183]
(36) Project
Arguments: [distributionCenters#1168]
(37) Generate
Arguments: explode(distributionCenters#1168), false, [distributionCenters#1186]
(38) Project
Arguments: [distributionCenters#1186]
(39) Generate
Arguments: explode(distributionCenters#1186.storageLocations), false, [storageLocations#1193]
(40) Project
Arguments: [distributionCenters#1186.id AS plantId#1187, distributionCenters#1186.internalRefUUID AS plantUuid#1188, storageLocations#1193]
(41) Project
Arguments: [plantId#1187, plantUuid#1188, storageLocations#1193.id AS storageLocId#1194, storageLocations#1193.internalRefUUID AS storageLocUuid#1195]
(42) LogicalRelation
Arguments: parquet, [product#1458, plant#1459, orderDateTime#1460, planningStartDateTime#1461], false
(43) RepartitionByExpression
Arguments: [product#1458, plant#1459], 10
(44) Project
Arguments: [product#1458, plant#1459, orderDateTime#1460]
(45) LogicalRelation
Arguments: parquet, [systemId#1462, internalUUID#1463, plant#1464, product#1465, blockedForReplenishmentStartingFrom#1466, productionAspect#1467, salesPlant#1468, listing#1469], false
(46) Repartition
Arguments: 10, true
(47) Project
Arguments: [systemId#1462, internalUUID#1463, plant#1464, product#1465, blockedForReplenishmentStartingFrom#1466, productionAspect#1467, salesPlant#1468, listing#1469, struct(systemId, systemId#1462, internalUUID, internalUUID#1463, plant, plant#1464, product, product#1465, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#1466, productionAspect, productionAspect#1467, salesPlant, salesPlant#1468, listing, listing#1469) AS productPlant#1470]
(48) Project
Arguments: [productPlant#1470]
(49) Join
Arguments: LeftOuter, ((product#1458 <=> productPlant#1470.product.internalRefUUID) AND (plant#1459 <=> productPlant#1470.plant.internalRefUUID))
(50) Project
Arguments: [product#1458, plant#1459, orderDateTime#1460, productPlant#1470]
(51) SubqueryAlias
Arguments: wl
(52) LogicalRelation
Arguments: parquet, [systemId#1471, internalUUID#1472, id#1473, displayId#1474, name#1475, category#1476, companyCode#1477, address#1478, mainDistributionChain#1479, mainPurchasingOrganization#1480, validPurchasingOrganizations#1481, productGroup#1482], false
(53) Repartition
Arguments: 10, true
(54) Project
Arguments: [internalUUID#1472, address#1478.timeZone.code AS timezonecode#1483]
(55) Join
Arguments: LeftOuter, (plant#1459 <=> internalUUID#1472)
(56) Project
Arguments: [product#1458, plant#1459, orderDateTime#1460, productPlant#1470, internalUUID#1472, CASE WHEN isnotnull(timezonecode#1483) THEN timezonecode#1483 ELSE UTC END AS timezonecode#1484]
(57) Project
Arguments: [product#1458, plant#1459, orderDateTime#1460, productPlant#1470, timezonecode#1484]
(58) LogicalRelation
Arguments: parquet, [systemId#1485, internalUUID#1486, id#1487, displayId#1488, name#1489, baseUnitOfMeasure#1490, unitOfMeasures#1491, unitOfMeasureConversions#1492, productionAspect#1493, salesAspect#1494, procurementAspect#1495, productGroup#1496], false
(59) Repartition
Arguments: 10, true
(60) Join
Arguments: LeftOuter, (product#1458 = internalUUID#1486)
(61) Project
Arguments: [product#1458, plant#1459, orderDateTime#1460, productPlant#1470, timezonecode#1484, systemId#1485, internalUUID#1486, id#1487, displayId#1488, name#1489, baseUnitOfMeasure#1490, unitOfMeasures#1491, unitOfMeasureConversions#1492, productionAspect#1493, salesAspect#1494, procurementAspect#1495, productGroup#1496, filter(unitOfMeasureConversions#1492, lambdafunction((((lambda u#1149.measurementUnit1.code = productPlant#1470.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#1149.measurementUnit1.internalRefUUID = productPlant#1470.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#1149.measurementUnit2.code = baseUnitOfMeasure#1490.code) AND (lambda u#1149.measurementUnit2.internalRefUUID = baseUnitOfMeasure#1490.internalRefUUID))), lambda u#1149, false)) AS filteredUnitOfMeasureConversions#1497]
(62) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1497.quantityNumerator), true, [quantityNumerator#1498]
(63) Project
Arguments: [product#1458, plant#1459, orderDateTime#1460, productPlant#1470, timezonecode#1484, systemId#1485, internalUUID#1486, id#1487, displayId#1488, name#1489, baseUnitOfMeasure#1490, unitOfMeasures#1491, unitOfMeasureConversions#1492, productionAspect#1493, salesAspect#1494, procurementAspect#1495, productGroup#1496, filteredUnitOfMeasureConversions#1497, quantityNumerator#1498]
(64) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1497.quantityDenominator), true, [quantityDenominator#1499]
(65) Project
Arguments: [product#1458, plant#1459, orderDateTime#1460, productPlant#1470, timezonecode#1484, systemId#1485, internalUUID#1486, id#1487, displayId#1488, name#1489, baseUnitOfMeasure#1490, unitOfMeasures#1491, unitOfMeasureConversions#1492, productionAspect#1493, salesAspect#1494, procurementAspect#1495, productGroup#1496, filteredUnitOfMeasureConversions#1497, quantityNumerator#1498, quantityDenominator#1499]
(66) Project
Arguments: [product#1458, plant#1459, orderDateTime#1460, productPlant#1470, timezonecode#1484, systemId#1485, internalUUID#1486, id#1487, displayId#1488, name#1489, baseUnitOfMeasure#1490, unitOfMeasures#1491, unitOfMeasureConversions#1492, productionAspect#1493, salesAspect#1494, procurementAspect#1495, productGroup#1496, filteredUnitOfMeasureConversions#1497, quantityNumerator#1498, quantityDenominator#1499, (cast(quantityNumerator#1498 as double) / cast(quantityDenominator#1499 as double)) AS outboundUnit#1500]
(67) Project
Arguments: [product#1458, plant#1459, orderDateTime#1460, productPlant#1470, timezonecode#1484, systemId#1485, internalUUID#1486, id#1487, displayId#1488, name#1489, baseUnitOfMeasure#1490, unitOfMeasures#1491, unitOfMeasureConversions#1492, productionAspect#1493, salesAspect#1494, procurementAspect#1495, productGroup#1496, filteredUnitOfMeasureConversions#1497, quantityNumerator#1498, quantityDenominator#1499, CASE WHEN (isnull(outboundUnit#1500) OR (outboundUnit#1500 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#1500 END AS outboundUnit#1501]
(68) Project
Arguments: [product#1458, plant#1459, orderDateTime#1460, productPlant#1470, timezonecode#1484, outboundUnit#1501]
(69) Project
Arguments: [plant#1459]
(70) Deduplicate
Arguments: [plant#1459]
(71) Join
Arguments: Inner, (plantUuid#1188 = plant#1459)
(72) Project
Arguments: [plantId#1187, plantUuid#1188, storageLocId#1194, storageLocUuid#1195]
(73) Join
Arguments: Inner, (plant#1201.internalRefUUID <=> plantUuid#1188)
(74) Generate
Arguments: explode(filter(stockQuantities#1203, lambdafunction(((lambda x#1207.storageLocation.internalRefUuid = storageLocUuid#1195) AND (lambda x#1207.storageLocation.Id = storageLocId#1194)), lambda x#1207, false))), false, [stockQuantity#1208]
(75) Project
Arguments: [systemId#1198, internalUUID#1199, product#1200, plant#1201, calculationDateTime#1202, stockQuantities#1203, plantId#1187, plantUuid#1188, storageLocId#1194, storageLocUuid#1195, stockQuantity#1208]
(76) Aggregate
Arguments: [plantUuid#1188, internalUUID#1199, plant#1201, product#1200, systemId#1198], [plantUuid#1188, internalUUID#1199, plant#1201, product#1200, systemId#1198, first(calculationDateTime#1202, false) AS calculationDateTime#1209, collect_list(stockQuantity#1208, 0, 0) AS stockQuantities#1210]
(77) Project
Arguments: [systemId#1198, internalUUID#1199, product#1200, plant#1201, calculationDateTime#1209, stockQuantities#1210]
(78) Generate
Arguments: explode(stockQuantities#1210), false, [stockQuantity#1225]
(79) Project
Arguments: [systemId#1198, internalUUID#1199, product#1200, plant#1201, calculationDateTime#1209, stockQuantities#1210, stockQuantity#1225]
(80) Project
Arguments: [plant#1201.id AS plant#1226, plant#1201.internalRefUUID AS plantUuid#1227, product#1200.id AS product#1228, product#1200.internalRefUUID AS productUuid#1229, calculationDateTime#1209, stockQuantity#1225.storagelocation.id AS storageLocId#1230, stockQuantity#1225.storagelocation.internalRefUUID AS storageLocUuid#1231, stockQuantity#1225.quantity.measure AS quantity#1232, stockQuantity#1225.specialStockIndicator.code AS specialStockIndicator#1233, stockQuantity#1225.stockType.code AS stockType#1234]
(81) Filter
Arguments: ((specialStockIndicator#1233 = ) AND (stockType#1234 = 01))
(82) LogicalRelation
Arguments: parquet, [product#1244, plant#1245, orderDateTime#1246, planningStartDateTime#1247], false
(83) RepartitionByExpression
Arguments: [product#1244, plant#1245], 10
(84) Project
Arguments: [product#1244, plant#1245, orderDateTime#1246]
(85) LogicalRelation
Arguments: parquet, [systemId#1248, internalUUID#1249, plant#1250, product#1251, blockedForReplenishmentStartingFrom#1252, productionAspect#1253, salesPlant#1254, listing#1255], false
(86) Repartition
Arguments: 10, true
(87) Project
Arguments: [systemId#1248, internalUUID#1249, plant#1250, product#1251, blockedForReplenishmentStartingFrom#1252, productionAspect#1253, salesPlant#1254, listing#1255, struct(systemId, systemId#1248, internalUUID, internalUUID#1249, plant, plant#1250, product, product#1251, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#1252, productionAspect, productionAspect#1253, salesPlant, salesPlant#1254, listing, listing#1255) AS productPlant#1256]
(88) Project
Arguments: [productPlant#1256]
(89) Join
Arguments: LeftOuter, ((product#1244 <=> productPlant#1256.product.internalRefUUID) AND (plant#1245 <=> productPlant#1256.plant.internalRefUUID))
(90) Project
Arguments: [product#1244, plant#1245, orderDateTime#1246, productPlant#1256]
(91) SubqueryAlias
Arguments: wl
(92) LogicalRelation
Arguments: parquet, [systemId#1257, internalUUID#1258, id#1259, displayId#1260, name#1261, category#1262, companyCode#1263, address#1264, mainDistributionChain#1265, mainPurchasingOrganization#1266, validPurchasingOrganizations#1267, productGroup#1268], false
(93) Repartition
Arguments: 10, true
(94) Project
Arguments: [internalUUID#1258, address#1264.timeZone.code AS timezonecode#1269]
(95) Join
Arguments: LeftOuter, (plant#1245 <=> internalUUID#1258)
(96) Project
Arguments: [product#1244, plant#1245, orderDateTime#1246, productPlant#1256, internalUUID#1258, CASE WHEN isnotnull(timezonecode#1269) THEN timezonecode#1269 ELSE UTC END AS timezonecode#1270]
(97) Project
Arguments: [product#1244, plant#1245, orderDateTime#1246, productPlant#1256, timezonecode#1270]
(98) LogicalRelation
Arguments: parquet, [systemId#1271, internalUUID#1272, id#1273, displayId#1274, name#1275, baseUnitOfMeasure#1276, unitOfMeasures#1277, unitOfMeasureConversions#1278, productionAspect#1279, salesAspect#1280, procurementAspect#1281, productGroup#1282], false
(99) Repartition
Arguments: 10, true
(100) Join
Arguments: LeftOuter, (product#1244 = internalUUID#1272)
(101) Project
Arguments: [product#1244, plant#1245, orderDateTime#1246, productPlant#1256, timezonecode#1270, systemId#1271, internalUUID#1272, id#1273, displayId#1274, name#1275, baseUnitOfMeasure#1276, unitOfMeasures#1277, unitOfMeasureConversions#1278, productionAspect#1279, salesAspect#1280, procurementAspect#1281, productGroup#1282, filter(unitOfMeasureConversions#1278, lambdafunction((((lambda u#1149.measurementUnit1.code = productPlant#1256.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#1149.measurementUnit1.internalRefUUID = productPlant#1256.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#1149.measurementUnit2.code = baseUnitOfMeasure#1276.code) AND (lambda u#1149.measurementUnit2.internalRefUUID = baseUnitOfMeasure#1276.internalRefUUID))), lambda u#1149, false)) AS filteredUnitOfMeasureConversions#1283]
(102) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1283.quantityNumerator), true, [quantityNumerator#1284]
(103) Project
Arguments: [product#1244, plant#1245, orderDateTime#1246, productPlant#1256, timezonecode#1270, systemId#1271, internalUUID#1272, id#1273, displayId#1274, name#1275, baseUnitOfMeasure#1276, unitOfMeasures#1277, unitOfMeasureConversions#1278, productionAspect#1279, salesAspect#1280, procurementAspect#1281, productGroup#1282, filteredUnitOfMeasureConversions#1283, quantityNumerator#1284]
(104) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1283.quantityDenominator), true, [quantityDenominator#1285]
(105) Project
Arguments: [product#1244, plant#1245, orderDateTime#1246, productPlant#1256, timezonecode#1270, systemId#1271, internalUUID#1272, id#1273, displayId#1274, name#1275, baseUnitOfMeasure#1276, unitOfMeasures#1277, unitOfMeasureConversions#1278, productionAspect#1279, salesAspect#1280, procurementAspect#1281, productGroup#1282, filteredUnitOfMeasureConversions#1283, quantityNumerator#1284, quantityDenominator#1285]
(106) Project
Arguments: [product#1244, plant#1245, orderDateTime#1246, productPlant#1256, timezonecode#1270, systemId#1271, internalUUID#1272, id#1273, displayId#1274, name#1275, baseUnitOfMeasure#1276, unitOfMeasures#1277, unitOfMeasureConversions#1278, productionAspect#1279, salesAspect#1280, procurementAspect#1281, productGroup#1282, filteredUnitOfMeasureConversions#1283, quantityNumerator#1284, quantityDenominator#1285, (cast(quantityNumerator#1284 as double) / cast(quantityDenominator#1285 as double)) AS outboundUnit#1286]
(107) Project
Arguments: [product#1244, plant#1245, orderDateTime#1246, productPlant#1256, timezonecode#1270, systemId#1271, internalUUID#1272, id#1273, displayId#1274, name#1275, baseUnitOfMeasure#1276, unitOfMeasures#1277, unitOfMeasureConversions#1278, productionAspect#1279, salesAspect#1280, procurementAspect#1281, productGroup#1282, filteredUnitOfMeasureConversions#1283, quantityNumerator#1284, quantityDenominator#1285, CASE WHEN (isnull(outboundUnit#1286) OR (outboundUnit#1286 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#1286 END AS outboundUnit#1287]
(108) Project
Arguments: [product#1244, plant#1245, orderDateTime#1246, productPlant#1256, timezonecode#1270, outboundUnit#1287]
(109) Join
Arguments: Inner, ((plantUuid#1227 = plant#1245) AND (productUuid#1229 = product#1244))
(110) Filter
Arguments: (calculationDateTime#1209 <= orderDateTime#1246)
(111) Project
Arguments: [plantUuid#1227 AS plant#1292, productUuid#1229 AS product#1293, storageLocId#1230, calculationDateTime#1209, quantity#1232]
(112) LogicalRelation
Arguments: parquet, [systemId#1301, internalUUID#1302, product#1303, plant#1304, calculationDateTime#1305, stockQuantities#1306], false
(113) Repartition
Arguments: 10, true
(114) LogicalRelation
Arguments: parquet, [marketUnit#1307, description#1308, articleHierarchy#1309, defaultCurrency#1310, responsibilities#1311, replenishmentTypes#1312, distributionCenters#1313, assignedArticleHierarchyNodes#1314, minOrderQtySetting#1315, minOrderQtySettingInternal#1316, listingCheck#1317, odsSelection#1318, demandProfiles#1319, constraintProfiles#1320, optimizationProfiles#1321, orderGroupSplitProfiles#1322, supplierMinimumProfiles#1323, multipleRestrictionProfiles#1324, preferredUomSource#1325, handlingOfUnfulfilledDemands#1326, negligibleQuantitiesThreshold#1327, eventtype#1328], false
(115) Repartition
Arguments: 10, true
(116) Filter
Arguments: (marketUnit#1307 <=> DIP_1691)
(117) Project
Arguments: [marketUnit#1307, description#1308, articleHierarchy#1309, defaultCurrency#1310, responsibilities#1311, replenishmentTypes#1312, distributionCenters#1313, assignedArticleHierarchyNodes#1314, minOrderQtySetting#1315, minOrderQtySettingInternal#1316, listingCheck#1317, odsSelection#1318, demandProfiles#1319, constraintProfiles#1320, optimizationProfiles#1321, orderGroupSplitProfiles#1322, supplierMinimumProfiles#1323, multipleRestrictionProfiles#1324, preferredUomSource#1325, handlingOfUnfulfilledDemands#1326, negligibleQuantitiesThreshold#1327, eventtype#1328]
(118) Project
Arguments: [distributionCenters#1313]
(119) Generate
Arguments: explode(distributionCenters#1313), false, [distributionCenters#1329]
(120) Project
Arguments: [distributionCenters#1329]
(121) Generate
Arguments: explode(distributionCenters#1329.storageLocations), false, [storageLocations#1330]
(122) Project
Arguments: [distributionCenters#1329.id AS plantId#1331, distributionCenters#1329.internalRefUUID AS plantUuid#1332, storageLocations#1330]
(123) Project
Arguments: [plantId#1331, plantUuid#1332, storageLocations#1330.id AS storageLocId#1333, storageLocations#1330.internalRefUUID AS storageLocUuid#1334]
(124) LogicalRelation
Arguments: parquet, [product#1335, plant#1336, orderDateTime#1337, planningStartDateTime#1338], false
(125) RepartitionByExpression
Arguments: [product#1335, plant#1336], 10
(126) Project
Arguments: [product#1335, plant#1336, orderDateTime#1337]
(127) LogicalRelation
Arguments: parquet, [systemId#1339, internalUUID#1340, plant#1341, product#1342, blockedForReplenishmentStartingFrom#1343, productionAspect#1344, salesPlant#1345, listing#1346], false
(128) Repartition
Arguments: 10, true
(129) Project
Arguments: [systemId#1339, internalUUID#1340, plant#1341, product#1342, blockedForReplenishmentStartingFrom#1343, productionAspect#1344, salesPlant#1345, listing#1346, struct(systemId, systemId#1339, internalUUID, internalUUID#1340, plant, plant#1341, product, product#1342, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#1343, productionAspect, productionAspect#1344, salesPlant, salesPlant#1345, listing, listing#1346) AS productPlant#1347]
(130) Project
Arguments: [productPlant#1347]
(131) Join
Arguments: LeftOuter, ((product#1335 <=> productPlant#1347.product.internalRefUUID) AND (plant#1336 <=> productPlant#1347.plant.internalRefUUID))
(132) Project
Arguments: [product#1335, plant#1336, orderDateTime#1337, productPlant#1347]
(133) SubqueryAlias
Arguments: wl
(134) LogicalRelation
Arguments: parquet, [systemId#1348, internalUUID#1349, id#1350, displayId#1351, name#1352, category#1353, companyCode#1354, address#1355, mainDistributionChain#1356, mainPurchasingOrganization#1357, validPurchasingOrganizations#1358, productGroup#1359], false
(135) Repartition
Arguments: 10, true
(136) Project
Arguments: [internalUUID#1349, address#1355.timeZone.code AS timezonecode#1360]
(137) Join
Arguments: LeftOuter, (plant#1336 <=> internalUUID#1349)
(138) Project
Arguments: [product#1335, plant#1336, orderDateTime#1337, productPlant#1347, internalUUID#1349, CASE WHEN isnotnull(timezonecode#1360) THEN timezonecode#1360 ELSE UTC END AS timezonecode#1361]
(139) Project
Arguments: [product#1335, plant#1336, orderDateTime#1337, productPlant#1347, timezonecode#1361]
(140) LogicalRelation
Arguments: parquet, [systemId#1362, internalUUID#1363, id#1364, displayId#1365, name#1366, baseUnitOfMeasure#1367, unitOfMeasures#1368, unitOfMeasureConversions#1369, productionAspect#1370, salesAspect#1371, procurementAspect#1372, productGroup#1373], false
(141) Repartition
Arguments: 10, true
(142) Join
Arguments: LeftOuter, (product#1335 = internalUUID#1363)
(143) Project
Arguments: [product#1335, plant#1336, orderDateTime#1337, productPlant#1347, timezonecode#1361, systemId#1362, internalUUID#1363, id#1364, displayId#1365, name#1366, baseUnitOfMeasure#1367, unitOfMeasures#1368, unitOfMeasureConversions#1369, productionAspect#1370, salesAspect#1371, procurementAspect#1372, productGroup#1373, filter(unitOfMeasureConversions#1369, lambdafunction((((lambda u#1149.measurementUnit1.code = productPlant#1347.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#1149.measurementUnit1.internalRefUUID = productPlant#1347.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#1149.measurementUnit2.code = baseUnitOfMeasure#1367.code) AND (lambda u#1149.measurementUnit2.internalRefUUID = baseUnitOfMeasure#1367.internalRefUUID))), lambda u#1149, false)) AS filteredUnitOfMeasureConversions#1374]
(144) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1374.quantityNumerator), true, [quantityNumerator#1375]
(145) Project
Arguments: [product#1335, plant#1336, orderDateTime#1337, productPlant#1347, timezonecode#1361, systemId#1362, internalUUID#1363, id#1364, displayId#1365, name#1366, baseUnitOfMeasure#1367, unitOfMeasures#1368, unitOfMeasureConversions#1369, productionAspect#1370, salesAspect#1371, procurementAspect#1372, productGroup#1373, filteredUnitOfMeasureConversions#1374, quantityNumerator#1375]
(146) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1374.quantityDenominator), true, [quantityDenominator#1376]
(147) Project
Arguments: [product#1335, plant#1336, orderDateTime#1337, productPlant#1347, timezonecode#1361, systemId#1362, internalUUID#1363, id#1364, displayId#1365, name#1366, baseUnitOfMeasure#1367, unitOfMeasures#1368, unitOfMeasureConversions#1369, productionAspect#1370, salesAspect#1371, procurementAspect#1372, productGroup#1373, filteredUnitOfMeasureConversions#1374, quantityNumerator#1375, quantityDenominator#1376]
(148) Project
Arguments: [product#1335, plant#1336, orderDateTime#1337, productPlant#1347, timezonecode#1361, systemId#1362, internalUUID#1363, id#1364, displayId#1365, name#1366, baseUnitOfMeasure#1367, unitOfMeasures#1368, unitOfMeasureConversions#1369, productionAspect#1370, salesAspect#1371, procurementAspect#1372, productGroup#1373, filteredUnitOfMeasureConversions#1374, quantityNumerator#1375, quantityDenominator#1376, (cast(quantityNumerator#1375 as double) / cast(quantityDenominator#1376 as double)) AS outboundUnit#1377]
(149) Project
Arguments: [product#1335, plant#1336, orderDateTime#1337, productPlant#1347, timezonecode#1361, systemId#1362, internalUUID#1363, id#1364, displayId#1365, name#1366, baseUnitOfMeasure#1367, unitOfMeasures#1368, unitOfMeasureConversions#1369, productionAspect#1370, salesAspect#1371, procurementAspect#1372, productGroup#1373, filteredUnitOfMeasureConversions#1374, quantityNumerator#1375, quantityDenominator#1376, CASE WHEN (isnull(outboundUnit#1377) OR (outboundUnit#1377 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#1377 END AS outboundUnit#1378]
(150) Project
Arguments: [product#1335, plant#1336, orderDateTime#1337, productPlant#1347, timezonecode#1361, outboundUnit#1378]
(151) Project
Arguments: [plant#1336]
(152) Deduplicate
Arguments: [plant#1336]
(153) Join
Arguments: Inner, (plantUuid#1332 = plant#1336)
(154) Project
Arguments: [plantId#1331, plantUuid#1332, storageLocId#1333, storageLocUuid#1334]
(155) Join
Arguments: Inner, (plant#1304.internalRefUUID <=> plantUuid#1332)
(156) Generate
Arguments: explode(filter(stockQuantities#1306, lambdafunction(((lambda x#1207.storageLocation.internalRefUuid = storageLocUuid#1334) AND (lambda x#1207.storageLocation.Id = storageLocId#1333)), lambda x#1207, false))), false, [stockQuantity#1379]
(157) Project
Arguments: [systemId#1301, internalUUID#1302, product#1303, plant#1304, calculationDateTime#1305, stockQuantities#1306, plantId#1331, plantUuid#1332, storageLocId#1333, storageLocUuid#1334, stockQuantity#1379]
(158) Aggregate
Arguments: [plantUuid#1332, internalUUID#1302, plant#1304, product#1303, systemId#1301], [plantUuid#1332, internalUUID#1302, plant#1304, product#1303, systemId#1301, first(calculationDateTime#1305, false) AS calculationDateTime#1380, collect_list(stockQuantity#1379, 0, 0) AS stockQuantities#1381]
(159) Project
Arguments: [systemId#1301, internalUUID#1302, product#1303, plant#1304, calculationDateTime#1380, stockQuantities#1381]
(160) Generate
Arguments: explode(stockQuantities#1381), false, [stockQuantity#1382]
(161) Project
Arguments: [systemId#1301, internalUUID#1302, product#1303, plant#1304, calculationDateTime#1380, stockQuantities#1381, stockQuantity#1382]
(162) Project
Arguments: [plant#1304.id AS plant#1383, plant#1304.internalRefUUID AS plantUuid#1384, product#1303.id AS product#1385, product#1303.internalRefUUID AS productUuid#1386, calculationDateTime#1380, stockQuantity#1382.storagelocation.id AS storageLocId#1387, stockQuantity#1382.storagelocation.internalRefUUID AS storageLocUuid#1388, stockQuantity#1382.quantity.measure AS quantity#1389, stockQuantity#1382.specialStockIndicator.code AS specialStockIndicator#1390, stockQuantity#1382.stockType.code AS stockType#1391]
(163) Filter
Arguments: ((specialStockIndicator#1390 = ) AND (stockType#1391 = 01))
(164) LogicalRelation
Arguments: parquet, [product#1392, plant#1393, orderDateTime#1394, planningStartDateTime#1395], false
(165) RepartitionByExpression
Arguments: [product#1392, plant#1393], 10
(166) Project
Arguments: [product#1392, plant#1393, orderDateTime#1394]
(167) LogicalRelation
Arguments: parquet, [systemId#1396, internalUUID#1397, plant#1398, product#1399, blockedForReplenishmentStartingFrom#1400, productionAspect#1401, salesPlant#1402, listing#1403], false
(168) Repartition
Arguments: 10, true
(169) Project
Arguments: [systemId#1396, internalUUID#1397, plant#1398, product#1399, blockedForReplenishmentStartingFrom#1400, productionAspect#1401, salesPlant#1402, listing#1403, struct(systemId, systemId#1396, internalUUID, internalUUID#1397, plant, plant#1398, product, product#1399, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#1400, productionAspect, productionAspect#1401, salesPlant, salesPlant#1402, listing, listing#1403) AS productPlant#1404]
(170) Project
Arguments: [productPlant#1404]
(171) Join
Arguments: LeftOuter, ((product#1392 <=> productPlant#1404.product.internalRefUUID) AND (plant#1393 <=> productPlant#1404.plant.internalRefUUID))
(172) Project
Arguments: [product#1392, plant#1393, orderDateTime#1394, productPlant#1404]
(173) SubqueryAlias
Arguments: wl
(174) LogicalRelation
Arguments: parquet, [systemId#1405, internalUUID#1406, id#1407, displayId#1408, name#1409, category#1410, companyCode#1411, address#1412, mainDistributionChain#1413, mainPurchasingOrganization#1414, validPurchasingOrganizations#1415, productGroup#1416], false
(175) Repartition
Arguments: 10, true
(176) Project
Arguments: [internalUUID#1406, address#1412.timeZone.code AS timezonecode#1417]
(177) Join
Arguments: LeftOuter, (plant#1393 <=> internalUUID#1406)
(178) Project
Arguments: [product#1392, plant#1393, orderDateTime#1394, productPlant#1404, internalUUID#1406, CASE WHEN isnotnull(timezonecode#1417) THEN timezonecode#1417 ELSE UTC END AS timezonecode#1418]
(179) Project
Arguments: [product#1392, plant#1393, orderDateTime#1394, productPlant#1404, timezonecode#1418]
(180) LogicalRelation
Arguments: parquet, [systemId#1419, internalUUID#1420, id#1421, displayId#1422, name#1423, baseUnitOfMeasure#1424, unitOfMeasures#1425, unitOfMeasureConversions#1426, productionAspect#1427, salesAspect#1428, procurementAspect#1429, productGroup#1430], false
(181) Repartition
Arguments: 10, true
(182) Join
Arguments: LeftOuter, (product#1392 = internalUUID#1420)
(183) Project
Arguments: [product#1392, plant#1393, orderDateTime#1394, productPlant#1404, timezonecode#1418, systemId#1419, internalUUID#1420, id#1421, displayId#1422, name#1423, baseUnitOfMeasure#1424, unitOfMeasures#1425, unitOfMeasureConversions#1426, productionAspect#1427, salesAspect#1428, procurementAspect#1429, productGroup#1430, filter(unitOfMeasureConversions#1426, lambdafunction((((lambda u#1149.measurementUnit1.code = productPlant#1404.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#1149.measurementUnit1.internalRefUUID = productPlant#1404.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#1149.measurementUnit2.code = baseUnitOfMeasure#1424.code) AND (lambda u#1149.measurementUnit2.internalRefUUID = baseUnitOfMeasure#1424.internalRefUUID))), lambda u#1149, false)) AS filteredUnitOfMeasureConversions#1431]
(184) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1431.quantityNumerator), true, [quantityNumerator#1432]
(185) Project
Arguments: [product#1392, plant#1393, orderDateTime#1394, productPlant#1404, timezonecode#1418, systemId#1419, internalUUID#1420, id#1421, displayId#1422, name#1423, baseUnitOfMeasure#1424, unitOfMeasures#1425, unitOfMeasureConversions#1426, productionAspect#1427, salesAspect#1428, procurementAspect#1429, productGroup#1430, filteredUnitOfMeasureConversions#1431, quantityNumerator#1432]
(186) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1431.quantityDenominator), true, [quantityDenominator#1433]
(187) Project
Arguments: [product#1392, plant#1393, orderDateTime#1394, productPlant#1404, timezonecode#1418, systemId#1419, internalUUID#1420, id#1421, displayId#1422, name#1423, baseUnitOfMeasure#1424, unitOfMeasures#1425, unitOfMeasureConversions#1426, productionAspect#1427, salesAspect#1428, procurementAspect#1429, productGroup#1430, filteredUnitOfMeasureConversions#1431, quantityNumerator#1432, quantityDenominator#1433]
(188) Project
Arguments: [product#1392, plant#1393, orderDateTime#1394, productPlant#1404, timezonecode#1418, systemId#1419, internalUUID#1420, id#1421, displayId#1422, name#1423, baseUnitOfMeasure#1424, unitOfMeasures#1425, unitOfMeasureConversions#1426, productionAspect#1427, salesAspect#1428, procurementAspect#1429, productGroup#1430, filteredUnitOfMeasureConversions#1431, quantityNumerator#1432, quantityDenominator#1433, (cast(quantityNumerator#1432 as double) / cast(quantityDenominator#1433 as double)) AS outboundUnit#1434]
(189) Project
Arguments: [product#1392, plant#1393, orderDateTime#1394, productPlant#1404, timezonecode#1418, systemId#1419, internalUUID#1420, id#1421, displayId#1422, name#1423, baseUnitOfMeasure#1424, unitOfMeasures#1425, unitOfMeasureConversions#1426, productionAspect#1427, salesAspect#1428, procurementAspect#1429, productGroup#1430, filteredUnitOfMeasureConversions#1431, quantityNumerator#1432, quantityDenominator#1433, CASE WHEN (isnull(outboundUnit#1434) OR (outboundUnit#1434 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#1434 END AS outboundUnit#1435]
(190) Project
Arguments: [product#1392, plant#1393, orderDateTime#1394, productPlant#1404, timezonecode#1418, outboundUnit#1435]
(191) Join
Arguments: Inner, ((plantUuid#1384 = plant#1393) AND (productUuid#1386 = product#1392))
(192) Filter
Arguments: (calculationDateTime#1380 <= orderDateTime#1394)
(193) Project
Arguments: [plantUuid#1384 AS plant#1436, productUuid#1386 AS product#1437, storageLocId#1387, calculationDateTime#1380, quantity#1389]
(194) Aggregate
Arguments: [plant#1436, product#1437, storageLocId#1387], [plant#1436, product#1437, storageLocId#1387, max(calculationDateTime#1380) AS max_calc_datetime#1294]
(195) Join
Arguments: Inner, ((((plant#1292 <=> plant#1436) AND (product#1293 <=> product#1437)) AND (storageLocId#1230 <=> storageLocId#1387)) AND (calculationDateTime#1209 <=> max_calc_datetime#1294))
(196) Project
Arguments: [plant#1292, product#1293, storageLocId#1230, calculationDateTime#1209, quantity#1232]
(197) Aggregate
Arguments: [product#1293, plant#1292], [product#1293, plant#1292, sum(quantity#1232) AS quantitySum#1448, min(calculationDateTime#1209) AS minCalculationDateTime#1449]
(198) Project
Arguments: [product#1293, plant#1292, quantitySum#1448, minCalculationDateTime#1449, round(quantitySum#1448, 0) AS roundedQuantitySum#1457]
(199) Join
Arguments: LeftOuter, ((plant#1103 = plant#1292) AND (product#1102 = product#1293))
(200) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116, timezonecode#1134, outboundUnit#1161, roundedQuantitySum#1457, minCalculationDateTime#1449]
(201) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116, timezonecode#1134, outboundUnit#1161, roundedQuantitySum#1457, minCalculationDateTime#1449, CASE WHEN isnotnull(minCalculationDateTime#1449) THEN minCalculationDateTime#1449 ELSE orderDateTime#1104 END AS stockDatetime#1506]
(202) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116, timezonecode#1134, outboundUnit#1161, roundedQuantitySum#1457, minCalculationDateTime#1449, stockDatetime#1506, CASE WHEN isnotnull(roundedQuantitySum#1457) THEN array(roundedQuantitySum#1457) ELSE array(0.0) END AS stockBatchQuantities#1507]
(203) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116, timezonecode#1134, outboundUnit#1161, roundedQuantitySum#1457, minCalculationDateTime#1449, stockDatetime#1506, stockBatchQuantities#1507, array(2199-01-01 00:00:00) AS stockBatchShelfLifeEndDatetimes#1508]
(204) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116, timezonecode#1134, outboundUnit#1161, roundedQuantitySum#1457, stockDatetime#1506, stockBatchQuantities#1507, stockBatchShelfLifeEndDatetimes#1508]
(205) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116, timezonecode#1134, outboundUnit#1161, stockDatetime#1506, stockBatchQuantities#1507, stockBatchShelfLifeEndDatetimes#1508]
(206) LogicalRelation
Arguments: parquet, [product#1509, plant#1510, demandChannel#1511, demandStream#1512, considerVariance#1513, demandTimeBuckets#1514, demandPointInTimeStart#1515, demandPointInTimeEnd#1516, demandPointInTime#1517], false
(207) Join
Arguments: LeftOuter, ((product#1102 = product#1509) AND (plant#1103 = plant#1510))
(208) Project
Arguments: [product#1102, plant#1103, orderDateTime#1104, productPlant#1116, timezonecode#1134, outboundUnit#1161, stockDatetime#1506, stockBatchQuantities#1507, stockBatchShelfLifeEndDatetimes#1508, demandChannel#1511, demandStream#1512, considerVariance#1513, demandTimeBuckets#1514, demandPointInTimeStart#1515, demandPointInTimeEnd#1516, demandPointInTime#1517]
(209) Filter
Arguments: (((size(demandTimeBuckets#1514, true) = 0) OR isnull(demandTimeBuckets#1514)) AND ((size(demandPointInTime#1517, true) = 0) OR isnull(demandPointInTime#1517)))
(210) Project
Arguments: [product#1102, plant#1103]
(211) Deduplicate
Arguments: [product#1102, plant#1103]
(212) Project
Arguments: [product#1102, plant#1103, UNKNOWN_DEMAND_FOR_PRODUCT_LOCATION AS name#1519]
(213) Project
Arguments: [product#1102, plant#1103, name#1519, 1 AS configurationVersion#1520]
(214) Project
Arguments: [product#1102, plant#1103, name#1519, configurationVersion#1520, array(struct(name, Product, value, cast(product#1102 as string)), struct(name, Plant, value, cast(plant#1103 as string))) AS businessContext#1525]
(215) Project
Arguments: [product#1102, plant#1103, name#1519, configurationVersion#1520, businessContext#1525, 10000000004 AS executionId#1526]
(216) Project
Arguments: [product#1102, plant#1103, name#1519, configurationVersion#1520, businessContext#1525, executionId#1526, DIP_1691 AS marketUnit#1527]
(217) Project
Arguments: [product#1102, plant#1103, name#1519, configurationVersion#1520, businessContext#1525, executionId#1526, marketUnit#1527, 2026-07-03T13:44:28.941Z AS createdAt#1528]
(218) Project
Arguments: [name#1519, configurationVersion#1520, executionId#1526, createdAt#1528, marketUnit#1527, businessContext#1525]
(219) Project
Arguments: [to_json(struct(name, name#1519, configurationVersion, configurationVersion#1520, executionId, executionId#1526, createdAt, createdAt#1528, marketUnit, marketUnit#1527, businessContext, businessContext#1525), Some(UTC)) AS value#14433]
(220) Project
Arguments: [cast(value#14433 as string) AS value#14434]
(221) Project
Arguments: [value#14434, array(struct(key, X-Tenant-ID, value, cast(5330363489248697092 as binary)), struct(key, X-Message-ID, value, cast(90808c26-f448-492c-9839-8583a396e84c as binary)), struct(key, X-Event-Type, value, cast(SituationCreate as binary)), struct(key, X-BTP-Tenant-ID, value, cast(d836781e-49f9-415a-a071-0f361c615b04 as binary))) AS headers#14443]