Zitat Zitat von B.Hauser Beitrag anzeigen
Ich würde über die SQL-View SYSCOLUMS in der Bibliothek QSYS2 die alphanumerischen Felder in der gewünschten Bibliothek ermitteln.
OK, der Teil war einfach. Ich habe die Feldnamen in ein Array geschrieben.

Zitat Zitat von B.Hauser Beitrag anzeigen
Anschließend über diese Informationen dynamische Update-Statements generieren, in denen mit Hilfe der skalaren Funktion Translate die Sonderzeichen durch Blanks ersetzt werden und diese Statements mit EXECUTE IMMEDIATE ausführen.
Und dazu bin ich zu bloed
Ich Schreibe folgendes Statement in meine Variable:
UPDATE @LIBRARY/@FILE SET @FIELD = Translate'(:@Field,' ', ',')
Und versuche das dann so auszufuehren:
C/EXEC SQL
C+ execute immediate :sqlComma
C/END-EXEC

Als Fehler bekomme ich:
SQL0312 30 Variable &1 not defined or not usable.

Wie muss ich also das Statement aufbauen um mit Variabler Lib, Variabler File und Variablem Feld eben dieses Feld ggf zu aendern wenn ein Zeichen enthalten ist das ersetzt werden muss?
Also @Library ist eine Variable.
@File ist eine Variable.
@Field enthaelt den aus dem Array uebertragenen Feldnamen.
Hier denke ich liegt auch mein Fehler, einerseits sage ich ja mit @Field das ich in diesem Feld einen Wert aendern moechte und versuche andererseits diese Variable fuer den feldwert zu verwenden.....funzt wohl so nicht. Birgitta, wenns Dir nicht zu bloed ist, kannst Du mir das begreiflich machen?

Vielen Dank, Gruss Ralf