-
Problem SQL Procedure
Hallo zusammen,
ich habe möchte folgende SQL Procedure erstellen:
Code:
CREATE PROCEDURE HERMOSPM.I_POS_CTY ( )
LANGUAGE SQL
SPECIFIC HERMOSPM.I_POS_CTY
NOT DETERMINISTIC
MODIFIES SQL DATA
CALLED ON NULL INPUT
SET OPTION ALWBLK = *ALLREAD ,
ALWCPYDTA = *OPTIMIZE ,
COMMIT = *NONE ,
DBGVIEW = *SOURCE ,
CLOSQLCSR = *ENDMOD ,
DECRESULT = (31, 31, 00) ,
DFTRDBCOL = *NONE ,
DYNDFTCOL = *NO ,
DYNUSRPRF = *USER ,
SRTSEQ = *HEX
BEGIN
-- Inhalt löschen
DELETE FROM HERMOSPM . POS_CTY ;
-- Und wieder füllen
INSERT INTO HERMOSPM . POS_CTY
SELECT
ROW_NUMBER ( ) OVER ( ) ,
TRIM ( HERMOSPM . GETBACK_ID ( 'ART ' , AARTPK ) ) CONCAT '_' CONCAT TRIM ( PKATPK ) CONCAT '_' CONCAT TRIM ( PONRPK ) ,
1 , CURRENT_DATE , 1 , HERMOSPM . GETBACK_ID ( 'ART ' , AARTPK ) ,
' ' ,
CASE WHEN GRMAPK = 'J' THEN 1 ELSE 0 END ,
TRIM ( PONRPK ) ,
HERMOSPM . GETBACK_ID ( 'LANG' , LG ) ,
CASE WHEN UMFCDPK <> ' ' THEN TRIM ( UMFCDPK ) ELSE CAST ( NULL AS VARCHAR ( 400 ) ) END ,
CASE WHEN MSEIPK <> ' ' THEN TRIM ( MSEIPK ) ELSE CAST ( NULL AS VARCHAR ( 8 ) ) END
FROM HERMOSPM . MAPKATUNI
WHERE LG = 'DEU'
AND COALESCE ( HERMOSPM . GETBACK_ID ( 'ART ' , AARTPK ) , 9999999999 ) <> 9999999999 ;
END ;
Unabhängig vom Sinn des Ganzen:
Wenn ich den Select bzw. den Insert mit dem Select manuell aufrufe, läuft das durch ohne Probleme.
Beim Erstellen der Procedure passiert nichts bist auf eine Art Endlosschleife.
Ich wandel das um (im iSeries Navigator, "Eine SQL-Prozedure ausführen") und wenn ich auf der Maschine den Job anschaue, läuft der ewig ohne Ergebnis. Auch keine Fehlermeldung, Joblogmeldung, nichts. Nur ne Art Endlosschleife.
Hat jemand schon sowas mal gehabt? (Wir haben noch V6R1 installiert).
Danke für nen Tip...
Caddy
-
Ich bin mir nicht sicher, aber mach mal einen "return;" vor dem "end;".
Ist die Zieltabelle denn gefüllt?
-
Die Zieltabelle ist gefüllt.
Das mit dem return glaub ich nicht, weil es keinen Rückgabewert gibt.
Er macht ja gerade beim kompilieren (sagt man das bei SQL?) das Problem.
Habe den Umwandlungsjob nun nach 15 Minuten abgebrochen. Keine Meldung nichts.
Die letzten 20 Procudures klappten ohne Probleme... Suspekt.
-
Beim Interaktiven Aufruf läuft der Spaß...
> INSERT INTO HERMOSPM . POS_CTY SELECT ROW_NUMBER ( ) OVER ( ) , TRIM ( HERMOSPM . GETBACK_ID ( 'ART ' , AARTPK ) ) CONCAT '_' CONCAT TRIM ( PKATPK ) CONCAT '_' CONCAT TRIM ( PONRPK ) , 1 , CURRENT_DATE , 1 , HERMOSPM . GETBACK_ID ( 'ART ' , AARTPK ) , ' ' , CASE WHEN GRMAPK = 'J' THEN 1 ELSE 0 END , TRIM ( PONRPK ) , HERMOSPM . GETBACK_ID ( 'LANG' , LG ) , CASE WHEN UMFCDPK <> ' ' THEN TRIM ( UMFCDPK ) ELSE CAST ( NULL AS VARCHAR ( 400 ) ) END , CASE WHEN MSEIPK <> ' ' THEN TRIM ( MSEIPK ) ELSE CAST ( NULL AS VARCHAR ( 8 ) ) END FROM HERMOSPM . MAPKATUNI WHERE LG = 'DEU' AND COALESCE ( HERMOSPM . GETBACK_ID ( 'ART ' , AARTPK ) , 9999999999 ) <> 9999999999
Anweisung wurde erfolgreich ausgeführt (23660 ms = 23.660 Sek)
33357 Zeilen durch diese Anweisung betroffen
-
blöde frage . was macht er denn wenn du sie mal direkt per strsql eingibst ?
-
Ggf. stirbt der Compiler wenn die Bibliotheksliste nicht stimmt.
Immerhin verwendest du UDF's, die gefunden werden müssen.
Versuche mal die UDF's qualifiziert "LIB.UDFNAME" anzugeben.
-
braucht man den strichpunkt nach dem end ?
-
Das Problem liegt also beim CREATE PROCEDURE Statement und NICHT beim CALL?
Wenn der CREATE PROCEDURE so lange braucht liegt vermultich ein Bug vor bzw. fehlen PTF. Bei CREATE PROCEDURE wird lediglich eine C-Quelle mit embedded SQL erstellt und diese umgewandelt, d.h. das dürfte keine 15 Minuten dauern (egal wie groß die Tabelle ist).
Ich habe gerade das CREATE PROCEDURE Statement auf unserer Maschine ausgeführt, Objet war innerhalb von 5 Sekunden erstellt.
Was sagt denn das Joblog?
Wenn Du unter STRSQL arbeitest, vor STRSQL einfach mal STRDBG (ohne Parameter ausführen) und anschließend das Joblog prüfen. Dann sollten nämlich die SQL-Nachrichten protokolliert werden.
Birgitta
-
Danke für den Tipp, ich teste das morgen früh gleich mal.
Arbeite zwar nicht mit unter STRSQL (Hatte da so ne Lehrerin :-)), aber ausnahmsweise wird's mal gemacht :-)
-
Wenn Du mit IBM i Navigator arbeitest, kannst du die STRSQL Optionen auf über Options (Include Debug Messages in Job Log) aktivieren
also kein Green-Screen erforderlich
Birgitta
-
Guten Morgen,
ich habe das mit dem Include Debug Messages in Job Log mal gemacht.
Ich erhalte tausende "Abfrageauswahl aus Datei QAQQINI in Bibliothek QTEMP abgerufen" - Meldungen.
Weitere Nachrichteninformationen
Nachrichten-ID . . . . : CPI4339 Bewertung . . . . . . : 00
Nachrichtenart . . . . : Information
Sendedatum . . . . . . : 25.06.14 Sendezeit . . . . . . : 07:39:23
Nachricht . . . : Abfrageauswahl aus Datei QAQQINI in Bibliothek QTEMP
abgerufen.
Fehlerbeseitigung: Abfrageauswahl aus Datei QAQQINI in Bibliothek QTEMP
abgerufen.
Nachrichtendetails anzeigen
Nachrichten-ID . . . . : CPI4339 Bewertung . . . . . . : 00
Sendedatum . . . . . . : 25.06.14 Sendezeit . . . . . . : 07:39:23
Nachrichtenart . . . . : Information
Von . . . . . . . . . : ZUKÜNFTIGEN WELTMEISTER CCSID . . . . . . . . : 65535
Von Programm . . . . . . . . . : QQQSRVI1
Von Bibliothek . . . . . . . : QSYS
Von Modul . . . . . . . . . : QQQAINI
Von Prozedur . . . . . . . . : GETMSGTXT
Von Anweisung . . . . . . . : 10024
An Programm . . . . . . . . . : QQQSRVE1
An Bibliothek . . . . . . . : QSYS
An Modul . . . . . . . . . . : QQQGINI
An Prozedur . . . . . . . . : QQGETINIOPTIONS
An Anweisung . . . . . . . . : 1110
Hm.....
-
Ich gehe mal davon aus, dass Du im IBM i Navigator mit SQL Naming arbeitest.
Versuch' zuerst mal das Default/Current Schema in Deiner Bibliothek zu setzten.
Und prüfe, ob das etwas ändert.
Du kannst auch mit dem CL-Befehl CHGQRYA die QAQQINI-Datei/Bibliothek, die in Deinem Job verwendet werden soll setzen.
Birgitta
Similar Threads
-
By Günter Majewski in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 07-01-03, 15:10
-
By lorenzen in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 12-12-02, 16:46
-
By Sven Schneider in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 03-09-02, 07:31
-
By lorenzen in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 27-08-02, 14:59
-
By Frank Pusch in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 13-06-01, 17:57
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks