Code: Alles auswählen.
SELECT SINGLE p~fksta p~fksaa k~fkstk
FROM lips AS l
INNER JOIN vbuk AS k
ON k~vbeln = l~vbelv
INNER JOIN vbup AS p
ON l~vbelv = p~vbeln
AND l~posnv = p~posnr
INTO CORRESPONDING FIELDS OF l_order_status
WHERE k~vbeln = l_order_status-vbeln
AND p~posnr = l_order_status-posnr.
Also, Zweck der Übung war: Suche mir zur Lieferung die drei Felder raus bei DER Lieferung, die zum Vertriebsbeleg gehört, der in l_order_status genannt ist.just hat geschrieben:warum nutzt du überhaupt den join über die lips?
ale felder sind doch in den anderen tabellen und hier gibts ja auch ne direkte verbindung.
Code: Alles auswählen.
CLEAR l_lips_mem.
SELECT SINGLE vbeln posnr
FROM lips INTO CORRESPONDING FIELDS OF l_lips_mem
WHERE vbelv = l_order_status-vbeln
AND posnv = l_order_status-posnr.
SELECT SINGLE fkstk INTO l_order_status-fkstk
FROM vbuk WHERE vbeln = l_lips_mem-vbeln.
SELECT SINGLE fksta fksaa
INTO CORRESPONDING FIELDS OF l_order_status
FROM vbup WHERE vbeln = l_lips_mem-vbeln
AND posnr = l_lips_mem-posnr.
Kann es sein, dass ich einen entsprechenden Index anlegen muss? Ich krieg den LIPS-Zugriff einfach nicht beschleunigt....ralf.wenzel hat geschrieben:Auch wenn ich drei select single mache, habe ich das Problem, dass ich in der LIPS nicht auf Schlüsselfelder zugreife, sondern eben auf VBELV und POSNV
Du kannst sonst über die VBFA lesen. Die ist zwar im Standard eine Clustertabelle somit ist kein Join möglich aber du kannst dierekt über den Index lesen.ralf.wenzel hat geschrieben: Kann es sein, dass ich einen entsprechenden Index anlegen muss? Ich krieg den LIPS-Zugriff einfach nicht beschleunigt....
Code: Alles auswählen.
SELECT vbeln posnn
FROM vbfa
INTO TABLE it_lieferung
WHERE vbelv EQ l_order_status-vbeln
AND posnv EQ l_order_status-posnr
AND vbtyp_n EQ 'C' "Auftrag
AND vbtyp_v EQ 'J' "Lieferung.
Jo, um ein Vielfaches schneller isses nu -- ich seh mir dann mal die Daten an die rauskommen.JHM hat geschrieben:Du kannst sonst über die VBFA lesen. Die ist zwar im Standard eine Clustertabelle somit ist kein Join möglich aber du kannst dierekt über den Index lesen.