[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Apr 2002
    Beiträge
    792

    SQL? Wieso "Datenumsetzung bei Fetch erforderlich"

    Hi,

    mal eine kurze Frage. Ich hole aus einer PF mit SQL ein paar Daten

    PHP-Code:
    D $FLD            S              7S 0 
    .
    .
    .
    CFetch Next From MyCur Into :$FLD :$AnzFLD
    .

    Das Feld ist in der PF definitiv 7 Zoned 0. Wenn ich jetzt den Cursor öffne und die Daten per Fetch holen will. Bekomme ich im Joblog die Meldung. Datenumsetzung erforderlich Ursache 2. Die Meldung sagt mir also das die nummerischen Werte nicht übereinstimmen. Kann mir jemand vielleicht sagen wie SQL denn bitte darauf kommt?? Bin über jeden Tip dankbar.

    Gruß

    Sascha

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Das liegt leider an dem RPG-Compiler.
    Der hält Zoned nicht immer für Optimal und verwendet für Single-Fields dann halt gepackt.
    Stelle das Feld in eine DS, dann darf der Compiler den Typ nicht ändern.
    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
    Apr 2002
    Beiträge
    792
    Hey super. Danke Baldur. Was fällt den Compiler nur ein an meinen Felder rum zu drehen

    Gruß

    Sascha

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Tja, auch der Compiler kann optimieren.
    Irgendwo kann man auch ein *NOOPTIMIZE angeben, aber ich weiß nicht mehr wo.
    Schließlich weiß der Compiler ja, welche Variablen schneller sind.
    Allerdings bei DSP/PRT-Filefeldern sind diese IMMER zoned ausser man definiert diese Felder wiederum eigenständig als gepackt in (externen) DS'n.
    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. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    hier handelt es sich wohl weniger um optimieren, als um Altersstarrsinn, das Ding ist an mehreren Stellen auf dem Stand von ca. 1870 stehen geblieben:
    - kann variablen Scope von Variablen nicht korrekt einordnen
    - kann input Variablen von Prozeduren und Programmen nicht korrekt verarbeiten
    - kann etliche Datentypen nur ungefähr abbilden
    - verträgt nicht alle Variablennamen
    Da sind etliche Workarounds angebracht, um diesem auszuweichen, einer davon ist der in diesem Thread erwähnte, nämlich Variablen in einer (globalen) Datenstruktur deklarieren.

    mfg

    Dieter Bender

    Zitat Zitat von Fuerchau
    Tja, auch der Compiler kann optimieren.
    Irgendwo kann man auch ein *NOOPTIMIZE angeben, aber ich weiß nicht mehr wo.
    Schließlich weiß der Compiler ja, welche Variablen schneller sind.
    Allerdings bei DSP/PRT-Filefeldern sind diese IMMER zoned ausser man definiert diese Felder wiederum eigenständig als gepackt in (externen) DS'n.
    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. #6
    Registriert seit
    Apr 2002
    Beiträge
    792
    Moin,

    eine Frage hätte ich da noch. Bei einem Feld klappt es einfach nicht. Ich habe es in eine DS gestellt und wird vom Compiler auch nicht geändert. Es ist vom Typ 14S 3 . Ich habe im SQL ein berechnetes Feld, dass ich mit DEC(Meine Berechnung, 14, 3) doch eigentlich richtig "caste" oder? Leider bekomme ich auch hier einen Fehler 2 beim Fetch
    Habt ihr vielleicht noch einen Tip?

    Gruß

    Sascha

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Tja, Sascha, "S" = Zoned, dec(...) = Packed, alles klar ?
    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

  8. #8
    Registriert seit
    Apr 2002
    Beiträge
    792
    Zitat Zitat von Fuerchau
    Tja, Sascha, "S" = Zoned, dec(...) = Packed, alles klar ?
    Okay danke,
    jetzt ist's klar

    Gruß

    Sascha

Similar Threads

  1. Brauche Hilfe zu FETCH xxx USING DESCRIPTOR
    By AndreasH in forum IBM i Hauptforum
    Antworten: 13
    Letzter Beitrag: 08-05-15, 13:09
  2. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  3. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

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