-
embedded SQL Fehler SQL0312 beim Umwandeln
Guten Tag,
meine Abfrage sieht so aus:
Code:
exec sql
Declare csBundinfo cursor For
select
ROBUND BUNDNR
max(ROWDAT) RMDAT
max(ANLDT) FMDAT,
'RM' HBESTART,
0 FOLGE
from roheing
left outer join matjour
on robund = fbundnr
where robund = :BSBUND
group by robund
having max(ANLDT) is null
or max(ROWDAT) > max(ANLDT)
Interaktiv läuft sie einwandfrei. Wenn ich das Ergebnis in eine Datenstruktur laden will:
exec sql
open csBundinfo;
exec sql fetch next from csBundinfo
into :Bundherk :ANZARRAY;
Bekomme ich beim Umwandeln die Fehlermeldung
"Position 30 Variable BUNDHERK nicht definiert oder nicht verwendbar."
Die DS Bundherk habe ich extern definiert mit der Ergebnisdatei, die über die interaktive QMQRY erzeugt wurde.
Wenn ich nur ein Feld selektiere und den FETCH in das Feld der DS ausführe, ist alles gut, nur mit der DS funktioniert es nicht.
Hat jemand eine Idee, wie ich den Fehler vermeiden kann?
Herzlichen Dank im Voraus
Hubert
-
Probier mal beim Umwandeln den Parameter
RPG-Vorprozessoroptionen . . . . RPGPPOPT > *LVL2
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Habe ich schon gemacht. Hat mich aber auch nicht weitergebracht. Aus der Umwandlungsliste:
Code:
BUNDHERK 11 STRUCTURE
108
BUNDNR 12 NUMERIC(11,0) IN BUNDHERK
BUNDNR **** COLUMN
-
"into :Bundherk :ANZARRAY;"
Ist das ein Schreibfehler, denn da fehlt ein Komma?
Falls nicht gilt folgende Regel:
Alle Select-Felder müssein in der Struktur BUNDHERK vorhanden sein, ANZARRAY muss "INT(5) DIM(n)" als NULLIND-Array deklariert sein.
Im Select führst du 5 Ergebnisfelder auf, deine Struktur sollte also 5 passende Felder in der Reihenfolge enthalten.
Ist dies nicht gewährleistet, muss der Fetch die Zielfelder incl. ggf. NULL-Anzeiger einzeln angeben.
-
Hallo Baldur,
nein, das ist kein Schreibfehler. Das ANZARRAY (war korrekt definiert) wird ohne Komma ans Ende der Anweisung gestellt. Die Felder sind in der Struktur vorhanden. Trotzdem klappt es mit der DS nicht (weiß der Geier warum). Aber Dein Tipp, die Felder einzeln anzugeben, war von Erfolg gekrönt.
Schönes Wochenende
Hubert
-
Die Frage war: Ist die Struktur identisch definiert zu deinem Select?
Wenn nicht, kann SQL das nicht auflösen.
Der Compiler versucht je Feld der DS eine SQLnnn-Variable zu definieren und im Fetch der Reihe nach zuzuordnen, also 1. Selectfeld = 1.Strukturfeld, ....
Und da scheint was nicht zu passen.
Auch verstehe ich deinen Code-Auszug überhaupt nicht.
-
Sollte im Select nicht hinter allen Felder ein Komma kommen ? So wie das SQL ganz oben angegeben ist, kann ich mir das nicht vorstellen, dass das interaktiv läuft.
-
Das halte ich eher für einen Übertragungsfehler;-). Der Compiler hätte da schon gemeckert, selbst der SEU kann noch SQL.
-
mach einfach mal ein
select deinfeld HUGO from Datei
-->
HUGO
1
2
3
...
oder anders gesagt ....
er hat sich das AS gespart!
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Das war nicht das Problem:
select
ROBUND BUNDNR ,
max(ROWDAT) RMDAT ,
max(ANLDT) FMDAT,
'RM' HBESTART,
0 FOLGE
Similar Threads
-
By Flappes in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 24-07-17, 14:41
-
By ChMüller in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 21-04-17, 09:10
-
By malzusrex in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 23-04-03, 17:15
-
By lemmi in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 10-07-02, 12:07
-
By Tobias in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 30-01-02, 11: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