[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2002
    Beiträge
    792

    Embedded SQL in NoMain-Modulen nicht zulässig?

    Hi,

    kann es sein das ich Embedded SQL in NoMain Modulen nicht verwenden kann? Der Compiler steigt an der Stelle jedenfalls aus ;o(

    Gruß

    Sascha

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Hallo Sascha,

    der PreCompiler ist halt Steinzeit, der empfindlich auf Nichtglobales reagiert und wohl vermutlich Deklarationen in C Lochkarten ablocht. Ich mache da folgendes:
    kein Nomain in H ablochen, als Modul umwandeln und ganz normal ein Serviceprogramm erstellen - und um mir alle Diskussionen mit dem maroden Compiler zu sparen mache ich ein SET OPTION im globalen Teil (der nie ausgeführt wird) und verlege auch die Cursor Deklarationen dahin.

    mfg

    Dieter Bender

    Zitat Zitat von JonnyRico
    Hi,

    kann es sein das ich Embedded SQL in NoMain Modulen nicht verwenden kann? Der Compiler steigt an der Stelle jedenfalls aus ;o(

    Gruß

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

  3. #3
    Registriert seit
    Dec 2003
    Beiträge
    106
    ....ach wie schön wäre ein RPG Befehl wie:
    %sql('select * from .....');


    sim

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Zitat Zitat von JonnyRico
    Hi,

    kann es sein das ich Embedded SQL in NoMain Modulen nicht verwenden kann? Der Compiler steigt an der Stelle jedenfalls aus ;o(

    Gruß

    Sascha
    Hallo Sascha,

    Embedded SQL kann in NoMain Modulen verwendet werden. Wird nutzen dies intensiv.

    Es wäre wichtig zu wissen wer aussteigt, der PreCompiler oder der RPG Compiler. Weiterhin ware es interessant die genaue Fehlermeldung oder das SQL-Statement zu sehen, das Anstoss erregt.

    Mit lokalen Variablen hatte ich bisher auch noch nie Probleme.

    Allerdings sollte man darauf achten, dass Cursor-Namen, innerhalb eines Modules eindeutig sind. Werden lokale Variablen in mehreren Prozeduren mit dem gleichen Namen definiert, sollte auch die Definition (Feldtyp / Länge) identisch sein. Ansonsten eindeutige Namen verwenden.

    Grund dafür ist, dass der Precompiler für die API-Aufrufe eigene Felder generiert und bei gleichen Namen mit unterschiedlicher Definition ins Schleudern kommt. Die Original-Host-Variablen werden in diese Felder umgeladen.

    Ein Problem gibt es allerdings in NoMain Prozeduren:
    Wenn keine F oder globalen D-Bestimmungen vorhanden sind, bzw. über /INCLUDE für den Precompiler ausgeblendet werden, wird die SQLCA nicht in die Quelle kopiert. In diesem Fall hilft die Definition eines Dummy-Feldes in den globalen Definitions-Bestimmungen.

    Weiterhin ist es nicht möglich, Felder, die im Procedure Interface der jeweiligen Prozedur definiert wurden im embedded SQL zu verwenden. Dafür müssen zusätzliche Variablen definiert werden.

    Birgitta
    Birgitta Hauser

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

  5. #5
    Registriert seit
    Apr 2002
    Beiträge
    792
    Hi,

    danke für eure Tips. Der PreCompiler lief durch. Es war ein Problem im RPG-Compiler. Die Meldung war irgendwas mit "...in NoMain nicht zugelassen".
    Ich hab's jetzt aber gerade noch einmal probiert und nun klappt es auf einmal. Vielleicht hab ich heute morgen einfach was übersehen oder war noch nicht ganz wach. Trotzdem euch allen vielen Dank.

    Gruß

    Sascha

  6. #6
    Registriert seit
    Apr 2002
    Beiträge
    792
    Hi,

    danke für eure Tips. Der PreCompiler lief durch. Es war ein Problem im RPG-Compiler. Die Meldung war irgendwas mit "...in NoMain nicht zugelassen".
    Ich hab's jetzt aber gerade noch einmal probiert und nun klappt es auf einmal. Vielleicht hab ich heute morgen einfach was übersehen oder war noch nicht ganz wach. Trotzdem euch allen vielen Dank.

    Gruß

    Sascha

Similar Threads

  1. Embedded SQL in VARPG
    By Squall in forum NEWSboard Programmierung
    Antworten: 23
    Letzter Beitrag: 18-10-06, 12:01
  2. embedded SQL in RPG
    By muadeep in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 03-08-06, 13:25
  3. RPG mit Embedded SQL, JOIN ..
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 18-06-06, 12:14
  4. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43
  5. Character verbinden in Embedded SQL
    By e_sichert in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 03-05-06, 10:47

Berechtigungen

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