Hallo zusammen,
ich versuche meine bestehende und funktionierende Abfrage aus Performance-Gründen zu optimieren.
Ziel ist es aus der Einkaufssicht zu wissen, wieviel Menge summiert im Verkauf gegen meinen Einkauf gelaufen ist.
Ja es gibt viele Standard Reports die man "eingeschränkt" nutzen kann. In meinem Fall darf ich aber nur die eingestellten Aufträge und nicht die tatsächlichen Mengen die über Bestellung zurück gemeldet werden betrachten.
Aktuelles Infoset
EKKO --> EKPO und anschließend über Zusastzfelder die Summierung über eine Select Abfrage die wie folgt aussieht.
clear Zusatzfeld.
Select sum( Mengenfeld ) from VBAP into Zusatzfeld
where Einkaufsbeleg = EKPO-EBELN
and Einkaufsbelegposition = EKPO-EBELP
and Abgesagte Position not in (Abgesagte Belege nciht beachten).
Endselect.
Die Werte in der Abfrage sind richtig. Leider gibt es ein Problem. Die Abfrage geht über jeden Einkaufsbeleg und Position durch alle Vertriebsbeleg und das kostet Zeit.
Meine neue Idee ist nun folgende.
Kann man im Infoset eine temporäre Tabelle anlegen auf die man sich anschließend beziehen kann? (Ich habe kein Entwicklerschlüssel)
Select * from VBAP into (temporäre Tablle)
where VBAP-ERDAT >= sys-date - 10 (alle Belge bei dem das Erstellungsdatum größer Tagesdatum -10 ist).
Anschließend hätte ich bei der eigentlichen Query weniger Daten in meiner ALIAS Tabelle und die Abfrage wäre perfomanter.
Hat jemand eine Idee?
Ich habe im Infoset schon ein bisschen mit den freien Coding-Abschnitten ausprobiert kam bis jetzt aber auf kein positives Ergebnis. Ich habe bis jetzt nur immer Coding in Zusatztabellen und Zusatzfeldern eingearbeitet und kenne mich mit den verschiedene Codingabschnitten (START-SELECTION ) etc. nicht aus.
Gruß
Timmy