Ich habe ein Auswert-Programm geschrieben. Nun habe ich aber eine sehr hohe Laufzeit.
Kann mir jemand Tipps geben wie ich diese verringern kann?
Das Programm ist im Anhang.
Vielen Dank für eure Rückmeldungen
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Du müsstest zuerst eine Analyse machen um herauszufinden, wo genau die höchste Laufzeit ist: Transaktion SAT
Ich könnte mir vorstellen, dass diese ganzen Einzel-Selects viel Zeit beanspruchen:
SELECT SUM( ism01 )
INTO wa_itab02-ism01
FROM afru
WHERE afru~rueck = wa_itab01-rueck
AND afru~stokz NE 'X'
AND afru~stzhl = ' '
AND afru~ile01 = 'MIN'.
Vielleicht ist es performanter, einmal ALLE Rückmeldungen aus der AFRU zu einer Nummer zu lesen und dann die Summierung über einen Loop zu machen. Könnte aber auch noch länger dauern.
Generell ist es besser auf GLEICH abzufragen als auf UNGLEICH (STOKZ = SPACE).
Andere Variante: du liest alle einzelnen selects mit FOR ALL ENTRIES über alle Rückmeldungen aus itab01.