[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    425

    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

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Sep 2005
    Beiträge
    425
    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

  4. #4
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Zitat Zitat von ILEMax Beitrag anzeigen
    Danach brauch ich den Satz nochmal.
    Also: readpe
    Wär da ein CHAIN nicht besser geeignet?

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Chain positioniert auf dem 1. Satz mit gleichem Schlüssel, aber er hat ja mehrere davon .
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    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?

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Sep 2005
    Beiträge
    425
    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

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  11. #11
    Registriert seit
    Feb 2009
    Beiträge
    391
    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.

  12. #12
    Registriert seit
    Sep 2005
    Beiträge
    425
    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
  •