PDA

View Full Version : SQL im RPG: select ohne Erfolg



Armin
25-09-07, 14:20
Eine ganz merkwürdige Sache:

User kann über Kdnr oder Artikel Aufträge in einem SFL auflisten lassen. Der Zugriff erfolgt über embedded SQL. Soweit alles OK.

Sporadisch ist der Zugriff über die Artikel-Nr. erfolglos. Wird die Kdnr mit angegeben kommt ein anderer Cursor zum Zug - Anzeige OK.

Programm wird verlassen mit LR = *On, aber der Zugriff über die Artikel-Nr. bleibt erfolglos. Also auch keine Variablenprobleme.
Die erste "C"-Bestimmung ist
set option closqlcsr = *Endmod

Als User kann ich auch auf alte Jahre zugreifen --> OVRDBF über QCMDEXC wird ausgeführt und plötzlich funktioniert wieder alles!

B.Hauser
25-09-07, 18:52
Hallo,

CLOSQLCSR *ENDMOD ist zwar nicht die beste Lösung, stellt aber sicher, dass bei jedem Aufruf des Programms ein full open erfolgt, also der komplette Optimierungsprozess ausgeführt wird.

Das Problem ist, so wie Du es beschreibst, entweder eine falsche Bibliotheksliste oder Overrides auf die falsche Bibliothek. Wenn das Problem auftritt würde ich als erstes die Bibliotheksliste und die Overrides prüfen.

Armin
26-09-07, 08:12
Danke, dass sich jemand meinem Problem annimmt.

Die Bibliotheksliste ist durch den Systemwert gesetzt. Standardmäßig gibt es keinen Override. Ist sichergestellt, dass wenn ein Cursor geschlossen wird, beim nächsten Open neu initialisiert wird? Nicht dass ein EOF irgendwie hängen bleibt.
Beim nächsten Auftreten werde ich die Overrides erstmal prüfen.

Wir haben noch alte Batchläufe, die Dateien exklusiv anfordern. Können die zugeordnet werden wenn die SQL-Pgm ohne *endmod verlassen werden?

Noch eine andere Sache:
Gibt es leichte Kost in Bezug auf SQL-Update in Verbindung mit Satzsperren? Satzzugriff für weiteren Update verhindern oder wer sperrt den angeforderten Datensatz. Mit den RPG-Cmd´s hab ich´s im Griff.