[NEWSboard IBMi Forum]
Seite 1 von 3 1 2 ... Letzte
  1. #1
    Registriert seit
    Mar 2001
    Beiträge
    163

    Datenumsetzungsfehler bei READ

    Hallo *all

    ich habe ein Problerm mit VA-RPG und einer Tabelle auf der iSeries. Und zwar bekomme ich nach einem READ die Fehlermeldung CPF5035 - Datenzuordnungsfehler für jedes Feld das NULL enthält. Was kann ich tun um das abzufangen, und trotzdem den Datensatz zu lesen ?
    (Ich brauche die Felder die NULL enthalten nicht, möchte aber auch keinen VIEW erzeugen - Fremdsoftware)

    Danke vorab für alle Antworten

    Peter

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Mit VARPG gar nichts !
    NULL-Felder werden nur ab ILE-RPG unterstützt.

    Alternativ kannst du ja auch embedded SQL verwenden.
    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
    Mar 2002
    Beiträge
    5.287
    Hallo Peter,

    Zitat Zitat von Peter Kosel
    Hallo *all

    ich habe ein Problerm mit VA-RPG und einer Tabelle auf der iSeries. Und zwar bekomme ich nach einem READ die Fehlermeldung CPF5035 - Datenzuordnungsfehler für jedes Feld das NULL enthält. Was kann ich tun um das abzufangen, und trotzdem den Datensatz zu lesen ?
    (Ich brauche die Felder die NULL enthalten nicht, möchte aber auch keinen VIEW erzeugen - Fremdsoftware)

    Danke vorab für alle Antworten

    Peter
    ich verstehe diese View Scheu nicht ganz; solange da keine Constraints dranhängen kann das allenfalls beim Release Wechsel für diese Software stören.

    mfg

    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/

  4. #4
    Registriert seit
    Mar 2001
    Beiträge
    163
    Hallo nochmals zusammen,

    ich habe testweise nun doch einen View erstellt. Obendrein habe ich embedded SQL verwendet. Neues Problem bei der Umwandlung nun :

    RNV8526E Anweisung /EXEC SQL enthält Fehler: SQL0007N Das auf "" folgende Zeichen " " ist ungltig. SQLSTATE=42601

    Ist dieses ebenfalls ein Zeichenumsetzungsfehler des SQL-Prozessors ?

    So eine einfache Geschichte, aber ich komme nicht weiter.
    Muss ich das PGM wirklich auf den Server verlegen ?

    genervte Grüsse

    Peter

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Hallo Peter,

    1. Bei der Verwendung von embedded SQL brauchst Du eigentlich keine View; dann kannst Du die Felder einfach weglassen oder mit der SQL Funktion COALESCE die Nullvalues gegen Blanks tauschen:
    SELECT COALESCE(FeldMitNull, ' '),...... FROM HasteNichtGesehen...
    2. Was immer das Problem sein mag, es sollte hebbar sein; lediglich Deine Angaben sind etwas dürftig, um aus der Ferne was damit anfangen zu können. Da bräuchten wir schon den Code Ausschnitt, auf den sich der Fehler bezieht.

    mfg

    Dieter Bender

    Zitat Zitat von Peter Kosel
    Hallo nochmals zusammen,

    ich habe testweise nun doch einen View erstellt. Obendrein habe ich embedded SQL verwendet. Neues Problem bei der Umwandlung nun :

    RNV8526E Anweisung /EXEC SQL enthält Fehler: SQL0007N Das auf "" folgende Zeichen " " ist ung?ltig. SQLSTATE=42601

    Ist dieses ebenfalls ein Zeichenumsetzungsfehler des SQL-Prozessors ?

    So eine einfache Geschichte, aber ich komme nicht weiter.
    Muss ich das PGM wirklich auf den Server verlegen ?

    genervte Grüsse

    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/

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    2.873

    SQL-Statement

    Hallo Peter,

    kannst Du mal dein SQL-Statement posten?
    Dann sieht man vielleicht mehr!

    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

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

    du hast natürlich recht, deshalb hier nun ein Code-Ausschnitt :


    /END-FREE
    C/EXEC SQL
    C+ select * into :lsartcw1 from opusdata.lsartcw1
    C+ where arartnr = :kpartnr
    C+ and arvar = 0
    C/END-EXEC
    /FREE

    Ich habe auch noch die Umwandlungsliste beigefügt. Ich habe natürlich schon selbst gelesen, aber leider nichts entdecken können :-(

    Peter

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Meinst du nicht, dass zwischen "fr" und "om" ein paar zu viele Leerzeichen stehen ?

    Wenn das der Select auf die NULL-Felddatei ist, wirst du zur Laufzeit wieder das gleiche Problem haben.
    Du must noch Indicatoren angeben um NULL-Felder zu erhalten !

    d IndArr 5I 0 dim(nn)

    select * into :lsartcw1 :IndArr ...
    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

  9. #9
    Registriert seit
    Mar 2001
    Beiträge
    163
    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 :-(

  10. #10
    Registriert seit
    Aug 2001
    Beiträge
    2.873

    Namenskonventionen

    Hallo Peter,

    ich denke es liegt daran, dass Du die SQL-Namenskonventionen verwendest.

    Um ganz sicher zu gehen, dass die SQL-Namenskonventionen verwendet werden, füge das folgende Statement in deine Quelle ein:

    C/EXEC SQL Set Option Naming = *SQL
    C/END-EXEC

    Oder versuche es mit der System-Schreibweise Bibliothek/Datei.

    Am besten wäre allerdings, wenn Du die Bibliothek ganz weglassen könntest.

    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

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Das glaube ich nicht !!!

    Der Preprozessor verfälscht die Statements nicht sondern setzt nur Kommentare davor und generiert einen CALL-Aufruf.
    Schau doch mal in die Original-Quelle.

    PS: Für Dateizugriffe im ILE mit Nullfeldern gibt es noch die Umwandlungsoption ALWNULL(*YES) bzw. in den H-Bestimmungen ALWNULL(*USRCTL).
    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

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Wenn du als DFTRDBCOL = OPUSDATA verwendest, kannst du die Lib bei allen Selects weglassen.
    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

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
  •