PDA

View Full Version : V7R1 Fehler Umwandlung SQLRPGLE



Peet
19-06-13, 17:20
Hallo zusammen,
wir haben auf einer Maschine von V6R1 auf V7R1 umgestellt.
Ein SQLRPGLE-Programm, das mit IFS-Dateien arbeitet, fällt beim "open" auf die Nase (Fehler 3245).

Nun wollte ich das SQLRPGLE neu umwandeln, ich kriege
aber immer den Fehler RNF7030 bei den Statements, bei denen der "SQL-Cursor" angesprochen wird, also OPEN, FETCH und CLOSE usw.

Ich finde aber bei google nichts !

Es wird also bei der Umwandlung der Fehler RNF7030 ausgegeben, die Fehlermeldung lautet "Der Name oder die Bezugszahl/Anzeiger SQL_0000x ist nicht definiert", wobei X durchnummeriert wird und für die Statements des OPEN, FETCH und CLOSE angegeben werden !

Eine Änderung des "SQL_Cursornamen" von C1 auf testc1 bewirkt leider keine Änderung !

Das betroffene Programm ist in /FREE codiert, andere SQLRPGLE, in FREE oder auch normal, lassen sich problemlos umwandeln.

Ich hoffe, ihr könnt mir helfen.

Vielen Dank im Voraus !

Fuerchau
19-06-13, 18:16
Dunkel kann ich mich an den Fall auch erinnern.
Der SQL-Precompiler generiert ja Hilfsvariablen SQLnnnnn.
Wenn er den Feldtyp nicht erkennen kann, werden manchmal Felder mit der Länge "0" generiert, die dann natürlich vom RPG-Compiler nicht akzeptiert werden.
Dies kann man in der generierten Quelle in der QTEMP bzw. im Spool erkennen.

Wie ich das gelöst habe, weiß ich auch nicht mehr.

Es könnte sein, dass nach Ab- und Anmeldung der Compile wieder ging.

andreaspr@aon.at
19-06-13, 18:29
Probier mal beim Umwandeln die Option *LVL2 mit anzugeben.
Wie der Parameter dafür heist, weis ich gerade nicht auswendig, aber F11 hilft dir diesen zu finden ;)

lg Andreas

Fuerchau
19-06-13, 18:33
Wenn man beim Testen häufiger mit "Systemanfrage 2" SQL-Programme (auch STRSQL oder QM-Query) abwürgt, kommt SQL manchmal nicht dazu korrekt aufzuräumen. ODP's oder sonstige Ressourcen passen dann nicht immer.

Obigen Fehler bekam ich beim Umwandeln im Dialog und nicht im Batch!
Nach neuem Anmelden hatte ich ja wieder einen sauberen Job und die mwandlung war wieder OK.

B.Hauser
19-06-13, 18:57
Hallo zusammen,
wir haben auf einer Maschine von V6R1 auf V7R1 umgestellt.
Ein SQLRPGLE-Programm, das mit IFS-Dateien arbeitet, fällt beim "open" auf die Nase (Fehler 3245).

Nun wollte ich das SQLRPGLE neu umwandeln, ich kriege
aber immer den Fehler RNF7030 bei den Statements, bei denen der "SQL-Cursor" angesprochen wird, also OPEN, FETCH und CLOSE usw.

Ich finde aber bei google nichts !

Es wird also bei der Umwandlung der Fehler RNF7030 ausgegeben, die Fehlermeldung lautet "Der Name oder die Bezugszahl/Anzeiger SQL_0000x ist nicht definiert", wobei X durchnummeriert wird und für die Statements des OPEN, FETCH und CLOSE angegeben werden !

Eine Änderung des "SQL_Cursornamen" von C1 auf testc1 bewirkt leider keine Änderung !

Das betroffene Programm ist in /FREE codiert, andere SQLRPGLE, in FREE oder auch normal, lassen sich problemlos umwandeln.

Ich hoffe, ihr könnt mir helfen.

Vielen Dank im Voraus !

Kann es sein , dass Du in besagtem Programm keine globalen D-Bestimmungen hast?
Unter irgendwelchen nicht eindeutig zu bestimmenden Umständen wird vereinzelt keine SQLCA eingebunden.
Leg einfach eine Dummy Globale Variable an und schon hast Du die SQLCA wieder.

Das Problem taucht immer mal wieder sporadisch auf. Und IBM behauptet auch jedes Mal es sei gelöst ... bis zum nächsten Mal.

Birgitta

Peet
28-10-14, 10:55
Kann es sein , dass Du in besagtem Programm keine globalen D-Bestimmungen hast?
Unter irgendwelchen nicht eindeutig zu bestimmenden Umständen wird vereinzelt keine SQLCA eingebunden.
Leg einfach eine Dummy Globale Variable an und schon hast Du die SQLCA wieder.

Das Problem taucht immer mal wieder sporadisch auf. Und IBM behauptet auch jedes Mal es sei gelöst ... bis zum nächsten Mal.

Birgitta


Hallo Birgitta,
ich habe globale D-Bestimmungen in dem Programm, trotzdem kriege ich nach wie vor den Fehler.
Hast du vielleicht noch eine Idee ???
Oder gibt es ein "spezielles" PTF, das ich prüfen und ggf. installieren kann ???

Vielen Dank im Voraus und Gruß...
Peet

Fuerchau
28-10-14, 11:38
Hier hilft ein wenig Analyse.
Wandle die Quelle mal im Dialog um.
Anschließend findest du die Precompiler-Quelle in der QTEMP.
Suche dort die SQL-Variable in der Länge Null.
Dann kannst du prüfen, welche Variable der Precompiler nicht finden kann und daher falsch definiert.

Robi
28-10-14, 12:35
Hier (http://newsolutions.de/forum-systemi-as400-i5-iseries/threads/18986-SQL-umwandlun?highlight=lvl2)

hat mir Andreas beim gleichen Problem geholfen
Probiers halt!
Wie er oben schon schrieb!
Robi

Peet
29-10-14, 07:45
Robi...(...und alle anderen...)

Mit dem Parameter rpgppopt(*LVl2) hat es auch geklappt !!!
Vielen tausend Dank dafür !!!!!

Gruß
Peet

Fuerchau
29-10-14, 07:54
Vielleicht sollte man diesen Parameter zum Default erheben da dies auch bei anderen Fehlern geholfen hat.