Zitat Zitat von Vicky-B
Hallo zusammen,

ich hab jetzt folgendermassen das Feld definiert:

A SZBEMERK 200A VARLEN(1)

wenn man dann mit upddta in die Datei reingeht, wird das Feld mit 200 Zeichen auch angezeigt (ist auch genau so mit runqry *n datei. Wo ist dann der Vorteil bei einer solchen DDS? Ich dachte der Speicher-Platz wird erst dann zur Verfügung gestellt, wenn die Inhaltslänge bekannt ist

Danke für die Antworten!

Vicky
Was Du siehst und was intern in der Datenbank passiert sind 2 Paar Stiefel! UPDDTA und interaktives SQL usw. zeigen aufbereitete Versionen des Datensatzes an, d.h. die Daten aus der Overflow-Area sind an der entsprechenden Stelle eingefügt. Wenn Du einen neuen Datensatz anlegen willst, wird also angezeigt, wie viel Platz Du maximal zur Verfügung hast. Der Rest, wo und in welcher Form die Daten abgelegt werden geschieht erst in dem Moment, wenn Du Datenfreigabe drückst.

Warum man einen bestimmten Bereich reserviert?
Ganz einfach um Platz zu sparen. (Okay in der heutigen Zeit, in der Platten-Platz "nichts mehr kostet" mag dies vielleicht nicht mehr relevant sein, aber früher!) Angenommen ein alphanumerisches Feld hat eine Maximal-Länge von 32.767 Zeichen und soll irgendwelche Meldungen aufnehmen. Meist handelt es sich dabei im Kurz-Meldungen mit ca. 1024 Zeichen und nur in Ausnahmen wird ein Roman hinterlegt. Warum also in jedem Satz über 30.000 Byte verschwenden?

Auf der anderen Seite bringen natürlich Zugriffe in die Overflow-Area Performance-Einbußen mit sich.

Ob und wieviel Speicher im Datensatz reserviert werden sollte, hängt jeweils von der Strategie ab, die verfolgt wird.

Birgitta