-
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
-
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
-
Danke, genau das hab ich gesucht. Funktioniert prima!
Gruß Ronald
-
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!
-
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.
-
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
-
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(MyFileP) Qualified
/Free
Read MyFileF DSMyFileP;
Read MyFileF DSMyFilePx;
Dsply DSMyFileP.Fld1;
Dsply DSMyFilePx.Fld1;
*INLR = *ON;
/End-Free
-
@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
Similar Threads
-
By Asti in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 26-10-06, 14:29
-
By KL_RPG in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 26-07-06, 15:58
-
By CAL in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 23-06-06, 09:03
-
By p356 in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 04-05-06, 06:57
-
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
-
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