== Physical Plan ==
Execute SaveIntoDataSourceCommand (1)
+- SaveIntoDataSourceCommand (2)
+- Project (222)
+- Project (221)
+- Project (220)
+- Project (219)
+- Project (218)
+- Project (217)
+- Project (216)
+- Deduplicate (215)
+- Project (214)
+- Project (213)
+- Project (212)
+- Project (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@286e67c5, [kafka.ssl.keystore.type=PEM, kafka.ssl.truststore.certificates=-----BEGIN CERTIFICATE-----
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
/jpDfYNIFFeK2b96ea3PMzQYLg==
-----END CERTIFICATE-----, kafka.bootstrap.servers=4.175.151.0:50094,4.175.151.0:50194,4.175.151.0:50294, kafka.ssl.keystore.key=-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDZiThCxCqy+tw3
4byO8mNc+uqFs2mtyLeQgh5ftIggMun7/aEqDYZ9kL14TfTSzbnxJzI/qLb4p+39
OqkxuQILIpmU6PX+l4iJitB/84vD41wuN6aZl9sOJjSTcFv1JGTKgTiDNO7ZRcwu
oMcMQfNMlVkpHY38/fgyo17jr+syrf1G1b+Z/bL7Gxo3iYZH6cmiOcpAmRRFBjsY
rxbAu1s35Et8U9nYSO1ZKqcrTBcHQBXmBArMgfkTH+RFEDCq0MjbMWY4KTkJ4Q0f
/bAoaoGaiwn9KI6Y8LxvD9k6Lwwbs9uModwVpZ2Ds8MX7cE8aUThDIdybPeihUzf
PyOlV/0xAgMBAAECggEACWnNIOMAGcP+G+8xT5J8sx8ivz+/88Kk8lx2E+RCFHod
is9rLiCdFHGLKGG/tZBMUruUaqGqbsTGCTRk0ktwI6MW+CUTUYW1RWXnzzSe1H6B
/HhBJeH2y0RDF8r3uLo/IA3y0AcuK4HgI7eme2Dedk67Z6qBLJyhFRBhnJrOA8Ck
G7MUXppnQxNmNrZjismnLxBllBb1kePct/MVYInkumD8AqVlYhF97KkjpS5elnJv
MfJkQlBU7q2JZBkvC0J9Kj8S9ix899rDs2Gb6KGjR/DHJL2Fz18LtkpGCh7oYTyI
s1V4q/8hY7yCIbuCystWEB/GOmCPv+tbHJYBN1tNIQKBgQD3vIjpTrHW9He0Y5kR
PiLT4ekvogz+/a2INsJThXXOeE6Fvcwex6MWoWdd2S6XFWOC7zQ5IbJCwZ8gdW4e
ozbL7nq/hEFWD3sqvf7kRfxSev+b9/QqCo9h75Z+zfRNQKK3H8bBY5jmFU51uR8g
FbuWbVpq7CUS9fHEJBTW7LJ+YQKBgQDgysxKw/Co0+uSGGCSc0SrSvIBTuuHemlc
VhSnsCtgKg5k9/1mkHQCp3xlmNztRcs08/jEHSQxphsNeG/T9oDwcMYXVOgmeBhH
70SfTaODaU/9nZrYPEUro9wZ84sUgkhuxNHZ4QCUcOpiI49r3rGH4z6f1MLokwr+
CVtSpvDQ0QKBgEroDt28lblRIgDBPL8h8pXucPueHB/dxGKza/6lFAHiDpwRz25f
Hsjw9LhDuvqj1Pr6KOg9cBEPSnYeC7Xn0+HFsgfGjZrgA3XhDPko0CqAVllql8E+
gCw0rWSaEYxqRsjoKsi+vLSVLKwb1XV2HMpXNkeuL2eURg3wevyhhTcBAoGAY7CM
OPv8VmLlLb0x1sDXyz9JY9skCMj4wMJMFrHCCrub9psj/cBCMoskV8oa7/7rx2gL
Aq4JxxrrFGY88bt4IylgMCiva6AG5J/vxtYflb+2gbrLWOohouDgU4H2Q/ojNTyD
9CQcpbgNucgbarMv+BuHQkqQxaOwVEjB/z2ZvoECgYEAlBLENuK4E/Hz5zW/n/HZ
smZV4S3l5s9aa28LyS7oRYAIdRbuo36HxkMJB7LdsW1mxAtgzXydZvXe6wn0ayBK
4Rlh3Ge3nj6NXUkpGEgb3/yA92hcc+TT2fL11M5XzdGnr4MNtyxuBv40vIiyj+ZH
SnSwe4JBNbi8JMUOU/PmXwg=
-----END PRIVATE KEY-----, topic=InsightsTopic, kafka.ssl.truststore.type=PEM, kafka.ssl.keystore.certificate.chain=-----BEGIN CERTIFICATE-----
MIIG+jCCBOKgAwIBAgIRAJgFqBGrmJXq2vq43m2zj64wDQYJKoZIhvcNAQELBQAw
eTELMAkGA1UEBhMCREUxDTALBgNVBAcMBEVVMTAxDzANBgNVBAoMBlNBUCBTRTEj
MCEGA1UECwwaU0FQIENsb3VkIFBsYXRmb3JtIENsaWVudHMxJTAjBgNVBAMMHFNB
UCBDbG91ZCBQbGF0Zm9ybSBDbGllbnQgQ0EwHhcNMjUwOTE1MTEyMDA2WhcNMjYw
OTE1MTIyMDA2WjCCAfExCzAJBgNVBAYTAkRFMQ8wDQYDVQQKDAZTQVAgU0UxIzAh
BgNVBAsMGlNBUCBDbG91ZCBQbGF0Zm9ybSBDbGllbnRzMRowGAYDVQQLDBFjZi1l
dTIwLXNhcC1rYWZrYTGCAWMwggFfBgNVBAcMggFWRElrV09RQlJmd1Rqa1FuYjhU
MEtJMXRyY0pVQUtBUlZmLVl0NHZVRHllRnlOMHRYQnlhd3hZNnFUTEgxMk5kbUhf
NEJ4djRQM1I3MzRpSk9GTjlqeUw5bE9hYW90RW1nNHkxdVJqd08yazlFWHJ1Q0xf
YWJkVEJpQWwzMUN3QWxLRFBaNm5icDRjMThTYm15dnJIWm9GVzZSUWVQMnlSSVRJ
Wk1aNmZWR0djUFM2T2VJWmtRYS1KNkdQMEtlLXhkWVhDT24xbFdXdFNGXy1JX19P
QXNTUmhyNHp1bEdmS2pWUVdTYW0yS2FPeWhsY3hsZ3pGT2ZhdUlQWmFXSHhxSThZ
b0JpRE04NUtpT2V5d1duWjhzQlI2ZXNCMlgtTUw0ZDE1SC1fSlFiMDFXNVZ1NWRD
UGNiSGF3Z3I3Y0ljQnFmOUc4WFljcWVUUklJUDRJa1hjY0RBMSkwJwYDVQQDDCBz
YnNzX3VsY3R3bW9hamplX2dpY2ZuajN4aThnbDN5YTCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBANmJOELEKrL63DfhvI7yY1z66oWzaa3It5CCHl+0iCAy
6fv9oSoNhn2QvXhN9NLNufEnMj+otvin7f06qTG5AgsimZTo9f6XiImK0H/zi8Pj
XC43ppmX2w4mNJNwW/UkZMqBOIM07tlFzC6gxwxB80yVWSkdjfz9+DKjXuOv6zKt
/UbVv5n9svsbGjeJhkfpyaI5ykCZFEUGOxivFsC7WzfkS3xT2dhI7VkqpytMFwdA
FeYECsyB+RMf5EUQMKrQyNsxZjgpOQnhDR/9sChqgZqLCf0ojpjwvG8P2TovDBuz
24yh3BWlnYOzwxftwTxpROEMh3Js96KFTN8/I6VX/TECAwEAAaOCAQEwgf4wCQYD
VR0TBAIwADAfBgNVHSMEGDAWgBTtx8AzXhKk93kym3vuCviohXiMLzAdBgNVHQ4E
FgQUbN53SjfH93hobdzUsGTksF60DBowDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQM
MAoGCCsGAQUFBwMCMIGLBgNVHR8EgYMwgYAwfqB8oHqGeGh0dHA6Ly9zYXAtY2xv
dWQtcGxhdGZvcm0tY2xpZW50LWNhLWV1MTAtY3Jscy5zMy5ldS1jZW50cmFsLTEu
YW1hem9uYXdzLmNvbS9jcmwvMmExYjQ5YWMtZmMwMi00YTQ4LTk5M2EtOWE0ZDBk
ZmVjMzNlLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAG/gbwaN6HTtPJZz67NPykGdb
DS0cnHUvlNnY+sE9viSSJAlD7bLEt0XdNM2L4EIwbhib2MdUyW5npgciXbaglRKh
117lT1543BqV/abnt/KVL+4CwG4WcwMfxgrPaT6v7mkTyYZAOte24kI4rMk/0lVn
hew/KBKYIQXvynKtRrl+kKZU52n7MXuyzdFBf0HbPQAYrbMwbB57eUvKbjVEJJWh
gp3+vhX6RUD8m8tx1VJk5Ijo08YbcKUhhUMD8hh89/jPc7TTpu1alVy6oRyBhFa0
JYYHiEQQrPjo0TakG9XuUl2pMViA1fsFEs99ZOjmwr5afzpzbIZedfCzkUprs4+n
o6D3l2LXwC4SkdGeGctWHQoB6fBLvxEWTnOPxergBFdWquASMvt2EntDYtwmoKsY
cnj83AwXpOHweQvXq5bu0UgE1NA1NIUz6poObwQ0IB8RvlM5UgbirJVdYNLVfzd4
TcHVJ6tTDsmgASPWGfSj43uVu9JjNOHbBZb/ktlsOkiF+44TMlko4sNVbbDRdP/S
+ud2LyKXRCCPr17Y6h4cO+0GyKnlAdx9IcHio9OHRz/UU3TyMt3x8Rp6bS2QbDDN
CmYo14JdK1Ju4IHOYk0Pw73+kQJFiqrnqBrJLW4l5Tw5hkpelPzx8iSXQGkiI4Ra
wOM/Grh4HUHtQ7TYRmQ=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIGYDCCBEigAwIBAgITcAAAAA0Y1cDKQ147YwAAAAAADTANBgkqhkiG9w0BAQsF
ADBNMQswCQYDVQQGEwJERTERMA8GA1UEBwwIV2FsbGRvcmYxDzANBgNVBAoMBlNB
UCBTRTEaMBgGA1UEAwwRU0FQIENsb3VkIFJvb3QgQ0EwHhcNMjMxMTIxMTAzNjE1
WhcNMzMxMTIxMTA0NjE1WjB5MQswCQYDVQQGEwJERTENMAsGA1UEBwwERVUxMDEP
MA0GA1UECgwGU0FQIFNFMSMwIQYDVQQLDBpTQVAgQ2xvdWQgUGxhdGZvcm0gQ2xp
ZW50czElMCMGA1UEAwwcU0FQIENsb3VkIFBsYXRmb3JtIENsaWVudCBDQTCCAiIw
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAI8hpWjKK+OzKOPvXmlzD0EaWT9I
sINsnw7ek+BuxCtWnWWX1ILIqHjX+47dhD9IY/tUPiLFEI7WAFGoyzSmjY1qclx4
ZFkqvYhOoZe3r6LWL78TX/o1mRYLgg2SCDkDDsmnrT0l/X2fnW+2hb70s/d7q84M
mbrIC1gI0jtAJvFMZm0+82d+a0b3XYrUmmE6FTN0avFPcW4H83lFQJLJKwQ0HI72
Bno6ptle2k7QLZISkw0Mr76qJuHSi6DZxmGb0Ecp5g6X4Q++YdgmMu5gtQikkfIs
/qFnjPdRMKXblA0szRH2HlgNgmflpB3361oWz8jAwkujQz2VLeL+OGoVscAmLcUn
NYieXdUDnaAuUqgKYnc4QyGygVqMMx3g+1VTnXN+xwZ4oinaDucIWkolRZfuOIXo
g8gh50jAO2qy3Z+l783PCFA2RdncMThEuEctvSQXqQex2w/JpXKk+jkhnNOPYdWS
tbwOjofN/CRmlrOKNw8GRCT0YJCrQ/ZP6/C+yDlgAl617wbzjPNhfTi8T+7k1794
QPTKTRcPyJ6tBv6JOb0A7C6UfAA/pEVDhOX9NnB93mFYZxwEw6n2JLhRG/rNvEdf
7NKAs6M1EYhVNFD8iDWukpR2/jGJTgsxJvRk5nEPavgkIS2Mffv2zFnIpaPqv9ox
M01BXHJs6vK6rePfAgMBAAGjggELMIIBBzASBgNVHRMBAf8ECDAGAQH/AgEAMB0G
A1UdDgQWBBTtx8AzXhKk93kym3vuCviohXiMLzAfBgNVHSMEGDAWgBQcvGYrDsqN
S5+Nk3GpD8pnRmkTIjBKBgNVHR8EQzBBMD+gPaA7hjlodHRwOi8vY2RwLnBraS5j
by5zYXAuY29tL2NkcC9TQVAlMjBDbG91ZCUyMFJvb3QlMjBDQS5jcmwwVQYIKwYB
BQUHAQEESTBHMEUGCCsGAQUFBzAChjlodHRwOi8vYWlhLnBraS5jby5zYXAuY29t
L2FpYS9TQVAlMjBDbG91ZCUyMFJvb3QlMjBDQS5jcnQwDgYDVR0PAQH/BAQDAgEG
MA0GCSqGSIb3DQEBCwUAA4ICAQBWP3oZa36jJ+4JakH1kEkCcoKffY9UYFwuBCAL
3jdBruhHH8aLGseI2Zhl5r7os1rkD0Sl55xrM4i1gyeRAyTM/Pe28cBIxFs2vbBC
+4mpIfKPSuTw61P3FOeaqHUgvVJsIiHgfKbMIDzrvwAUMTr453a77DrKZ/oAXW3K
xelNxhfjiCDsWIs++6NbSIwZsQjxPZp39HyN0XBh6BoxN5dmwT9AnlzkqyBiIPwi
TrNxcdCB4MDrwLRZlW21nRb/nTDCfavITqJNAjz1vzNXpSfda74MINstrOwsAcsX
gkYJpxPK7q9VV3vx2ZfZwRIBIxXlisUD/wIkz7zteStT2yfkV8uoh2pweedBgdX1
yah+dWl5LXvSRtmxgGL2CsxZcbQHbnh10OBS9qXBbeN3UswwoXKigYy9v0JkKmKg
knhhNG5+SYVUUzWBCy9DyM2TDMH2VtiZcu2dFqRuzRTi68GXaN9HCIr6gxjqbaPf
yjtQppmfobrrHpBpuI7jM8RPPg2N3Kmj/Wzmf4uPNJT00WUiCG3FdWO4cCX/UxJs
dxAXH+QhykGB1t28JbYpzO1NQohd2shlShkpgqn4ldS6kPC5VWSGUod3139KCrFO
HYFN+t5tRFJ5amXg7nzYf2tGFzsWfa8qMLtuKZWBo+2hvDaxreSSlfTQ6M8QHvS7
TG767A==
-----END CERTIFICATE-----, kafka.security.protocol=SSL], ErrorIfExists
(3) LogicalRelation
Arguments: parquet, [product#1225622, plant#1225623, orderDateTime#1225624, planningStartDateTime#1225625], false
(4) RepartitionByExpression
Arguments: [product#1225622, plant#1225623], 37
(5) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624]
(6) LogicalRelation
Arguments: parquet, [systemId#1225627, internalUUID#1225628, plant#1225629, product#1225630, blockedForReplenishmentStartingFrom#1225631, productionAspect#1225632, salesPlant#1225633, listing#1225634], false
(7) Repartition
Arguments: 37, true
(8) Project
Arguments: [systemId#1225627, internalUUID#1225628, plant#1225629, product#1225630, blockedForReplenishmentStartingFrom#1225631, productionAspect#1225632, salesPlant#1225633, listing#1225634, struct(systemId, systemId#1225627, internalUUID, internalUUID#1225628, plant, plant#1225629, product, product#1225630, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#1225631, productionAspect, productionAspect#1225632, salesPlant, salesPlant#1225633, listing, listing#1225634) AS productPlant#1225636]
(9) Project
Arguments: [productPlant#1225636]
(10) Join
Arguments: LeftOuter, ((product#1225622 <=> productPlant#1225636.product.internalRefUUID) AND (plant#1225623 <=> productPlant#1225636.plant.internalRefUUID))
(11) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636]
(12) SubqueryAlias
Arguments: wl
(13) LogicalRelation
Arguments: parquet, [systemId#1225639, internalUUID#1225640, id#1225641, displayId#1225642, name#1225643, category#1225644, companyCode#1225645, address#1225646, mainDistributionChain#1225647, mainPurchasingOrganization#1225648, validPurchasingOrganizations#1225649, productGroup#1225650], false
(14) Repartition
Arguments: 37, true
(15) Project
Arguments: [internalUUID#1225640, address#1225646.timeZone.code AS timezonecode#1225651]
(16) Join
Arguments: LeftOuter, (plant#1225623 <=> internalUUID#1225640)
(17) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636, internalUUID#1225640, CASE WHEN isnotnull(timezonecode#1225651) THEN timezonecode#1225651 ELSE UTC END AS timezonecode#1225654]
(18) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636, timezonecode#1225654]
(19) LogicalRelation
Arguments: parquet, [systemId#1225655, internalUUID#1225656, id#1225657, displayId#1225658, name#1225659, baseUnitOfMeasure#1225660, unitOfMeasures#1225661, unitOfMeasureConversions#1225662, productionAspect#1225663, salesAspect#1225664, procurementAspect#1225665, productGroup#1225666], false
(20) Repartition
Arguments: 37, true
(21) Join
Arguments: LeftOuter, (product#1225622 = internalUUID#1225656)
(22) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636, timezonecode#1225654, systemId#1225655, internalUUID#1225656, id#1225657, displayId#1225658, name#1225659, baseUnitOfMeasure#1225660, unitOfMeasures#1225661, unitOfMeasureConversions#1225662, productionAspect#1225663, salesAspect#1225664, procurementAspect#1225665, productGroup#1225666, filter(unitOfMeasureConversions#1225662, lambdafunction((((lambda u#1225669.measurementUnit1.code = productPlant#1225636.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#1225669.measurementUnit1.internalRefUUID = productPlant#1225636.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#1225669.measurementUnit2.code = baseUnitOfMeasure#1225660.code) AND (lambda u#1225669.measurementUnit2.internalRefUUID = baseUnitOfMeasure#1225660.internalRefUUID))), lambda u#1225669, false)) AS filteredUnitOfMeasureConversions#1225668]
(23) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1225668.quantityNumerator), true, [quantityNumerator#1225676]
(24) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636, timezonecode#1225654, systemId#1225655, internalUUID#1225656, id#1225657, displayId#1225658, name#1225659, baseUnitOfMeasure#1225660, unitOfMeasures#1225661, unitOfMeasureConversions#1225662, productionAspect#1225663, salesAspect#1225664, procurementAspect#1225665, productGroup#1225666, filteredUnitOfMeasureConversions#1225668, quantityNumerator#1225676]
(25) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1225668.quantityDenominator), true, [quantityDenominator#1225679]
(26) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636, timezonecode#1225654, systemId#1225655, internalUUID#1225656, id#1225657, displayId#1225658, name#1225659, baseUnitOfMeasure#1225660, unitOfMeasures#1225661, unitOfMeasureConversions#1225662, productionAspect#1225663, salesAspect#1225664, procurementAspect#1225665, productGroup#1225666, filteredUnitOfMeasureConversions#1225668, quantityNumerator#1225676, quantityDenominator#1225679]
(27) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636, timezonecode#1225654, systemId#1225655, internalUUID#1225656, id#1225657, displayId#1225658, name#1225659, baseUnitOfMeasure#1225660, unitOfMeasures#1225661, unitOfMeasureConversions#1225662, productionAspect#1225663, salesAspect#1225664, procurementAspect#1225665, productGroup#1225666, filteredUnitOfMeasureConversions#1225668, quantityNumerator#1225676, quantityDenominator#1225679, (cast(quantityNumerator#1225676 as double) / cast(quantityDenominator#1225679 as double)) AS outboundUnit#1225680]
(28) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636, timezonecode#1225654, systemId#1225655, internalUUID#1225656, id#1225657, displayId#1225658, name#1225659, baseUnitOfMeasure#1225660, unitOfMeasures#1225661, unitOfMeasureConversions#1225662, productionAspect#1225663, salesAspect#1225664, procurementAspect#1225665, productGroup#1225666, filteredUnitOfMeasureConversions#1225668, quantityNumerator#1225676, quantityDenominator#1225679, CASE WHEN (isnull(outboundUnit#1225680) OR (outboundUnit#1225680 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#1225680 END AS outboundUnit#1225681]
(29) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636, timezonecode#1225654, outboundUnit#1225681]
(30) LogicalRelation
Arguments: parquet, [systemId#1225718, internalUUID#1225719, product#1225720, plant#1225721, calculationDateTime#1225722, stockQuantities#1225723], false
(31) Repartition
Arguments: 37, true
(32) LogicalRelation
Arguments: parquet, [marketUnit#1225682, description#1225683, articleHierarchy#1225684, defaultCurrency#1225685, responsibilities#1225686, replenishmentTypes#1225687, distributionCenters#1225688, assignedArticleHierarchyNodes#1225689, minOrderQtySetting#1225690, listingCheck#1225691, odsSelection#1225692, demandProfiles#1225693, constraintProfiles#1225694, optimizationProfiles#1225695, orderGroupSplitProfiles#1225696, supplierMinimumProfiles#1225697, multipleRestrictionProfiles#1225698, preferredUomSource#1225699, handlingOfUnfulfilledDemands#1225700, negligibleQuantitiesThreshold#1225701, eventtype#1225702, minOrderQtySettingInternal#1225703], false
(33) Repartition
Arguments: 37, true
(34) Filter
Arguments: (marketUnit#1225682 <=> AUTO_MUV2)
(35) Project
Arguments: [marketUnit#1225682, description#1225683, articleHierarchy#1225684, defaultCurrency#1225685, responsibilities#1225686, replenishmentTypes#1225687, distributionCenters#1225688, assignedArticleHierarchyNodes#1225689, minOrderQtySetting#1225690, listingCheck#1225691, odsSelection#1225692, demandProfiles#1225693, constraintProfiles#1225694, optimizationProfiles#1225695, orderGroupSplitProfiles#1225696, supplierMinimumProfiles#1225697, multipleRestrictionProfiles#1225698, preferredUomSource#1225699, handlingOfUnfulfilledDemands#1225700, negligibleQuantitiesThreshold#1225701, eventtype#1225702, minOrderQtySettingInternal#1225703]
(36) Project
Arguments: [distributionCenters#1225688]
(37) Generate
Arguments: explode(distributionCenters#1225688), false, [distributionCenters#1225706]
(38) Project
Arguments: [distributionCenters#1225706]
(39) Generate
Arguments: explode(distributionCenters#1225706.storageLocations), false, [storageLocations#1225713]
(40) Project
Arguments: [distributionCenters#1225706.id AS plantId#1225707, distributionCenters#1225706.internalRefUUID AS plantUuid#1225708, storageLocations#1225713]
(41) Project
Arguments: [plantId#1225707, plantUuid#1225708, storageLocations#1225713.id AS storageLocId#1225714, storageLocations#1225713.internalRefUUID AS storageLocUuid#1225715]
(42) LogicalRelation
Arguments: parquet, [product#1225978, plant#1225979, orderDateTime#1225980, planningStartDateTime#1225981], false
(43) RepartitionByExpression
Arguments: [product#1225978, plant#1225979], 37
(44) Project
Arguments: [product#1225978, plant#1225979, orderDateTime#1225980]
(45) LogicalRelation
Arguments: parquet, [systemId#1225982, internalUUID#1225983, plant#1225984, product#1225985, blockedForReplenishmentStartingFrom#1225986, productionAspect#1225987, salesPlant#1225988, listing#1225989], false
(46) Repartition
Arguments: 37, true
(47) Project
Arguments: [systemId#1225982, internalUUID#1225983, plant#1225984, product#1225985, blockedForReplenishmentStartingFrom#1225986, productionAspect#1225987, salesPlant#1225988, listing#1225989, struct(systemId, systemId#1225982, internalUUID, internalUUID#1225983, plant, plant#1225984, product, product#1225985, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#1225986, productionAspect, productionAspect#1225987, salesPlant, salesPlant#1225988, listing, listing#1225989) AS productPlant#1225990]
(48) Project
Arguments: [productPlant#1225990]
(49) Join
Arguments: LeftOuter, ((product#1225978 <=> productPlant#1225990.product.internalRefUUID) AND (plant#1225979 <=> productPlant#1225990.plant.internalRefUUID))
(50) Project
Arguments: [product#1225978, plant#1225979, orderDateTime#1225980, productPlant#1225990]
(51) SubqueryAlias
Arguments: wl
(52) LogicalRelation
Arguments: parquet, [systemId#1225991, internalUUID#1225992, id#1225993, displayId#1225994, name#1225995, category#1225996, companyCode#1225997, address#1225998, mainDistributionChain#1225999, mainPurchasingOrganization#1226000, validPurchasingOrganizations#1226001, productGroup#1226002], false
(53) Repartition
Arguments: 37, true
(54) Project
Arguments: [internalUUID#1225992, address#1225998.timeZone.code AS timezonecode#1226003]
(55) Join
Arguments: LeftOuter, (plant#1225979 <=> internalUUID#1225992)
(56) Project
Arguments: [product#1225978, plant#1225979, orderDateTime#1225980, productPlant#1225990, internalUUID#1225992, CASE WHEN isnotnull(timezonecode#1226003) THEN timezonecode#1226003 ELSE UTC END AS timezonecode#1226004]
(57) Project
Arguments: [product#1225978, plant#1225979, orderDateTime#1225980, productPlant#1225990, timezonecode#1226004]
(58) LogicalRelation
Arguments: parquet, [systemId#1226005, internalUUID#1226006, id#1226007, displayId#1226008, name#1226009, baseUnitOfMeasure#1226010, unitOfMeasures#1226011, unitOfMeasureConversions#1226012, productionAspect#1226013, salesAspect#1226014, procurementAspect#1226015, productGroup#1226016], false
(59) Repartition
Arguments: 37, true
(60) Join
Arguments: LeftOuter, (product#1225978 = internalUUID#1226006)
(61) Project
Arguments: [product#1225978, plant#1225979, orderDateTime#1225980, productPlant#1225990, timezonecode#1226004, systemId#1226005, internalUUID#1226006, id#1226007, displayId#1226008, name#1226009, baseUnitOfMeasure#1226010, unitOfMeasures#1226011, unitOfMeasureConversions#1226012, productionAspect#1226013, salesAspect#1226014, procurementAspect#1226015, productGroup#1226016, filter(unitOfMeasureConversions#1226012, lambdafunction((((lambda u#1225669.measurementUnit1.code = productPlant#1225990.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#1225669.measurementUnit1.internalRefUUID = productPlant#1225990.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#1225669.measurementUnit2.code = baseUnitOfMeasure#1226010.code) AND (lambda u#1225669.measurementUnit2.internalRefUUID = baseUnitOfMeasure#1226010.internalRefUUID))), lambda u#1225669, false)) AS filteredUnitOfMeasureConversions#1226017]
(62) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1226017.quantityNumerator), true, [quantityNumerator#1226018]
(63) Project
Arguments: [product#1225978, plant#1225979, orderDateTime#1225980, productPlant#1225990, timezonecode#1226004, systemId#1226005, internalUUID#1226006, id#1226007, displayId#1226008, name#1226009, baseUnitOfMeasure#1226010, unitOfMeasures#1226011, unitOfMeasureConversions#1226012, productionAspect#1226013, salesAspect#1226014, procurementAspect#1226015, productGroup#1226016, filteredUnitOfMeasureConversions#1226017, quantityNumerator#1226018]
(64) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1226017.quantityDenominator), true, [quantityDenominator#1226019]
(65) Project
Arguments: [product#1225978, plant#1225979, orderDateTime#1225980, productPlant#1225990, timezonecode#1226004, systemId#1226005, internalUUID#1226006, id#1226007, displayId#1226008, name#1226009, baseUnitOfMeasure#1226010, unitOfMeasures#1226011, unitOfMeasureConversions#1226012, productionAspect#1226013, salesAspect#1226014, procurementAspect#1226015, productGroup#1226016, filteredUnitOfMeasureConversions#1226017, quantityNumerator#1226018, quantityDenominator#1226019]
(66) Project
Arguments: [product#1225978, plant#1225979, orderDateTime#1225980, productPlant#1225990, timezonecode#1226004, systemId#1226005, internalUUID#1226006, id#1226007, displayId#1226008, name#1226009, baseUnitOfMeasure#1226010, unitOfMeasures#1226011, unitOfMeasureConversions#1226012, productionAspect#1226013, salesAspect#1226014, procurementAspect#1226015, productGroup#1226016, filteredUnitOfMeasureConversions#1226017, quantityNumerator#1226018, quantityDenominator#1226019, (cast(quantityNumerator#1226018 as double) / cast(quantityDenominator#1226019 as double)) AS outboundUnit#1226020]
(67) Project
Arguments: [product#1225978, plant#1225979, orderDateTime#1225980, productPlant#1225990, timezonecode#1226004, systemId#1226005, internalUUID#1226006, id#1226007, displayId#1226008, name#1226009, baseUnitOfMeasure#1226010, unitOfMeasures#1226011, unitOfMeasureConversions#1226012, productionAspect#1226013, salesAspect#1226014, procurementAspect#1226015, productGroup#1226016, filteredUnitOfMeasureConversions#1226017, quantityNumerator#1226018, quantityDenominator#1226019, CASE WHEN (isnull(outboundUnit#1226020) OR (outboundUnit#1226020 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#1226020 END AS outboundUnit#1226021]
(68) Project
Arguments: [product#1225978, plant#1225979, orderDateTime#1225980, productPlant#1225990, timezonecode#1226004, outboundUnit#1226021]
(69) Project
Arguments: [plant#1225979]
(70) Deduplicate
Arguments: [plant#1225979]
(71) Join
Arguments: Inner, (plantUuid#1225708 = plant#1225979)
(72) Project
Arguments: [plantId#1225707, plantUuid#1225708, storageLocId#1225714, storageLocUuid#1225715]
(73) Join
Arguments: Inner, (plant#1225721.internalRefUUID <=> plantUuid#1225708)
(74) Generate
Arguments: explode(filter(stockQuantities#1225723, lambdafunction(((lambda x#1225727.storageLocation.internalRefUuid = storageLocUuid#1225715) AND (lambda x#1225727.storageLocation.Id = storageLocId#1225714)), lambda x#1225727, false))), false, [stockQuantity#1225728]
(75) Project
Arguments: [systemId#1225718, internalUUID#1225719, product#1225720, plant#1225721, calculationDateTime#1225722, stockQuantities#1225723, plantId#1225707, plantUuid#1225708, storageLocId#1225714, storageLocUuid#1225715, stockQuantity#1225728]
(76) Aggregate
Arguments: [plantUuid#1225708, internalUUID#1225719, plant#1225721, product#1225720, systemId#1225718], [plantUuid#1225708, internalUUID#1225719, plant#1225721, product#1225720, systemId#1225718, first(calculationDateTime#1225722, false) AS calculationDateTime#1225729, collect_list(stockQuantity#1225728, 0, 0) AS stockQuantities#1225730]
(77) Project
Arguments: [systemId#1225718, internalUUID#1225719, product#1225720, plant#1225721, calculationDateTime#1225729, stockQuantities#1225730]
(78) Generate
Arguments: explode(stockQuantities#1225730), false, [stockQuantity#1225745]
(79) Project
Arguments: [systemId#1225718, internalUUID#1225719, product#1225720, plant#1225721, calculationDateTime#1225729, stockQuantities#1225730, stockQuantity#1225745]
(80) Project
Arguments: [plant#1225721.id AS plant#1225746, plant#1225721.internalRefUUID AS plantUuid#1225747, product#1225720.id AS product#1225748, product#1225720.internalRefUUID AS productUuid#1225749, calculationDateTime#1225729, stockQuantity#1225745.storagelocation.id AS storageLocId#1225750, stockQuantity#1225745.storagelocation.internalRefUUID AS storageLocUuid#1225751, stockQuantity#1225745.quantity.measure AS quantity#1225752, stockQuantity#1225745.specialStockIndicator.code AS specialStockIndicator#1225753, stockQuantity#1225745.stockType.code AS stockType#1225754]
(81) Filter
Arguments: ((specialStockIndicator#1225753 = ) AND (stockType#1225754 = 01))
(82) LogicalRelation
Arguments: parquet, [product#1225764, plant#1225765, orderDateTime#1225766, planningStartDateTime#1225767], false
(83) RepartitionByExpression
Arguments: [product#1225764, plant#1225765], 37
(84) Project
Arguments: [product#1225764, plant#1225765, orderDateTime#1225766]
(85) LogicalRelation
Arguments: parquet, [systemId#1225768, internalUUID#1225769, plant#1225770, product#1225771, blockedForReplenishmentStartingFrom#1225772, productionAspect#1225773, salesPlant#1225774, listing#1225775], false
(86) Repartition
Arguments: 37, true
(87) Project
Arguments: [systemId#1225768, internalUUID#1225769, plant#1225770, product#1225771, blockedForReplenishmentStartingFrom#1225772, productionAspect#1225773, salesPlant#1225774, listing#1225775, struct(systemId, systemId#1225768, internalUUID, internalUUID#1225769, plant, plant#1225770, product, product#1225771, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#1225772, productionAspect, productionAspect#1225773, salesPlant, salesPlant#1225774, listing, listing#1225775) AS productPlant#1225776]
(88) Project
Arguments: [productPlant#1225776]
(89) Join
Arguments: LeftOuter, ((product#1225764 <=> productPlant#1225776.product.internalRefUUID) AND (plant#1225765 <=> productPlant#1225776.plant.internalRefUUID))
(90) Project
Arguments: [product#1225764, plant#1225765, orderDateTime#1225766, productPlant#1225776]
(91) SubqueryAlias
Arguments: wl
(92) LogicalRelation
Arguments: parquet, [systemId#1225777, internalUUID#1225778, id#1225779, displayId#1225780, name#1225781, category#1225782, companyCode#1225783, address#1225784, mainDistributionChain#1225785, mainPurchasingOrganization#1225786, validPurchasingOrganizations#1225787, productGroup#1225788], false
(93) Repartition
Arguments: 37, true
(94) Project
Arguments: [internalUUID#1225778, address#1225784.timeZone.code AS timezonecode#1225789]
(95) Join
Arguments: LeftOuter, (plant#1225765 <=> internalUUID#1225778)
(96) Project
Arguments: [product#1225764, plant#1225765, orderDateTime#1225766, productPlant#1225776, internalUUID#1225778, CASE WHEN isnotnull(timezonecode#1225789) THEN timezonecode#1225789 ELSE UTC END AS timezonecode#1225790]
(97) Project
Arguments: [product#1225764, plant#1225765, orderDateTime#1225766, productPlant#1225776, timezonecode#1225790]
(98) LogicalRelation
Arguments: parquet, [systemId#1225791, internalUUID#1225792, id#1225793, displayId#1225794, name#1225795, baseUnitOfMeasure#1225796, unitOfMeasures#1225797, unitOfMeasureConversions#1225798, productionAspect#1225799, salesAspect#1225800, procurementAspect#1225801, productGroup#1225802], false
(99) Repartition
Arguments: 37, true
(100) Join
Arguments: LeftOuter, (product#1225764 = internalUUID#1225792)
(101) Project
Arguments: [product#1225764, plant#1225765, orderDateTime#1225766, productPlant#1225776, timezonecode#1225790, systemId#1225791, internalUUID#1225792, id#1225793, displayId#1225794, name#1225795, baseUnitOfMeasure#1225796, unitOfMeasures#1225797, unitOfMeasureConversions#1225798, productionAspect#1225799, salesAspect#1225800, procurementAspect#1225801, productGroup#1225802, filter(unitOfMeasureConversions#1225798, lambdafunction((((lambda u#1225669.measurementUnit1.code = productPlant#1225776.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#1225669.measurementUnit1.internalRefUUID = productPlant#1225776.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#1225669.measurementUnit2.code = baseUnitOfMeasure#1225796.code) AND (lambda u#1225669.measurementUnit2.internalRefUUID = baseUnitOfMeasure#1225796.internalRefUUID))), lambda u#1225669, false)) AS filteredUnitOfMeasureConversions#1225803]
(102) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1225803.quantityNumerator), true, [quantityNumerator#1225804]
(103) Project
Arguments: [product#1225764, plant#1225765, orderDateTime#1225766, productPlant#1225776, timezonecode#1225790, systemId#1225791, internalUUID#1225792, id#1225793, displayId#1225794, name#1225795, baseUnitOfMeasure#1225796, unitOfMeasures#1225797, unitOfMeasureConversions#1225798, productionAspect#1225799, salesAspect#1225800, procurementAspect#1225801, productGroup#1225802, filteredUnitOfMeasureConversions#1225803, quantityNumerator#1225804]
(104) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1225803.quantityDenominator), true, [quantityDenominator#1225805]
(105) Project
Arguments: [product#1225764, plant#1225765, orderDateTime#1225766, productPlant#1225776, timezonecode#1225790, systemId#1225791, internalUUID#1225792, id#1225793, displayId#1225794, name#1225795, baseUnitOfMeasure#1225796, unitOfMeasures#1225797, unitOfMeasureConversions#1225798, productionAspect#1225799, salesAspect#1225800, procurementAspect#1225801, productGroup#1225802, filteredUnitOfMeasureConversions#1225803, quantityNumerator#1225804, quantityDenominator#1225805]
(106) Project
Arguments: [product#1225764, plant#1225765, orderDateTime#1225766, productPlant#1225776, timezonecode#1225790, systemId#1225791, internalUUID#1225792, id#1225793, displayId#1225794, name#1225795, baseUnitOfMeasure#1225796, unitOfMeasures#1225797, unitOfMeasureConversions#1225798, productionAspect#1225799, salesAspect#1225800, procurementAspect#1225801, productGroup#1225802, filteredUnitOfMeasureConversions#1225803, quantityNumerator#1225804, quantityDenominator#1225805, (cast(quantityNumerator#1225804 as double) / cast(quantityDenominator#1225805 as double)) AS outboundUnit#1225806]
(107) Project
Arguments: [product#1225764, plant#1225765, orderDateTime#1225766, productPlant#1225776, timezonecode#1225790, systemId#1225791, internalUUID#1225792, id#1225793, displayId#1225794, name#1225795, baseUnitOfMeasure#1225796, unitOfMeasures#1225797, unitOfMeasureConversions#1225798, productionAspect#1225799, salesAspect#1225800, procurementAspect#1225801, productGroup#1225802, filteredUnitOfMeasureConversions#1225803, quantityNumerator#1225804, quantityDenominator#1225805, CASE WHEN (isnull(outboundUnit#1225806) OR (outboundUnit#1225806 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#1225806 END AS outboundUnit#1225807]
(108) Project
Arguments: [product#1225764, plant#1225765, orderDateTime#1225766, productPlant#1225776, timezonecode#1225790, outboundUnit#1225807]
(109) Join
Arguments: Inner, ((plantUuid#1225747 = plant#1225765) AND (productUuid#1225749 = product#1225764))
(110) Filter
Arguments: (calculationDateTime#1225729 <= orderDateTime#1225766)
(111) Project
Arguments: [plantUuid#1225747 AS plant#1225812, productUuid#1225749 AS product#1225813, storageLocId#1225750, calculationDateTime#1225729, quantity#1225752]
(112) LogicalRelation
Arguments: parquet, [systemId#1225821, internalUUID#1225822, product#1225823, plant#1225824, calculationDateTime#1225825, stockQuantities#1225826], false
(113) Repartition
Arguments: 37, true
(114) LogicalRelation
Arguments: parquet, [marketUnit#1225827, description#1225828, articleHierarchy#1225829, defaultCurrency#1225830, responsibilities#1225831, replenishmentTypes#1225832, distributionCenters#1225833, assignedArticleHierarchyNodes#1225834, minOrderQtySetting#1225835, listingCheck#1225836, odsSelection#1225837, demandProfiles#1225838, constraintProfiles#1225839, optimizationProfiles#1225840, orderGroupSplitProfiles#1225841, supplierMinimumProfiles#1225842, multipleRestrictionProfiles#1225843, preferredUomSource#1225844, handlingOfUnfulfilledDemands#1225845, negligibleQuantitiesThreshold#1225846, eventtype#1225847, minOrderQtySettingInternal#1225848], false
(115) Repartition
Arguments: 37, true
(116) Filter
Arguments: (marketUnit#1225827 <=> AUTO_MUV2)
(117) Project
Arguments: [marketUnit#1225827, description#1225828, articleHierarchy#1225829, defaultCurrency#1225830, responsibilities#1225831, replenishmentTypes#1225832, distributionCenters#1225833, assignedArticleHierarchyNodes#1225834, minOrderQtySetting#1225835, listingCheck#1225836, odsSelection#1225837, demandProfiles#1225838, constraintProfiles#1225839, optimizationProfiles#1225840, orderGroupSplitProfiles#1225841, supplierMinimumProfiles#1225842, multipleRestrictionProfiles#1225843, preferredUomSource#1225844, handlingOfUnfulfilledDemands#1225845, negligibleQuantitiesThreshold#1225846, eventtype#1225847, minOrderQtySettingInternal#1225848]
(118) Project
Arguments: [distributionCenters#1225833]
(119) Generate
Arguments: explode(distributionCenters#1225833), false, [distributionCenters#1225849]
(120) Project
Arguments: [distributionCenters#1225849]
(121) Generate
Arguments: explode(distributionCenters#1225849.storageLocations), false, [storageLocations#1225850]
(122) Project
Arguments: [distributionCenters#1225849.id AS plantId#1225851, distributionCenters#1225849.internalRefUUID AS plantUuid#1225852, storageLocations#1225850]
(123) Project
Arguments: [plantId#1225851, plantUuid#1225852, storageLocations#1225850.id AS storageLocId#1225853, storageLocations#1225850.internalRefUUID AS storageLocUuid#1225854]
(124) LogicalRelation
Arguments: parquet, [product#1225855, plant#1225856, orderDateTime#1225857, planningStartDateTime#1225858], false
(125) RepartitionByExpression
Arguments: [product#1225855, plant#1225856], 37
(126) Project
Arguments: [product#1225855, plant#1225856, orderDateTime#1225857]
(127) LogicalRelation
Arguments: parquet, [systemId#1225859, internalUUID#1225860, plant#1225861, product#1225862, blockedForReplenishmentStartingFrom#1225863, productionAspect#1225864, salesPlant#1225865, listing#1225866], false
(128) Repartition
Arguments: 37, true
(129) Project
Arguments: [systemId#1225859, internalUUID#1225860, plant#1225861, product#1225862, blockedForReplenishmentStartingFrom#1225863, productionAspect#1225864, salesPlant#1225865, listing#1225866, struct(systemId, systemId#1225859, internalUUID, internalUUID#1225860, plant, plant#1225861, product, product#1225862, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#1225863, productionAspect, productionAspect#1225864, salesPlant, salesPlant#1225865, listing, listing#1225866) AS productPlant#1225867]
(130) Project
Arguments: [productPlant#1225867]
(131) Join
Arguments: LeftOuter, ((product#1225855 <=> productPlant#1225867.product.internalRefUUID) AND (plant#1225856 <=> productPlant#1225867.plant.internalRefUUID))
(132) Project
Arguments: [product#1225855, plant#1225856, orderDateTime#1225857, productPlant#1225867]
(133) SubqueryAlias
Arguments: wl
(134) LogicalRelation
Arguments: parquet, [systemId#1225868, internalUUID#1225869, id#1225870, displayId#1225871, name#1225872, category#1225873, companyCode#1225874, address#1225875, mainDistributionChain#1225876, mainPurchasingOrganization#1225877, validPurchasingOrganizations#1225878, productGroup#1225879], false
(135) Repartition
Arguments: 37, true
(136) Project
Arguments: [internalUUID#1225869, address#1225875.timeZone.code AS timezonecode#1225880]
(137) Join
Arguments: LeftOuter, (plant#1225856 <=> internalUUID#1225869)
(138) Project
Arguments: [product#1225855, plant#1225856, orderDateTime#1225857, productPlant#1225867, internalUUID#1225869, CASE WHEN isnotnull(timezonecode#1225880) THEN timezonecode#1225880 ELSE UTC END AS timezonecode#1225881]
(139) Project
Arguments: [product#1225855, plant#1225856, orderDateTime#1225857, productPlant#1225867, timezonecode#1225881]
(140) LogicalRelation
Arguments: parquet, [systemId#1225882, internalUUID#1225883, id#1225884, displayId#1225885, name#1225886, baseUnitOfMeasure#1225887, unitOfMeasures#1225888, unitOfMeasureConversions#1225889, productionAspect#1225890, salesAspect#1225891, procurementAspect#1225892, productGroup#1225893], false
(141) Repartition
Arguments: 37, true
(142) Join
Arguments: LeftOuter, (product#1225855 = internalUUID#1225883)
(143) Project
Arguments: [product#1225855, plant#1225856, orderDateTime#1225857, productPlant#1225867, timezonecode#1225881, systemId#1225882, internalUUID#1225883, id#1225884, displayId#1225885, name#1225886, baseUnitOfMeasure#1225887, unitOfMeasures#1225888, unitOfMeasureConversions#1225889, productionAspect#1225890, salesAspect#1225891, procurementAspect#1225892, productGroup#1225893, filter(unitOfMeasureConversions#1225889, lambdafunction((((lambda u#1225669.measurementUnit1.code = productPlant#1225867.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#1225669.measurementUnit1.internalRefUUID = productPlant#1225867.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#1225669.measurementUnit2.code = baseUnitOfMeasure#1225887.code) AND (lambda u#1225669.measurementUnit2.internalRefUUID = baseUnitOfMeasure#1225887.internalRefUUID))), lambda u#1225669, false)) AS filteredUnitOfMeasureConversions#1225894]
(144) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1225894.quantityNumerator), true, [quantityNumerator#1225895]
(145) Project
Arguments: [product#1225855, plant#1225856, orderDateTime#1225857, productPlant#1225867, timezonecode#1225881, systemId#1225882, internalUUID#1225883, id#1225884, displayId#1225885, name#1225886, baseUnitOfMeasure#1225887, unitOfMeasures#1225888, unitOfMeasureConversions#1225889, productionAspect#1225890, salesAspect#1225891, procurementAspect#1225892, productGroup#1225893, filteredUnitOfMeasureConversions#1225894, quantityNumerator#1225895]
(146) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1225894.quantityDenominator), true, [quantityDenominator#1225896]
(147) Project
Arguments: [product#1225855, plant#1225856, orderDateTime#1225857, productPlant#1225867, timezonecode#1225881, systemId#1225882, internalUUID#1225883, id#1225884, displayId#1225885, name#1225886, baseUnitOfMeasure#1225887, unitOfMeasures#1225888, unitOfMeasureConversions#1225889, productionAspect#1225890, salesAspect#1225891, procurementAspect#1225892, productGroup#1225893, filteredUnitOfMeasureConversions#1225894, quantityNumerator#1225895, quantityDenominator#1225896]
(148) Project
Arguments: [product#1225855, plant#1225856, orderDateTime#1225857, productPlant#1225867, timezonecode#1225881, systemId#1225882, internalUUID#1225883, id#1225884, displayId#1225885, name#1225886, baseUnitOfMeasure#1225887, unitOfMeasures#1225888, unitOfMeasureConversions#1225889, productionAspect#1225890, salesAspect#1225891, procurementAspect#1225892, productGroup#1225893, filteredUnitOfMeasureConversions#1225894, quantityNumerator#1225895, quantityDenominator#1225896, (cast(quantityNumerator#1225895 as double) / cast(quantityDenominator#1225896 as double)) AS outboundUnit#1225897]
(149) Project
Arguments: [product#1225855, plant#1225856, orderDateTime#1225857, productPlant#1225867, timezonecode#1225881, systemId#1225882, internalUUID#1225883, id#1225884, displayId#1225885, name#1225886, baseUnitOfMeasure#1225887, unitOfMeasures#1225888, unitOfMeasureConversions#1225889, productionAspect#1225890, salesAspect#1225891, procurementAspect#1225892, productGroup#1225893, filteredUnitOfMeasureConversions#1225894, quantityNumerator#1225895, quantityDenominator#1225896, CASE WHEN (isnull(outboundUnit#1225897) OR (outboundUnit#1225897 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#1225897 END AS outboundUnit#1225898]
(150) Project
Arguments: [product#1225855, plant#1225856, orderDateTime#1225857, productPlant#1225867, timezonecode#1225881, outboundUnit#1225898]
(151) Project
Arguments: [plant#1225856]
(152) Deduplicate
Arguments: [plant#1225856]
(153) Join
Arguments: Inner, (plantUuid#1225852 = plant#1225856)
(154) Project
Arguments: [plantId#1225851, plantUuid#1225852, storageLocId#1225853, storageLocUuid#1225854]
(155) Join
Arguments: Inner, (plant#1225824.internalRefUUID <=> plantUuid#1225852)
(156) Generate
Arguments: explode(filter(stockQuantities#1225826, lambdafunction(((lambda x#1225727.storageLocation.internalRefUuid = storageLocUuid#1225854) AND (lambda x#1225727.storageLocation.Id = storageLocId#1225853)), lambda x#1225727, false))), false, [stockQuantity#1225899]
(157) Project
Arguments: [systemId#1225821, internalUUID#1225822, product#1225823, plant#1225824, calculationDateTime#1225825, stockQuantities#1225826, plantId#1225851, plantUuid#1225852, storageLocId#1225853, storageLocUuid#1225854, stockQuantity#1225899]
(158) Aggregate
Arguments: [plantUuid#1225852, internalUUID#1225822, plant#1225824, product#1225823, systemId#1225821], [plantUuid#1225852, internalUUID#1225822, plant#1225824, product#1225823, systemId#1225821, first(calculationDateTime#1225825, false) AS calculationDateTime#1225900, collect_list(stockQuantity#1225899, 0, 0) AS stockQuantities#1225901]
(159) Project
Arguments: [systemId#1225821, internalUUID#1225822, product#1225823, plant#1225824, calculationDateTime#1225900, stockQuantities#1225901]
(160) Generate
Arguments: explode(stockQuantities#1225901), false, [stockQuantity#1225902]
(161) Project
Arguments: [systemId#1225821, internalUUID#1225822, product#1225823, plant#1225824, calculationDateTime#1225900, stockQuantities#1225901, stockQuantity#1225902]
(162) Project
Arguments: [plant#1225824.id AS plant#1225903, plant#1225824.internalRefUUID AS plantUuid#1225904, product#1225823.id AS product#1225905, product#1225823.internalRefUUID AS productUuid#1225906, calculationDateTime#1225900, stockQuantity#1225902.storagelocation.id AS storageLocId#1225907, stockQuantity#1225902.storagelocation.internalRefUUID AS storageLocUuid#1225908, stockQuantity#1225902.quantity.measure AS quantity#1225909, stockQuantity#1225902.specialStockIndicator.code AS specialStockIndicator#1225910, stockQuantity#1225902.stockType.code AS stockType#1225911]
(163) Filter
Arguments: ((specialStockIndicator#1225910 = ) AND (stockType#1225911 = 01))
(164) LogicalRelation
Arguments: parquet, [product#1225912, plant#1225913, orderDateTime#1225914, planningStartDateTime#1225915], false
(165) RepartitionByExpression
Arguments: [product#1225912, plant#1225913], 37
(166) Project
Arguments: [product#1225912, plant#1225913, orderDateTime#1225914]
(167) LogicalRelation
Arguments: parquet, [systemId#1225916, internalUUID#1225917, plant#1225918, product#1225919, blockedForReplenishmentStartingFrom#1225920, productionAspect#1225921, salesPlant#1225922, listing#1225923], false
(168) Repartition
Arguments: 37, true
(169) Project
Arguments: [systemId#1225916, internalUUID#1225917, plant#1225918, product#1225919, blockedForReplenishmentStartingFrom#1225920, productionAspect#1225921, salesPlant#1225922, listing#1225923, struct(systemId, systemId#1225916, internalUUID, internalUUID#1225917, plant, plant#1225918, product, product#1225919, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#1225920, productionAspect, productionAspect#1225921, salesPlant, salesPlant#1225922, listing, listing#1225923) AS productPlant#1225924]
(170) Project
Arguments: [productPlant#1225924]
(171) Join
Arguments: LeftOuter, ((product#1225912 <=> productPlant#1225924.product.internalRefUUID) AND (plant#1225913 <=> productPlant#1225924.plant.internalRefUUID))
(172) Project
Arguments: [product#1225912, plant#1225913, orderDateTime#1225914, productPlant#1225924]
(173) SubqueryAlias
Arguments: wl
(174) LogicalRelation
Arguments: parquet, [systemId#1225925, internalUUID#1225926, id#1225927, displayId#1225928, name#1225929, category#1225930, companyCode#1225931, address#1225932, mainDistributionChain#1225933, mainPurchasingOrganization#1225934, validPurchasingOrganizations#1225935, productGroup#1225936], false
(175) Repartition
Arguments: 37, true
(176) Project
Arguments: [internalUUID#1225926, address#1225932.timeZone.code AS timezonecode#1225937]
(177) Join
Arguments: LeftOuter, (plant#1225913 <=> internalUUID#1225926)
(178) Project
Arguments: [product#1225912, plant#1225913, orderDateTime#1225914, productPlant#1225924, internalUUID#1225926, CASE WHEN isnotnull(timezonecode#1225937) THEN timezonecode#1225937 ELSE UTC END AS timezonecode#1225938]
(179) Project
Arguments: [product#1225912, plant#1225913, orderDateTime#1225914, productPlant#1225924, timezonecode#1225938]
(180) LogicalRelation
Arguments: parquet, [systemId#1225939, internalUUID#1225940, id#1225941, displayId#1225942, name#1225943, baseUnitOfMeasure#1225944, unitOfMeasures#1225945, unitOfMeasureConversions#1225946, productionAspect#1225947, salesAspect#1225948, procurementAspect#1225949, productGroup#1225950], false
(181) Repartition
Arguments: 37, true
(182) Join
Arguments: LeftOuter, (product#1225912 = internalUUID#1225940)
(183) Project
Arguments: [product#1225912, plant#1225913, orderDateTime#1225914, productPlant#1225924, timezonecode#1225938, systemId#1225939, internalUUID#1225940, id#1225941, displayId#1225942, name#1225943, baseUnitOfMeasure#1225944, unitOfMeasures#1225945, unitOfMeasureConversions#1225946, productionAspect#1225947, salesAspect#1225948, procurementAspect#1225949, productGroup#1225950, filter(unitOfMeasureConversions#1225946, lambdafunction((((lambda u#1225669.measurementUnit1.code = productPlant#1225924.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#1225669.measurementUnit1.internalRefUUID = productPlant#1225924.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#1225669.measurementUnit2.code = baseUnitOfMeasure#1225944.code) AND (lambda u#1225669.measurementUnit2.internalRefUUID = baseUnitOfMeasure#1225944.internalRefUUID))), lambda u#1225669, false)) AS filteredUnitOfMeasureConversions#1225951]
(184) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1225951.quantityNumerator), true, [quantityNumerator#1225952]
(185) Project
Arguments: [product#1225912, plant#1225913, orderDateTime#1225914, productPlant#1225924, timezonecode#1225938, systemId#1225939, internalUUID#1225940, id#1225941, displayId#1225942, name#1225943, baseUnitOfMeasure#1225944, unitOfMeasures#1225945, unitOfMeasureConversions#1225946, productionAspect#1225947, salesAspect#1225948, procurementAspect#1225949, productGroup#1225950, filteredUnitOfMeasureConversions#1225951, quantityNumerator#1225952]
(186) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1225951.quantityDenominator), true, [quantityDenominator#1225953]
(187) Project
Arguments: [product#1225912, plant#1225913, orderDateTime#1225914, productPlant#1225924, timezonecode#1225938, systemId#1225939, internalUUID#1225940, id#1225941, displayId#1225942, name#1225943, baseUnitOfMeasure#1225944, unitOfMeasures#1225945, unitOfMeasureConversions#1225946, productionAspect#1225947, salesAspect#1225948, procurementAspect#1225949, productGroup#1225950, filteredUnitOfMeasureConversions#1225951, quantityNumerator#1225952, quantityDenominator#1225953]
(188) Project
Arguments: [product#1225912, plant#1225913, orderDateTime#1225914, productPlant#1225924, timezonecode#1225938, systemId#1225939, internalUUID#1225940, id#1225941, displayId#1225942, name#1225943, baseUnitOfMeasure#1225944, unitOfMeasures#1225945, unitOfMeasureConversions#1225946, productionAspect#1225947, salesAspect#1225948, procurementAspect#1225949, productGroup#1225950, filteredUnitOfMeasureConversions#1225951, quantityNumerator#1225952, quantityDenominator#1225953, (cast(quantityNumerator#1225952 as double) / cast(quantityDenominator#1225953 as double)) AS outboundUnit#1225954]
(189) Project
Arguments: [product#1225912, plant#1225913, orderDateTime#1225914, productPlant#1225924, timezonecode#1225938, systemId#1225939, internalUUID#1225940, id#1225941, displayId#1225942, name#1225943, baseUnitOfMeasure#1225944, unitOfMeasures#1225945, unitOfMeasureConversions#1225946, productionAspect#1225947, salesAspect#1225948, procurementAspect#1225949, productGroup#1225950, filteredUnitOfMeasureConversions#1225951, quantityNumerator#1225952, quantityDenominator#1225953, CASE WHEN (isnull(outboundUnit#1225954) OR (outboundUnit#1225954 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#1225954 END AS outboundUnit#1225955]
(190) Project
Arguments: [product#1225912, plant#1225913, orderDateTime#1225914, productPlant#1225924, timezonecode#1225938, outboundUnit#1225955]
(191) Join
Arguments: Inner, ((plantUuid#1225904 = plant#1225913) AND (productUuid#1225906 = product#1225912))
(192) Filter
Arguments: (calculationDateTime#1225900 <= orderDateTime#1225914)
(193) Project
Arguments: [plantUuid#1225904 AS plant#1225956, productUuid#1225906 AS product#1225957, storageLocId#1225907, calculationDateTime#1225900, quantity#1225909]
(194) Aggregate
Arguments: [plant#1225956, product#1225957, storageLocId#1225907], [plant#1225956, product#1225957, storageLocId#1225907, max(calculationDateTime#1225900) AS max_calc_datetime#1225814]
(195) Join
Arguments: Inner, ((((plant#1225812 <=> plant#1225956) AND (product#1225813 <=> product#1225957)) AND (storageLocId#1225750 <=> storageLocId#1225907)) AND (calculationDateTime#1225729 <=> max_calc_datetime#1225814))
(196) Project
Arguments: [plant#1225812, product#1225813, storageLocId#1225750, calculationDateTime#1225729, quantity#1225752]
(197) Aggregate
Arguments: [product#1225813, plant#1225812], [product#1225813, plant#1225812, sum(quantity#1225752) AS quantitySum#1225968, min(calculationDateTime#1225729) AS minCalculationDateTime#1225969]
(198) Project
Arguments: [product#1225813, plant#1225812, quantitySum#1225968, minCalculationDateTime#1225969, round(quantitySum#1225968, 0) AS roundedQuantitySum#1225977]
(199) Join
Arguments: LeftOuter, ((plant#1225623 = plant#1225812) AND (product#1225622 = product#1225813))
(200) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636, timezonecode#1225654, outboundUnit#1225681, roundedQuantitySum#1225977, minCalculationDateTime#1225969]
(201) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636, timezonecode#1225654, outboundUnit#1225681, roundedQuantitySum#1225977, minCalculationDateTime#1225969, CASE WHEN isnotnull(minCalculationDateTime#1225969) THEN minCalculationDateTime#1225969 ELSE orderDateTime#1225624 END AS stockDatetime#1226026]
(202) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636, timezonecode#1225654, outboundUnit#1225681, roundedQuantitySum#1225977, minCalculationDateTime#1225969, stockDatetime#1226026, CASE WHEN isnotnull(roundedQuantitySum#1225977) THEN array(roundedQuantitySum#1225977) ELSE array(0.0) END AS stockBatchQuantities#1226027]
(203) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636, timezonecode#1225654, outboundUnit#1225681, roundedQuantitySum#1225977, minCalculationDateTime#1225969, stockDatetime#1226026, stockBatchQuantities#1226027, array(2199-01-01 00:00:00) AS stockBatchShelfLifeEndDatetimes#1226028]
(204) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636, timezonecode#1225654, outboundUnit#1225681, roundedQuantitySum#1225977, stockDatetime#1226026, stockBatchQuantities#1226027, stockBatchShelfLifeEndDatetimes#1226028]
(205) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636, timezonecode#1225654, outboundUnit#1225681, stockDatetime#1226026, stockBatchQuantities#1226027, stockBatchShelfLifeEndDatetimes#1226028]
(206) LogicalRelation
Arguments: parquet, [product#1226029, plant#1226030, demandChannel#1226031, demandStream#1226032, considerVariance#1226033, demandTimeBuckets#1226034, demandPointInTimeStart#1226035, demandPointInTimeEnd#1226036, demandPointInTime#1226037], false
(207) Join
Arguments: LeftOuter, ((product#1225622 = product#1226029) AND (plant#1225623 = plant#1226030))
(208) Project
Arguments: [product#1225622, plant#1225623, orderDateTime#1225624, productPlant#1225636, timezonecode#1225654, outboundUnit#1225681, stockDatetime#1226026, stockBatchQuantities#1226027, stockBatchShelfLifeEndDatetimes#1226028, demandChannel#1226031, demandStream#1226032, considerVariance#1226033, demandTimeBuckets#1226034, demandPointInTimeStart#1226035, demandPointInTimeEnd#1226036, demandPointInTime#1226037]
(209) Filter
Arguments: (((size(demandTimeBuckets#1226034, true) = 0) OR isnull(demandTimeBuckets#1226034)) AND ((size(demandPointInTime#1226037, true) = 0) OR isnull(demandPointInTime#1226037)))
(210) Project
Arguments: [product#1225622, plant#1225623]
(211) Project
Arguments: [product#1225622, plant#1225623, 1 AS configurationVersion#1226039]
(212) Project
Arguments: [product#1225622, plant#1225623, configurationVersion#1226039, UNKNOWN_DEMAND_FOR_PRODUCT_LOCATION AS name#1226040]
(213) Project
Arguments: [product#1225622, plant#1225623, configurationVersion#1226039, name#1226040, array(struct(name, PRODUCT, value, cast(product#1225622 as string)), struct(name, PLANT, value, cast(plant#1225623 as string))) AS businessContext#1226045]
(214) Project
Arguments: [product#1225622, plant#1225623, configurationVersion#1226039, name#1226040, businessContext#1226045, cast(array() as array<struct<variableName:string,variableValue:string>>) AS messageVariables#1226046]
(215) Deduplicate
Arguments: [businessContext#1226045, messageVariables#1226046, configurationVersion#1226039, product#1225622, plant#1225623, name#1226040]
(216) Project
Arguments: [product#1225622, plant#1225623, configurationVersion#1226039, name#1226040, businessContext#1226045, messageVariables#1226046, 10000001356 AS executionId#1226047]
(217) Project
Arguments: [product#1225622, plant#1225623, configurationVersion#1226039, name#1226040, businessContext#1226045, messageVariables#1226046, executionId#1226047, AUTO_MUV2 AS marketUnit#1226048]
(218) Project
Arguments: [product#1225622, plant#1225623, configurationVersion#1226039, name#1226040, businessContext#1226045, messageVariables#1226046, executionId#1226047, marketUnit#1226048, 2026-07-21T14:49:25.628Z AS createdAt#1226049]
(219) Project
Arguments: [name#1226040, configurationVersion#1226039, executionId#1226047, createdAt#1226049, marketUnit#1226048, businessContext#1226045, messageVariables#1226046]
(220) Project
Arguments: [to_json(struct(name, name#1226040, configurationVersion, configurationVersion#1226039, executionId, executionId#1226047, createdAt, createdAt#1226049, marketUnit, marketUnit#1226048, businessContext, businessContext#1226045, messageVariables, messageVariables#1226046), Some(UTC)) AS value#1239625]
(221) Project
Arguments: [cast(value#1239625 as string) AS value#1239626]
(222) Project
Arguments: [value#1239626, array(struct(key, X-Tenant-ID, value, cast(7233423560970044043 as binary)), struct(key, X-Message-ID, value, cast(ed4617e0-72ec-41c8-8e9b-65e398c89437 as binary)), struct(key, X-Event-Type, value, cast(com.sap.dip.insight.created as binary)), struct(key, X-BTP-Tenant-ID, value, cast(65802631-6462-4867-aef3-60d3858f828b as binary))) AS headers#1239635]