-
Das ist nicht das Problem.
Ich möchte das die Daten durch die Werte aus der Datei gefüllt werden. In den einzelnen Strukturen sind diese Daten auch vorhanden. Um aber einen Vergleich von Daten einem Update vom Benutzer und Daten nach der Veränderung durchführen zukönnen möchte ich die verschiedenen Strukturen zu einer Struktur zusammenfassen. Das gelingt auch. Wenn ich aber die gesammte "große" Datenstruktur anspreche enthält dies nicht die Werte aus der Datei. Ziel des ganzen ist es das ich eine Struktur habe die die ursprünglichen Werte beinhaltet und eine Struktur mit den geänderten Werten. Diese sollen dann verglichen werden. hat sich dann an den Werten etwas geändert soll der Satz in der Datei geupdatet werden.
D Adresse DS Qualified based(DummyPtr)
D Vorname 20A
D Name 20A
D Strasse 20A
D PLZ 6P 0
D Ort 20A
D VAR DS Qualified based(DummyPtr)
D VAR001 20A
D VAR002 20A
D VAR003 20A
D VORHER DS qualified
D LieferAdresse likeDS(Adresse)
D Varianten likeDS(VAR)
C* Struktur NACHHER wie VORHER aufgebaut
C LIKE VORHER NACHHER
C VORHER IFEQ NACHHER
C MOVEL(P) NACHHER VORHER
C UPDATE DATEI
C ENDIF
Datenstruktur VORHER wird durch Werte aus Datei gefüllt.
-
Dateifelder sind Einzelfelder, die NICHT per Qualified angesprochen werden. D.h., der Feldname der Datei ist nicht mehr identisch zum Feldnamen der Struktur !
Beispiel siehe Birgitta:
FELD1 <= Deteifeld
Struktur.FELD1 <= eigenes Feld der Struktur
Struktur2.FELD1 <= anderes Feld, da andere Struktur
Dein Problem kannst du nur mit Einzel-Move's lösen !
Oder du definierst eben 2 Strukturen:
d DS1 ds extfile(myfile)
d DS2 ds exfile(myfile) prefix(d2)
Durch den Read wird DS1 gefüllt, durch "eval DS2 = DS1" kannst du diese retten und anschließend die Einzelfelder vergleichen.
Qualified geht nicht für Dateien, da diese nicht in Strukturen verarbeitet werden. Erst durch eine Struktur mit identischen Feldnamen erreicht man die Verarbeitung als Struktur.
Macht man dies nicht, sind die Felder ja trotzdem ansprechbar und zwar so als ob man sie als Single-Felder definiert hätte:
D FELD1 S ...
-
Nachtrag:
Da in RPG ein Feld immer nur einmal vorkommt, kannst du das, was du vorbereitet hast doch verwenden:
D Adresse DS
D Feld1 30
D Feld2 30
:
:
D SVAdresse ds likeds(Adresse) qualified
In die Struktur Adresse werden die Daten beim Lesen übertragen.
Per EVAL kannst du nun die Strukturen sichern (eben nicht jedes Feld einzeln) und so anschließend die Strukturen vergleichen.
Es gibt nun das Feld "Feld1" als auch das Feld "SVAdresse.Feld1".
Similar Threads
-
By codierknecht in forum NEWSboard SAP
Antworten: 32
Letzter Beitrag: 09-02-18, 13:00
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 29-11-06, 18:07
-
By jogisarge in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 15-05-06, 13:47
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 17
Letzter Beitrag: 11-05-06, 14:57
-
By PGMR in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 15-06-05, 15:37
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