== Physical Plan ==
Execute SaveIntoDataSourceCommand (1)
+- SaveIntoDataSourceCommand (2)
+- Project (191)
+- Project (190)
+- Project (189)
+- Project (188)
+- Project (187)
+- Project (186)
+- Project (185)
+- Project (184)
+- Project (183)
+- Project (182)
+- Project (181)
+- Project (180)
+- Join (179)
:- Deduplicate (175)
: +- Project (174)
: +- Filter (173)
: +- Join (172)
: :- Project (170)
: : +- Project (169)
: : +- Project (168)
: : +- Project (167)
: : +- Project (166)
: : +- Project (165)
: : +- Join (164)
: : :- Project (22)
: : : +- Project (21)
: : : +- Project (20)
: : : +- Project (19)
: : : +- Generate (18)
: : : +- Project (17)
: : : +- Generate (16)
: : : +- Project (15)
: : : +- Join (14)
: : : :- Project (11)
: : : : +- Join (10)
: : : : :- Project (5)
: : : : : +- RepartitionByExpression (4)
: : : : : +- LogicalRelation (3)
: : : : +- Project (9)
: : : : +- Project (8)
: : : : +- Repartition (7)
: : : : +- LogicalRelation (6)
: : : +- Repartition (13)
: : : +- LogicalRelation (12)
: : +- Project (163)
: : +- Aggregate (162)
: : +- Project (161)
: : +- Join (160)
: : :- Project (90)
: : : +- Filter (89)
: : : +- Join (88)
: : : :- Filter (67)
: : : : +- Project (66)
: : : : +- Project (65)
: : : : +- Generate (64)
: : : : +- Project (63)
: : : : +- Aggregate (62)
: : : : +- Project (61)
: : : : +- Generate (60)
: : : : +- Join (59)
: : : : :- Repartition (24)
: : : : : +- LogicalRelation (23)
: : : : +- Project (58)
: : : : +- Join (57)
: : : : :- Project (34)
: : : : : +- Project (33)
: : : : : +- Generate (32)
: : : : : +- Project (31)
: : : : : +- Generate (30)
: : : : : +- Project (29)
: : : : : +- Project (28)
: : : : : +- Filter (27)
: : : : : +- Repartition (26)
: : : : : +- LogicalRelation (25)
: : : : +- Deduplicate (56)
: : : : +- Project (55)
: : : : +- Project (54)
: : : : +- Project (53)
: : : : +- Project (52)
: : : : +- Project (51)
: : : : +- Generate (50)
: : : : +- Project (49)
: : : : +- Generate (48)
: : : : +- Project (47)
: : : : +- Join (46)
: : : : :- Project (43)
: : : : : +- Join (42)
: : : : : :- Project (37)
: : : : : : +- RepartitionByExpression (36)
: : : : : : +- LogicalRelation (35)
: : : : : +- Project (41)
: : : : : +- Project (40)
: : : : : +- Repartition (39)
: : : : : +- LogicalRelation (38)
: : : : +- Repartition (45)
: : : : +- LogicalRelation (44)
: : : +- Project (87)
: : : +- Project (86)
: : : +- Project (85)
: : : +- Project (84)
: : : +- Generate (83)
: : : +- Project (82)
: : : +- Generate (81)
: : : +- Project (80)
: : : +- Join (79)
: : : :- Project (76)
: : : : +- Join (75)
: : : : :- Project (70)
: : : : : +- RepartitionByExpression (69)
: : : : : +- LogicalRelation (68)
: : : : +- Project (74)
: : : : +- Project (73)
: : : : +- Repartition (72)
: : : : +- LogicalRelation (71)
: : : +- Repartition (78)
: : : +- LogicalRelation (77)
: : +- Aggregate (159)
: : +- Project (158)
: : +- Filter (157)
: : +- Join (156)
: : :- Filter (135)
: : : +- Project (134)
: : : +- Project (133)
: : : +- Generate (132)
: : : +- Project (131)
: : : +- Aggregate (130)
: : : +- Project (129)
: : : +- Generate (128)
: : : +- Join (127)
: : : :- Repartition (92)
: : : : +- LogicalRelation (91)
: : : +- Project (126)
: : : +- Join (125)
: : : :- Project (102)
: : : : +- Project (101)
: : : : +- Generate (100)
: : : : +- Project (99)
: : : : +- Generate (98)
: : : : +- Project (97)
: : : : +- Project (96)
: : : : +- Filter (95)
: : : : +- Repartition (94)
: : : : +- LogicalRelation (93)
: : : +- Deduplicate (124)
: : : +- Project (123)
: : : +- Project (122)
: : : +- Project (121)
: : : +- Project (120)
: : : +- Project (119)
: : : +- Generate (118)
: : : +- Project (117)
: : : +- Generate (116)
: : : +- Project (115)
: : : +- Join (114)
: : : :- Project (111)
: : : : +- Join (110)
: : : : :- Project (105)
: : : : : +- RepartitionByExpression (104)
: : : : : +- LogicalRelation (103)
: : : : +- Project (109)
: : : : +- Project (108)
: : : : +- Repartition (107)
: : : : +- LogicalRelation (106)
: : : +- Repartition (113)
: : : +- LogicalRelation (112)
: : +- Project (155)
: : +- Project (154)
: : +- Project (153)
: : +- Project (152)
: : +- Generate (151)
: : +- Project (150)
: : +- Generate (149)
: : +- Project (148)
: : +- Join (147)
: : :- Project (144)
: : : +- Join (143)
: : : :- Project (138)
: : : : +- RepartitionByExpression (137)
: : : : +- LogicalRelation (136)
: : : +- Project (142)
: : : +- Project (141)
: : : +- Repartition (140)
: : : +- LogicalRelation (139)
: : +- Repartition (146)
: : +- LogicalRelation (145)
: +- LogicalRelation (171)
+- Project (178)
+- Repartition (177)
+- LogicalRelation (176)
(1) Execute SaveIntoDataSourceCommand
Output: []
(2) SaveIntoDataSourceCommand
Arguments: org.apache.spark.sql.kafka010.KafkaSourceProvider@6727e977, [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=SituationsTopic, 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-----
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
TG767A==
-----END CERTIFICATE-----, kafka.security.protocol=SSL], ErrorIfExists
(3) LogicalRelation
Arguments: parquet, [product#1012489, plant#1012490, orderDateTime#1012491, planningStartDateTime#1012492], false
(4) RepartitionByExpression
Arguments: [product#1012489, plant#1012490], 37
(5) Project
Arguments: [product#1012489, plant#1012490, orderDateTime#1012491]
(6) LogicalRelation
Arguments: parquet, [systemId#1012516, internalUUID#1012517, plant#1012518, product#1012519, blockedForReplenishmentStartingFrom#1012520, productionAspect#1012521, salesPlant#1012522, listing#1012523, sourceOfSupplyCategory#1012524], false
(7) Repartition
Arguments: 37, true
(8) Project
Arguments: [systemId#1012516, internalUUID#1012517, plant#1012518, product#1012519, blockedForReplenishmentStartingFrom#1012520, productionAspect#1012521, salesPlant#1012522, listing#1012523, sourceOfSupplyCategory#1012524, struct(systemId, systemId#1012516, internalUUID, internalUUID#1012517, plant, plant#1012518, product, product#1012519, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#1012520, productionAspect, productionAspect#1012521, salesPlant, salesPlant#1012522, listing, listing#1012523, sourceOfSupplyCategory, sourceOfSupplyCategory#1012524) AS productPlant#1012526]
(9) Project
Arguments: [productPlant#1012526]
(10) Join
Arguments: LeftOuter, ((product#1012489 <=> productPlant#1012526.product.internalRefUUID) AND (plant#1012490 <=> productPlant#1012526.plant.internalRefUUID))
(11) Project
Arguments: [product#1012489, plant#1012490, orderDateTime#1012491, productPlant#1012526]
(12) LogicalRelation
Arguments: parquet, [systemId#1012551, internalUUID#1012552, id#1012553, displayId#1012554, name#1012555, baseUnitOfMeasure#1012556, unitOfMeasures#1012557, unitOfMeasureConversions#1012558, productionAspect#1012559, salesAspect#1012560, procurementAspect#1012561, productGroup#1012562], false
(13) Repartition
Arguments: 37, true
(14) Join
Arguments: LeftOuter, (product#1012489 = internalUUID#1012552)
(15) Project
Arguments: [product#1012489, plant#1012490, orderDateTime#1012491, productPlant#1012526, systemId#1012551, internalUUID#1012552, id#1012553, displayId#1012554, name#1012555, baseUnitOfMeasure#1012556, unitOfMeasures#1012557, unitOfMeasureConversions#1012558, productionAspect#1012559, salesAspect#1012560, procurementAspect#1012561, productGroup#1012562, filter(unitOfMeasureConversions#1012558, lambdafunction((((lambda u#1012565.measurementUnit1.code = productPlant#1012526.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#1012565.measurementUnit1.internalRefUUID = productPlant#1012526.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#1012565.measurementUnit2.code = baseUnitOfMeasure#1012556.code) AND (lambda u#1012565.measurementUnit2.internalRefUUID = baseUnitOfMeasure#1012556.internalRefUUID))), lambda u#1012565, false)) AS filteredUnitOfMeasureConversions#1012564]
(16) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1012564.quantityNumerator), true, [quantityNumerator#1012572]
(17) Project
Arguments: [product#1012489, plant#1012490, orderDateTime#1012491, productPlant#1012526, systemId#1012551, internalUUID#1012552, id#1012553, displayId#1012554, name#1012555, baseUnitOfMeasure#1012556, unitOfMeasures#1012557, unitOfMeasureConversions#1012558, productionAspect#1012559, salesAspect#1012560, procurementAspect#1012561, productGroup#1012562, filteredUnitOfMeasureConversions#1012564, quantityNumerator#1012572]
(18) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1012564.quantityDenominator), true, [quantityDenominator#1012575]
(19) Project
Arguments: [product#1012489, plant#1012490, orderDateTime#1012491, productPlant#1012526, systemId#1012551, internalUUID#1012552, id#1012553, displayId#1012554, name#1012555, baseUnitOfMeasure#1012556, unitOfMeasures#1012557, unitOfMeasureConversions#1012558, productionAspect#1012559, salesAspect#1012560, procurementAspect#1012561, productGroup#1012562, filteredUnitOfMeasureConversions#1012564, quantityNumerator#1012572, quantityDenominator#1012575]
(20) Project
Arguments: [product#1012489, plant#1012490, orderDateTime#1012491, productPlant#1012526, systemId#1012551, internalUUID#1012552, id#1012553, displayId#1012554, name#1012555, baseUnitOfMeasure#1012556, unitOfMeasures#1012557, unitOfMeasureConversions#1012558, productionAspect#1012559, salesAspect#1012560, procurementAspect#1012561, productGroup#1012562, filteredUnitOfMeasureConversions#1012564, quantityNumerator#1012572, quantityDenominator#1012575, (cast(quantityNumerator#1012572 as double) / cast(quantityDenominator#1012575 as double)) AS outboundUnit#1012576]
(21) Project
Arguments: [product#1012489, plant#1012490, orderDateTime#1012491, productPlant#1012526, systemId#1012551, internalUUID#1012552, id#1012553, displayId#1012554, name#1012555, baseUnitOfMeasure#1012556, unitOfMeasures#1012557, unitOfMeasureConversions#1012558, productionAspect#1012559, salesAspect#1012560, procurementAspect#1012561, productGroup#1012562, filteredUnitOfMeasureConversions#1012564, quantityNumerator#1012572, quantityDenominator#1012575, CASE WHEN (isnull(outboundUnit#1012576) OR (outboundUnit#1012576 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#1012576 END AS outboundUnit#1012577]
(22) Project
Arguments: [product#1012489, plant#1012490, orderDateTime#1012491, productPlant#1012526, outboundUnit#1012577]
(23) LogicalRelation
Arguments: parquet, [systemId#1012686, internalUUID#1012687, product#1012688, plant#1012689, calculationDateTime#1012690, stockQuantities#1012691], false
(24) Repartition
Arguments: 37, true
(25) LogicalRelation
Arguments: parquet, [marketUnit#1012629, description#1012630, articleHierarchy#1012631, defaultCurrency#1012632, responsibilities#1012633, replenishmentTypes#1012634, distributionCenters#1012635, assignedArticleHierarchyNodes#1012636, minOrderQtySetting#1012637, listingCheck#1012638, odsSelection#1012639, demandProfiles#1012640, constraintProfiles#1012641, optimizationProfiles#1012642, orderGroupSplitProfiles#1012643, supplierMinimumProfiles#1012644, multipleRestrictionProfiles#1012645, preferredUomSource#1012646, handlingOfUnfulfilledDemands#1012647, negligibleQuantitiesThreshold#1012648, eventtype#1012649], false
(26) Repartition
Arguments: 37, true
(27) Filter
Arguments: (marketUnit#1012629 <=> STEPHI_MU)
(28) Project
Arguments: [marketUnit#1012629, description#1012630, articleHierarchy#1012631, defaultCurrency#1012632, responsibilities#1012633, replenishmentTypes#1012634, distributionCenters#1012635, assignedArticleHierarchyNodes#1012636, minOrderQtySetting#1012637, listingCheck#1012638, odsSelection#1012639, demandProfiles#1012640, constraintProfiles#1012641, optimizationProfiles#1012642, orderGroupSplitProfiles#1012643, supplierMinimumProfiles#1012644, multipleRestrictionProfiles#1012645, preferredUomSource#1012646, handlingOfUnfulfilledDemands#1012647, negligibleQuantitiesThreshold#1012648, eventtype#1012649]
(29) Project
Arguments: [distributionCenters#1012635]
(30) Generate
Arguments: explode(distributionCenters#1012635), false, [distributionCenters#1012652]
(31) Project
Arguments: [distributionCenters#1012652]
(32) Generate
Arguments: explode(distributionCenters#1012652.storageLocations), false, [storageLocations#1012659]
(33) Project
Arguments: [distributionCenters#1012652.id AS plantId#1012653, distributionCenters#1012652.internalRefUUID AS plantUuid#1012654, storageLocations#1012659]
(34) Project
Arguments: [plantId#1012653, plantUuid#1012654, storageLocations#1012659.id AS storageLocId#1012660, storageLocations#1012659.internalRefUUID AS storageLocUuid#1012661]
(35) LogicalRelation
Arguments: parquet, [product#1012903, plant#1012904, orderDateTime#1012905, planningStartDateTime#1012906], false
(36) RepartitionByExpression
Arguments: [product#1012903, plant#1012904], 37
(37) Project
Arguments: [product#1012903, plant#1012904, orderDateTime#1012905]
(38) LogicalRelation
Arguments: parquet, [systemId#1012907, internalUUID#1012908, plant#1012909, product#1012910, blockedForReplenishmentStartingFrom#1012911, productionAspect#1012912, salesPlant#1012913, listing#1012914, sourceOfSupplyCategory#1012915], false
(39) Repartition
Arguments: 37, true
(40) Project
Arguments: [systemId#1012907, internalUUID#1012908, plant#1012909, product#1012910, blockedForReplenishmentStartingFrom#1012911, productionAspect#1012912, salesPlant#1012913, listing#1012914, sourceOfSupplyCategory#1012915, struct(systemId, systemId#1012907, internalUUID, internalUUID#1012908, plant, plant#1012909, product, product#1012910, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#1012911, productionAspect, productionAspect#1012912, salesPlant, salesPlant#1012913, listing, listing#1012914, sourceOfSupplyCategory, sourceOfSupplyCategory#1012915) AS productPlant#1012916]
(41) Project
Arguments: [productPlant#1012916]
(42) Join
Arguments: LeftOuter, ((product#1012903 <=> productPlant#1012916.product.internalRefUUID) AND (plant#1012904 <=> productPlant#1012916.plant.internalRefUUID))
(43) Project
Arguments: [product#1012903, plant#1012904, orderDateTime#1012905, productPlant#1012916]
(44) LogicalRelation
Arguments: parquet, [systemId#1012917, internalUUID#1012918, id#1012919, displayId#1012920, name#1012921, baseUnitOfMeasure#1012922, unitOfMeasures#1012923, unitOfMeasureConversions#1012924, productionAspect#1012925, salesAspect#1012926, procurementAspect#1012927, productGroup#1012928], false
(45) Repartition
Arguments: 37, true
(46) Join
Arguments: LeftOuter, (product#1012903 = internalUUID#1012918)
(47) Project
Arguments: [product#1012903, plant#1012904, orderDateTime#1012905, productPlant#1012916, systemId#1012917, internalUUID#1012918, id#1012919, displayId#1012920, name#1012921, baseUnitOfMeasure#1012922, unitOfMeasures#1012923, unitOfMeasureConversions#1012924, productionAspect#1012925, salesAspect#1012926, procurementAspect#1012927, productGroup#1012928, filter(unitOfMeasureConversions#1012924, lambdafunction((((lambda u#1012565.measurementUnit1.code = productPlant#1012916.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#1012565.measurementUnit1.internalRefUUID = productPlant#1012916.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#1012565.measurementUnit2.code = baseUnitOfMeasure#1012922.code) AND (lambda u#1012565.measurementUnit2.internalRefUUID = baseUnitOfMeasure#1012922.internalRefUUID))), lambda u#1012565, false)) AS filteredUnitOfMeasureConversions#1012929]
(48) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1012929.quantityNumerator), true, [quantityNumerator#1012930]
(49) Project
Arguments: [product#1012903, plant#1012904, orderDateTime#1012905, productPlant#1012916, systemId#1012917, internalUUID#1012918, id#1012919, displayId#1012920, name#1012921, baseUnitOfMeasure#1012922, unitOfMeasures#1012923, unitOfMeasureConversions#1012924, productionAspect#1012925, salesAspect#1012926, procurementAspect#1012927, productGroup#1012928, filteredUnitOfMeasureConversions#1012929, quantityNumerator#1012930]
(50) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1012929.quantityDenominator), true, [quantityDenominator#1012931]
(51) Project
Arguments: [product#1012903, plant#1012904, orderDateTime#1012905, productPlant#1012916, systemId#1012917, internalUUID#1012918, id#1012919, displayId#1012920, name#1012921, baseUnitOfMeasure#1012922, unitOfMeasures#1012923, unitOfMeasureConversions#1012924, productionAspect#1012925, salesAspect#1012926, procurementAspect#1012927, productGroup#1012928, filteredUnitOfMeasureConversions#1012929, quantityNumerator#1012930, quantityDenominator#1012931]
(52) Project
Arguments: [product#1012903, plant#1012904, orderDateTime#1012905, productPlant#1012916, systemId#1012917, internalUUID#1012918, id#1012919, displayId#1012920, name#1012921, baseUnitOfMeasure#1012922, unitOfMeasures#1012923, unitOfMeasureConversions#1012924, productionAspect#1012925, salesAspect#1012926, procurementAspect#1012927, productGroup#1012928, filteredUnitOfMeasureConversions#1012929, quantityNumerator#1012930, quantityDenominator#1012931, (cast(quantityNumerator#1012930 as double) / cast(quantityDenominator#1012931 as double)) AS outboundUnit#1012932]
(53) Project
Arguments: [product#1012903, plant#1012904, orderDateTime#1012905, productPlant#1012916, systemId#1012917, internalUUID#1012918, id#1012919, displayId#1012920, name#1012921, baseUnitOfMeasure#1012922, unitOfMeasures#1012923, unitOfMeasureConversions#1012924, productionAspect#1012925, salesAspect#1012926, procurementAspect#1012927, productGroup#1012928, filteredUnitOfMeasureConversions#1012929, quantityNumerator#1012930, quantityDenominator#1012931, CASE WHEN (isnull(outboundUnit#1012932) OR (outboundUnit#1012932 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#1012932 END AS outboundUnit#1012933]
(54) Project
Arguments: [product#1012903, plant#1012904, orderDateTime#1012905, productPlant#1012916, outboundUnit#1012933]
(55) Project
Arguments: [plant#1012904]
(56) Deduplicate
Arguments: [plant#1012904]
(57) Join
Arguments: Inner, (plantUuid#1012654 = plant#1012904)
(58) Project
Arguments: [plantId#1012653, plantUuid#1012654, storageLocId#1012660, storageLocUuid#1012661]
(59) Join
Arguments: Inner, (plant#1012689.internalRefUUID <=> plantUuid#1012654)
(60) Generate
Arguments: explode(filter(stockQuantities#1012691, lambdafunction(((lambda x#1012695.storageLocation.internalRefUuid = storageLocUuid#1012661) AND (lambda x#1012695.storageLocation.Id = storageLocId#1012660)), lambda x#1012695, false))), false, [stockQuantity#1012696]
(61) Project
Arguments: [systemId#1012686, internalUUID#1012687, product#1012688, plant#1012689, calculationDateTime#1012690, stockQuantities#1012691, plantId#1012653, plantUuid#1012654, storageLocId#1012660, storageLocUuid#1012661, stockQuantity#1012696]
(62) Aggregate
Arguments: [plantUuid#1012654, internalUUID#1012687, plant#1012689, product#1012688, systemId#1012686], [plantUuid#1012654, internalUUID#1012687, plant#1012689, product#1012688, systemId#1012686, first(calculationDateTime#1012690, false) AS calculationDateTime#1012697, collect_list(stockQuantity#1012696, 0, 0) AS stockQuantities#1012698]
(63) Project
Arguments: [systemId#1012686, internalUUID#1012687, product#1012688, plant#1012689, calculationDateTime#1012697, stockQuantities#1012698]
(64) Generate
Arguments: explode(stockQuantities#1012698), false, [stockQuantity#1012713]
(65) Project
Arguments: [systemId#1012686, internalUUID#1012687, product#1012688, plant#1012689, calculationDateTime#1012697, stockQuantities#1012698, stockQuantity#1012713]
(66) Project
Arguments: [plant#1012689.id AS plant#1012714, plant#1012689.internalRefUUID AS plantUuid#1012715, product#1012688.id AS product#1012716, product#1012688.internalRefUUID AS productUuid#1012717, calculationDateTime#1012697, stockQuantity#1012713.storagelocation.id AS storageLocId#1012718, stockQuantity#1012713.storagelocation.internalRefUUID AS storageLocUuid#1012719, stockQuantity#1012713.quantity.measure AS quantity#1012720, stockQuantity#1012713.specialStockIndicator.code AS specialStockIndicator#1012721, stockQuantity#1012713.stockType.code AS stockType#1012722]
(67) Filter
Arguments: ((specialStockIndicator#1012721 = ) AND (stockType#1012722 = 01))
(68) LogicalRelation
Arguments: parquet, [product#1012732, plant#1012733, orderDateTime#1012734, planningStartDateTime#1012735], false
(69) RepartitionByExpression
Arguments: [product#1012732, plant#1012733], 37
(70) Project
Arguments: [product#1012732, plant#1012733, orderDateTime#1012734]
(71) LogicalRelation
Arguments: parquet, [systemId#1012736, internalUUID#1012737, plant#1012738, product#1012739, blockedForReplenishmentStartingFrom#1012740, productionAspect#1012741, salesPlant#1012742, listing#1012743, sourceOfSupplyCategory#1012744], false
(72) Repartition
Arguments: 37, true
(73) Project
Arguments: [systemId#1012736, internalUUID#1012737, plant#1012738, product#1012739, blockedForReplenishmentStartingFrom#1012740, productionAspect#1012741, salesPlant#1012742, listing#1012743, sourceOfSupplyCategory#1012744, struct(systemId, systemId#1012736, internalUUID, internalUUID#1012737, plant, plant#1012738, product, product#1012739, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#1012740, productionAspect, productionAspect#1012741, salesPlant, salesPlant#1012742, listing, listing#1012743, sourceOfSupplyCategory, sourceOfSupplyCategory#1012744) AS productPlant#1012745]
(74) Project
Arguments: [productPlant#1012745]
(75) Join
Arguments: LeftOuter, ((product#1012732 <=> productPlant#1012745.product.internalRefUUID) AND (plant#1012733 <=> productPlant#1012745.plant.internalRefUUID))
(76) Project
Arguments: [product#1012732, plant#1012733, orderDateTime#1012734, productPlant#1012745]
(77) LogicalRelation
Arguments: parquet, [systemId#1012746, internalUUID#1012747, id#1012748, displayId#1012749, name#1012750, baseUnitOfMeasure#1012751, unitOfMeasures#1012752, unitOfMeasureConversions#1012753, productionAspect#1012754, salesAspect#1012755, procurementAspect#1012756, productGroup#1012757], false
(78) Repartition
Arguments: 37, true
(79) Join
Arguments: LeftOuter, (product#1012732 = internalUUID#1012747)
(80) Project
Arguments: [product#1012732, plant#1012733, orderDateTime#1012734, productPlant#1012745, systemId#1012746, internalUUID#1012747, id#1012748, displayId#1012749, name#1012750, baseUnitOfMeasure#1012751, unitOfMeasures#1012752, unitOfMeasureConversions#1012753, productionAspect#1012754, salesAspect#1012755, procurementAspect#1012756, productGroup#1012757, filter(unitOfMeasureConversions#1012753, lambdafunction((((lambda u#1012565.measurementUnit1.code = productPlant#1012745.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#1012565.measurementUnit1.internalRefUUID = productPlant#1012745.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#1012565.measurementUnit2.code = baseUnitOfMeasure#1012751.code) AND (lambda u#1012565.measurementUnit2.internalRefUUID = baseUnitOfMeasure#1012751.internalRefUUID))), lambda u#1012565, false)) AS filteredUnitOfMeasureConversions#1012758]
(81) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1012758.quantityNumerator), true, [quantityNumerator#1012759]
(82) Project
Arguments: [product#1012732, plant#1012733, orderDateTime#1012734, productPlant#1012745, systemId#1012746, internalUUID#1012747, id#1012748, displayId#1012749, name#1012750, baseUnitOfMeasure#1012751, unitOfMeasures#1012752, unitOfMeasureConversions#1012753, productionAspect#1012754, salesAspect#1012755, procurementAspect#1012756, productGroup#1012757, filteredUnitOfMeasureConversions#1012758, quantityNumerator#1012759]
(83) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1012758.quantityDenominator), true, [quantityDenominator#1012760]
(84) Project
Arguments: [product#1012732, plant#1012733, orderDateTime#1012734, productPlant#1012745, systemId#1012746, internalUUID#1012747, id#1012748, displayId#1012749, name#1012750, baseUnitOfMeasure#1012751, unitOfMeasures#1012752, unitOfMeasureConversions#1012753, productionAspect#1012754, salesAspect#1012755, procurementAspect#1012756, productGroup#1012757, filteredUnitOfMeasureConversions#1012758, quantityNumerator#1012759, quantityDenominator#1012760]
(85) Project
Arguments: [product#1012732, plant#1012733, orderDateTime#1012734, productPlant#1012745, systemId#1012746, internalUUID#1012747, id#1012748, displayId#1012749, name#1012750, baseUnitOfMeasure#1012751, unitOfMeasures#1012752, unitOfMeasureConversions#1012753, productionAspect#1012754, salesAspect#1012755, procurementAspect#1012756, productGroup#1012757, filteredUnitOfMeasureConversions#1012758, quantityNumerator#1012759, quantityDenominator#1012760, (cast(quantityNumerator#1012759 as double) / cast(quantityDenominator#1012760 as double)) AS outboundUnit#1012761]
(86) Project
Arguments: [product#1012732, plant#1012733, orderDateTime#1012734, productPlant#1012745, systemId#1012746, internalUUID#1012747, id#1012748, displayId#1012749, name#1012750, baseUnitOfMeasure#1012751, unitOfMeasures#1012752, unitOfMeasureConversions#1012753, productionAspect#1012754, salesAspect#1012755, procurementAspect#1012756, productGroup#1012757, filteredUnitOfMeasureConversions#1012758, quantityNumerator#1012759, quantityDenominator#1012760, CASE WHEN (isnull(outboundUnit#1012761) OR (outboundUnit#1012761 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#1012761 END AS outboundUnit#1012762]
(87) Project
Arguments: [product#1012732, plant#1012733, orderDateTime#1012734, productPlant#1012745, outboundUnit#1012762]
(88) Join
Arguments: Inner, ((plantUuid#1012715 = plant#1012733) AND (productUuid#1012717 = product#1012732))
(89) Filter
Arguments: (calculationDateTime#1012697 <= orderDateTime#1012734)
(90) Project
Arguments: [plantUuid#1012715 AS plant#1012766, productUuid#1012717 AS product#1012767, storageLocId#1012718, calculationDateTime#1012697, quantity#1012720]
(91) LogicalRelation
Arguments: parquet, [systemId#1012775, internalUUID#1012776, product#1012777, plant#1012778, calculationDateTime#1012779, stockQuantities#1012780], false
(92) Repartition
Arguments: 37, true
(93) LogicalRelation
Arguments: parquet, [marketUnit#1012781, description#1012782, articleHierarchy#1012783, defaultCurrency#1012784, responsibilities#1012785, replenishmentTypes#1012786, distributionCenters#1012787, assignedArticleHierarchyNodes#1012788, minOrderQtySetting#1012789, listingCheck#1012790, odsSelection#1012791, demandProfiles#1012792, constraintProfiles#1012793, optimizationProfiles#1012794, orderGroupSplitProfiles#1012795, supplierMinimumProfiles#1012796, multipleRestrictionProfiles#1012797, preferredUomSource#1012798, handlingOfUnfulfilledDemands#1012799, negligibleQuantitiesThreshold#1012800, eventtype#1012801], false
(94) Repartition
Arguments: 37, true
(95) Filter
Arguments: (marketUnit#1012781 <=> STEPHI_MU)
(96) Project
Arguments: [marketUnit#1012781, description#1012782, articleHierarchy#1012783, defaultCurrency#1012784, responsibilities#1012785, replenishmentTypes#1012786, distributionCenters#1012787, assignedArticleHierarchyNodes#1012788, minOrderQtySetting#1012789, listingCheck#1012790, odsSelection#1012791, demandProfiles#1012792, constraintProfiles#1012793, optimizationProfiles#1012794, orderGroupSplitProfiles#1012795, supplierMinimumProfiles#1012796, multipleRestrictionProfiles#1012797, preferredUomSource#1012798, handlingOfUnfulfilledDemands#1012799, negligibleQuantitiesThreshold#1012800, eventtype#1012801]
(97) Project
Arguments: [distributionCenters#1012787]
(98) Generate
Arguments: explode(distributionCenters#1012787), false, [distributionCenters#1012802]
(99) Project
Arguments: [distributionCenters#1012802]
(100) Generate
Arguments: explode(distributionCenters#1012802.storageLocations), false, [storageLocations#1012803]
(101) Project
Arguments: [distributionCenters#1012802.id AS plantId#1012804, distributionCenters#1012802.internalRefUUID AS plantUuid#1012805, storageLocations#1012803]
(102) Project
Arguments: [plantId#1012804, plantUuid#1012805, storageLocations#1012803.id AS storageLocId#1012806, storageLocations#1012803.internalRefUUID AS storageLocUuid#1012807]
(103) LogicalRelation
Arguments: parquet, [product#1012808, plant#1012809, orderDateTime#1012810, planningStartDateTime#1012811], false
(104) RepartitionByExpression
Arguments: [product#1012808, plant#1012809], 37
(105) Project
Arguments: [product#1012808, plant#1012809, orderDateTime#1012810]
(106) LogicalRelation
Arguments: parquet, [systemId#1012812, internalUUID#1012813, plant#1012814, product#1012815, blockedForReplenishmentStartingFrom#1012816, productionAspect#1012817, salesPlant#1012818, listing#1012819, sourceOfSupplyCategory#1012820], false
(107) Repartition
Arguments: 37, true
(108) Project
Arguments: [systemId#1012812, internalUUID#1012813, plant#1012814, product#1012815, blockedForReplenishmentStartingFrom#1012816, productionAspect#1012817, salesPlant#1012818, listing#1012819, sourceOfSupplyCategory#1012820, struct(systemId, systemId#1012812, internalUUID, internalUUID#1012813, plant, plant#1012814, product, product#1012815, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#1012816, productionAspect, productionAspect#1012817, salesPlant, salesPlant#1012818, listing, listing#1012819, sourceOfSupplyCategory, sourceOfSupplyCategory#1012820) AS productPlant#1012821]
(109) Project
Arguments: [productPlant#1012821]
(110) Join
Arguments: LeftOuter, ((product#1012808 <=> productPlant#1012821.product.internalRefUUID) AND (plant#1012809 <=> productPlant#1012821.plant.internalRefUUID))
(111) Project
Arguments: [product#1012808, plant#1012809, orderDateTime#1012810, productPlant#1012821]
(112) LogicalRelation
Arguments: parquet, [systemId#1012822, internalUUID#1012823, id#1012824, displayId#1012825, name#1012826, baseUnitOfMeasure#1012827, unitOfMeasures#1012828, unitOfMeasureConversions#1012829, productionAspect#1012830, salesAspect#1012831, procurementAspect#1012832, productGroup#1012833], false
(113) Repartition
Arguments: 37, true
(114) Join
Arguments: LeftOuter, (product#1012808 = internalUUID#1012823)
(115) Project
Arguments: [product#1012808, plant#1012809, orderDateTime#1012810, productPlant#1012821, systemId#1012822, internalUUID#1012823, id#1012824, displayId#1012825, name#1012826, baseUnitOfMeasure#1012827, unitOfMeasures#1012828, unitOfMeasureConversions#1012829, productionAspect#1012830, salesAspect#1012831, procurementAspect#1012832, productGroup#1012833, filter(unitOfMeasureConversions#1012829, lambdafunction((((lambda u#1012565.measurementUnit1.code = productPlant#1012821.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#1012565.measurementUnit1.internalRefUUID = productPlant#1012821.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#1012565.measurementUnit2.code = baseUnitOfMeasure#1012827.code) AND (lambda u#1012565.measurementUnit2.internalRefUUID = baseUnitOfMeasure#1012827.internalRefUUID))), lambda u#1012565, false)) AS filteredUnitOfMeasureConversions#1012834]
(116) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1012834.quantityNumerator), true, [quantityNumerator#1012835]
(117) Project
Arguments: [product#1012808, plant#1012809, orderDateTime#1012810, productPlant#1012821, systemId#1012822, internalUUID#1012823, id#1012824, displayId#1012825, name#1012826, baseUnitOfMeasure#1012827, unitOfMeasures#1012828, unitOfMeasureConversions#1012829, productionAspect#1012830, salesAspect#1012831, procurementAspect#1012832, productGroup#1012833, filteredUnitOfMeasureConversions#1012834, quantityNumerator#1012835]
(118) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1012834.quantityDenominator), true, [quantityDenominator#1012836]
(119) Project
Arguments: [product#1012808, plant#1012809, orderDateTime#1012810, productPlant#1012821, systemId#1012822, internalUUID#1012823, id#1012824, displayId#1012825, name#1012826, baseUnitOfMeasure#1012827, unitOfMeasures#1012828, unitOfMeasureConversions#1012829, productionAspect#1012830, salesAspect#1012831, procurementAspect#1012832, productGroup#1012833, filteredUnitOfMeasureConversions#1012834, quantityNumerator#1012835, quantityDenominator#1012836]
(120) Project
Arguments: [product#1012808, plant#1012809, orderDateTime#1012810, productPlant#1012821, systemId#1012822, internalUUID#1012823, id#1012824, displayId#1012825, name#1012826, baseUnitOfMeasure#1012827, unitOfMeasures#1012828, unitOfMeasureConversions#1012829, productionAspect#1012830, salesAspect#1012831, procurementAspect#1012832, productGroup#1012833, filteredUnitOfMeasureConversions#1012834, quantityNumerator#1012835, quantityDenominator#1012836, (cast(quantityNumerator#1012835 as double) / cast(quantityDenominator#1012836 as double)) AS outboundUnit#1012837]
(121) Project
Arguments: [product#1012808, plant#1012809, orderDateTime#1012810, productPlant#1012821, systemId#1012822, internalUUID#1012823, id#1012824, displayId#1012825, name#1012826, baseUnitOfMeasure#1012827, unitOfMeasures#1012828, unitOfMeasureConversions#1012829, productionAspect#1012830, salesAspect#1012831, procurementAspect#1012832, productGroup#1012833, filteredUnitOfMeasureConversions#1012834, quantityNumerator#1012835, quantityDenominator#1012836, CASE WHEN (isnull(outboundUnit#1012837) OR (outboundUnit#1012837 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#1012837 END AS outboundUnit#1012838]
(122) Project
Arguments: [product#1012808, plant#1012809, orderDateTime#1012810, productPlant#1012821, outboundUnit#1012838]
(123) Project
Arguments: [plant#1012809]
(124) Deduplicate
Arguments: [plant#1012809]
(125) Join
Arguments: Inner, (plantUuid#1012805 = plant#1012809)
(126) Project
Arguments: [plantId#1012804, plantUuid#1012805, storageLocId#1012806, storageLocUuid#1012807]
(127) Join
Arguments: Inner, (plant#1012778.internalRefUUID <=> plantUuid#1012805)
(128) Generate
Arguments: explode(filter(stockQuantities#1012780, lambdafunction(((lambda x#1012695.storageLocation.internalRefUuid = storageLocUuid#1012807) AND (lambda x#1012695.storageLocation.Id = storageLocId#1012806)), lambda x#1012695, false))), false, [stockQuantity#1012839]
(129) Project
Arguments: [systemId#1012775, internalUUID#1012776, product#1012777, plant#1012778, calculationDateTime#1012779, stockQuantities#1012780, plantId#1012804, plantUuid#1012805, storageLocId#1012806, storageLocUuid#1012807, stockQuantity#1012839]
(130) Aggregate
Arguments: [plantUuid#1012805, internalUUID#1012776, plant#1012778, product#1012777, systemId#1012775], [plantUuid#1012805, internalUUID#1012776, plant#1012778, product#1012777, systemId#1012775, first(calculationDateTime#1012779, false) AS calculationDateTime#1012840, collect_list(stockQuantity#1012839, 0, 0) AS stockQuantities#1012841]
(131) Project
Arguments: [systemId#1012775, internalUUID#1012776, product#1012777, plant#1012778, calculationDateTime#1012840, stockQuantities#1012841]
(132) Generate
Arguments: explode(stockQuantities#1012841), false, [stockQuantity#1012842]
(133) Project
Arguments: [systemId#1012775, internalUUID#1012776, product#1012777, plant#1012778, calculationDateTime#1012840, stockQuantities#1012841, stockQuantity#1012842]
(134) Project
Arguments: [plant#1012778.id AS plant#1012843, plant#1012778.internalRefUUID AS plantUuid#1012844, product#1012777.id AS product#1012845, product#1012777.internalRefUUID AS productUuid#1012846, calculationDateTime#1012840, stockQuantity#1012842.storagelocation.id AS storageLocId#1012847, stockQuantity#1012842.storagelocation.internalRefUUID AS storageLocUuid#1012848, stockQuantity#1012842.quantity.measure AS quantity#1012849, stockQuantity#1012842.specialStockIndicator.code AS specialStockIndicator#1012850, stockQuantity#1012842.stockType.code AS stockType#1012851]
(135) Filter
Arguments: ((specialStockIndicator#1012850 = ) AND (stockType#1012851 = 01))
(136) LogicalRelation
Arguments: parquet, [product#1012852, plant#1012853, orderDateTime#1012854, planningStartDateTime#1012855], false
(137) RepartitionByExpression
Arguments: [product#1012852, plant#1012853], 37
(138) Project
Arguments: [product#1012852, plant#1012853, orderDateTime#1012854]
(139) LogicalRelation
Arguments: parquet, [systemId#1012856, internalUUID#1012857, plant#1012858, product#1012859, blockedForReplenishmentStartingFrom#1012860, productionAspect#1012861, salesPlant#1012862, listing#1012863, sourceOfSupplyCategory#1012864], false
(140) Repartition
Arguments: 37, true
(141) Project
Arguments: [systemId#1012856, internalUUID#1012857, plant#1012858, product#1012859, blockedForReplenishmentStartingFrom#1012860, productionAspect#1012861, salesPlant#1012862, listing#1012863, sourceOfSupplyCategory#1012864, struct(systemId, systemId#1012856, internalUUID, internalUUID#1012857, plant, plant#1012858, product, product#1012859, blockedForReplenishmentStartingFrom, blockedForReplenishmentStartingFrom#1012860, productionAspect, productionAspect#1012861, salesPlant, salesPlant#1012862, listing, listing#1012863, sourceOfSupplyCategory, sourceOfSupplyCategory#1012864) AS productPlant#1012865]
(142) Project
Arguments: [productPlant#1012865]
(143) Join
Arguments: LeftOuter, ((product#1012852 <=> productPlant#1012865.product.internalRefUUID) AND (plant#1012853 <=> productPlant#1012865.plant.internalRefUUID))
(144) Project
Arguments: [product#1012852, plant#1012853, orderDateTime#1012854, productPlant#1012865]
(145) LogicalRelation
Arguments: parquet, [systemId#1012866, internalUUID#1012867, id#1012868, displayId#1012869, name#1012870, baseUnitOfMeasure#1012871, unitOfMeasures#1012872, unitOfMeasureConversions#1012873, productionAspect#1012874, salesAspect#1012875, procurementAspect#1012876, productGroup#1012877], false
(146) Repartition
Arguments: 37, true
(147) Join
Arguments: LeftOuter, (product#1012852 = internalUUID#1012867)
(148) Project
Arguments: [product#1012852, plant#1012853, orderDateTime#1012854, productPlant#1012865, systemId#1012866, internalUUID#1012867, id#1012868, displayId#1012869, name#1012870, baseUnitOfMeasure#1012871, unitOfMeasures#1012872, unitOfMeasureConversions#1012873, productionAspect#1012874, salesAspect#1012875, procurementAspect#1012876, productGroup#1012877, filter(unitOfMeasureConversions#1012873, lambdafunction((((lambda u#1012565.measurementUnit1.code = productPlant#1012865.productionAspect.productMovementPlants.unitOfIssue.code) AND (lambda u#1012565.measurementUnit1.internalRefUUID = productPlant#1012865.productionAspect.productMovementPlants.unitOfIssue.internalRefUUID)) AND ((lambda u#1012565.measurementUnit2.code = baseUnitOfMeasure#1012871.code) AND (lambda u#1012565.measurementUnit2.internalRefUUID = baseUnitOfMeasure#1012871.internalRefUUID))), lambda u#1012565, false)) AS filteredUnitOfMeasureConversions#1012878]
(149) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1012878.quantityNumerator), true, [quantityNumerator#1012879]
(150) Project
Arguments: [product#1012852, plant#1012853, orderDateTime#1012854, productPlant#1012865, systemId#1012866, internalUUID#1012867, id#1012868, displayId#1012869, name#1012870, baseUnitOfMeasure#1012871, unitOfMeasures#1012872, unitOfMeasureConversions#1012873, productionAspect#1012874, salesAspect#1012875, procurementAspect#1012876, productGroup#1012877, filteredUnitOfMeasureConversions#1012878, quantityNumerator#1012879]
(151) Generate
Arguments: explode(filteredUnitOfMeasureConversions#1012878.quantityDenominator), true, [quantityDenominator#1012880]
(152) Project
Arguments: [product#1012852, plant#1012853, orderDateTime#1012854, productPlant#1012865, systemId#1012866, internalUUID#1012867, id#1012868, displayId#1012869, name#1012870, baseUnitOfMeasure#1012871, unitOfMeasures#1012872, unitOfMeasureConversions#1012873, productionAspect#1012874, salesAspect#1012875, procurementAspect#1012876, productGroup#1012877, filteredUnitOfMeasureConversions#1012878, quantityNumerator#1012879, quantityDenominator#1012880]
(153) Project
Arguments: [product#1012852, plant#1012853, orderDateTime#1012854, productPlant#1012865, systemId#1012866, internalUUID#1012867, id#1012868, displayId#1012869, name#1012870, baseUnitOfMeasure#1012871, unitOfMeasures#1012872, unitOfMeasureConversions#1012873, productionAspect#1012874, salesAspect#1012875, procurementAspect#1012876, productGroup#1012877, filteredUnitOfMeasureConversions#1012878, quantityNumerator#1012879, quantityDenominator#1012880, (cast(quantityNumerator#1012879 as double) / cast(quantityDenominator#1012880 as double)) AS outboundUnit#1012881]
(154) Project
Arguments: [product#1012852, plant#1012853, orderDateTime#1012854, productPlant#1012865, systemId#1012866, internalUUID#1012867, id#1012868, displayId#1012869, name#1012870, baseUnitOfMeasure#1012871, unitOfMeasures#1012872, unitOfMeasureConversions#1012873, productionAspect#1012874, salesAspect#1012875, procurementAspect#1012876, productGroup#1012877, filteredUnitOfMeasureConversions#1012878, quantityNumerator#1012879, quantityDenominator#1012880, CASE WHEN (isnull(outboundUnit#1012881) OR (outboundUnit#1012881 <= cast(0 as double))) THEN 1.0 ELSE outboundUnit#1012881 END AS outboundUnit#1012882]
(155) Project
Arguments: [product#1012852, plant#1012853, orderDateTime#1012854, productPlant#1012865, outboundUnit#1012882]
(156) Join
Arguments: Inner, ((plantUuid#1012844 = plant#1012853) AND (productUuid#1012846 = product#1012852))
(157) Filter
Arguments: (calculationDateTime#1012840 <= orderDateTime#1012854)
(158) Project
Arguments: [plantUuid#1012844 AS plant#1012883, productUuid#1012846 AS product#1012884, storageLocId#1012847, calculationDateTime#1012840, quantity#1012849]
(159) Aggregate
Arguments: [plant#1012883, product#1012884, storageLocId#1012847], [plant#1012883, product#1012884, storageLocId#1012847, max(calculationDateTime#1012840) AS max_calc_datetime#1012768]
(160) Join
Arguments: Inner, ((((plant#1012766 <=> plant#1012883) AND (product#1012767 <=> product#1012884)) AND (storageLocId#1012718 <=> storageLocId#1012847)) AND (calculationDateTime#1012697 <=> max_calc_datetime#1012768))
(161) Project
Arguments: [plant#1012766, product#1012767, storageLocId#1012718, calculationDateTime#1012697, quantity#1012720]
(162) Aggregate
Arguments: [product#1012767, plant#1012766], [product#1012767, plant#1012766, sum(quantity#1012720) AS quantitySum#1012893, min(calculationDateTime#1012697) AS minCalculationDateTime#1012894]
(163) Project
Arguments: [product#1012767, plant#1012766, quantitySum#1012893, minCalculationDateTime#1012894, round(quantitySum#1012893, 0) AS roundedQuantitySum#1012902]
(164) Join
Arguments: LeftOuter, ((plant#1012490 = plant#1012766) AND (product#1012489 = product#1012767))
(165) Project
Arguments: [product#1012489, plant#1012490, orderDateTime#1012491, productPlant#1012526, outboundUnit#1012577, roundedQuantitySum#1012902, minCalculationDateTime#1012894]
(166) Project
Arguments: [product#1012489, plant#1012490, orderDateTime#1012491, productPlant#1012526, outboundUnit#1012577, roundedQuantitySum#1012902, minCalculationDateTime#1012894, CASE WHEN isnotnull(minCalculationDateTime#1012894) THEN minCalculationDateTime#1012894 ELSE orderDateTime#1012491 END AS stockDatetime#1012937]
(167) Project
Arguments: [product#1012489, plant#1012490, orderDateTime#1012491, productPlant#1012526, outboundUnit#1012577, roundedQuantitySum#1012902, minCalculationDateTime#1012894, stockDatetime#1012937, CASE WHEN isnotnull(roundedQuantitySum#1012902) THEN array(roundedQuantitySum#1012902) ELSE array(0.0) END AS stockBatchQuantities#1012938]
(168) Project
Arguments: [product#1012489, plant#1012490, orderDateTime#1012491, productPlant#1012526, outboundUnit#1012577, roundedQuantitySum#1012902, minCalculationDateTime#1012894, stockDatetime#1012937, stockBatchQuantities#1012938, array(2199-01-01 00:00:00) AS stockBatchShelfLifeEndDatetimes#1012939]
(169) Project
Arguments: [product#1012489, plant#1012490, orderDateTime#1012491, productPlant#1012526, outboundUnit#1012577, roundedQuantitySum#1012902, stockDatetime#1012937, stockBatchQuantities#1012938, stockBatchShelfLifeEndDatetimes#1012939]
(170) Project
Arguments: [product#1012489, plant#1012490, orderDateTime#1012491, productPlant#1012526, outboundUnit#1012577, stockDatetime#1012937, stockBatchQuantities#1012938, stockBatchShelfLifeEndDatetimes#1012939]
(171) LogicalRelation
Arguments: parquet, [product#1012940, plant#1012941, demandChannel#1012942, demandStream#1012943, considerVariance#1012944, demandTimeBuckets#1012945, demandPointInTimeStart#1012946, demandPointInTimeEnd#1012947, demandPointInTime#1012948], false
(172) Join
Arguments: LeftOuter, ((plant#1012941 <=> plant#1012490) AND (product#1012940 <=> product#1012489))
(173) Filter
Arguments: (((size(demandTimeBuckets#1012945, true) = 0) OR isnull(demandTimeBuckets#1012945)) AND ((size(demandPointInTime#1012948, true) = 0) OR isnull(demandPointInTime#1012948)))
(174) Project
Arguments: [product#1012489, plant#1012490]
(175) Deduplicate
Arguments: [product#1012489, plant#1012490]
(176) LogicalRelation
Arguments: parquet, [systemId#1013659, internalUUID#1013660, plant#1013661, product#1013662, blockedForReplenishmentStartingFrom#1013663, productionAspect#1013664, salesPlant#1013665, listing#1013666, sourceOfSupplyCategory#1013667], false
(177) Repartition
Arguments: 37, true
(178) Project
Arguments: [product#1013662.internalRefUUID AS product#1013668, plant#1013661.internalRefUUID AS plant#1013669, product#1013662.id AS productId#1013670, plant#1013661.id AS plantId#1013671]
(179) Join
Arguments: Inner, ((product#1012489 = product#1013668) AND (plant#1012490 = plant#1013669))
(180) Project
Arguments: [product#1012489, plant#1012490, productId#1013670, plantId#1013671]
(181) Project
Arguments: [productId#1013670 AS product#1013677, plantId#1013671 AS plant#1013678]
(182) Project
Arguments: [product#1013677, plant#1013678, array(map(objectType, Product, objectId, product#1013677), map(objectType, Plant, objectId, plant#1013678)) AS anchorObject#1013979]
(183) Project
Arguments: [product#1013677, plant#1013678, anchorObject#1013979, cast(array() as array<map<string,string>>) AS messageVariables#1013980]
(184) Project
Arguments: [product#1013677, plant#1013678, anchorObject#1013979, messageVariables#1013980, array(map(objectType, ReplenishmentRunId, objectId, 10000000349)) AS triggerObject#1013981]
(185) Project
Arguments: [product#1013677, plant#1013678, anchorObject#1013979, messageVariables#1013980, triggerObject#1013981, NEW AS situationStatus#1013982]
(186) Project
Arguments: [product#1013677, plant#1013678, anchorObject#1013979, messageVariables#1013980, triggerObject#1013981, situationStatus#1013982, UNKNOWN_DEMAND_FOR_PRODUCT_LOCATION AS situationType#1013983]
(187) Project
Arguments: [product#1013677, plant#1013678, anchorObject#1013979, messageVariables#1013980, triggerObject#1013981, situationStatus#1013982, situationType#1013983, STEPHI_MU AS marketUnit#1013984]
(188) Project
Arguments: [anchorObject#1013979, messageVariables#1013980, triggerObject#1013981, situationStatus#1013982, situationType#1013983, marketUnit#1013984]
(189) Project
Arguments: [to_json(struct(anchorObject, anchorObject#1013979, messageVariables, messageVariables#1013980, triggerObject, triggerObject#1013981, situationStatus, situationStatus#1013982, situationType, situationType#1013983, marketUnit, marketUnit#1013984), Some(UTC)) AS value#1021456]
(190) Project
Arguments: [cast(value#1021456 as string) AS value#1021457]
(191) Project
Arguments: [value#1021457, array(struct(key, X-Tenant-ID, value, cast(7233423560970044043 as binary)), struct(key, X-Message-ID, value, cast(abf38095-6791-43e6-8c4c-b26915f80397 as binary)), struct(key, X-Event-Type, value, cast(SituationCreate as binary)), struct(key, X-BTP-Tenant-ID, value, cast(65802631-6462-4867-aef3-60d3858f828b as binary))) AS headers#1021466]