PDA

View Full Version : KLIST "füllen"



Seiten : 1 [2]

rolf
08-10-02, 11:48
Hallo
Nochmals: READ liest ganz einfach den nächsten Satz in der Datei (gemäss Sortierung sprich Schlüssel).
Wohingegen READE den nächsten Satz in der Datei liest, dessen Schlüssel dem bei READE angegebenen Schlüssel oder Teilschlüssel (sprich KLIST) entspricht.

Wegen Performance:
Das Problem könnte auch bei der logischen Datei liegen. Schau doch mal bei der Dateibeschreibuing, ob eventuell der Parameter MAINT auf *DLY oder *REBLD steht.
Wenn das der Fall ist, diesen Parameter mittels CHGLF auf *IMMED stellen.

Gruss
Rolf

LoCal
08-10-02, 12:02
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von rolf:

Wegen Performance:
Das Problem könnte auch bei der logischen Datei liegen. Schau doch mal bei der Dateibeschreibuing, ob eventuell der Parameter MAINT auf *DLY oder *REBLD steht.
Wenn das der Fall ist, diesen Parameter mittels CHGLF auf *IMMED stellen.
[/quote]

Dat steht schon auf *IMMED http://www.as400-forum.de/ubb/frown.gif

^Hawkmoon
08-10-02, 12:25
Es sei vielleicht zur READ Operation noch eines zu erwähnen:
READ liest den nächsten Satz ein, auch wenn sich der Pointer auf BOF (Beginn of file) befindet.

READE kann mit oder ohne KLIST verwendet werden. In jedem Fall muss mit einem CHAIN oder SETLL der Pointer von BOF runtergenommen worden sein.
Ist das geschehen, so hat ein READE ohne KLIST die gleiche Auswirkung wie ein READ.
Mit KLIST ist es wirklich so, dass der nächste Satz mit genau dem gleichen Schlüssel eingelesen wird.

Zu deinem Programm:
Bei SETLL und READE mit gleichem Schlüssel entspricht das einem CHAIN. Der CHAIN sucht den Satz, der mit den zu diesem Zeitpunkt enthaltenen Daten im Key genau heraus, und liefert dir alle Daten zurück.

Randnotiz, weil viele "Neulinge" das nicht wissen:
Du musst in der KLIST nicht unbedingt die Dateifelder verwenden. Zum aufsetzen (wie im anderen Thread) kannst du durchaus auch andere Felder verwenden. Einzige Voraussetzung: Gleiche Felddefinition Länge und Art (Numerisch, alpha)

Grüsse Marcus