Anmelden

View Full Version : Nachricht: [SQL0901] SQL-Systemfehler



Seiten : [1] 2

mk
16-04-21, 13:25
Sowas kommt natürlich immer zum ungünstigsten Zeitpunkt.

Folgendes Problem:

Ein View kann nicht erstellt werden.

Nachricht: [SQL0901] SQL-Systemfehler. Ursache *. . . . : *Ein SQL-Systemfehler ist aufgetreten. Die aktuelle SQL-Anweisung kann nicht erfolgreich beendet werden. Der Fehler verhindert nicht die Verarbeitung anderer SQL-Anweisungen. Vorherige Nachrichten können darauf hinweisen, dass ein Problem mit der SQL-Anweisung vorliegt und dass SQL den Fehler nicht korrekt diagnostiziert hat. Die vorherige Nachrichten-ID lautete CPF4204. Interner Fehler der Art 4265 aufgetreten. Erfolgt eine Vorkompilierung, wird die Verarbeitung nicht über diese Anweisung hinaus fortgesetzt. Fehlerbeseitigung: *Anhand der vorherigen Nachrichten bestimmen, ob ein Problem mit der SQL-Anweisung vorliegt. Um die Nachrichten anzuzeigen, bei interaktiver Ausführung den Befehl DSPJOBLOG verwenden, oder den Befehl WRKJOB verwenden, um die Ausgabe einer Vorkompilierung anzuzeigen. Ein Anwendungsprogramm, das diesen Rückkehrcode erhält, versucht möglicherweise, weitere SQL-Anweisungen auszuführen. Die Fehler korrigieren und die Anforderung wiederholen.


Die Source ist seit der letzten Erstellung nicht geändert worden. Und der View soll
im Zuge einer Aktivierung mit erstellt werden.

Die CPF Meldung sagt folgendes


Nachrichten-ID . . . . . . . : CPF4204
Nachrichtendatei . . . . . . : QCPFMSG
Bibliothek . . . . . . . . : QSYS

Nachricht . . . : Interner Fehler im Abfrageprozessor.
Ursache . . . . : Im Abfrageprozessorprogramm ist ein Systemfehler
aufgetreten. Die Schablonennummer für die Abfragedefinition ist &1.
Fehlerbeseitigung: Nachricht der unteren Ebene beachten. Fehler beheben und
Anforderung wiederholen. Tritt das Problem erneut auf, Problem melden
(Befehl ANZPRB).

Wir haben V7R3 und PTF TL20310

Kennt vllt. jemand das Problem ?

Schönes WE
Gruß
Michael

B.Hauser
16-04-21, 13:31
Bei SQL0901 hilft nur ein Ticket bei der IBM.
Wir hatten in der früheren Firma auf einer Maschine das Problem, dass (einfache) Views nicht erstellt werden konnten, aber da die Maschine nicht unter Support war, haben wir dafür auch nie eine Lösung bekommen.

Birgitta

BenderD
16-04-21, 13:38
... wie sieht denn das Statement aus? Vielleicht gibt es ja einen Würgdrumherum mit einer anderen Formulierung.

D*B

holgerscherer
16-04-21, 16:23
Bei SQL0901 hilft nur ein Ticket bei der IBM.
Wir hatten in der früheren Firma auf einer Maschine das Problem, dass (einfache) Views nicht erstellt werden konnten, aber da die Maschine nicht unter Support war, haben wir dafür auch nie eine Lösung bekommen.


Aber Ihr habt doch gewiss einen RCLSTG probiert? ;-)

-h

B.Hauser
16-04-21, 20:44
Aber Ihr habt doch gewiss einen RCLSTG probiert? ;-)

-h

Hat damals auch nichts geholfen!

mk
17-04-21, 11:35
Hi ,
nur mal so zur Info. Eigentlich ein ganz simpler View



CREATE or replace VIEW ORDTXT02V as

select hdr.nlg as Firma ,
hdr.auftragsnr as auftragsnr,
hdr.kundennr as kundennr,
part.KDNAM1 as Kundenname,
hdr.bestellnr as bestellnr,
hdr.datum_auftrag as datum_auftrag,
hdr.allamount as allamount,
pos.AUFTAGSPOS as auftragsposition ,
pos.artikelkz as artikelkz,
pos.artikelnr as artikelnr,
pos.bezeichnung1 as bezeichnung1,
pos.bestellmenge as bestellmenge,
pos.waehrung as waehrung,
case when pos.waehrung = 'EUR' then bruttopreiseur
when pos.waehrung <> 'EUR' then bruttopreis end as Bruttopreis,
case when pos.waehrung = 'EUR' then poswerteur
when pos.waehrung <> 'EUR' then poswert end as poswert,
( select count(*) from ordtxt01V where hdr.nlg = FIRMA
and hdr.auftragsnr = AUFTRAGNR
and hdr.kundennr = KUNDENNR
and pos.artikelkz = ARTIKELKZ
and pos.artikelnr = ARTIKELNUMMER
and pos.AUFTAGSPOS = AUFTRAGPOSITION) as AnzInfoText,

( select BENUTZER from ordtxt01V where hdr.nlg = FIRMA
and hdr.auftragsnr = AUFTRAGNR
and hdr.kundennr = KUNDENNR
and pos.artikelkz = ARTIKELKZ
and pos.artikelnr = ARTIKELNUMMER
and pos.AUFTAGSPOS = AUFTRAGPOSITION
order by DATEINFOTEXT desc
fetch first row only ) as AnzInfoUser ,

( select max(DATEINFOTEXT) from ordtxt01V where hdr.nlg = FIRMA
and hdr.auftragsnr = AUFTRAGNR
and hdr.kundennr = KUNDENNR
and pos.artikelkz = ARTIKELKZ
and pos.artikelnr = ARTIKELNUMMER
and pos.AUFTAGSPOS = AUFTRAGPOSITION
fetch first row only ) as AnzLastTextDate

from wbordoh02v hdr

join wbordop01v pos
on hdr.AUFTRAGSNR = pos.AUFTRAGSNR

join partner as part
on part.adrkz = 'K'
and hdr.kundennr = part.kdnr

;



und wir haben durchaus noch viel kompliziertere Views.
Und diese kann das System erstellen.

mk
17-04-21, 12:21
Nur falls es jemand interessiert



CPF9898 Abbruch 40 17.04.21 13:18:06,814388 QQQSRVI1 QSYS *STMT QQQVFMT QSYS *STMT
Ausgangsmodul . . . . . . . : QQQFNCHK
Ausgangsprozedur . . . . . : QQFUNCTIONCHECK
Anweisung . . . . . . . . . : 1358
Zielmodul . . . . . . . . . : QQQVFMT
Zielprozedur . . . . . . . : QQQVFMT
Anweisung . . . . . . . . . : 32999
Nachricht . . . : Update_SS_UDF_Entry:parameter count mismatch.
Ursache . . . . : Diese Nachricht wird von Anwendungsprogrammen als
allgemeine Abbruchnachricht verwendet.
CPF4204 Diagnose 50 17.04.21 13:18:06,965765 QQQQUERY QSYS *STMT QSQCRTV QSYS *STMT
Ausgangsmodul . . . . . . . : QQQQUERY
Ausgangsprozedur . . . . . : QQQQUERY
Anweisung . . . . . . . . . : 35008
Zielmodul . . . . . . . . . : QSQCRTV
Zielprozedur . . . . . . . : QSQCRTV
Anweisung . . . . . . . . . : 11854
Nachricht . . . : Interner Fehler im Abfrageprozessor.
Ursache . . . . : Im Abfrageprozessorprogramm ist ein Systemfehler
aufgetreten. Die Schablonennummer für die Abfragedefinition ist 1.
Fehlerbeseitigung: Nachricht der unteren Ebene beachten. Fehler beheben und
Anforderung wiederholen. Tritt das Problem erneut auf, Problem melden
(Befehl ANZPRB).
SQL0901 Diagnose 50 17.04.21 13:18:06,971860 QSQCRTV QSYS *STMT QSQCRTV QSYS *STMT
Ausgangsmodul . . . . . . . : QSQCRTV
Ausgangsprozedur . . . . . : CLEANUP
Anweisung . . . . . . . . . : 22849
Zielmodul . . . . . . . . . : QSQCRTV
Zielprozedur . . . . . . . : CLEANUP
Anweisung . . . . . . . . . : 22849
Nachricht . . . : SQL-Systemfehler.
Ursache . . . . : Ein SQL-Systemfehler ist aufgetreten. Die aktuelle
SQL-Anweisung kann nicht erfolgreich beendet werden. Der Fehler verhindert

BenderD
17-04-21, 12:24
... was ich da so vorab probieren würde:
- läuft das Statement als select durch?
- laufen die einzel Selects durch?
- lässt sich die join View ohne die where Klauseln etc. erstellen
- lassen sich die Teil joins erstellen
- lässt sich das komplett neu erstellen (inklusive aller zugrunde liegenden Tabellen)?

und dann weitersehen.

D*B

Fuerchau
17-04-21, 18:49
Man könnte auch die skalaren Subselects als "cross joint lateral (...)" probieren.

BenderD
17-04-21, 19:03
Man könnte auch die skalaren Subselects als "cross joint lateral (...)" probieren.

... das scheint mir eher das Problem zu sein, wenn die allwissende Müllhalde Google nach "Update_SS_UDF_Entry Parameter count mismatch" frage.

D*B