[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Nov 2005
    Beiträge
    59
    Moin, moin,

    den (Fehler)hinweis gabs schon immer; hatte aber keine negativen Auswirkungen.

    Ich werde die Programme ändern und dann kurzes Statement geben.

    Danke für den Hinweis!

    Andreas

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.722
    Vielleicht gibts da ja eine Option zum automatischen abschneiden (kenne ich allerdings nicht).
    Die andere Variante ist ggf. die, dass das Abschneiden von Leerzeichen ja nur als Warnung ausgegeben wird, da dies unkritisch ist (außer bei VARLEN-Feldern).
    Aber vielleicht ist die nun zu speichernde Information nun auch nach dem Abschneiden der Leerzeichen immer noch zu lang.
    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. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.933
    Mich würde trotz allem der SQLCODE nach dem Update interessieren. Dann könnte man genaueres zu der Ursache sagen.

    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

  4. #4
    Registriert seit
    Jul 2011
    Beiträge
    14
    leerzeichen abschneiden sollte kein problem sein und auch keine fehlermeldung hervorrufen.
    Die Fehlermeldung klingt eher als wäre der tatsächliche Inhalt zu lang!
    Das Update wird dann auch nicht ausgeführt

    eine lösung:
    Code:
    dfname = substr (:p0ktbz, 1, length (dfname))
    commit sollte natürlich auf *NONE sein

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.722
    Das mit dem commit hätte ich nicht erwähnt. Dies liegt in der Art der Anwendung ob Commit=*none oder commit <> *none nötig ist.

    PS:
    Und sich auf die Art der Fehlerbehandlung zu verlassen, dass diese mit dem nächsten Release auch noch gilt, ist sträflicher Leichtsinn.
    Hättest du dich bei V6 (oder früher) schon darum gekümmert hättest du die Probleme jetzt nicht .
    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. #6
    Registriert seit
    Nov 2005
    Beiträge
    59

    GELÖST

    Moin, moin,

    so vielen Dank für die vielen Antworten, Anregungen und erhobenen Zeigefinger.

    Das Problem ist mit der Beseitung des Feldlängenfehlers behoben.

    Der SQLCOD war -404

    Ich/wir geloben Besserung bei Achtung von Warnhinweisen.

    Nochmals Danke an alle.

    Andreas

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    2.933
    Hallo Andreas,

    nur zur Information:
    1. SQLCODE -404 = Wert für Spalte oder Variable &1 zu lang.
    Den Fehlertext kann man relativ leicht in der Message-Datei QSQLMSG nachschauen. SQLCODE -404 --> Message Id SQL404. Die variablen Message-Texte (&1) werden im Feld SQLER3 ausgegeben.
    2. Seit Release V5R3 kann der Message-Text auch relativ einfach im RPG-Programm ermittelt werden:
    Code:
      EXEC SQL ..... ;
      If SQLCODE < *Zeros;   //Fehler
         Exec SQL  Get Diagnostics Condition 1 :MsgText = MESSAGE_TEXT;
          //Anzeige / Verarbeitung 
      EndIf;
    ... auf alle Fälle sollte der SQLCODE IMMER nach einem SQL-Statement geprüft 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

  8. #8
    Registriert seit
    Mar 2002
    Beiträge
    5.377
    ... das ging aber vorher auch schon schief, dass in 20 Byte keine 50 reinpassen hat sich doch mit dem Release nicht geändert und da kam auch derselbe SQL-Köter zurück und hat den Programmierer gebissen...
    D*B

    Zitat Zitat von lucullus Beitrag anzeigen
    Moin, moin,

    so vielen Dank für die vielen Antworten, Anregungen und erhobenen Zeigefinger.

    Das Problem ist mit der Beseitung des Feldlängenfehlers behoben.

    Der SQLCOD war -404

    Ich/wir geloben Besserung bei Achtung von Warnhinweisen.

    Nochmals Danke an alle.

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

  9. #9
    Registriert seit
    Aug 2001
    Beiträge
    2.933
    Zitat Zitat von BenderD Beitrag anzeigen
    ... das ging aber vorher auch schon schief, dass in 20 Byte keine 50 reinpassen hat sich doch mit dem Release nicht geändert und da kam auch derselbe SQL-Köter zurück und hat den Programmierer gebissen...
    D*B
    ... unsauber war es allemal!
    Aber IBM hat in den letzten Releasen bei einigen Unsauberkeiten, die vorher toleriert bzw. nicht geprüft wurden, das Error Level angehoben, d.h. anstatt einer Warnung (positiver SQLCODE) wird ein Fehler ausgegeben.

    Beispiel: Lokale Definition von Host Variablen. Unter Release V5R2 konnte die gleiche Variable in problemlos mehreren Prozeduren lokal definiert und in SQL-Statements verwendet werden. Mit Release V5R3 wurde in solchen Situationen bei der Compilierung Error Level 30 ausgegeben.

    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
    Feb 2001
    Beiträge
    20.722
    Speziell zu letzterem haben es sich die SQL-Precompilerentwickler zu einfach gemacht, denn lokale Variablen sind nun mal lokal und werden durch die SQL-Auflösung, also die generierten RPG-Anweisungen, nicht global.
    Statt also den Errorlevel anzuheben hätten die sich eher Gedanken über die Erkennung von globalen und lokalen Variablen machen müssen.
    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

  11. #11
    Registriert seit
    Aug 2001
    Beiträge
    2.933
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Speziell zu letzterem haben es sich die SQL-Precompilerentwickler zu einfach gemacht, denn lokale Variablen sind nun mal lokal und werden durch die SQL-Auflösung, also die generierten RPG-Anweisungen, nicht global.
    Statt also den Errorlevel anzuheben hätten die sich eher Gedanken über die Erkennung von globalen und lokalen Variablen machen müssen.
    Ist ja inzwischen behoben!
    In V5R4 konnten gleiche Variablen (gleiche Definition) bereits problemlos lokal definiert und verwendet werden. Nur mit abweichender Definition (z.B. LocText als 256A varying und LocText als 50C) gab es Probleme.
    Seit Release 6.1 können lokale Variablen auch abweichend definiert werden und in embedded SQL verwendet werden.

    ... übrigens die Antwort, die ich damals von IBM erhalten habe war, dass durchaus dokumentiert war, dass eine Host-Variable nur einmalig innerhalb einer Quelle definiert werden sollte (was auch stimmte!). IBM hatte es jedoch vor V5R3 nicht geprüft und die erste Definition genommen, die sie gefunden hatten.

    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

  12. #12
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    @Birgitta: Wie immer sehr kompetent und vor allem informativ!
    Man merkt, dass du einen guten und direkt Draht zur IBM hast
    Deine insider Infos sind eine gute Ergänzung zum Infocenter

    lg Andreas

Similar Threads

  1. SQL Update aus zwei Dateien mit 3 Schlüsselfeldern
    By mk in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 13-07-12, 08:53
  2. ODBC update
    By synus in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 06-10-06, 15:38
  3. Update Syntax SQL
    By wuwu in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 18-07-06, 15:31
  4. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43
  5. Update via ODBC
    By mdhl in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 18-05-06, 13:27

Berechtigungen

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