-
Satzformat komplett sichern und Vergleichen
Hallo,
ich habe das Problem das ich bei einer Veränderung im Programm reagieren möchte.
Beispiel:
FMyDatei UF A E K DISK
F RENAME(MyDateiF:MyForm)
F** --------------------------------------------------------------
*================================================= ====================
* Record comparison
*================================================= ====================
DSavRec e ds extname(MyDatei) inz
DSvBefore ds likerec(MyForm) inz
DSvAfter ds likerec(MyForm) inz
*================================================= ====================
chain(e) (Key01:Key02) MyDatei; // lesen MyDatei
// Sichern alte Satzinhalt
clear SvBefore ; // Vergleichsfelder löschen
clear SvAfter ; // Vergleichsfelder löschen
if %found(MyDatei); // gefunden MyDatei
SvBefore = SavRec ; // Satzinhalt sichern
SvBefore.uekz01 = ' '; // Zustand neu erzeugen
endif; // End gefunden MyDatei
Verarbeitung und Neubesetzung der Satzfelder
SvAfter = SavRec ; // Satzinhalt sichern
if SvAfter <> SvBefore; // Sätze vergleichen
if %found(MyDatei); // gefunden MyDatei
update MyForm; // UPDATE
else; // Else gefunden MyDatei
write MyForm; // Write
endif; // End gefunden MyDatei
endif; // End SvAfter <> SvBefore
aber leider steht in SavRec noch der Inhalt wie nach dem Chain und nicht die Veränderten Daten die jetzt in Format MyForm sehen.
Wenn ich nach den Update/Write prüfen würde, würde es klappen, denn SavRec wird erst nach einer Dateioperation gefüllt. Ich möchte aber vor dem Update/Write reagieren.
Hat jemand einen Tip für mich??
-
Moin,
da die Feldname immer gleich in der DS sind, probiere mal folgendes:
Ds_AKtRec Prefix(_A)
Ds_Oldrec Prefix(O_)
Ds_NewRec Prefix (N)
Chain in Aktrec
Nicht da Ds_NewRec in Ds_Aktrec
Da dann Ds_Aktrec in Ds_oldRec
Mach was
Ds_NewRec in Ds_Aktrec update
mfg
DKSPROFI
-
Hi DKSPROFI,
die DS sind nicht immer gleich.
für SvBefore heist das Feld uekz01 z.B. SvBefore.uekz0;
Mein Problem ist, das ich die Felder von MyForm geändert habe und jetzt vergleichen möchte gegen meinen gesicherten Stand.
Also die DS SvBefore mit dem aktuellen Stand.
Kann aber das Format MyForm nicht der DS SvAfter zuweisen oder SvBefore mit dem Format MyForm vergleichen.
Ich habe dass schonmal gemacht, kann aber leider die SRC nicht finden.
Gruß
Paul
-
Moin,
das mit dem Rename habe ich glatt überlesen. Was spricht denn gegen die DS aktuell, alt neu, oder nur Before und after?
mfg
Michael
-
Hi DKSPROFI,
eigentlich nichts, ich stehe nur im Moment auf dem Schlauch, wie ich das komplette Satzformat in eine DS verschieben (sichern) kann um dann zu vergleichen.
-
Für solche Fälle verwende ich in der per Definition:
dcl-ds $SvBefore likeds (SavRec);
dcl-ds $SvAfter likeds (SavRec);
Dann kann ich verschieben und vergleichen bis ich lustig bin.
kf
-
Hallo zusammen,
habe das Problem gelöst. War auch mit der ersten Lösung OK.
Hatte einen anderen Fehler im Programm.
Wenn aber jemand den Unterschied zwischen LIKE, LIKEDS und LIKEREC einfach
beschreiben könnte, wäre das toll.
Gruß
Paul
-
LIKEREC lädt die Feldinformationen aus dem Satzformat und listet diese in der DS auf, funktioniert also wie LIKEDS.
LIKE definiert ein Feld wie ein anderes, auf das man sich bezieht.
Eine DS ist aber auch ein Feld, daher ist LIKE(MYDS) nur ein Zeichen-Feld in der Größe der DS.
LIKEDS(MYDS) definiert eine UnterDS, allerdings nur wenn auch Qualified verwendet wird.
Ohne Qualified darf ein Feld nur in einer DS vorkommen.
DS1 DS Qualified
F1 10
F2 5I 0
DS2 DS Qualified
F1 like(DS1.F1)
F2 like(DS1)
F3 likeds(DS1)
Du hat nun folgende Felder:
DS1
DS1.F1
DS1.F2
DS2
DS2.F1
DS2.F2 <= nur ein Zeichenfeld
DS2.F3
DS2.F3.F1
DS2.F3.F2
-
Hallo Fuerchau,
das habe ich jetzt verstanden.
Danke für die tolle Erklärung.
Gruß
Paul
Similar Threads
-
By harbir in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 29-10-14, 02:29
-
By it-dol in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 24-07-14, 13:05
-
By camouflage in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 22-07-14, 12:10
-
By Booley in forum IBM i Hauptforum
Antworten: 10
Letzter Beitrag: 09-12-02, 15:24
-
By hpw in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 15-10-01, 13:23
Tags for this Thread
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