[NEWSboard IBMi Forum]
Seite 2 von 3 Erste 1 2 3 Letzte
  1. #13
    Registriert seit
    Mar 2001
    Beiträge
    163
    Zitat Zitat von Fuerchau
    Wenn du als DFTRDBCOL = OPUSDATA verwendest, kannst du die Lib bei allen Selects weglassen.
    Hallo Fürchau,
    vielen Dank für die schnellen Hinweise (natürlich auch an Birgitta und Dieter) DFTRDBCOL ist das eine SET-Option innerhal SQL?
    Ich kenne das nicht.

    Gruss
    Peter

  2. #14
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Genau: set option DFTRDBCOL = MYLIB
    Bzw. bei der Umwandlung kann es auch angegeben werden.
    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 2001
    Beiträge
    163
    Hallo zusammen,

    Wenn ich SET OPTION DFTRDBCOL = 'OPUSDATA' eingebe, bekomme ich gleich wieder eine Fehlermeldung und zwar :

    RNV8526E Anweisung /EXEC SQL enthält Fehler: SQL0104N Auf "" folgte das unerwartete Token "DFTRDBCOL". Zu den m”glichen Token geh”ren: "DATSEP TIMSEP". SQLSTATE=42601

    Peter

  4. #16
    Joe is offline [professional_User]
    Registriert seit
    Mar 2001
    Beiträge
    365
    Hallo Peter.

    Dein ursprünglich geplanter READ sollte funktionieren
    mit ALWNULL in den Compileroptionen.

    Gruss Joe

  5. #17
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    In folgendem Link ist die Beschreibung:
    http://publib.boulder.ibm.com/iserie...mstsoption.htm

    Hast du vielleicht noch OS V4R5 im Einsatz ?
    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

  6. #18
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo Peter,

    ich dachte ja bisher immer der SQL PreCompiler von ILE RPG wär besch...
    (gerade noch die Kurve gekriegt), aber im Vergleich zu VARPG ist der ja Spitze, so einen Murks wie diese Umwandlungsliste, 40 Jahre nach Erfindung der Lochkarte hätte ich nicht für möglich gehlaten.

    Zur Ursachenforschung:
    die Blanks zwischen fr und om scheinen mir das nicht zu sein, dieser Fehler des PreCompilers scheint ihn nicht zu stören.

    Naming Conventions sind es auch nicht, das wäre dann immer falsch und ließe auch eine andere Fehlermeldung erwarten.

    Die Null Values sollten eigentlich erst zur Laufzeit aufschlagen und nicht beim Compile, lässt sich ausschließen mit SELECT COALESCE(Feld1, ' ') etc. from etc.

    Mir ist noch ein Bug in der Liste aufgefallen: die SQLCA ist irgendwie verhexelt mit der lsartcw1, der Datenstruktur, in die gelesen werden soll. Lässt sich ausschließen mit einem hochziehen der Deklaration.

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

  7. #19
    Registriert seit
    Mar 2001
    Beiträge
    163
    Hallo Dieter,

    diese Versuche habe ich auch schon unternommen. Deklaration an eine andere Stelle ziehen, SQL-Statement an eine andere Stelle ziehen, alles bislang vergeblich...

    Peter

  8. #20
    Registriert seit
    Jan 2001
    Beiträge
    850

    Question

    Hallo Peter,

    auch wenn ich mich outen sollte,
    aber bisher habe ich bei SQLRPGLE
    immer nur die variante

    select * from LIB/Datei etc....
    fetch etc..
    benutzt.

    Was bedeutet denn Select * into:variable

    Geht sowas denn überhaput ?

    gruss Michael

    Zitat Zitat von Peter Kosel
    Hallo Fürchau,
    diese Lücke baut der SQL-Preprozessor in die Umwandlungsliste ein. Das kannst Du an den anderen SQL-Stmts sehen. Das scheint (scheint) nicht das Problem zu sein.

    Gruss
    Peter

    PS.Das mit den Idikatoren und den NULL-Werten hatte ich irgendwie schon wieder vergessen :-(

  9. #21
    Registriert seit
    Aug 2001
    Beiträge
    2.928

    Select * into

    Hallo Michael,

    ein select ... into kannst Du dann verwenden, wenn sicher ist, dass du genau einen Ergebnis-Satz erhälst.
    Liefert das Select-Statement mehr als einen Satz, wird der erste Satz in die Ausgabe-Felder übernommen und der SQLCOD auf -811 gesetzt.

    Der Select ... into beinhaltet also Declare, Open, Fetch und Close.
    So kann z.B. die nächste laufende Nr. in einem einzigen SQL-Statement ermittelt werden.

    PHP-Code:
    C/EXEC SQL                                       
    C
    Select Coalesce(Max(LfdBeh) + 11)                         
    C+    into :LfdNr
    C
    +    from MyFile                               
    C
    +         where     Firma     = :ParmFirma            
    C
    +               and Sendung   = :ParmSendung             
    C
    /END-EXEC 
    Alternativ kann man auch ein Set-Statement verwenden:
    Werden mehrere Sätze zurückgegeben, gilt das gleiche wie beim Select ... into
    PHP-Code:
    C/EXEC SQL 
    C
    Set  :LfdNr Select Coalesce(Max(LfdBeh) + 11
    C+                 from MyFile                               
    C
    +                 where    Firma     = :ParmFirma     
    C
    +                      and Sendung   = :ParmSendung 
    C
    /END-EXEC 
    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. #22
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo Peter,

    bevor ich VA RPG von der Platte löschen würde (verdient wär's ja), würde ich nochmal versuchen die Datenstruktur anders als die Datei zu benennen, von wegen der Pferde und der Apotheke...

    mfg

    Dieter Bender

    Zitat Zitat von Peter Kosel
    Hallo Dieter,

    diese Versuche habe ich auch schon unternommen. Deklaration an eine andere Stelle ziehen, SQL-Statement an eine andere Stelle ziehen, alles bislang vergeblich...

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

  11. #23
    Registriert seit
    Mar 2001
    Beiträge
    163
    @Dieter,

    ich weiss, das Du ein ausgesprochener Fan von Java bist. Mir dagegen sträuben sich die Nackenhaare wenn ich an das langsame Java denke. Ich bekomme schon eine Gänsehaut wenn ich an die Performance eines iSeries Navigators denke oder die Steuerzentrale von DB2 oder Eclipse oder oder...

    Meckern hilft mir da im moment nicht weiter, und plattformunabhängig muss ich auch nicht sein. Es sollte halt quick and dirty sein.

    Nun ja, ich werde entweder nun ein normales Read verwenden mit den Möglichkeiten Datenumsetzungsfehler zu vermeiden, oder das ganze doch auf die iSeries verschieben. Dort würde ich übrigens niemals Java machen (Momentan).

    Nichts für ungut, und vor allem vielen Dank für die zahl- und hilfreiche Unterstützung.

    Peter

  12. #24
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo Peter,

    nur zur Info: ich bin beruflich völlig emotionslos und damit weder Fan von irgendwas, noch Hasser von irgendwas, was mich zuweilen für den ein oder anderen suspekt macht.
    Was mich immer stört sind schlecht gemachte Programme, egal ob Anwendungen, Entwicklungsumgebungen, Ablaufumgebungen oder eben auch Compiler und da stören mich zum Beispiel Ooops Nerv (man schaue sich Linoma Surveyor an), WebsFear Admin Console, WDSC (Eclipse selber ist eigentlich nicht schlecht) und über das Listing des SQL Pre Compilers war ich schnöderweise entsetzt (nicht über Dein Programm, sonder das was der daraus macht) und ich würde hier dringend empfehlen dieses Produkt (VARPG) zu reklamieren und Fehlerbehebung zu verlangen.
    Gegen Deinen Ansatz das so zu machen ist überhaupt nichts einzuwenden und das muss auch gehen ohne jede Klimmzüge. Und ich denke das bekommen wir hin. Um es konkret zu machen versuche bitte folgendes:

    DLSARTCW1 E DS EXTNAME(LSARTCW1)
    ändern in
    DLSARTCW1R E DS EXTNAME(LSARTCW1)

    C/EXEC SQL C+ select * into :lsartcw1 fr om opusdata.lsartcw1 C+ where arartnr = :kpartnr C+ and arvar = 0 C/END-EXEC ändern in:
    C/EXEC SQL C+ select *
    C+ into :lsartcw1r
    C+ from opusdata.lsartcw1
    C+ where arartnr = :kpartnr C+ and arvar = 0 C/END-EXEC

    dabei bitte nochmal verifizieren, dass alle leer aussehenden Felder
    tatsächlich alle Blank enthalten

    Falls das nicht funzt, poste bitte nochmal die neue Umwandlungsliste

    mfg

    Dieter Bender

    Zitat Zitat von Peter Kosel
    @Dieter,

    ich weiss, das Du ein ausgesprochener Fan von Java bist. Mir dagegen sträuben sich die Nackenhaare wenn ich an das langsame Java denke. Ich bekomme schon eine Gänsehaut wenn ich an die Performance eines iSeries Navigators denke oder die Steuerzentrale von DB2 oder Eclipse oder oder...

    Meckern hilft mir da im moment nicht weiter, und plattformunabhängig muss ich auch nicht sein. Es sollte halt quick and dirty sein.

    Nun ja, ich werde entweder nun ein normales Read verwenden mit den Möglichkeiten Datenumsetzungsfehler zu vermeiden, oder das ganze doch auf die iSeries verschieben. Dort würde ich übrigens niemals Java machen (Momentan).

    Nichts für ungut, und vor allem vielen Dank für die zahl- und hilfreiche Unterstützung.

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

Similar Threads

  1. Zugriff auf Serielle Schnittstelle aus RPG/VARPG
    By Kampi4 in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 25-11-05, 07:37
  2. Erstellen Trigger über SQL / Read Funktion
    By GHoffmann in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 07-07-05, 09:18
  3. update or delete without prior READ or CHAIN
    By newcomer in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 30-05-05, 10:12
  4. Fehler beim READ
    By Steven in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 29-01-03, 15:31
  5. VA RPG Read anweisung schlägt fehl
    By Peter Kosel in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 18-10-01, 12:49

Berechtigungen

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