-
embedded SQL: View mit NULL-Werten verarbeiten
Hallo in die Runde,
ich habe eine SQL VIEW, welche in einigen Feldern NULL-Werte enthält
Ich möchte diesen VIEW jetzt im RPG mit embedded SQL verarbeiten. Bei den Sätzen mit NULL-Werten kommt der SQLCOD -305 und es stehen keine Werte in der Datenstruktur.
Wie gehe ich in so einem Fall am besten vor? Alle (viele) Felder in der VIEW mit COALESCE umsetzen? Oder gibt's im RPG eine Möglichkeit (ctl-opt)? Oder gibt es noch eine andere Idee?
Das ist mein Programm:
ctl-opt option(*nodebugio:*nounref)
decedit('0.')
main(main);
dcl-s sqlstm char(100)
inz('SELECT * FROM webservice/web01view');
dcl-ds web01view ext inz qualified end-ds ;
dcl-proc main;
exec sql PREPARE prepSQL1 FROM :sqlstm;
exec sql DECLARE crsr1 CURSOR FOR prepSQL1;
exec sql OPEN crsr1;
dou 1 = 0;
exec sql FETCH NEXT FROM crsr1 INTO :WEB01VIEW;
if SQLCOD = 100;
leave;
else;
// Verarbeitung
ENDIF;
enddo;
end-proc;
Vielen Dank.
-
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Da du in eine DS fetchst, estelle eine 2. DS mit NULL-Flags:
D NULLDS DS
D NULLFLG I5 dim(50)
FETCH NEXT FROM crsr1 INTO : WEB01VIEW : NULLDS;
-
Code durch
dcl-ds nullds;
nullflg int(5) dim(50);
END-DS;
ergänzt. Und die FETCH-Anweisung durch :NULLDS ergänzt. Jetzt kann ich das Programm nicht umwandeln, weil NULLDS nicht definiert oder verwendbar ist. Habe ich Deine D-Bestimmungen falsch in FREE umgesetzt? Was passiert, wenn es mehr als 50 Sätze werden? Warum überhaupt DIM(50)?
-
Also: je Feld ist ggf. ein NULL-Flag erforderlich, bei Kannfeldern kann man NULL-Flags verwenden.
Da dein Fetch in eine DS geht, so ist ein Flag-Array erforderlich.
Insoweit war mein SQL ein wenig falsch, da ich nicht das Array sondern die DS angegeben habe.
Der Link zu dem Thema betrifft einen Multi-Row-Fetch, wo je Zeile ein Flag-Array erforderlich ist und in dem Fall benötigt man dann ein 2-dimensionales Array (1.Dim=Zeile, 2.Dim=Spalte).
Korrigiere deinen SQL in dem du nicht die NULLDS sondern NULLFLG als Array angibst.
Similar Threads
-
By tarkusch in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 26-07-17, 09:12
-
By cicero22 in forum IBM i Hauptforum
Antworten: 12
Letzter Beitrag: 03-09-14, 18:45
-
By Sigma in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 23-04-03, 13:48
-
By DiBagger in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 13-09-02, 12:41
-
By KB in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 18-05-01, 15:04
Tags for this Thread
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