[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jun 2004
    Beiträge
    89
    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

  2. #2
    Registriert seit
    Nov 2007
    Beiträge
    371
    blöde frage . was macht er denn wenn du sie mal direkt per strsql eingibst ?

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Nov 2007
    Beiträge
    371
    braucht man den strichpunkt nach dem end ?

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    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
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  6. #6
    Registriert seit
    Jun 2004
    Beiträge
    89
    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 :-)

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    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
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  8. #8
    Registriert seit
    Jun 2004
    Beiträge
    89
    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.....

  9. #9
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    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
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  10. #10
    Registriert seit
    Jun 2004
    Beiträge
    89
    So bisschen Suspekt das Ganze...

    Auf dem Greenscreen per STRSQL funktioniert alles. Im Navi nicht.
    Die anderen Proceduren, die wesentlich komplexer waren, habe ich im Navi erstellt...

    Also hinnehmen, und hoffen, das wir bald mal auf V7R1 gehen..

  11. #11
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Default bei STRSQL ist System-Naming (bei dem die Bibliotheksliste abgegriffen wird)
    Bei IBM i (und allen anderen graphischen Produkten) ist SQL Naming der Default und der funktioniert nun mal anders als System-Naming.
    Beim SQL Naming werden unqualifiziert angegebene Dateien nur in einer einzigen Bibliothek in dem Default/Current Schema gesucht. Die Bibliotheksliste wird nicht durchsucht. Solange das Default Schema nicht explizit gesetzt ist sollte ein Schema mit dem gleichen Namen wie das Benutzer-Profile duchsucht werden. Im IBM i Navigator wird aufgrund eines Bugs QTEMP als Default Schema genommen.

    Wird eine SQL-Routine mit unqualifiziertem Datei-Zugriff erstellt, so wird das Naming, das zur Compile-Zeit verwendet wurde auch zur Laufzeit verwendet. Wird unter SQL-Naming gearbeitet, werden alle unqualifiziert angegbenen Tabellen/Views vor der eigentlichen Compilierung mit dem Default-Schema qualifiziert. Es erfolgt an dieser Stelle jedoch keine Prüfung ob das Datenbankenobjekt auch in dieser Bibliothek/Schema existiert.
    Zur Laufzeit wird dann versucht auf genau die qualifiziert hinterlegten Tabellen/Views zuzugreifen.
    ... und das könnte schief gehen!

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. QRY - Problem
    By Günter Majewski in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 07-01-03, 15:10
  2. Stored Procedure endlos
    By lorenzen in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 12-12-02, 16:46
  3. Java stored procedure
    By Sven Schneider in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 03-09-02, 07:31
  4. Stored Procedure
    By lorenzen in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 27-08-02, 14:59
  5. Löschen/Überschreiben einer Stored Procedure
    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
  •