Anmelden

View Full Version : ILE/SQL



Seiten : 1 [2]

BenderD
19-11-03, 13:37
Hallo,

@Baldur
hier irrt Baldur (was im Forum selten vorkommt),
da steht nix ungültiges drin, es lässt sich nur nicht in jedem externen Format darstellen. Beim interaktiven Select findet ja ebenfalls eine Umsetzung statt, in das Datumsformat der interaktiven SQL Sitzung, das man aber gültig einstellen könnte.
Bei der Verwendung des Indicator Arrays könnte man den Fehler auf Feldebene abfangen, aber die Wahl eines anderen Datumformats heilt das ebenfalls. Falls da allerdings wirklich Schrott drinstehen sollte, habe ich keine Datenbank, sondern eine Datenkrank und dann muss dieses auch nicht funktionieren.
@Rolf:
Das was da drin steht, ist allerdings undokumentiert und könnte ab dem Release xyz was ganz anderes sein.
@Birgitta:
Danke für die Blumen.

Dieter

Fuerchau
19-11-03, 14:59
@Dieter
Irren ist ja so menschlich, da gebe ich dir recht !

Was ist, wenn selbst die Umstellung des Datumsformat in SQL auf *ISO doch nur '+++' anzeigt ?

Dann frage ich mich allerdings, wie die Daten da reingekommen sind, denn alle Versuche, Schrott dort einzutragen schlugen mit CPF5035 fehl. Ich kann also nur gültige Daten abstellen. Wie sieht es jedoch vor V5R1 aus ?

BenderD
19-11-03, 15:30
Hallo Baldur,

generell gilt für SQL (auch vor V5R1) strenge Typprüfung: es ist nicht möglich Inhalte in Felder einzustellen, die nicht dem deklarierten Typ entsprechen, wenn also Schrott drinsteht ist dies ein typischer Fall von krank von der Datenbank, ist übrigens für V5R1 nicht ungewöhnlich, dass die Datenbank nicht funktioniert. In vielen Installationen wurden nie irgendwelche Group PTFs für die Datenbank eingespielt und damit sind unter den Releases V4R5 und V5R1 elementare Funktionen des DB Systems fehlerhaft, bis hin zum Journaling. Seit ein paar Monaten sind die DB Group PTFs in den Cums enthalten und damit müsste das für V5R2 eigentlich besser werden.


Dieter Bender

GS
19-11-03, 16:24
DANKE an ALLE

ich habe es mit
D MyStru DS Extname(...)
D Indic S 5I 0 dim(x)

EXEC SQL FETCH MyCursor into :MyStru :Indic
END-EXEC

und mit

C/EXEC SQL
C+ Set Option DatFmt = *EUR
C/END-EXEC

probiert

funktioniert beides.
Nochmals DANKE

Gruss
G.S.

itec01
13-07-15, 16:00
Hallo,
ich habe heute leider auch das Problem festgestellt. Wir haben das Datum definiert in DDS mit *ISO und ALWNULL. Wenn ich den 31.12.9999 rein schreibe, dann wird sowohl per upddta als auch mit SQL nur +++++ angezeigt. Im QRY und in Excel wird es sauber dargestellt. Ändere ich das Datum auf 2039 ab, dann wird es überall sauber dargestellt.
Was mache ich hier falsch.
Danke.
Klaus

Fuerchau
13-07-15, 16:12
UPDDTA arbeitet beim Datum ggf. mit Job-Format, also meist 6-Stellig.
Hier musst du ein UPDDTA-PGM erstellen um das Datumformat festzulegen.
Bei STRSQL stellst du das Datumformat per F13 ein.
Die DDS-Angabe wird ignoriert.

itec01
14-07-15, 08:10
super, vielen Dank, das war es. Manchmal kann es ganz einfach sein.

Gruß Klaus