-
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
-
Mit VARPG gar nichts !
NULL-Felder werden nur ab ILE-RPG unterstützt.
Alternativ kannst du ja auch embedded SQL verwenden.
-
Hallo Peter,
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
-
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 ungltig. 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
-
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 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
-
SQL-Statement
Hallo Peter,
kannst Du mal dein SQL-Statement posten?
Dann sieht man vielleicht mehr!
Birgitta
-
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
-
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 ...
-
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 :-(
-
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
-
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).
-
Wenn du als DFTRDBCOL = OPUSDATA verwendest, kannst du die Lib bei allen Selects weglassen.
Similar Threads
-
By Kampi4 in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 25-11-05, 07:37
-
By GHoffmann in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 07-07-05, 09:18
-
By newcomer in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 30-05-05, 10:12
-
By Steven in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 29-01-03, 15:31
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks