-
Leg eine View an, mit allen Spalten außer der Identity Column.
Definiere den Satz als externe Datenstruktur, fülle die entsprechenden Felder und mach dann den insert gegen die View.
Birgitta
-
Danke Birgitta. Das ist zwar eine gute Idee (muss ich mir merken), aber in diesem Fall möchte ich das lieber nicht machen. Dann hätte ich 2 Stellen, an denen ich bei einer Dateierweiterung Änderungen vornehmen muss. Ich suche eine Lösung, bei der ich den einmal deklarierten Datensatz in die Datei schreiben kann.
Ich hatte gehofft, dass es bei der Definition der Tabelle noch irgendeine Möglichkeit gibt, die dafür sorgt, dass bei Insert immer eine Record-ID automatisch vergeben wird, egal was in der übergebenen Struktur steht. (Bitte jetzt keinen Trigger vorschlagen :-) )
Ich werde die Tabelle dann wohl auf "manuell" zu vergebende Record-ID umstellen.
Vielen Dank.
Dieter
-
... das müsste eigentlich auch mit Nullbyte map gehen
D*B
-
Kann ich die Nullbyte map denn zu einem Bestandteil der Datenstruktur machen? Oder wie sollte man das deklarieren?
Dieter
-
... das sind dann zwei Bestandteile ohne komma dazwischen
insert into ... values(:record :nullb)
D*B
-
Eine Array, also dim(nn) in der Anzahl Felder der DS:
exec sql insert into siszakop values :ZAKOPSatz :ZNullArray;
Das richtige Feld dann mit "-1" als NULL definieren.
-
Welchen Datentyp muss das Array denn haben? Ich dachte, so ein Nullbyte Array bestände aus Indikatoren.
Ein weiteres Problem ist, dass ich die Dimension des Arrays ja zur Compilezeit festlegen muss. Das heißt, beim Hinzufügen eines Feldes in die Dateistruktur ist es mit dem Durchwandeln des Programms nicht getan. Oder darf das Array mehr Elemente beinhalten als Felder in der Datei stehen? Dann könnte man es ja relativ groß machen.
Vielen Dank.
-
Letzteres ist korrekt.
D MyNullArr 5I 0 dim(512)
-
Vielen Dank für die Hilfe!
Dieter
-
Ich habe es ausprobiert. Fubktioniert leider doch nicht. Ich bekomme das Programm kompiliert, aber beim Schreiben in die Datei gibt es Datenzuordnungsfehler und einen SQL-Fehler:
callnew sis99zk01
Datenzuordnungsfehler in Teildatei SISZAKOP.
Datenzuordnungsfehler in Teildatei SISZAKOP.
Datenzuordnungsfehler in Teildatei SISZAKOP.
Nullwerte für Spalte oder Variable ZK_REC_ID nicht zulässig.
Unerwarteter SQLCOD: -407 in Routine SIS99ZKF01.
Anscheinend ist NULL doch noch etwas mehr als wenn man das Feld beim insert ganz weglässt.
Das Feld ist definiert als:
zk_rec_id decimal(15) generated by default as identity,
Dieter
-
Hi zusammen,
war da nicht was mit
PHP-Code:
overriding system value oder
overriding user value
gruß
Michael
-
@Michael:
Klasse! Funktioniert super:
Code:
exec sql insert into siszakop overriding user value values :ZAKOPSatz;
Genau so etwas habe ich gesucht. Auf das Nullmap Array kann man dann verzichten.
Vielen Dank.
Dieter
Similar Threads
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 40
Letzter Beitrag: 03-11-14, 09:15
-
By Karlchen50 in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 20-08-14, 14:14
-
By JonnyRico in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 02-04-03, 15:52
-
By Michael@Paff.de in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 28-04-02, 08:42
-
By Carsten in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 22-01-02, 08:15
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