View Full Version : SQL V5R2->V5R1
Hi *all,
Wir haben ein Sql-statement im QM erfasst und das OBJ an den Kunden geschickt (natürlich nach erfolgreichem Test)
Wir haben V5R2 und das SQL arbeitet mit COALESCE
Der Kunde hat noch(schon) V5R1
obwohl unser FTP-Senden das KD-Release bein savlib berücksichtigt konten wir fehlefrei Übertragen.
Beim Kunden lief 's dann nicht
Hat einer ne Idee wie ich solchen zeitfressenden Unsinn vorher feststellen kann ? z.b. qsysv5r1m0 vorstellen o.ä.
Danke
Robi
Hallo Robi,
das COALESCE kann eigentlich keine Probleme machen, das läuft auch unter Release V5R1M0.
Ich habe mehrere QM-Queries, die COALESCE verwenden.
Birgitta
Das Problem ist ggf. die interne Struktur des QMQRY-Objekts.
Hier hilft nur folgendes:
RTVQMQRY -> Quellendatei
Quellendatei versenden
CRTQMQRY <- Quellendatei
Danke,
werde es versuchen und berichten
Robi
Hi ,
Leider geht es immer noch nicht.
Hier mal das Statement
Wie gesagt, bei uns mit 5.2 lauft es
update &LIB/HJHUP HJH set HJH111 = coalesce(
(select substr(MN6.N6REF2, 1, 10) from &LIB/VO1H1 VO1
inner join &LIB/MN6 MN6 on VO1.VO1021 = MN6.N6LOPD
where HJH.HJH100 = VO1.VO1043 and
HJH.HJH203 = VO1.VO1052 and
HJH.HJH033 = VO1.VO1006 and
MN6.N6phas = '3' and
VO1.VO1034 = '*' and
VO1.VO1035 = '*' and
VO1.VO1023 <> 0), ' ')
where HJH.HJH015 = 'OBV' and
HJH.HJH100 = 'V' and
HJH.HJH203 > 0 and
HJH.HJH033 <> ' ' and
HJH.HJH074 not in ('1 ', '2 ', '3 ', '4 ', '5 ', '6 ', '7 ') and
HJH.HJH111 = ' ' and
HJH.HJH010 = 2003 and
HJH.HJH011 >= 09
Robi
Vielleicht stellst du ja mal die konkrete Fehlermeldung hier ein.
Das Rumstochern im Nebel bringt nämlich nichts.
Kann es sein, dass der Subselect (ab COALESCE) vielleicht mehr als eine Zeile liefert !?
Klaro,
hier der Aufruf und der Fehler.
STRQMQRY QMQRY(PP_MATE2/DELTICHJH) SETVAR((LIB AKTEST))
Token SUBSTR ungültig. Gültige Token: + ) -.
Befehl RUN für Objekt QUERY mit SQLCODE -104 fehlgeschlagen.
Befehl RUN QUERY aufgrund eines Fehlers beendet.
Befehl STRQMQRY fehlgeschlagen.
Weitere Nachrichteninformationen
Nachrichten-ID . . . . : SQL0104 Bewertung . . . . . . : 30
Nachrichtenart . . . . : Diagnose
Sendedatum . . . . . . : 30.09.03 Sendezeit . . . . . . : 14:28:37
Nachricht . . . : Token SUBSTR ungültig. Gültige Token: + ) -.
Ursache . . . . .: Bei Token SUBSTR wurde ein Syntaxfehler entdeckt. Token
SUBSTR ist kein gültiges Token. + ) - ist eine Teilliste gültiger Token.
Diese Liste geht davon aus, dass die Anweisung bis zu diesem Token korrekt
ist. Es kann eine frühere Stelle in der Anweisung fehlerhaft sein, aber bis
zu dieser Stelle scheint die Syntax gültig zu sein.
Fehlerbeseitigung: Einen der folgenden Schritte durchführen und die
Anforderung wiederholen:
- SQL-Anweisung im Bereich des Token SUBSTR überprüfen. Anweisung
korrigieren. Der Fehler kann ein fehlendes Komma oder Anführungszeichen
sein, er kann in einem falsch geschriebenen Wort oder in der Anordnung der
Klauseln begründet sein.
(auch die Syntaxprüfung (F15) im QM bringt genau den Fehler
Danke
Robi
Hallo
Wahrscheinlich eine ganz dumme Idee von mir, aber...
hat's vielleicht mit einem unterschiedlichen Dezimalformat zu tun ??
Sysval QDECFMT ?
Gruss
Rolf
hi rolf
nein, leider nicht
Robi
Es hat leider tatsächlich mit V5R1 zu tun:
Seit V5 gibt es erst die Möglichkeit einen Subselect im Ausdruck auszuführen (Select f1, f2, select x from f as f3, ...).
Leider gibt es bei integrierten Funktionen erst ab V5R2 die Möglichkeit eines Subselect.
Tut mir Leid für dich, du must dir eine andere Lösung ausdenken.