-
readpe geht nicht
Hi,
ein ILERPG Pgm das in einer ACTGRP A läuft liese eine nicht unique LF-Datei
zunächst mit setll und reade.
Dann wird ein update gemacht und ein nicht-ILE Pgm gerufen (das andere LF's dieser Datei liest)
Danach brauch ich den Satz nochmal.
Also: readpe
Das klappt aber nicht, der liest nix.
Wo steht nach dem Update der Zeiger?
noch AUF dem Satz? Wie bekomme ich den dann?
(Bäume, Bäume nichts als Bäume, und dazwischen Zwischenräume, und dahinter man glaubt es kaum: noch ein Baum)
Der ILEMax
-
Das ist dann ein Problem, wenn Schlüsselfelder verändert wurden die diese LF betreffen, dann ist der Satz woanders einsortiert.
Das bessere Verfahren ist dann, über die LF zu lesen und per Unique-Key dann über die PF für Update zu lesen.
-
Das nicht-ILE Pgm liest zwar diesen Datensatz, ändert jedoch NICHT den Key
Und die 'besser ist' Theorie kenn ich.
Aber was nicht geht geht nicht.
In diesem Fall muß ich so wie beschreieben arbeiten.
Ich mach nun ein read und anschl. ein readpe. Nicht schön aber selten ...)
das klappt.
ILEMax
-
 Zitat von ILEMax
Danach brauch ich den Satz nochmal.
Also: readpe
Wär da ein CHAIN nicht besser geeignet?
-
Chain positioniert auf dem 1. Satz mit gleichem Schlüssel, aber er hat ja mehrere davon .
-
Nach dem Update steht der Dateizeiger unverändert.
Ein erneutes Lesen per "current" gibt es leider nicht.
Eine REDPE liest also zwangsläufig den vorherigen Satz, bist du am Anfang liefert der natürlich EOF.
Deine Methode read/redpe ist also logisch, da du ja erneut den selben Satz lesen willst.
-
Besser wäre READE/READPE aber das geht auch nur gut solange der READE nicht fehlschlägt. Eventuell wäre ein CHAIN nach relativer Satznummer eine Möglichkeit?
-
Das geht auch, allerdings benötigt man dann die Datei 2 Mal im Programm sowie eine INFDS, in der die Satznummer dann drinsteht.
Ist die Datei per K-Zugriff definiert, muss ich einen Schlüssel angeben.
Ich muss allerdings zugeben, dass ich den Chain mit Satznummer auf eine K-Datei noch nicht ausprobiert habe.
-
Wegen dem EOF bei reade mach ich ja nur ein read und kein reade.
Ich weis, das er immer einen anderen Satz findet.
Chain nach relativer Satznr. währe die alternative.
Aber ich war eigendlich sicher, das der READPE (ohne read) meinen Satz findet.
der ILEMax
-
Der Update verändert doch die Zeigerposition nicht!
Readp/ReadPe kann also nur den vorherigen finden bzw. EOF liefern.
Nach EOF funktioniert auch ein Read/Readp, da der Zeiger nun mal "vor" dem 1. bzw. "hinter" dem letzten Satz steht.
Nicht anders klappt ja auch ein SETGT/READPE.
-
Uneindeutige Schlüssel zu kombinieren rächt sich leider schnell. Kannst du einen Schlüssel definieren der eindeutig ist?
Man kann ja auch mit unvollständigen Schlüsseln arbeiten und aufs selbe LF mit einem eindeutigen Schlüssel zBsp ein chain machen.
-
nein alles gut !
mit read (und aufgrund des keys der sicherheit, das dieser read NIE gegen die wand läuft) und einem anschl. Readpe geht alles.
Könnte die Datei einen unique Schlüssel haben, hätte sie einen. Aber einen lfd. Zähler als Feld zu erfinden, der die Datei unique macht ist definitiv nicht gewünscht. (Kundenseitig)
Danke an alle
der ILEMax
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks