PDA

View Full Version : Datenbank auslesen an bestimmter Stelle CL



pabloesco
03-07-20, 07:02
Hallo Forum,

Ich würde gerne per CL eine Datenbank - Datei auslesen. Dies klappt auch soweit. Ich würde gerne aber nicht den ersten Eintrag lesen sondern an einer bestimmten Stelle anfangen.
Bei der Datenbank - Datei handelt es sich anscheinend um ein Flat File (crtpf mylib/test rcdlen(100).

holgerscherer
03-07-20, 09:29
Hallo Forum,

Ich würde gerne per CL eine Datenbank - Datei auslesen. Dies klappt auch soweit. Ich würde gerne aber nicht den ersten Eintrag lesen sondern an einer bestimmten Stelle anfangen.
Bei der Datenbank - Datei handelt es sich anscheinend um ein Flat File (crtpf mylib/test rcdlen(100).

Hallo Pabloesco,

da wird Dir nicht viel anderes übrig bleiben als ein Zähler :-)
Oder allgemein das Konzept überdenken. Wenn kein guter Key verfügbar, wie willst Du Deine bestimmte Stelle finden? Oder zB immer die ersten 99 Sätze ignorieren etc?

-h

Fuerchau
03-07-20, 09:43
Da kann man mal sehen, dass man auch alten Kram noch benötigt.
Im CLP benötigt man nur folgendes:

ovrdbf myfile share(*yes)
opndbf myfile

posdbf myfile position(10)
rcvf

close myfile

Zu beachten ist nur, wenn man beim RCVF auf Dateiende kommt, wird die Datei geschlossen, da hilft auch kein POSDBF mehr.

Um Daten zu selektieren gibts immer noch den OPNQRYF im Zusammenhang mit OVRDBF.

prsbrc
03-07-20, 09:55
Blödsinn... sorry, hab grad gesehen das OFFSET/LIMIT in VIEWS gar nicht klappt

pabloesco
03-07-20, 11:24
Vielen Dank für die zahlreichen Antworten. Ich habe es nun versucht mit einer anderen Methode zu lösen. Mittels einer IF Verzweigung halte ich ausschau nach dem spezifischen Schlüsselwort das ich Suche. Sobald ich dieses gefunden habe, verarbeite ich die weiteren Daten.

Robi
03-07-20, 14:21
Wir machen das in den ganz alten Schinken wie Baldur beschrieben hat.

Nur anstatt OPNDBF verwenden wir OPNQRYF, da kannst du noch einige Selektionen mitgeben.

B.Hauser
04-07-20, 11:58
Man kann natürlich auch eine (temporäre) View mit entsprechenden WHERE-Bedingungen generieren und dann die View ganz normal wie eine Datei verarbeiten.
Die Sortierung hängt dann natürlich von den vom Optimizer verwendeten Zugriffswegen ab.
LIMIT/OFFSET sowie ORDER BY können in Views nun mal nicht hinterlegt werden.

Birgitta