== 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@6729ad4b, [kafka.ssl.keystore.type=PEM, kafka.ssl.truststore.certificates=-----BEGIN CERTIFICATE-----
MIIGDzCCA/egAwIBAgIUJRTgKUjNpiA/y4yfE+RwMDi71fEwDQYJKoZIhvcNAQEL
BQAwgY4xCzAJBgNVBAYTAkRFMRswGQYDVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcx
ETAPBgNVBAcMCFdhbGxkb3JmMQ8wDQYDVQQKDAZTQVAgU0UxHzAdBgNVBAsMFlNB
UCBDUCBEYXRhIE1hbmFnZW1lbnQxHTAbBgNVBAMMFFNBUCBTRSBLYWZrYSBSb290
IENBMB4XDTI0MDIwODEzMTY1NloXDTI3MDUyMzEzMTY1NlowgY4xCzAJBgNVBAYT
AkRFMRswGQYDVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxETAPBgNVBAcMCFdhbGxk
b3JmMQ8wDQYDVQQKDAZTQVAgU0UxHzAdBgNVBAsMFlNBUCBDUCBEYXRhIE1hbmFn
ZW1lbnQxHTAbBgNVBAMMFFNBUCBTRSBLYWZrYSBSb290IENBMIICIjANBgkqhkiG
9w0BAQEFAAOCAg8AMIICCgKCAgEAoLH563sTndme/L5sUH/LggOO5sgRk6D6eYJi
YgPZFX/o8a0dctgMTBK574kPAZeniwvOIUUeGhKM/Ho4ou/B3XDD/8WtoOIZt4lj
QGyeSlZVFtCI3Ip/ENj5gIuFhO6N209mpw9wIgjhCdCTU+g6uaAe440aqCMhVO5I
54bHp4hSHwkLdNZnsRjSopufEKxWbJm52w7lKHwBwNc0cAckiagne6FbBTliF4K/
bgmfRRwP9fzjcmgno+GGgKastNkJVh6Ku/2NCpOKSzQiGNAQAvqbZbpQIkCt4/PK
Nj4c5pjbRSajwt8JWNHRJ9muJz2Db7ZceQF7H/vcAwlu/IK/ARHygfA72IY164du
QN1qJyi1DkPs1qm5cuA8WbfL8KSqIFeiKoInHL524zeK2Yt5b89sS00ydtLSYbri
1kd31McUCHcj66DDX5xBbNg7bgRx09DNpfwKlUnwC7tphz1DLJprJ9OvhjEZi0w7
TNrL21yETIKGG0qSgebIhLPWTG650i2hEM2dF1t9RfVB4qdhaxS194rkwQPZ2lQ8
74hWnuqiZ3L4XhMp1AO86UoFEWyeCbIFsZ4YHnCNfBOO4t8LSPpUiV9bTIwqG549
upI9tWMZMVV59GiuA4M9oit7vYa1eNxpUhKWpqAVCA66tETln04umAKsywt06pUn
0udI1OsCAwEAAaNjMGEwHQYDVR0OBBYEFGRMbSqCPP1qeNX3hEYn4YAClp/cMB8G
A1UdIwQYMBaAFGRMbSqCPP1qeNX3hEYn4YAClp/cMA8GA1UdEwEB/wQFMAMBAf8w
DgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBfn+8f1fmSSpUCe1ks
OB6A4KubhEDsQ3XUZ7myBU+nMhLAoPflra3+jcUcq3fqR/ybK2rfEK+Vngf8NBou
YP+1p/QaWJPgzzEEGEEAQx5U57HbnPw7DoDJaUkIoqT3gmLkWTw9R1t+AK+neHnL
tfUygvBkLevcXG4klLjFW1B5/8T9hIg7wK5httXgr+P6sic458tB2oImQWkUIaCh
3NkVAWtLjz81LiaM0fgiI0/kiufq0FZWqhazTTz8qY/qocdHbhEUmA4wSjL1XB/K
UrUC0yB7uN5vpCpunWC3EhkzCLgemIm+DPyREg7euGvg6URuP1VIsoaLstxX6caB
DROwWXY3P7kVZtzHXK6g6lrJAYxtP9tf6dyZhFHf0/XL7kwHVabU+s9MgvDvIaxA
V588fCGJbB9A+QrWxF2QKDzUrygHHd8y+EE6Oj6rbnNEgkxxuP+qDiza/46MVPVh
KzF6gepXlv9fgm2+v3Mu/HRKVAoHPOKefC3KeNv8wZkPn76dC4CEZHU+zB+YgvQ3
n1sgzPdcFfV+0wLOhLJkzbTWJ9znspJMZWYn6CR1VWbiWgDMfM9R18onHGxcAxn4
qfoGuXQDP5cnSOsIUVG75z6dfixzzn41hAaW0bQXP8nbMve5LcZhvmDQtxqNiFZu
/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#50545, plant#50546, orderDateTime#50547, planningStartDateTime#50548], false
(4) RepartitionByExpression
Arguments: [product#50545, plant#50546], 10
(5) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547]
(6) LogicalRelation
Arguments: parquet, [systemId#50550, internalUUID#50551, plant#50552, product#50553, blockedForReplenishmentStartingFrom#50554, productionAspect#50555, salesPlant#50556, listing#50557], false
(7) Repartition
Arguments: 10, true
(8) Project
Arguments: [systemId#50550, internalUUID#50551, plant#50552, product#50553, blockedForReplenishmentStartingFrom#50554, productionAspect#50555, salesPlant#50556, listing#50557, struct(systemId, systemId#50550, internalUUID, internalUUID#50551, plant, plant#50552, product, product#50553, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#50554, productionAspect, productionAspect#50555, salesPlant, salesPlant#50556, listing, listing#50557) AS productPlant#50559]
(9) Project
Arguments: [productPlant#50559]
(10) Join
Arguments: LeftOuter, ((product#50545 <=> productPlant#50559.product.internalRefUUID) AND (plant#50546 <=> productPlant#50559.plant.internalRefUUID))
(11) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559]
(12) SubqueryAlias
Arguments: wl
(13) LogicalRelation
Arguments: parquet, [systemId#50562, internalUUID#50563, id#50564, displayId#50565, name#50566, category#50567, companyCode#50568, address#50569, mainDistributionChain#50570, mainPurchasingOrganization#50571, validPurchasingOrganizations#50572, productGroup#50573], false
(14) Repartition
Arguments: 10, true
(15) Project
Arguments: [internalUUID#50563, address#50569.timeZone.code AS timezonecode#50574]
(16) Join
Arguments: LeftOuter, (plant#50546 <=> internalUUID#50563)
(17) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559, internalUUID#50563, CASE WHEN isnotnull(timezonecode#50574) THEN timezonecode#50574 ELSE UTC END AS timezonecode#50577]
(18) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559, timezonecode#50577]
(19) LogicalRelation
Arguments: parquet, [systemId#50578, internalUUID#50579, id#50580, displayId#50581, name#50582, baseUnitOfMeasure#50583, unitOfMeasures#50584, unitOfMeasureConversions#50585, productionAspect#50586, salesAspect#50587, procurementAspect#50588, productGroup#50589], false
(20) Repartition
Arguments: 10, true
(21) Join
Arguments: LeftOuter, (product#50545 = internalUUID#50579)
(22) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559, timezonecode#50577, systemId#50578, internalUUID#50579, id#50580, displayId#50581, name#50582, baseUnitOfMeasure#50583, unitOfMeasures#50584, unitOfMeasureConversions#50585, productionAspect#50586, salesAspect#50587, procurementAspect#50588, productGroup#50589, filter(unitOfMeasureConversions#50585, lambdafunction((((lambda u#50592.measurementUnit1.code = productPlant#50559.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#50592.measurementUnit1.internalRefUUID = productPlant#50559.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#50592.measurementUnit2.code = baseUnitOfMeasure#50583.code) AND (lambda u#50592.measurementUnit2.internalRefUUID = baseUnitOfMeasure#50583.internalRefUUID))), lambda u#50592, false)) AS filteredUnitOfMeasureConversions#50591]
(23) Generate
Arguments: explode(filteredUnitOfMeasureConversions#50591.quantityNumerator), true, [quantityNumerator#50599]
(24) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559, timezonecode#50577, systemId#50578, internalUUID#50579, id#50580, displayId#50581, name#50582, baseUnitOfMeasure#50583, unitOfMeasures#50584, unitOfMeasureConversions#50585, productionAspect#50586, salesAspect#50587, procurementAspect#50588, productGroup#50589, filteredUnitOfMeasureConversions#50591, quantityNumerator#50599]
(25) Generate
Arguments: explode(filteredUnitOfMeasureConversions#50591.quantityDenominator), true, [quantityDenominator#50602]
(26) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559, timezonecode#50577, systemId#50578, internalUUID#50579, id#50580, displayId#50581, name#50582, baseUnitOfMeasure#50583, unitOfMeasures#50584, unitOfMeasureConversions#50585, productionAspect#50586, salesAspect#50587, procurementAspect#50588, productGroup#50589, filteredUnitOfMeasureConversions#50591, quantityNumerator#50599, quantityDenominator#50602]
(27) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559, timezonecode#50577, systemId#50578, internalUUID#50579, id#50580, displayId#50581, name#50582, baseUnitOfMeasure#50583, unitOfMeasures#50584, unitOfMeasureConversions#50585, productionAspect#50586, salesAspect#50587, procurementAspect#50588, productGroup#50589, filteredUnitOfMeasureConversions#50591, quantityNumerator#50599, quantityDenominator#50602, (cast(quantityNumerator#50599 as double) / cast(quantityDenominator#50602 as double)) AS outboundUnit#50603]
(28) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559, timezonecode#50577, systemId#50578, internalUUID#50579, id#50580, displayId#50581, name#50582, baseUnitOfMeasure#50583, unitOfMeasures#50584, unitOfMeasureConversions#50585, productionAspect#50586, salesAspect#50587, procurementAspect#50588, productGroup#50589, filteredUnitOfMeasureConversions#50591, quantityNumerator#50599, quantityDenominator#50602, CASE WHEN (isnull(outboundUnit#50603) OR (outboundUnit#50603 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#50603 END AS outboundUnit#50604]
(29) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559, timezonecode#50577, outboundUnit#50604]
(30) LogicalRelation
Arguments: parquet, [systemId#50641, internalUUID#50642, product#50643, plant#50644, calculationDateTime#50645, stockQuantities#50646], false
(31) Repartition
Arguments: 10, true
(32) LogicalRelation
Arguments: parquet, [marketUnit#50605, description#50606, articleHierarchy#50607, defaultCurrency#50608, responsibilities#50609, replenishmentTypes#50610, distributionCenters#50611, assignedArticleHierarchyNodes#50612, minOrderQtySetting#50613, minOrderQtySettingInternal#50614, listingCheck#50615, odsSelection#50616, demandProfiles#50617, constraintProfiles#50618, optimizationProfiles#50619, orderGroupSplitProfiles#50620, supplierMinimumProfiles#50621, multipleRestrictionProfiles#50622, preferredUomSource#50623, handlingOfUnfulfilledDemands#50624, negligibleQuantitiesThreshold#50625, eventtype#50626], false
(33) Repartition
Arguments: 10, true
(34) Filter
Arguments: (marketUnit#50605 <=> DIP_1691)
(35) Project
Arguments: [marketUnit#50605, description#50606, articleHierarchy#50607, defaultCurrency#50608, responsibilities#50609, replenishmentTypes#50610, distributionCenters#50611, assignedArticleHierarchyNodes#50612, minOrderQtySetting#50613, minOrderQtySettingInternal#50614, listingCheck#50615, odsSelection#50616, demandProfiles#50617, constraintProfiles#50618, optimizationProfiles#50619, orderGroupSplitProfiles#50620, supplierMinimumProfiles#50621, multipleRestrictionProfiles#50622, preferredUomSource#50623, handlingOfUnfulfilledDemands#50624, negligibleQuantitiesThreshold#50625, eventtype#50626]
(36) Project
Arguments: [distributionCenters#50611]
(37) Generate
Arguments: explode(distributionCenters#50611), false, [distributionCenters#50629]
(38) Project
Arguments: [distributionCenters#50629]
(39) Generate
Arguments: explode(distributionCenters#50629.storageLocations), false, [storageLocations#50636]
(40) Project
Arguments: [distributionCenters#50629.id AS plantId#50630, distributionCenters#50629.internalRefUUID AS plantUuid#50631, storageLocations#50636]
(41) Project
Arguments: [plantId#50630, plantUuid#50631, storageLocations#50636.id AS storageLocId#50637, storageLocations#50636.internalRefUUID AS storageLocUuid#50638]
(42) LogicalRelation
Arguments: parquet, [product#50901, plant#50902, orderDateTime#50903, planningStartDateTime#50904], false
(43) RepartitionByExpression
Arguments: [product#50901, plant#50902], 10
(44) Project
Arguments: [product#50901, plant#50902, orderDateTime#50903]
(45) LogicalRelation
Arguments: parquet, [systemId#50905, internalUUID#50906, plant#50907, product#50908, blockedForReplenishmentStartingFrom#50909, productionAspect#50910, salesPlant#50911, listing#50912], false
(46) Repartition
Arguments: 10, true
(47) Project
Arguments: [systemId#50905, internalUUID#50906, plant#50907, product#50908, blockedForReplenishmentStartingFrom#50909, productionAspect#50910, salesPlant#50911, listing#50912, struct(systemId, systemId#50905, internalUUID, internalUUID#50906, plant, plant#50907, product, product#50908, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#50909, productionAspect, productionAspect#50910, salesPlant, salesPlant#50911, listing, listing#50912) AS productPlant#50913]
(48) Project
Arguments: [productPlant#50913]
(49) Join
Arguments: LeftOuter, ((product#50901 <=> productPlant#50913.product.internalRefUUID) AND (plant#50902 <=> productPlant#50913.plant.internalRefUUID))
(50) Project
Arguments: [product#50901, plant#50902, orderDateTime#50903, productPlant#50913]
(51) SubqueryAlias
Arguments: wl
(52) LogicalRelation
Arguments: parquet, [systemId#50914, internalUUID#50915, id#50916, displayId#50917, name#50918, category#50919, companyCode#50920, address#50921, mainDistributionChain#50922, mainPurchasingOrganization#50923, validPurchasingOrganizations#50924, productGroup#50925], false
(53) Repartition
Arguments: 10, true
(54) Project
Arguments: [internalUUID#50915, address#50921.timeZone.code AS timezonecode#50926]
(55) Join
Arguments: LeftOuter, (plant#50902 <=> internalUUID#50915)
(56) Project
Arguments: [product#50901, plant#50902, orderDateTime#50903, productPlant#50913, internalUUID#50915, CASE WHEN isnotnull(timezonecode#50926) THEN timezonecode#50926 ELSE UTC END AS timezonecode#50927]
(57) Project
Arguments: [product#50901, plant#50902, orderDateTime#50903, productPlant#50913, timezonecode#50927]
(58) LogicalRelation
Arguments: parquet, [systemId#50928, internalUUID#50929, id#50930, displayId#50931, name#50932, baseUnitOfMeasure#50933, unitOfMeasures#50934, unitOfMeasureConversions#50935, productionAspect#50936, salesAspect#50937, procurementAspect#50938, productGroup#50939], false
(59) Repartition
Arguments: 10, true
(60) Join
Arguments: LeftOuter, (product#50901 = internalUUID#50929)
(61) Project
Arguments: [product#50901, plant#50902, orderDateTime#50903, productPlant#50913, timezonecode#50927, systemId#50928, internalUUID#50929, id#50930, displayId#50931, name#50932, baseUnitOfMeasure#50933, unitOfMeasures#50934, unitOfMeasureConversions#50935, productionAspect#50936, salesAspect#50937, procurementAspect#50938, productGroup#50939, filter(unitOfMeasureConversions#50935, lambdafunction((((lambda u#50592.measurementUnit1.code = productPlant#50913.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#50592.measurementUnit1.internalRefUUID = productPlant#50913.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#50592.measurementUnit2.code = baseUnitOfMeasure#50933.code) AND (lambda u#50592.measurementUnit2.internalRefUUID = baseUnitOfMeasure#50933.internalRefUUID))), lambda u#50592, false)) AS filteredUnitOfMeasureConversions#50940]
(62) Generate
Arguments: explode(filteredUnitOfMeasureConversions#50940.quantityNumerator), true, [quantityNumerator#50941]
(63) Project
Arguments: [product#50901, plant#50902, orderDateTime#50903, productPlant#50913, timezonecode#50927, systemId#50928, internalUUID#50929, id#50930, displayId#50931, name#50932, baseUnitOfMeasure#50933, unitOfMeasures#50934, unitOfMeasureConversions#50935, productionAspect#50936, salesAspect#50937, procurementAspect#50938, productGroup#50939, filteredUnitOfMeasureConversions#50940, quantityNumerator#50941]
(64) Generate
Arguments: explode(filteredUnitOfMeasureConversions#50940.quantityDenominator), true, [quantityDenominator#50942]
(65) Project
Arguments: [product#50901, plant#50902, orderDateTime#50903, productPlant#50913, timezonecode#50927, systemId#50928, internalUUID#50929, id#50930, displayId#50931, name#50932, baseUnitOfMeasure#50933, unitOfMeasures#50934, unitOfMeasureConversions#50935, productionAspect#50936, salesAspect#50937, procurementAspect#50938, productGroup#50939, filteredUnitOfMeasureConversions#50940, quantityNumerator#50941, quantityDenominator#50942]
(66) Project
Arguments: [product#50901, plant#50902, orderDateTime#50903, productPlant#50913, timezonecode#50927, systemId#50928, internalUUID#50929, id#50930, displayId#50931, name#50932, baseUnitOfMeasure#50933, unitOfMeasures#50934, unitOfMeasureConversions#50935, productionAspect#50936, salesAspect#50937, procurementAspect#50938, productGroup#50939, filteredUnitOfMeasureConversions#50940, quantityNumerator#50941, quantityDenominator#50942, (cast(quantityNumerator#50941 as double) / cast(quantityDenominator#50942 as double)) AS outboundUnit#50943]
(67) Project
Arguments: [product#50901, plant#50902, orderDateTime#50903, productPlant#50913, timezonecode#50927, systemId#50928, internalUUID#50929, id#50930, displayId#50931, name#50932, baseUnitOfMeasure#50933, unitOfMeasures#50934, unitOfMeasureConversions#50935, productionAspect#50936, salesAspect#50937, procurementAspect#50938, productGroup#50939, filteredUnitOfMeasureConversions#50940, quantityNumerator#50941, quantityDenominator#50942, CASE WHEN (isnull(outboundUnit#50943) OR (outboundUnit#50943 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#50943 END AS outboundUnit#50944]
(68) Project
Arguments: [product#50901, plant#50902, orderDateTime#50903, productPlant#50913, timezonecode#50927, outboundUnit#50944]
(69) Project
Arguments: [plant#50902]
(70) Deduplicate
Arguments: [plant#50902]
(71) Join
Arguments: Inner, (plantUuid#50631 = plant#50902)
(72) Project
Arguments: [plantId#50630, plantUuid#50631, storageLocId#50637, storageLocUuid#50638]
(73) Join
Arguments: Inner, (plant#50644.internalRefUUID <=> plantUuid#50631)
(74) Generate
Arguments: explode(filter(stockQuantities#50646, lambdafunction(((lambda x#50650.storageLocation.internalRefUuid = storageLocUuid#50638) AND (lambda x#50650.storageLocation.Id = storageLocId#50637)), lambda x#50650, false))), false, [stockQuantity#50651]
(75) Project
Arguments: [systemId#50641, internalUUID#50642, product#50643, plant#50644, calculationDateTime#50645, stockQuantities#50646, plantId#50630, plantUuid#50631, storageLocId#50637, storageLocUuid#50638, stockQuantity#50651]
(76) Aggregate
Arguments: [plantUuid#50631, internalUUID#50642, plant#50644, product#50643, systemId#50641], [plantUuid#50631, internalUUID#50642, plant#50644, product#50643, systemId#50641, first(calculationDateTime#50645, false) AS calculationDateTime#50652, collect_list(stockQuantity#50651, 0, 0) AS stockQuantities#50653]
(77) Project
Arguments: [systemId#50641, internalUUID#50642, product#50643, plant#50644, calculationDateTime#50652, stockQuantities#50653]
(78) Generate
Arguments: explode(stockQuantities#50653), false, [stockQuantity#50668]
(79) Project
Arguments: [systemId#50641, internalUUID#50642, product#50643, plant#50644, calculationDateTime#50652, stockQuantities#50653, stockQuantity#50668]
(80) Project
Arguments: [plant#50644.id AS plant#50669, plant#50644.internalRefUUID AS plantUuid#50670, product#50643.id AS product#50671, product#50643.internalRefUUID AS productUuid#50672, calculationDateTime#50652, stockQuantity#50668.storagelocation.id AS storageLocId#50673, stockQuantity#50668.storagelocation.internalRefUUID AS storageLocUuid#50674, stockQuantity#50668.quantity.measure AS quantity#50675, stockQuantity#50668.specialStockIndicator.code AS specialStockIndicator#50676, stockQuantity#50668.stockType.code AS stockType#50677]
(81) Filter
Arguments: ((specialStockIndicator#50676 = ) AND (stockType#50677 = 01))
(82) LogicalRelation
Arguments: parquet, [product#50687, plant#50688, orderDateTime#50689, planningStartDateTime#50690], false
(83) RepartitionByExpression
Arguments: [product#50687, plant#50688], 10
(84) Project
Arguments: [product#50687, plant#50688, orderDateTime#50689]
(85) LogicalRelation
Arguments: parquet, [systemId#50691, internalUUID#50692, plant#50693, product#50694, blockedForReplenishmentStartingFrom#50695, productionAspect#50696, salesPlant#50697, listing#50698], false
(86) Repartition
Arguments: 10, true
(87) Project
Arguments: [systemId#50691, internalUUID#50692, plant#50693, product#50694, blockedForReplenishmentStartingFrom#50695, productionAspect#50696, salesPlant#50697, listing#50698, struct(systemId, systemId#50691, internalUUID, internalUUID#50692, plant, plant#50693, product, product#50694, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#50695, productionAspect, productionAspect#50696, salesPlant, salesPlant#50697, listing, listing#50698) AS productPlant#50699]
(88) Project
Arguments: [productPlant#50699]
(89) Join
Arguments: LeftOuter, ((product#50687 <=> productPlant#50699.product.internalRefUUID) AND (plant#50688 <=> productPlant#50699.plant.internalRefUUID))
(90) Project
Arguments: [product#50687, plant#50688, orderDateTime#50689, productPlant#50699]
(91) SubqueryAlias
Arguments: wl
(92) LogicalRelation
Arguments: parquet, [systemId#50700, internalUUID#50701, id#50702, displayId#50703, name#50704, category#50705, companyCode#50706, address#50707, mainDistributionChain#50708, mainPurchasingOrganization#50709, validPurchasingOrganizations#50710, productGroup#50711], false
(93) Repartition
Arguments: 10, true
(94) Project
Arguments: [internalUUID#50701, address#50707.timeZone.code AS timezonecode#50712]
(95) Join
Arguments: LeftOuter, (plant#50688 <=> internalUUID#50701)
(96) Project
Arguments: [product#50687, plant#50688, orderDateTime#50689, productPlant#50699, internalUUID#50701, CASE WHEN isnotnull(timezonecode#50712) THEN timezonecode#50712 ELSE UTC END AS timezonecode#50713]
(97) Project
Arguments: [product#50687, plant#50688, orderDateTime#50689, productPlant#50699, timezonecode#50713]
(98) LogicalRelation
Arguments: parquet, [systemId#50714, internalUUID#50715, id#50716, displayId#50717, name#50718, baseUnitOfMeasure#50719, unitOfMeasures#50720, unitOfMeasureConversions#50721, productionAspect#50722, salesAspect#50723, procurementAspect#50724, productGroup#50725], false
(99) Repartition
Arguments: 10, true
(100) Join
Arguments: LeftOuter, (product#50687 = internalUUID#50715)
(101) Project
Arguments: [product#50687, plant#50688, orderDateTime#50689, productPlant#50699, timezonecode#50713, systemId#50714, internalUUID#50715, id#50716, displayId#50717, name#50718, baseUnitOfMeasure#50719, unitOfMeasures#50720, unitOfMeasureConversions#50721, productionAspect#50722, salesAspect#50723, procurementAspect#50724, productGroup#50725, filter(unitOfMeasureConversions#50721, lambdafunction((((lambda u#50592.measurementUnit1.code = productPlant#50699.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#50592.measurementUnit1.internalRefUUID = productPlant#50699.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#50592.measurementUnit2.code = baseUnitOfMeasure#50719.code) AND (lambda u#50592.measurementUnit2.internalRefUUID = baseUnitOfMeasure#50719.internalRefUUID))), lambda u#50592, false)) AS filteredUnitOfMeasureConversions#50726]
(102) Generate
Arguments: explode(filteredUnitOfMeasureConversions#50726.quantityNumerator), true, [quantityNumerator#50727]
(103) Project
Arguments: [product#50687, plant#50688, orderDateTime#50689, productPlant#50699, timezonecode#50713, systemId#50714, internalUUID#50715, id#50716, displayId#50717, name#50718, baseUnitOfMeasure#50719, unitOfMeasures#50720, unitOfMeasureConversions#50721, productionAspect#50722, salesAspect#50723, procurementAspect#50724, productGroup#50725, filteredUnitOfMeasureConversions#50726, quantityNumerator#50727]
(104) Generate
Arguments: explode(filteredUnitOfMeasureConversions#50726.quantityDenominator), true, [quantityDenominator#50728]
(105) Project
Arguments: [product#50687, plant#50688, orderDateTime#50689, productPlant#50699, timezonecode#50713, systemId#50714, internalUUID#50715, id#50716, displayId#50717, name#50718, baseUnitOfMeasure#50719, unitOfMeasures#50720, unitOfMeasureConversions#50721, productionAspect#50722, salesAspect#50723, procurementAspect#50724, productGroup#50725, filteredUnitOfMeasureConversions#50726, quantityNumerator#50727, quantityDenominator#50728]
(106) Project
Arguments: [product#50687, plant#50688, orderDateTime#50689, productPlant#50699, timezonecode#50713, systemId#50714, internalUUID#50715, id#50716, displayId#50717, name#50718, baseUnitOfMeasure#50719, unitOfMeasures#50720, unitOfMeasureConversions#50721, productionAspect#50722, salesAspect#50723, procurementAspect#50724, productGroup#50725, filteredUnitOfMeasureConversions#50726, quantityNumerator#50727, quantityDenominator#50728, (cast(quantityNumerator#50727 as double) / cast(quantityDenominator#50728 as double)) AS outboundUnit#50729]
(107) Project
Arguments: [product#50687, plant#50688, orderDateTime#50689, productPlant#50699, timezonecode#50713, systemId#50714, internalUUID#50715, id#50716, displayId#50717, name#50718, baseUnitOfMeasure#50719, unitOfMeasures#50720, unitOfMeasureConversions#50721, productionAspect#50722, salesAspect#50723, procurementAspect#50724, productGroup#50725, filteredUnitOfMeasureConversions#50726, quantityNumerator#50727, quantityDenominator#50728, CASE WHEN (isnull(outboundUnit#50729) OR (outboundUnit#50729 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#50729 END AS outboundUnit#50730]
(108) Project
Arguments: [product#50687, plant#50688, orderDateTime#50689, productPlant#50699, timezonecode#50713, outboundUnit#50730]
(109) Join
Arguments: Inner, ((plantUuid#50670 = plant#50688) AND (productUuid#50672 = product#50687))
(110) Filter
Arguments: (calculationDateTime#50652 <= orderDateTime#50689)
(111) Project
Arguments: [plantUuid#50670 AS plant#50735, productUuid#50672 AS product#50736, storageLocId#50673, calculationDateTime#50652, quantity#50675]
(112) LogicalRelation
Arguments: parquet, [systemId#50744, internalUUID#50745, product#50746, plant#50747, calculationDateTime#50748, stockQuantities#50749], false
(113) Repartition
Arguments: 10, true
(114) LogicalRelation
Arguments: parquet, [marketUnit#50750, description#50751, articleHierarchy#50752, defaultCurrency#50753, responsibilities#50754, replenishmentTypes#50755, distributionCenters#50756, assignedArticleHierarchyNodes#50757, minOrderQtySetting#50758, minOrderQtySettingInternal#50759, listingCheck#50760, odsSelection#50761, demandProfiles#50762, constraintProfiles#50763, optimizationProfiles#50764, orderGroupSplitProfiles#50765, supplierMinimumProfiles#50766, multipleRestrictionProfiles#50767, preferredUomSource#50768, handlingOfUnfulfilledDemands#50769, negligibleQuantitiesThreshold#50770, eventtype#50771], false
(115) Repartition
Arguments: 10, true
(116) Filter
Arguments: (marketUnit#50750 <=> DIP_1691)
(117) Project
Arguments: [marketUnit#50750, description#50751, articleHierarchy#50752, defaultCurrency#50753, responsibilities#50754, replenishmentTypes#50755, distributionCenters#50756, assignedArticleHierarchyNodes#50757, minOrderQtySetting#50758, minOrderQtySettingInternal#50759, listingCheck#50760, odsSelection#50761, demandProfiles#50762, constraintProfiles#50763, optimizationProfiles#50764, orderGroupSplitProfiles#50765, supplierMinimumProfiles#50766, multipleRestrictionProfiles#50767, preferredUomSource#50768, handlingOfUnfulfilledDemands#50769, negligibleQuantitiesThreshold#50770, eventtype#50771]
(118) Project
Arguments: [distributionCenters#50756]
(119) Generate
Arguments: explode(distributionCenters#50756), false, [distributionCenters#50772]
(120) Project
Arguments: [distributionCenters#50772]
(121) Generate
Arguments: explode(distributionCenters#50772.storageLocations), false, [storageLocations#50773]
(122) Project
Arguments: [distributionCenters#50772.id AS plantId#50774, distributionCenters#50772.internalRefUUID AS plantUuid#50775, storageLocations#50773]
(123) Project
Arguments: [plantId#50774, plantUuid#50775, storageLocations#50773.id AS storageLocId#50776, storageLocations#50773.internalRefUUID AS storageLocUuid#50777]
(124) LogicalRelation
Arguments: parquet, [product#50778, plant#50779, orderDateTime#50780, planningStartDateTime#50781], false
(125) RepartitionByExpression
Arguments: [product#50778, plant#50779], 10
(126) Project
Arguments: [product#50778, plant#50779, orderDateTime#50780]
(127) LogicalRelation
Arguments: parquet, [systemId#50782, internalUUID#50783, plant#50784, product#50785, blockedForReplenishmentStartingFrom#50786, productionAspect#50787, salesPlant#50788, listing#50789], false
(128) Repartition
Arguments: 10, true
(129) Project
Arguments: [systemId#50782, internalUUID#50783, plant#50784, product#50785, blockedForReplenishmentStartingFrom#50786, productionAspect#50787, salesPlant#50788, listing#50789, struct(systemId, systemId#50782, internalUUID, internalUUID#50783, plant, plant#50784, product, product#50785, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#50786, productionAspect, productionAspect#50787, salesPlant, salesPlant#50788, listing, listing#50789) AS productPlant#50790]
(130) Project
Arguments: [productPlant#50790]
(131) Join
Arguments: LeftOuter, ((product#50778 <=> productPlant#50790.product.internalRefUUID) AND (plant#50779 <=> productPlant#50790.plant.internalRefUUID))
(132) Project
Arguments: [product#50778, plant#50779, orderDateTime#50780, productPlant#50790]
(133) SubqueryAlias
Arguments: wl
(134) LogicalRelation
Arguments: parquet, [systemId#50791, internalUUID#50792, id#50793, displayId#50794, name#50795, category#50796, companyCode#50797, address#50798, mainDistributionChain#50799, mainPurchasingOrganization#50800, validPurchasingOrganizations#50801, productGroup#50802], false
(135) Repartition
Arguments: 10, true
(136) Project
Arguments: [internalUUID#50792, address#50798.timeZone.code AS timezonecode#50803]
(137) Join
Arguments: LeftOuter, (plant#50779 <=> internalUUID#50792)
(138) Project
Arguments: [product#50778, plant#50779, orderDateTime#50780, productPlant#50790, internalUUID#50792, CASE WHEN isnotnull(timezonecode#50803) THEN timezonecode#50803 ELSE UTC END AS timezonecode#50804]
(139) Project
Arguments: [product#50778, plant#50779, orderDateTime#50780, productPlant#50790, timezonecode#50804]
(140) LogicalRelation
Arguments: parquet, [systemId#50805, internalUUID#50806, id#50807, displayId#50808, name#50809, baseUnitOfMeasure#50810, unitOfMeasures#50811, unitOfMeasureConversions#50812, productionAspect#50813, salesAspect#50814, procurementAspect#50815, productGroup#50816], false
(141) Repartition
Arguments: 10, true
(142) Join
Arguments: LeftOuter, (product#50778 = internalUUID#50806)
(143) Project
Arguments: [product#50778, plant#50779, orderDateTime#50780, productPlant#50790, timezonecode#50804, systemId#50805, internalUUID#50806, id#50807, displayId#50808, name#50809, baseUnitOfMeasure#50810, unitOfMeasures#50811, unitOfMeasureConversions#50812, productionAspect#50813, salesAspect#50814, procurementAspect#50815, productGroup#50816, filter(unitOfMeasureConversions#50812, lambdafunction((((lambda u#50592.measurementUnit1.code = productPlant#50790.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#50592.measurementUnit1.internalRefUUID = productPlant#50790.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#50592.measurementUnit2.code = baseUnitOfMeasure#50810.code) AND (lambda u#50592.measurementUnit2.internalRefUUID = baseUnitOfMeasure#50810.internalRefUUID))), lambda u#50592, false)) AS filteredUnitOfMeasureConversions#50817]
(144) Generate
Arguments: explode(filteredUnitOfMeasureConversions#50817.quantityNumerator), true, [quantityNumerator#50818]
(145) Project
Arguments: [product#50778, plant#50779, orderDateTime#50780, productPlant#50790, timezonecode#50804, systemId#50805, internalUUID#50806, id#50807, displayId#50808, name#50809, baseUnitOfMeasure#50810, unitOfMeasures#50811, unitOfMeasureConversions#50812, productionAspect#50813, salesAspect#50814, procurementAspect#50815, productGroup#50816, filteredUnitOfMeasureConversions#50817, quantityNumerator#50818]
(146) Generate
Arguments: explode(filteredUnitOfMeasureConversions#50817.quantityDenominator), true, [quantityDenominator#50819]
(147) Project
Arguments: [product#50778, plant#50779, orderDateTime#50780, productPlant#50790, timezonecode#50804, systemId#50805, internalUUID#50806, id#50807, displayId#50808, name#50809, baseUnitOfMeasure#50810, unitOfMeasures#50811, unitOfMeasureConversions#50812, productionAspect#50813, salesAspect#50814, procurementAspect#50815, productGroup#50816, filteredUnitOfMeasureConversions#50817, quantityNumerator#50818, quantityDenominator#50819]
(148) Project
Arguments: [product#50778, plant#50779, orderDateTime#50780, productPlant#50790, timezonecode#50804, systemId#50805, internalUUID#50806, id#50807, displayId#50808, name#50809, baseUnitOfMeasure#50810, unitOfMeasures#50811, unitOfMeasureConversions#50812, productionAspect#50813, salesAspect#50814, procurementAspect#50815, productGroup#50816, filteredUnitOfMeasureConversions#50817, quantityNumerator#50818, quantityDenominator#50819, (cast(quantityNumerator#50818 as double) / cast(quantityDenominator#50819 as double)) AS outboundUnit#50820]
(149) Project
Arguments: [product#50778, plant#50779, orderDateTime#50780, productPlant#50790, timezonecode#50804, systemId#50805, internalUUID#50806, id#50807, displayId#50808, name#50809, baseUnitOfMeasure#50810, unitOfMeasures#50811, unitOfMeasureConversions#50812, productionAspect#50813, salesAspect#50814, procurementAspect#50815, productGroup#50816, filteredUnitOfMeasureConversions#50817, quantityNumerator#50818, quantityDenominator#50819, CASE WHEN (isnull(outboundUnit#50820) OR (outboundUnit#50820 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#50820 END AS outboundUnit#50821]
(150) Project
Arguments: [product#50778, plant#50779, orderDateTime#50780, productPlant#50790, timezonecode#50804, outboundUnit#50821]
(151) Project
Arguments: [plant#50779]
(152) Deduplicate
Arguments: [plant#50779]
(153) Join
Arguments: Inner, (plantUuid#50775 = plant#50779)
(154) Project
Arguments: [plantId#50774, plantUuid#50775, storageLocId#50776, storageLocUuid#50777]
(155) Join
Arguments: Inner, (plant#50747.internalRefUUID <=> plantUuid#50775)
(156) Generate
Arguments: explode(filter(stockQuantities#50749, lambdafunction(((lambda x#50650.storageLocation.internalRefUuid = storageLocUuid#50777) AND (lambda x#50650.storageLocation.Id = storageLocId#50776)), lambda x#50650, false))), false, [stockQuantity#50822]
(157) Project
Arguments: [systemId#50744, internalUUID#50745, product#50746, plant#50747, calculationDateTime#50748, stockQuantities#50749, plantId#50774, plantUuid#50775, storageLocId#50776, storageLocUuid#50777, stockQuantity#50822]
(158) Aggregate
Arguments: [plantUuid#50775, internalUUID#50745, plant#50747, product#50746, systemId#50744], [plantUuid#50775, internalUUID#50745, plant#50747, product#50746, systemId#50744, first(calculationDateTime#50748, false) AS calculationDateTime#50823, collect_list(stockQuantity#50822, 0, 0) AS stockQuantities#50824]
(159) Project
Arguments: [systemId#50744, internalUUID#50745, product#50746, plant#50747, calculationDateTime#50823, stockQuantities#50824]
(160) Generate
Arguments: explode(stockQuantities#50824), false, [stockQuantity#50825]
(161) Project
Arguments: [systemId#50744, internalUUID#50745, product#50746, plant#50747, calculationDateTime#50823, stockQuantities#50824, stockQuantity#50825]
(162) Project
Arguments: [plant#50747.id AS plant#50826, plant#50747.internalRefUUID AS plantUuid#50827, product#50746.id AS product#50828, product#50746.internalRefUUID AS productUuid#50829, calculationDateTime#50823, stockQuantity#50825.storagelocation.id AS storageLocId#50830, stockQuantity#50825.storagelocation.internalRefUUID AS storageLocUuid#50831, stockQuantity#50825.quantity.measure AS quantity#50832, stockQuantity#50825.specialStockIndicator.code AS specialStockIndicator#50833, stockQuantity#50825.stockType.code AS stockType#50834]
(163) Filter
Arguments: ((specialStockIndicator#50833 = ) AND (stockType#50834 = 01))
(164) LogicalRelation
Arguments: parquet, [product#50835, plant#50836, orderDateTime#50837, planningStartDateTime#50838], false
(165) RepartitionByExpression
Arguments: [product#50835, plant#50836], 10
(166) Project
Arguments: [product#50835, plant#50836, orderDateTime#50837]
(167) LogicalRelation
Arguments: parquet, [systemId#50839, internalUUID#50840, plant#50841, product#50842, blockedForReplenishmentStartingFrom#50843, productionAspect#50844, salesPlant#50845, listing#50846], false
(168) Repartition
Arguments: 10, true
(169) Project
Arguments: [systemId#50839, internalUUID#50840, plant#50841, product#50842, blockedForReplenishmentStartingFrom#50843, productionAspect#50844, salesPlant#50845, listing#50846, struct(systemId, systemId#50839, internalUUID, internalUUID#50840, plant, plant#50841, product, product#50842, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#50843, productionAspect, productionAspect#50844, salesPlant, salesPlant#50845, listing, listing#50846) AS productPlant#50847]
(170) Project
Arguments: [productPlant#50847]
(171) Join
Arguments: LeftOuter, ((product#50835 <=> productPlant#50847.product.internalRefUUID) AND (plant#50836 <=> productPlant#50847.plant.internalRefUUID))
(172) Project
Arguments: [product#50835, plant#50836, orderDateTime#50837, productPlant#50847]
(173) SubqueryAlias
Arguments: wl
(174) LogicalRelation
Arguments: parquet, [systemId#50848, internalUUID#50849, id#50850, displayId#50851, name#50852, category#50853, companyCode#50854, address#50855, mainDistributionChain#50856, mainPurchasingOrganization#50857, validPurchasingOrganizations#50858, productGroup#50859], false
(175) Repartition
Arguments: 10, true
(176) Project
Arguments: [internalUUID#50849, address#50855.timeZone.code AS timezonecode#50860]
(177) Join
Arguments: LeftOuter, (plant#50836 <=> internalUUID#50849)
(178) Project
Arguments: [product#50835, plant#50836, orderDateTime#50837, productPlant#50847, internalUUID#50849, CASE WHEN isnotnull(timezonecode#50860) THEN timezonecode#50860 ELSE UTC END AS timezonecode#50861]
(179) Project
Arguments: [product#50835, plant#50836, orderDateTime#50837, productPlant#50847, timezonecode#50861]
(180) LogicalRelation
Arguments: parquet, [systemId#50862, internalUUID#50863, id#50864, displayId#50865, name#50866, baseUnitOfMeasure#50867, unitOfMeasures#50868, unitOfMeasureConversions#50869, productionAspect#50870, salesAspect#50871, procurementAspect#50872, productGroup#50873], false
(181) Repartition
Arguments: 10, true
(182) Join
Arguments: LeftOuter, (product#50835 = internalUUID#50863)
(183) Project
Arguments: [product#50835, plant#50836, orderDateTime#50837, productPlant#50847, timezonecode#50861, systemId#50862, internalUUID#50863, id#50864, displayId#50865, name#50866, baseUnitOfMeasure#50867, unitOfMeasures#50868, unitOfMeasureConversions#50869, productionAspect#50870, salesAspect#50871, procurementAspect#50872, productGroup#50873, filter(unitOfMeasureConversions#50869, lambdafunction((((lambda u#50592.measurementUnit1.code = productPlant#50847.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#50592.measurementUnit1.internalRefUUID = productPlant#50847.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#50592.measurementUnit2.code = baseUnitOfMeasure#50867.code) AND (lambda u#50592.measurementUnit2.internalRefUUID = baseUnitOfMeasure#50867.internalRefUUID))), lambda u#50592, false)) AS filteredUnitOfMeasureConversions#50874]
(184) Generate
Arguments: explode(filteredUnitOfMeasureConversions#50874.quantityNumerator), true, [quantityNumerator#50875]
(185) Project
Arguments: [product#50835, plant#50836, orderDateTime#50837, productPlant#50847, timezonecode#50861, systemId#50862, internalUUID#50863, id#50864, displayId#50865, name#50866, baseUnitOfMeasure#50867, unitOfMeasures#50868, unitOfMeasureConversions#50869, productionAspect#50870, salesAspect#50871, procurementAspect#50872, productGroup#50873, filteredUnitOfMeasureConversions#50874, quantityNumerator#50875]
(186) Generate
Arguments: explode(filteredUnitOfMeasureConversions#50874.quantityDenominator), true, [quantityDenominator#50876]
(187) Project
Arguments: [product#50835, plant#50836, orderDateTime#50837, productPlant#50847, timezonecode#50861, systemId#50862, internalUUID#50863, id#50864, displayId#50865, name#50866, baseUnitOfMeasure#50867, unitOfMeasures#50868, unitOfMeasureConversions#50869, productionAspect#50870, salesAspect#50871, procurementAspect#50872, productGroup#50873, filteredUnitOfMeasureConversions#50874, quantityNumerator#50875, quantityDenominator#50876]
(188) Project
Arguments: [product#50835, plant#50836, orderDateTime#50837, productPlant#50847, timezonecode#50861, systemId#50862, internalUUID#50863, id#50864, displayId#50865, name#50866, baseUnitOfMeasure#50867, unitOfMeasures#50868, unitOfMeasureConversions#50869, productionAspect#50870, salesAspect#50871, procurementAspect#50872, productGroup#50873, filteredUnitOfMeasureConversions#50874, quantityNumerator#50875, quantityDenominator#50876, (cast(quantityNumerator#50875 as double) / cast(quantityDenominator#50876 as double)) AS outboundUnit#50877]
(189) Project
Arguments: [product#50835, plant#50836, orderDateTime#50837, productPlant#50847, timezonecode#50861, systemId#50862, internalUUID#50863, id#50864, displayId#50865, name#50866, baseUnitOfMeasure#50867, unitOfMeasures#50868, unitOfMeasureConversions#50869, productionAspect#50870, salesAspect#50871, procurementAspect#50872, productGroup#50873, filteredUnitOfMeasureConversions#50874, quantityNumerator#50875, quantityDenominator#50876, CASE WHEN (isnull(outboundUnit#50877) OR (outboundUnit#50877 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#50877 END AS outboundUnit#50878]
(190) Project
Arguments: [product#50835, plant#50836, orderDateTime#50837, productPlant#50847, timezonecode#50861, outboundUnit#50878]
(191) Join
Arguments: Inner, ((plantUuid#50827 = plant#50836) AND (productUuid#50829 = product#50835))
(192) Filter
Arguments: (calculationDateTime#50823 <= orderDateTime#50837)
(193) Project
Arguments: [plantUuid#50827 AS plant#50879, productUuid#50829 AS product#50880, storageLocId#50830, calculationDateTime#50823, quantity#50832]
(194) Aggregate
Arguments: [plant#50879, product#50880, storageLocId#50830], [plant#50879, product#50880, storageLocId#50830, max(calculationDateTime#50823) AS max_calc_datetime#50737]
(195) Join
Arguments: Inner, ((((plant#50735 <=> plant#50879) AND (product#50736 <=> product#50880)) AND (storageLocId#50673 <=> storageLocId#50830)) AND (calculationDateTime#50652 <=> max_calc_datetime#50737))
(196) Project
Arguments: [plant#50735, product#50736, storageLocId#50673, calculationDateTime#50652, quantity#50675]
(197) Aggregate
Arguments: [product#50736, plant#50735], [product#50736, plant#50735, sum(quantity#50675) AS quantitySum#50891, min(calculationDateTime#50652) AS minCalculationDateTime#50892]
(198) Project
Arguments: [product#50736, plant#50735, quantitySum#50891, minCalculationDateTime#50892, round(quantitySum#50891, 0) AS roundedQuantitySum#50900]
(199) Join
Arguments: LeftOuter, ((plant#50546 = plant#50735) AND (product#50545 = product#50736))
(200) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559, timezonecode#50577, outboundUnit#50604, roundedQuantitySum#50900, minCalculationDateTime#50892]
(201) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559, timezonecode#50577, outboundUnit#50604, roundedQuantitySum#50900, minCalculationDateTime#50892, CASE WHEN isnotnull(minCalculationDateTime#50892) THEN minCalculationDateTime#50892 ELSE orderDateTime#50547 END AS stockDatetime#50949]
(202) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559, timezonecode#50577, outboundUnit#50604, roundedQuantitySum#50900, minCalculationDateTime#50892, stockDatetime#50949, CASE WHEN isnotnull(roundedQuantitySum#50900) THEN array(roundedQuantitySum#50900) ELSE array(0.0) END AS stockBatchQuantities#50950]
(203) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559, timezonecode#50577, outboundUnit#50604, roundedQuantitySum#50900, minCalculationDateTime#50892, stockDatetime#50949, stockBatchQuantities#50950, array(2199-01-01 00:00:00) AS stockBatchShelfLifeEndDatetimes#50951]
(204) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559, timezonecode#50577, outboundUnit#50604, roundedQuantitySum#50900, stockDatetime#50949, stockBatchQuantities#50950, stockBatchShelfLifeEndDatetimes#50951]
(205) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559, timezonecode#50577, outboundUnit#50604, stockDatetime#50949, stockBatchQuantities#50950, stockBatchShelfLifeEndDatetimes#50951]
(206) LogicalRelation
Arguments: parquet, [product#50952, plant#50953, demandChannel#50954, demandStream#50955, considerVariance#50956, demandTimeBuckets#50957, demandPointInTimeStart#50958, demandPointInTimeEnd#50959, demandPointInTime#50960], false
(207) Join
Arguments: LeftOuter, ((product#50545 = product#50952) AND (plant#50546 = plant#50953))
(208) Project
Arguments: [product#50545, plant#50546, orderDateTime#50547, productPlant#50559, timezonecode#50577, outboundUnit#50604, stockDatetime#50949, stockBatchQuantities#50950, stockBatchShelfLifeEndDatetimes#50951, demandChannel#50954, demandStream#50955, considerVariance#50956, demandTimeBuckets#50957, demandPointInTimeStart#50958, demandPointInTimeEnd#50959, demandPointInTime#50960]
(209) Filter
Arguments: (((size(demandTimeBuckets#50957, true) = 0) OR isnull(demandTimeBuckets#50957)) AND ((size(demandPointInTime#50960, true) = 0) OR isnull(demandPointInTime#50960)))
(210) Project
Arguments: [product#50545, plant#50546]
(211) Deduplicate
Arguments: [product#50545, plant#50546]
(212) Project
Arguments: [product#50545, plant#50546, UNKNOWN_DEMAND_FOR_PRODUCT_LOCATION AS name#50962]
(213) Project
Arguments: [product#50545, plant#50546, name#50962, 1 AS configurationVersion#50963]
(214) Project
Arguments: [product#50545, plant#50546, name#50962, configurationVersion#50963, array(struct(name, Product, value, cast(product#50545 as string)), struct(name, Plant, value, cast(plant#50546 as string))) AS businessContext#50968]
(215) Project
Arguments: [product#50545, plant#50546, name#50962, configurationVersion#50963, businessContext#50968, 10000000006 AS executionId#50969]
(216) Project
Arguments: [product#50545, plant#50546, name#50962, configurationVersion#50963, businessContext#50968, executionId#50969, DIP_1691 AS marketUnit#50970]
(217) Project
Arguments: [product#50545, plant#50546, name#50962, configurationVersion#50963, businessContext#50968, executionId#50969, marketUnit#50970, 2026-07-05T13:44:06.906Z AS createdAt#50971]
(218) Project
Arguments: [name#50962, configurationVersion#50963, executionId#50969, createdAt#50971, marketUnit#50970, businessContext#50968]
(219) Project
Arguments: [to_json(struct(name, name#50962, configurationVersion, configurationVersion#50963, executionId, executionId#50969, createdAt, createdAt#50971, marketUnit, marketUnit#50970, businessContext, businessContext#50968), Some(UTC)) AS value#64020]
(220) Project
Arguments: [cast(value#64020 as string) AS value#64021]
(221) Project
Arguments: [value#64021, array(struct(key, X-Tenant-ID, value, cast(5330363489248697092 as binary)), struct(key, X-Message-ID, value, cast(b791250e-a326-4946-a85d-484f36ac8a05 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#64030]