Page 1 of 1

Performante Select single

PostPosted: Wed Oct 18, 2017 2:31 pm
by Aliya3110
Hallo zusammen,
ich bekomme "TIME_OUT" Laufzeitfehler mit der Meldung "Das Programm "Z_anlagen" hat die maximal zulässige Laufzeit ohne Unterbrechung überschritten und wurde deshalb abgebrochen."

An der Stelle "INSERT iwa_anlage INTO TABLE gtab_anlage" habe ständig einen Laufzeitfehler(st22), da ich denke, dass die SELECT SINGLE zeitaufwendig ist. Wie kann ich diese Selektion performanter machen?
Könnte ein anderer Fehler vorliegen, da die Select single eigentlich nicht zum Laufzeitfehler führen sollte.

Loop ....
SELECT SINGLE vstelle sparte service FROM eanl
INTO (iwa_anlage-vstelle,iwa_anlage-sparte,
iwa_anlage-serviceart)
WHERE anlage = iwa_anlage-anlage.

INSERT iwa_anlage INTO TABLE gtab_anlage.
endloop.

Vielen Dank für Eure Unterstützung im Voraus.

Viele Grüße

Re: Performante Select single

PostPosted: Sat Oct 21, 2017 7:01 pm
by Tron
Moin.
Es bietet sich an, möglichst die Daten der Tabelle EANL mit einem einzigen select zu lesen.
Dabei kann man mit einem Range Objekt arbeiten, indem man das Schlüsselfeld der Tabelle (anlage) in das Range Objekt überträgt und mit
SELECT vstelle sparte service FROM eanl
INTO table gtab_anlage
WHERE anlage in XX.

selektiert.

gruß Jens