Anmelden

View Full Version : %KDS und Null-fähiges Schlüsselfeld



GreatEMU
02-06-09, 07:28
Guten Morgen Gemeinde!

Seit kurzem benutze ich für Dateizugriffe die Funktion %KDS. Nun stehe ich vor dem Problem, dass ich auf eine Datei zugreifen muss, in der ein Schlüsselfeld Null-fähig ist. Und genau diesen möchte ich auch lesen.
Geht das überhaupt direkt oder kann ich nur mit *Hival bzw. *Loval aufsetzen?


Schonmal vielen Dank für Eure Hilfe...

Fuerchau
02-06-09, 08:22
In den H-Bestimmungen ALWNULL (o.ä.) zulassen. Dann kannst du mit %NULLIND das NULL-Flag lesen und auch setzen.

GreatEMU
02-06-09, 09:55
Vielen Dank für die schnelle Antwort!

Aber das ist nicht die Lösung meines Problems.
ALWNULL(*YES) wird per Default im Befehl CRTRPGMOD gesetzt.
Hier die Problembeschreibung etwas detaillierter:
Die Schlüsselliste deklariere ich als Datenstruktur mit dem Schlüsselwort LIKEREC(Formatname:*Key). Für das entsprechende Feld setze ich den Nullindikator an. Dann führe ich ein Chain mit der Funktion %KDS aus. Dies führt dann zu einem Dezimaldatenfehler.

Mittlerweile umgehe ich das Problem, in dem ich mit SETGT positioniere und mit einem Teilschlüssel rückwärts lese.
Interessieren würde es mich aber trotzdem...;)

Fuerchau
02-06-09, 10:23
Auf NICHTS zu positionieren ist ehe schon schwierig.
Da bietet sich schon eher der verkürzte Zugriff (SETGT/REDPE ist da nicht nötig) direkt an:

chain (K1:k2) MyRec;