Code: Alles auswählen.
SELECT T1~MBLNR T1~MJAHR T1~BUDAT T2~MATNR T2~CHARG T2~SHKZG
INTO TABLE GT_MKPF
FROM MKPF AS T1 INNER JOIN MSEG AS T2
ON T1~MBLNR EQ T2~MBLNR AND
T1~MJAHR EQ T2~MJAHR
WHERE T1~BUDAT IN LR_LGZEIT
AND T2~MATNR IN SO_MATNR
AND T2~WERKS IN SO_WERKS
AND T2~CHARG IN SO_CHARG .
Code: Alles auswählen.
SELECT T1~MBLNR T1~MJAHR T1~BUDAT T2~MATNR T2~CHARG T2~SHKZG
INTO TABLE GT_MKPF
FROM MSEG AS T2 INNER JOIN MKPF AS T1
ON T1~MBLNR EQ T2~MBLNR AND
T1~MJAHR EQ T2~MJAHR
WHERE T1~BUDAT IN LR_LGZEIT
AND T2~MATNR IN SO_MATNR
AND T2~WERKS IN SO_WERKS
AND T2~CHARG IN SO_CHARG .
Habe es jetzt auch mal die Richtung versucht, aber dauert genau so lange.DeathAndPain hat geschrieben:Also was mir sofort auffällt, ist, dass Deine Tabellen verdreht zu sein scheinen. Du selektierst doch eigentlich anhand Deiner Selektionsparameter über die MSEG und willst dann noch ergänzende Werte aus der MKPF dazu haben. Warum schreibst Du dann "FROM MKPF INNER JOIN MSEG" anstatt "FROM MSEG INNER JOIN MKPF"? Da fängt die Datenbank vermutlich über die MKPF an zu suchen, hat dort aber außer dem Buchungsdatum kein Feld, das sie zur Einschränkung nutzen kann, und wenn Du den Buchungsdatum-Selektionsparameter gar nicht gefüllt hast, hat sie gar nichts.
Dass Du Dir das in Deinem Kopf anders gedacht hast, ist auch daran erkennbar, dass Du im JOIN-Block die Felder der von Dir gejointen Tabelle auf die rechte statt die linke Seite des Gleichheitszeichens geschrieben hast. Mathematisch egal, aber es deutet aus meiner Sicht auf mangelnde Konsequenz hin, und ich bin auch nicht sicher, wie die Datenbank damit umgeht.
Ich würde es mal mitversuchen. Dann ist natürlich auch noch die Frage, welche Selektionsparameter Du in Deinem Lauf reingesteckt hast, um Deine 200 Materialien zu finden.Code: Alles auswählen.
SELECT T1~MBLNR T1~MJAHR T1~BUDAT T2~MATNR T2~CHARG T2~SHKZG INTO TABLE GT_MKPF FROM MSEG AS T2 INNER JOIN MKPF AS T1 ON T1~MBLNR EQ T2~MBLNR AND T1~MJAHR EQ T2~MJAHR WHERE T1~BUDAT IN LR_LGZEIT AND T2~MATNR IN SO_MATNR AND T2~WERKS IN SO_WERKS AND T2~CHARG IN SO_CHARG .
Tach.Hastalavista hat geschrieben:Hi DeathAndPain,
vielen Dank für den Tipp, habe den Select getrennt und nach BWART (Bewegungsart) eingerenzt. Läuft definitiv viel schneller.