PDA

View Full Version : SQL in ILE COBOL: _ in Feldnamen nicht erlaubt?



rebe
10-12-03, 16:08
Hallo!

Ist das Zeichen _ im Namen einer Host-Variablen in ILE COBOL nicht erlaubt, wenn man den Wert dieser Variablen für den SQL Befehl insert verwenden will?

Folgender Auszug aus einer Precompiler-Liste:

*****exec sql
***** insert into file2 values(:ff_1, :tt_1)
*****end-exec
MOVE 1 OF FF TO SQL-00002
MOVE 1 OF TT TO SQL-00003

Die Feldnamen ff_1 und tt_1 rufen eine sehr merkwürdige Umsetzung im Compiler hervor.
Diese beiden Befehle führen zu einem Syntaxfehler. Darf ich also die Variablen ff1_ und tt_1 nicht im insert-Befehl benutzen?
Kann ich das mit einer Compiler-Option oder sonst wie, doch erzwingen?

Die Feldnamen im Programm neuzudefinieren wäre ein Riesenaufwand, weil diese Hostvariablen aus einer Datei stammen, wo viele solcher Feldnamen stehen.

Wäre für Hilfe wirklich dankbar!!

Schöne Grüße
Reiner

Fuerchau
10-12-03, 17:14
Das hat nichts mit SQL oder ILE zu tun sondern ist eine COBOL-Norm:

Namen dürfen ausschließlich aus Buchstaben, Zahlen und Bindestrich bestehen und müssen mit einem Buchstaben beginnen !

Bei einer Copy-Anweisung kann man für externe Formate eine Umsetzung bekommen:

/COPY-DDR-MyFormat of MyFile
/COPY-DDR-ALL-FORMATS of MyFile

Dies führt zu einer Übersetzung der Sonderzeichen.

rebe
11-12-03, 11:35
Super!!

Funktioniert 100%. Das ist genau das, was ich gesucht habe.

Vielen Dank für die Hilfe.

Schöne Grüße
Reiner