PDA

View Full Version : change COLHDG, TEXT



Seiten : [1] 2

mk
24-02-05, 09:21
Hallo zusammen,

ich meine mal gehört zu haben das man die Werte
TEXT, COLHDG für eine DDS beschriebene Datei
ändern kann ohne diese umzuwandeln oder mit CHGPF zu ändern.

Habt iher eine Idee wie man das machen kann ?

Gruss Michael

Fuerchau
24-02-05, 09:27
Über OpsNav. Dort kannst du bestimmte Definitionen ändern.

Aber Achtung:
Diese Definitionen ändern nur das Repository (SQLCOLUMNS, ...) nicht die Datei selbst.
Nach einem RSTOBJ ist das wieder weg.
Und ob Query die Info aus der SQLCOLUMNS oder doch aus der Datei holt, weiß ich nicht.

Der bessere (und konsistentere) Weg ist ein CHGPF.

mk
24-02-05, 10:17
okay,
dann werde ich den normalen Weg gehen
Danke
Michael



Über OpsNav. Dort kannst du bestimmte Definitionen ändern.

Aber Achtung:
Diese Definitionen ändern nur das Repository (SQLCOLUMNS, ...) nicht die Datei selbst.
Nach einem RSTOBJ ist das wieder weg.
Und ob Query die Info aus der SQLCOLUMNS oder doch aus der Datei holt, weiß ich nicht.

Der bessere (und konsistentere) Weg ist ein CHGPF.

Marimari1009
24-02-05, 10:58
Im AS/400 SQL gibt es
LABEL ON COLUMN Lib/File (Field IS neuneu) oder
LABEL ON COLUMN Lib/File (Field TEXT IS neuneu)
Dieser Befehl (LABEL ON) läßt sich auch prompten (F4).

mfg
K. Hardy

Fuerchau
24-02-05, 11:11
Prüfe doch mal, ob diese Änderungen nach einem SAVOBJ/DLTF/RSTOBJ auch noch vorhanden sind !

Marimari1009
24-02-05, 11:41
Prüfe doch mal, ob diese Änderungen nach einem SAVOBJ/DLTF/RSTOBJ auch noch vorhanden sind !

Änderung ist nach SAVOBJ/DLTF/RSTOBJ vorhanden, wird also beim Save mitgesichert. (hat mich fast selbst überrascht)

mfg
K. Hardy

Fuerchau
24-02-05, 11:51
Nun, wieder was gelernt.
Das erleichtert ja u.U. die Arbeit, da für den LABEL ON ja das Objekt nicht explizit benötigt wird, d.h., die Datei kann geöffnet sein.

mk
24-02-05, 13:12
Klasse Sache,

das zu ändernde Objekt darf allerdings nicht benutzt werden.
Gruss
Michael



Nun, wieder was gelernt.
Das erleichtert ja u.U. die Arbeit, da für den LABEL ON ja das Objekt nicht explizit benötigt wird, d.h., die Datei kann geöffnet sein.

KM
21-07-05, 06:06
Hallo zusammen,

ich habe jetzt mal versucht diesen LABEL ON COLUMN auszuführen. Bei physischen Dateien funktioniert er problemlos, solange die Datei nicht benutzt wird. Bei logischen Dateien erhalte ich allerdings folgenden Fehler:

Nachricht . . . : xxx in yyy keine Tabelle, Sicht oder physische
Datei.
Ursache . . . . : Die SQL-Anweisung *N kann nur für eine Datei ausgeführt
werden, die eine Tabelle, eine Sicht, eine logische Datei mit einem einzigen
Format oder eine physische Datei ist.

Bei meiner Datei handelt es sich aber um eine logische Datei mit einem einzigen Format. Also müsste es doch eigentlich gehen.
Woran kann das liegen ?

Gruß,
KM

B.Hauser
21-07-05, 08:40
Bei meiner Datei handelt es sich aber um eine logische Datei mit einem einzigen Format. Also müsste es doch eigentlich gehen.

Woran kann das liegen ?


M.E. ist die Fehler-Meldung falsch.
LABEL ON auf logische Dateien funktionniert deshalb nicht, weil die logischen Dateien nicht in die System-Tables eingetragen werden. (Im Gegensatz zu den physischen Dateien oder SQL Views und Indices).

Für eine logische Datei kann also die geänderte Überschrift nicht gespeichert werden, bzw. nur im Objekt gespeichert werden.

Wenn in einer Überschrift in der physichen Datei mit LABEL ON verändert wird, erscheint sie nicht automatisch in den abhängigen logischen Dateien und Views.

Wird eine View neu erstellt, wird der geänderte Name aus den System-Tables übernommen. Wird dagegen eine DDS beschriebene logische Datei neu erstellt, wird der Name nicht übernommen.

Wenn Texte oder Überschriften für logische Dateien geändert werden müssen, muss das DDS geändert werden und die logische Datei neu erstellt werden (was natürlich auch nicht immer gewünscht sein kann).