-
 Zitat von Fuerchau
Wenn du als DFTRDBCOL = OPUSDATA verwendest, kannst du die Lib bei allen Selects weglassen.
Hallo Fürchau,
vielen Dank für die schnellen Hinweise (natürlich auch an Birgitta und Dieter) DFTRDBCOL ist das eine SET-Option innerhal SQL?
Ich kenne das nicht.
Gruss
Peter
-
Genau: set option DFTRDBCOL = MYLIB
Bzw. bei der Umwandlung kann es auch angegeben werden.
-
Hallo zusammen,
Wenn ich SET OPTION DFTRDBCOL = 'OPUSDATA' eingebe, bekomme ich gleich wieder eine Fehlermeldung und zwar :
RNV8526E Anweisung /EXEC SQL enthält Fehler: SQL0104N Auf "" folgte das unerwartete Token "DFTRDBCOL". Zu den m”glichen Token geh”ren: "DATSEP TIMSEP". SQLSTATE=42601
Peter
-
Hallo Peter.
Dein ursprünglich geplanter READ sollte funktionieren
mit ALWNULL in den Compileroptionen.
Gruss Joe
-
In folgendem Link ist die Beschreibung:
http://publib.boulder.ibm.com/iserie...mstsoption.htm
Hast du vielleicht noch OS V4R5 im Einsatz ?
-
Hallo Peter,
ich dachte ja bisher immer der SQL PreCompiler von ILE RPG wär besch...
(gerade noch die Kurve gekriegt), aber im Vergleich zu VARPG ist der ja Spitze, so einen Murks wie diese Umwandlungsliste, 40 Jahre nach Erfindung der Lochkarte hätte ich nicht für möglich gehlaten.
Zur Ursachenforschung:
die Blanks zwischen fr und om scheinen mir das nicht zu sein, dieser Fehler des PreCompilers scheint ihn nicht zu stören.
Naming Conventions sind es auch nicht, das wäre dann immer falsch und ließe auch eine andere Fehlermeldung erwarten.
Die Null Values sollten eigentlich erst zur Laufzeit aufschlagen und nicht beim Compile, lässt sich ausschließen mit SELECT COALESCE(Feld1, ' ') etc. from etc.
Mir ist noch ein Bug in der Liste aufgefallen: die SQLCA ist irgendwie verhexelt mit der lsartcw1, der Datenstruktur, in die gelesen werden soll. Lässt sich ausschließen mit einem hochziehen der Deklaration.
Dieter Bender
-
Hallo Dieter,
diese Versuche habe ich auch schon unternommen. Deklaration an eine andere Stelle ziehen, SQL-Statement an eine andere Stelle ziehen, alles bislang vergeblich...
Peter
-
Hallo Peter,
auch wenn ich mich outen sollte,
aber bisher habe ich bei SQLRPGLE
immer nur die variante
select * from LIB/Datei etc....
fetch etc..
benutzt.
Was bedeutet denn Select * into:variable
Geht sowas denn überhaput ?
gruss Michael
 Zitat von Peter Kosel
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 :-(
-
Select * into
Hallo Michael,
ein select ... into kannst Du dann verwenden, wenn sicher ist, dass du genau einen Ergebnis-Satz erhälst.
Liefert das Select-Statement mehr als einen Satz, wird der erste Satz in die Ausgabe-Felder übernommen und der SQLCOD auf -811 gesetzt.
Der Select ... into beinhaltet also Declare, Open, Fetch und Close.
So kann z.B. die nächste laufende Nr. in einem einzigen SQL-Statement ermittelt werden.
PHP-Code:
C/EXEC SQL
C+ Select Coalesce(Max(LfdBeh) + 1, 1)
C+ into :LfdNr
C+ from MyFile
C+ where Firma = :ParmFirma
C+ and Sendung = :ParmSendung
C/END-EXEC
Alternativ kann man auch ein Set-Statement verwenden:
Werden mehrere Sätze zurückgegeben, gilt das gleiche wie beim Select ... into
PHP-Code:
C/EXEC SQL
C+ Set :LfdNr = Select Coalesce(Max(LfdBeh) + 1, 1)
C+ from MyFile
C+ where Firma = :ParmFirma
C+ and Sendung = :ParmSendung
C/END-EXEC
Birgitta
-
Hallo Peter,
bevor ich VA RPG von der Platte löschen würde (verdient wär's ja), würde ich nochmal versuchen die Datenstruktur anders als die Datei zu benennen, von wegen der Pferde und der Apotheke...
mfg
Dieter Bender
 Zitat von Peter Kosel
Hallo Dieter,
diese Versuche habe ich auch schon unternommen. Deklaration an eine andere Stelle ziehen, SQL-Statement an eine andere Stelle ziehen, alles bislang vergeblich...
Peter
-
@Dieter,
ich weiss, das Du ein ausgesprochener Fan von Java bist. Mir dagegen sträuben sich die Nackenhaare wenn ich an das langsame Java denke. Ich bekomme schon eine Gänsehaut wenn ich an die Performance eines iSeries Navigators denke oder die Steuerzentrale von DB2 oder Eclipse oder oder...
Meckern hilft mir da im moment nicht weiter, und plattformunabhängig muss ich auch nicht sein. Es sollte halt quick and dirty sein.
Nun ja, ich werde entweder nun ein normales Read verwenden mit den Möglichkeiten Datenumsetzungsfehler zu vermeiden, oder das ganze doch auf die iSeries verschieben. Dort würde ich übrigens niemals Java machen (Momentan).
Nichts für ungut, und vor allem vielen Dank für die zahl- und hilfreiche Unterstützung.
Peter
-
Hallo Peter,
nur zur Info: ich bin beruflich völlig emotionslos und damit weder Fan von irgendwas, noch Hasser von irgendwas, was mich zuweilen für den ein oder anderen suspekt macht.
Was mich immer stört sind schlecht gemachte Programme, egal ob Anwendungen, Entwicklungsumgebungen, Ablaufumgebungen oder eben auch Compiler und da stören mich zum Beispiel Ooops Nerv (man schaue sich Linoma Surveyor an), WebsFear Admin Console, WDSC (Eclipse selber ist eigentlich nicht schlecht) und über das Listing des SQL Pre Compilers war ich schnöderweise entsetzt (nicht über Dein Programm, sonder das was der daraus macht) und ich würde hier dringend empfehlen dieses Produkt (VARPG) zu reklamieren und Fehlerbehebung zu verlangen.
Gegen Deinen Ansatz das so zu machen ist überhaupt nichts einzuwenden und das muss auch gehen ohne jede Klimmzüge. Und ich denke das bekommen wir hin. Um es konkret zu machen versuche bitte folgendes:
DLSARTCW1 E DS EXTNAME(LSARTCW1)
ändern in
DLSARTCW1R E DS EXTNAME(LSARTCW1)
C/EXEC SQL C+ select * into :lsartcw1 fr om opusdata.lsartcw1 C+ where arartnr = :kpartnr C+ and arvar = 0 C/END-EXEC ändern in:
C/EXEC SQL C+ select *
C+ into :lsartcw1r
C+ from opusdata.lsartcw1
C+ where arartnr = :kpartnr C+ and arvar = 0 C/END-EXEC
dabei bitte nochmal verifizieren, dass alle leer aussehenden Felder
tatsächlich alle Blank enthalten
Falls das nicht funzt, poste bitte nochmal die neue Umwandlungsliste
mfg
Dieter Bender
 Zitat von Peter Kosel
@Dieter,
ich weiss, das Du ein ausgesprochener Fan von Java bist. Mir dagegen sträuben sich die Nackenhaare wenn ich an das langsame Java denke. Ich bekomme schon eine Gänsehaut wenn ich an die Performance eines iSeries Navigators denke oder die Steuerzentrale von DB2 oder Eclipse oder oder...
Meckern hilft mir da im moment nicht weiter, und plattformunabhängig muss ich auch nicht sein. Es sollte halt quick and dirty sein.
Nun ja, ich werde entweder nun ein normales Read verwenden mit den Möglichkeiten Datenumsetzungsfehler zu vermeiden, oder das ganze doch auf die iSeries verschieben. Dort würde ich übrigens niemals Java machen (Momentan).
Nichts für ungut, und vor allem vielen Dank für die zahl- und hilfreiche Unterstützung.
Peter
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