[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2002
    Beiträge
    1.121

    Question Sichern Satzformat

    Hallöchen *all !

    Ich wollte gern einen Satz einer Datei lesen und alle Felder sichern, und unter bestimmten Umständen alle Felder aus der "Sicherung" wieder zurück setzen. Nun habe ich es mit einer DS versucht, nur bekomme in dann das Satzformat da nicht drauf
    PHP-Code:
    fDatei1    uf a e           k Disk                   
                                                         
    d DsSave        e ds                  extname
    (Datei1)
    d                                     prefix($)      
                                                         
    c                   Read      Datei1F                
    c                                                    
    c                   
    Eval      DsSave   Datei1F 
    Habe ich überhaupt eine Möglichkeit dan Satz auf diese Weise zu sichern, oder muss ich jedes Feld einzeln sichern (was bei ca. 100 feldern im format etwas viel tipparbeit wären)

    Tschau Ronald

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Anstelle des Satzformates musst du eine 2. Struktur mit einem Namen und den identischen Feldern definieren:

    d DsOrig e ds extname(Datei1)

    eval dssave = dsorig
    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
    May 2002
    Beiträge
    1.121
    Danke, genau das hab ich gesucht. Funktioniert prima!

    Gruß Ronald

  4. #4
    Registriert seit
    Jul 2008
    Beiträge
    84
    Hallo *all
    Kann man den Satz auch in RPG-code sichern? Wenn ja, kann mir irgendjemand ein Beispiel-Code geben!

    Vielen Dank für Euere Bemühungen!

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Das ist ebenso einfach, allerdings gibts dabei keine Hilfen.
    Schau nach, wie lang dein Satzformat ist (DSPFD, DSPFFD) und definere einfach zwei DS:

    IMYDS E DSFROMFILE
    IMYSAVE DS 1 9999

    9999 = Länge des Satzformates

    Die erste Definition legt die Felder in eine DS (soweit du das nicht schon gemacht hast), die 2. Definition legt eine DS ohne Unterfelder an (gibt nur eine Compilerwarnung).
    Eine DS lässt sich wie eine Variable ansprechen:

    MOVELMYDS MYSAVE
    MOVELMYSAVE MYDS

    PS:
    Eine DS (ggf. ohne Unterfelder) ist übrigens die einzige Möglichkeit, Variablen > 256 Stellen (max. 9999) zu definieren.
    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
    Jul 2008
    Beiträge
    84
    Hallo Herr Fürchau,

    vielen Dank für Ihre schnelle Nachricht! ich habe dies auch sofort ausprobiert. Leider bekomme ich einen Dezimaldatenfehler. Kann es sein dass gepackte Felder nicht verarbeitet werden?
    mfg
    Zuther Hans

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Hallo,

    einfacher ist es eine Datenstruktur entweder über das Schlüssel-Wort LIKEREC oder als externe Datenstruktur zu definieren.

    Beim Read oder Chain den Datensatz dann direkt in die Datenstruktur ausgeben. (Der eingelesene Satz kann verändert werden und beim Update wird die Datenstruktur ebenfalls im Update-Statement angegeben.)
    ... Das Ganze funktioniert bereits seit Release V5R2.

    PHP-Code:
    FMyFileP   IF   E           K DISK    

    D DSMyFileP       DS                  LikeRec
    (MyFileF)                
    D DSMyFilePx    E DS                  ExtName(MyFilePQualified      
     
    /Free
        Read MyFileF DSMyFileP
    ;
        
    Read MyFileF DSMyFilePx;
        
    Dsply DSMyFileP.Fld1;
        
    Dsply DSMyFilePx.Fld1;
        *
    INLR = *ON;
     /
    End-Free 
    Birgitta Hauser

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

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    @Birgitta
    Dazu müsste aber das Programm auf ILE erst umgestellt werden.
    Es gibt eben noch alte RPG-Programme

    @Zuther
    Beachte genau was du tust.
    Der MOVE überträgt die gesamte DS unabhängig vom Inhalt.

    Beim Hin- und Hermoven musst du
    a) immer den selben MOVE oder MOVEL nehmen
    b) die Größe der DS sollte natürlich stimmen und alles aufnehmen können
    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. Sichern von Spoolfiles mit RUNBACKUP
    By Asti in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 26-10-06, 14:29
  2. IFS täglich autom. sichern!
    By KL_RPG in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 26-07-06, 15:58
  3. Einzelne DB Tabellen sichern
    By CAL in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 23-06-06, 09:03
  4. sichern auf mehrere Bänder
    By p356 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 04-05-06, 06:57
  5. Verzeichnis im ROOT sichern
    By emily in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 20-04-06, 08:50

Berechtigungen

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