Anmelden

View Full Version : SQL V5R2->V5R1



Seiten : [1] 2

Robi
25-09-03, 12:18
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

B.Hauser
25-09-03, 17:01
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

Fuerchau
26-09-03, 10:54
Das Problem ist ggf. die interne Struktur des QMQRY-Objekts.
Hier hilft nur folgendes:

RTVQMQRY -> Quellendatei
Quellendatei versenden
CRTQMQRY <- Quellendatei

Robi
30-09-03, 08:59
Danke,
werde es versuchen und berichten
Robi

Robi
30-09-03, 09:45
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

Fuerchau
30-09-03, 11:43
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 !?

Robi
30-09-03, 14:02
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

rolf
30-09-03, 14:47
Hallo
Wahrscheinlich eine ganz dumme Idee von mir, aber...
hat's vielleicht mit einem unterschiedlichen Dezimalformat zu tun ??
Sysval QDECFMT ?
Gruss
Rolf

Robi
30-09-03, 15:26
hi rolf
nein, leider nicht
Robi

Fuerchau
01-10-03, 09:52
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.