-
RPG SQL Insert VALUES(Datenstruktur)
Hallo
Info: Betriebssystem V7R2.
in einem RPG (SQLRPG) Programm soll ein SQL INSERT in eine Datenstruktur erfolgen.
Die DS enthält ein NULL-Feld
*--> Datenstrucktur der GVKP
D ds_gvkp E DS EXTNAME(gvkp)
D AnzeigerV S 5I 0 DIM(22)
D TrCodNull S 5I 0
D NULL S 5I 0 Inz(-1)
Der Insert in die DS funktioniert leider nicht.
EXEC SQL
INSERT INTO GVKP VALUES(:ds_gvkp :AnzeigerV);
Der INSERT mittels einzelner Values funktioniert.
EXEC SQL
INSERT INTO GVKP VALUES(:gvseqid,
....
NULL,
:gvdatum)
Funktioniert es grundsätzlich nicht bei einem NULL-Feld in der DS, oder mache ich da etwas verkehrt oder fehlt irgendein Parameter.
Danke voraus
viele Grüße
Jürgen
-
So genau gibt das das Handbuch nicht her, aber um konform mit MultipleRow-Insert zu bleiben, ist ggf. das NULL-Array in einer DS anzugeben und die DS als NULL-Anzeiger.
D AnzeigerDS DS
D AnzeigerV 5I 0 dim(22)
INSERT INTO GVKP VALUES(: ds_gvkp : AnzeigerDS);
Bei mehreren Zeilen wird nämlich auf beiden DS nur die Dimension gesetzt.
Empfehlenswert ist dieses Vorgehen nicht, da man ja die NULL-Anzeiger abzählen muss.
Die Einzelbenennung ist auf jeden Fall sicherer.
-
Hallo
vielen Dank für die schnelle Antwort.
Wenn das 22. Feld NULL enthalten soll, was muss in AnzeigerV(22) reingeschrieben werden?
Der Inhalt aus der Variable NULL (wie oben definiert mit -1) ?
Viele Grüße
Jürgen
-
Das ist korrket:
0 = Wert ist nicht NULL
-1 = Wert ist NULL
Zu beachten ist, dass du alle NULL-Anzeiger setzen musst.
-
Hallo an *Alle
INFO zur Lösung:
INSERT INTO GVKP VALUES(: ds_gvkp : AnzeigerDS);
die Anweisung hat leider nicht funktioniert.
Funktioniert hat es dann mit dieser Definition
*--> Anzeiger Variable (indicator) zur GVKP
D AnzeigerV S 5I 0 DIM(22) INZ(*ZEROS)
*--> Null Value
D NULL S 5I 0 Inz(-1)
Dann das NULL-Feld (Nummer 21) mit NULL definierien.
AnzeigerV(21) = NULL;
EXEC SQL
INSERT INTO GVKP VALUES(:ds_gvkp :AnzeigerV);
viele Grüße
Jürgen
-
Nun, ich bin halt nicht davon ausgegangen, dass du die Nullanzeiger nicht initialisierst!
Manchmal ist das Fehlen von Code schwer ersichtlich.
Ich habe mir z.B. angewöhnt, jede DS und Single-Variable mit INZ zu initialisieren.
INZ reicht im Übrigen, da der typspezifische Default verwendet wird.
-
Zitat von ASFOURI
Hallo an *Alle
INFO zur Lösung:
INSERT INTO GVKP VALUES(: ds_gvkp : AnzeigerDS);
die Anweisung hat leider nicht funktioniert.
Funktioniert hat es dann mit dieser Definition
*--> Anzeiger Variable (indicator) zur GVKP
D AnzeigerV S 5I 0 DIM(22) INZ(*ZEROS)
*--> Null Value
D NULL S 5I 0 Inz(-1)
Dann das NULL-Feld (Nummer 21) mit NULL definierien.
AnzeigerV(21) = NULL;
EXEC SQL
INSERT INTO GVKP VALUES(:ds_gvkp :AnzeigerV);
viele Grüße
Jürgen
... seltsam, seltsam das INZ sollte eigentlich nur in einer DS erforderlich sein, da diese sonst als char behandelt und mit blank initialisiert wird. (Die reference garantiert das zumindest für static (= global) Felder, scheint aber auch für automatic storage (locale Variablen) ohne INZ auf die Felddefaults, in diesem Fall 0, zu funzen.
D*B
-
Hallo
vielen Dank für eure Info und Hilfe.
"INZ wird nun ein wichtiger Bestandteil zukünftiger Definitionen werden".
viele Grüße
Jürgen
Similar Threads
-
By camouflage in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 18-08-15, 14:10
-
By teh in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 18-11-14, 16:08
-
By MGJ79 in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 24-04-14, 10:00
-
By tarkusch in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 24-01-14, 16:51
-
By XMan in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 08-01-14, 18:51
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