PDA

View Full Version : Vergleichen Feldinhalte von qualifizierten Datenstrukturen



it-dol
24-07-14, 11:42
Hallo zusammen,
Ich hoffe jemand kann mir helfen bei einem kleinen Problem:
Ich habe 2 qual DS mit gleichem Inhalt.
In der ersten sind alle Felder einer Datei vor der Änderung.
In der zweiten sind alle nach der Änderung.
d dsCUSTMAST1 e ds extname(rcmbil1:*input) qualified
d dsCUSTMAST2 e ds extname(rcml01:*input) qualified
Nun vergleiche ich beide DS:
if (dscustmast1 <> dscustmast2);
Klappt wunderbar.
Nun muss ich aber wissen, welches Feld ist geändert worden.
Die Datei hat 150 Felder.
Muss ich nun jedes Feld miteinander vergleichen, oder gibt es da eine andere Lösung?

Besten Dank im Voraus.

Fuerchau
24-07-14, 11:58
Erstmal so gibt es keine Lösung.
Aber:
Per API (oder CLP) DSPFFD kannst du dir eine Tabelle der Feldnamen mit ihrer Startposition und Länge (in Bytes ggf. ausrechnen bei gepackten Felder) laden.
Nun in einer Schleife die Felder durchgehen und per %SUBST(dsCUSTMAST1:FeldStart:FeldLen) einzeln vergleichen.

it-dol
24-07-14, 12:09
Danke für die schnelle Antwort.
Schade, das habe ich befürchtet.

Fuerchau
24-07-14, 13:05
Woher soll das System zur Laufzeit auch wissen, wie du deinen Speicher organisiert hast?
Zur Laufzeit hast du nur noch Adressen und keine Namen mehr.