-
SQL überträgt unvollständig
Guten Morgen zusammen.
SQL im ILE-Programm spinnt!
select * from Datei ... (brauch nahezu alle Felder)
Enthalten sind u.a. 4 Datumsfelder. Das 1. wird übertragen, die nächsten 3 fehlen. Die Compilerliste zeigt, dass die entsprechenden generierten SQL_xxxx Felder angeblich nicht verwendet werden. Code 7031.
Was soll das?
-
Dazu müsstest du mal ins Listing des Compilers schauen.
Ohne weitere Hinweise kann man nichts erkennen.
-
Compilerliste
328 D DS OPEN
364 D SQL_00034 225 232D DATFMT(*DMY.) FABEDA
365 D SQL_00035 233 240D DATFMT(*DMY.) FALSDA
366 D SQL_00036 241 248D DATFMT(*DMY.) FAFADA
367 D SQL_00037 249 256D DATFMT(*DMY.) FAVADA
453 D SQL_00087 821 822B 0 SQLANZEIGER1
1415 C SQL_00087 IFGE 0 SQL B04
1416 C EVAL FABEDA = SQL_00034 SQL 04
1417 C END SQL E04
1418 C EVAL SQLANZEIGER1 = SQL_00087 SQL 03
*RNF7031 SQL_00035 D(8*DMY.) 365D
*RNF7031 SQL_00036 D(8*DMY.) 366D
*RNF7031 SQL_00037 D(8*DMY.) 367D
*RNF7031 00 373 Kein Verweis auf den Namen oder die Bezugszahl/den Anzeiger
vorhanden.
-
Da du einen "Select *" kodierst, wie sieht denn da dein Fetch aus ?
Wenn du die Felder einzeln aufführst, beachte ob nicht irgendwo Kommatas fehlen.
Mit obigen Angaben kann ich nichts anfangen.
-
Select + Fetch
C*EXEC SQL
C* declare FAKTURS1cursorPack cursor for
C* select * from FAKTURS1 join AUKOPF on FAABNR = AKBELE
C* where FASTAT = 5 and FALSNR = :FAKTUDUR_LSNr
C* and AKBKZ = :FAKTUDUR_BKz and AKCOU = :FAKTUDUR_Couz
C* and AKFRB = :FAKTUDUR_Funr and AKMRB = :FAKTUDUR_Musr
C* and AKSRB = :FAKTUDUR_Star and AKVAL = :FAKTUDUR_Valu
C* order by FAPACK
C*END-EXEC
C*EXEC SQL
C* OPEN FAKTURS1cursorPack
C*END-EXEC
C*EXEC SQL
C* fetch next from FAKTURS1cursorPack into :FAKTURS1sql :SqlAnzeiger1,
C* :AUKOPFsql :SqlAnzeiger2
C*END-EXEC
Das Zielfeld ist eine Datenstruktur im Aufbau des Datensatzes.
-
Das geht so leider nicht !
Wenn ein Fetch in eine DS erfolgen soll, so sind max. 2 Strukturen erlaubt:
fetch ... into :myds [:myanz]
Wobei der Anzeiger eine Tabelle sein muss.
Werden mehrere Felder angegeben, nimmt der SQL-Precompiler Einzelfelder an.
Da dein Select ein Join ist, musst du eine Struktur mit ALLEN Feldern angeben und eine Anzeiger-Tabelle mit der Anzahl der Felder.
Oder du musst dir die Mühe machen und alle Felder einzeln im Fetch benennen.
-
Danke
Vielen Dank für die Info.
Merkwürdig ist, dass meine Syntax in anderen Programmen ihren Dienst versieht.
Nachdem ich jetzt Einzelfelder definierte, klappt es tatsächlich. Es gibt viele Stolperfallen - suchen wir die nächste.
Besten Dank
Armin
-
Mit nur einer Struktur klappts ja auch !
Similar Threads
-
By christian_lettner in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 16-11-06, 10:15
-
By FNeurieser in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 11-10-06, 14:53
-
By malzusrex in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 19-09-06, 11:04
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 28-06-06, 14:11
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
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