[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.943
    @Fuerchau,

    seit Release V5R2 kann man bei allen Lese-Operationen den Datensatz direkt in eine Datenstruktur ausgeben und auch aus einer Datenstruktur updaten oder schreiben.
    Damit gibt es mit Dieters Lösung überhaupt keine Probleme.

    PHP-Code:
     /Free
         Chain MyKey MyFileF1 MyDS1
    ;
         
    Chain MyKey MyFileF2 MyDS2;
         Eval-
    Corr MyDS2 MyDS1;
         
    Update MyFileF2 MyDS2;
     /
    End-Free 
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.788
    Man lernt eben nie aus!

    Allerdings hat die Sache noch einen kleinen Haken.
    Die Struktur wird NACH dem Füllen der einzelnen Felder gefüllt.
    D.h., zuerst werden die Felder der automatischen I-Bestimmung und anschließend die Struktur gefüllt.

    Sollten also 2 Dateien mit den gleichen Feldnamen in einem Programm vorkommen, so werden mit dem Lesen in die Struktur auch die Felder der 2. Datei mit verändert !

    Ausserdem bedarf es noch einer zusätzlichen Definition der DS:

    dmyds1 e ds extname(teil01:*input)
    d qualified
    dmyds2 e ds extname(teil01:*output)
    d qualified

    Man muss also für den Update mit Struktur eine andere Struktur als für den Input definieren.

    Auch hier passiert das Merkwürdige:
    Zuerst werden die Felder aus der DS in die O-Felder übertragen und erst dann die Daten ausgegeben.

    Wenn es also auch hier wiederum zu Namensgleichheit mit anderen Dateien kommt, sind diese Inhalte auf jeden Fall mit geändert.

    Bei richtigem Design des Programmes fällt das ggf. nicht weiter auf, allerdings ist die mit Vorsicht anzuwenden.

    Und was die Batch-Anwendungen angeht, so fängt man sich da einen nicht unerheblichen Overhead ein:

    Beim Lesen werden aus dem internen Puffer die I-Felder gefüllt und anschließend in die Struktur übertragen.

    Beim Schreiben genau umgekehrt, nämlich aus der Struktur in die O-Felder und daraus dann in den internen Dateipuffer.

    Mit Einzel-Moves!

    Bei Massendatenverarbeitung kann das schon mal eine Performancebremse sein.

    Anmerkung:
    Bei DB-Dateien sind I/O-Felder weitgehend identisch, Ausnahme LF mit berechneten feldern (z.B. SST).
    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

Similar Threads

  1. Rückgabewert vom RPG Programm
    By mk in forum NEWSboard Java
    Antworten: 8
    Letzter Beitrag: 21-04-11, 22:51
  2. Bibliotheksliste in RPG IV abfragen
    By timeless in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 11-01-07, 13:04
  3. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 11:58
  4. RPG goes Web
    By jth in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 21-12-06, 12:13

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •