[NEWSboard IBMi Forum]
Seite 2 von 3 Erste 1 2 3 Letzte
  1. #13
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... ILE ist der LR wurscht, close bei *ENDMOD schließt den Cursor und ein geschlossener Cursor lässt sich nicht fetchen.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  2. #14
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das STGMDL kann (und muss) auf Modulebene bereits angegeben werden.
    Der Default ist hier *INHERIT.
    Beim CRTPGM können nur Module mit gleichen STGMDL bzw. INHERIT gebunden werden.
    In einer ACTGRP kann auch nur 1 STGMDL aktiv sein.

    Willst du den Compiler austrixen musst du ggf. mittels %ALLOC Speicher anlegen und die Elemente einzeln per Verschiebe-Pointer bearbeiten.
    Wenn das Programm noch mal aufgerufen wird, musst du vorher den Speicher wieder freigeben, da du ansonsten ein sog. Memory-Leak erstellst dass im Zweifel, wenn der Systemspeicher nicht mehr ausreicht, zum Herunterfahren der Maschine zwingt.

    Ansonsten:
    SET RESULT SETS for Return to CALLER

    TO CALLER

    Specifies that the cursor can return a result set to the caller of the
    procedure. For example, if the caller is a client application, the result set is
    returned to the client application.

    TO CLIENT
    Specifies that the cursor can return a result set to the client application.
    This cursor is invisible to any intermediate nested procedures. If a function
    or trigger called the procedure either directly or indirectly, result sets
    cannot be returned to the client and the cursor will be closed after the
    procedure finishes.
    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

  3. #15
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... das geht aber wieder erst ab V7, vorher gab es den Parameter nicht. Für den Heap bringt das was, ob das aber die Grenzen des Compilers aushebelt wäre noch zu verifizieren.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #16
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ich denke auch, dass hier SQL der Bremser ist und mit Teraspace nicht zurechtkommt.
    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

  5. #17
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Ich denke auch, dass hier SQL der Bremser ist und mit Teraspace nicht zurechtkommt.
    ... auf mich kann sich das "auch" nicht beziehen. Die RNF0376 bezieht sich auf die gesamte DS und besagt, dass kein Speicherelement (variablle, DS,... ) größer als 16773104 Byte sein kann und das steht in der V7 RPG Reference immer noch als restriction drin.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #18
    Registriert seit
    Jan 2006
    Beiträge
    112
    Moin,

    ich hab gerade den "return to caller" ausprobiert - leider kommt es hier zur gleichen Exception.

    Kann jemand das Beispielprogramm vielleicht bei sich testen (siehe Post #11)? So auf den 1. Blick sehe ich keinen "offensichtlichen" Fehler.

    Danke und Gruß
    BM

  7. #19
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Hallo,

    ich habe jetzt deine Sourcen 1:1 (bis auf die java connection) übernommen und getestet.
    Bei mir (7.2 & Java 8) funktioniert es einwandfrei.

    lg Andreas

  8. #20
    Registriert seit
    Jan 2006
    Beiträge
    112
    Hallo Andreas,

    vielen Dank für deine Bemühungen!! Stellt sich mir die Frage - wo liegt der Unterschied?

    An Release 7.1 & Java 6 wirds (hoffentlich) nicht liegen...

    Die Connection stelle ich wie folgt her:

    Code:
                AS400 as400Manager = new AS400("SYSTEM", "USER", "PASSWORT");
    
                AS400JDBCDriver JDBC_DRIVER = new AS400JDBCDriver();  --> jt400.jar Version 7.0
                DriverManager.registerDriver(JDBC_DRIVER);
    
                Properties prop = new Properties();
                prop.setProperty("prompt", "false");
                prop.setProperty("naming", "sql");
                prop.setProperty("errors", "full");
                prop.setProperty("date format", "eur");
                prop.setProperty("time format", "eur");
                prop.setProperty("package cache", "false");
                prop.setProperty("decimal separator", ".");
                prop.setProperty("blocksize", "512");
                prop.setProperty("translate binary", "true");
    
                Connection connection = JDBC_DRIVER.connect(as400Manager, prop, "DATEIEN", false);
    Die Compilesettings sind wie folgt:

    Code:
    Objekt . . . . . . . . . . . . . > SRL_TSTX6 
      Bibliothek . . . . . . . . . . >   PGM     
    Quellendatei . . . . . . . . . . > QRPGLESRC 
      Bibliothek . . . . . . . . . . >   PGMSRC  
    Quellenteildatei . . . . . . . .   *OBJ      
    Quellendatenstromdatei . . . . .             
                                                 
    COMMIT-Steuerung . . . . . . . .   *NONE     
    Relationale Datenbank  . . . . .   *LOCAL    
    Art der Kompilierung . . . . . .   *PGM      
    Listenausgabe  . . . . . . . . .   *PRINT    
    Text 'Beschreibung'  . . . . . .   *SRCMBRTXT
    
    Vorcompileroptionen  . . . . . .   *XREF     
         + für weitere Werte                     
    RPG-Vorprozessoroptionen . . . .   *NONE     
    Ziel-Release . . . . . . . . . .   *CURRENT  
    INCLUDE-Datei  . . . . . . . . .   *SRCFILE  
      Bibliothek . . . . . . . . . .     *LIBL   
    SQL INCLUDE-Verzeichnis  . . . .   *NONE     
                                                 
    Daten kopieren zulassen  . . . .   *OPTIMIZE 
    SQL-Cursor schließen . . . . . .   *ENDMOD   
    Blocken zulässig . . . . . . . .   *ALLREAD  
    PREPARE verzögern  . . . . . . .   *NO       
    Auflösung gleichzeit. Zugriff  .   *DFT      
    Bewertung  . . . . . . . . . . .   10        
    Datumsformat . . . . . . . . . .   *JOB      
    Trennzeichen für Datum . . . . .   *JOB      
    Zeitformat . . . . . . . . . . .   *HMS      
    Trennzeichen für Uhrzeit . . . .   *JOB      
    Ersetzen . . . . . . . . . . . .   *YES      
    RDB-Verbindungsmethode . . . . .   *DUW      
    Standarddatensammlung  . . . . .   *NONE     
    Dynam. Standarddatensammlung . .   *NO       
    Paket  . . . . . . . . . . . . .   *OBJ      
      Bibliothek . . . . . . . . . .     *OBJLIB 
    SQL-Pfad . . . . . . . . . . . .   *NAMING   
         + für weitere Werte                     
    SQL-Regeln . . . . . . . . . . .   *DB2      
    IBM SQL-Markierung . . . . . . .   *NOFLAG   
    ANS-Markierung . . . . . . . . .   *NONE     
     Druckdatei . . . . . . . . . . .   QSYSPRT   
       Bibliothek . . . . . . . . . .     *LIBL   
     Debugsicht . . . . . . . . . . .   *SOURCE   
     Debug-Verschlüssel.schlüssel . .   *NONE     
     Benutzerprofil . . . . . . . . .   *NAMING   
     Dynamisches Benutzerprofil . . .   *USER     
     Sortierfolge . . . . . . . . . .   *JOB      
       Bibliothek . . . . . . . . . .             
     Sprachen-ID  . . . . . . . . . .   *JOB      
     Quellenzieldatei . . . . . . . .   QSQLTEMP1 
       Bibliothek . . . . . . . . . .     QTEMP   
     Optionen für Dezimalergebnisse:              
       Maximale Genauigkeit . . . . .   31        
       Maximale Anzahl Kommastellen     31        
       Mindestzahl Kommastellen (Div)   0         
     DECFLOAT-Rundungsmodus . . . . .   *HALFEVEN 
     Compileroptionen . . . . . . . .   *NONE
    Magst Du diese vielleicht mal mit deinen Einstellungen verifizieren?

    Danke und Gruß
    BM

  9. #21
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Compile settings hab ich entsprechend deinen angeglichen, funktioniert aber trotzdem.
    JDBC Connection sieht bei mir anders aus:
    PHP-Code:
    Class.forName(property.getClassname()); // "com.ibm.as400.access.AS400JDBCDriver"
    conn DriverManager.getConnection(connectionString);
    // ConnString: jdbc:as400://host;database name=DB;user=USER;password=XXX;prompt=false;
    conn.setAutoCommit(true); 
    Funktioniert bei dir der Aufruf denn im Navigator?

  10. #22
    Registriert seit
    Jan 2006
    Beiträge
    112
    Hallo Andreas,

    hab's gerade im iSeriesNav ausprobiert:

    Code:
    > call pgm.srl_tstx6('100')
    
    Rückkehrcode = 0
    
    Anweisung wurde erfolgreich ausgeführt   (84 ms)
    Es wird aber keine Tabelle des Resultsets angezeigt:

    Click image for larger version. 

Name:	27.10.png 
Views:	17 
Size:	5,9 KB 
ID:	355

    Normalerweise würde die Ergebnismenge ja direkt unten neben den Nachrichten angefügt werden.

    Gruß
    Reiner

  11. #23
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Hi Reiner,

    sorry hatte ganz vergessen. War wohl gestern schon zu spät
    Ich hab beim CREATE PROCEDURE statt READS SQL DATA auf MODIFIES SQL DATA umändern müssen.
    Sonst Funktioniert das ganze nicht.

  12. #24
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Und: Ja ... normalerweise bekommst du das ResultSet im Navigator angezeigt.
    Problem ist, dass im PGM ein SQL-Error kommt, der aber nicht an den Aufrufer übergeben wird.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •