PDA

View Full Version : RDI - /End-Exec im festen Format



homue
25-07-16, 10:19
Hallo Forum,

wir haben im RDI (9.5.0.3) folgendes Problem:

Beim Bearbeiten einer Source im festen Format wird aus einem
C/End-Exec ohne Bearbeitung der Zeile
C/END - EXEC.
Somit ist die Source nicht mehr umzuwandeln. (RNF0274E Steueranweisung für das Umwandlungsprogramm nicht erkannt; die Anweisung wird ignoriert.)


Da wir aktuell noch viele Sourcen im festen Format vorliegen haben und diese nicht alle automatisch auf Free umstellen können/wollen, ist dieses Verhalten des RDI sehr störend.

Ist für dieses Problem eine "einfache" Lösung bekannt? Wir haben in den Einstellungen des RDI nichts gefunden.

Vielen Dank für Eure Antworten bereits im Voraus!

Gruß Holger

dschroeder
25-07-16, 11:45
Also bei uns passiert das nicht (9.5.0.3). Selbst wenn ich die Zeile bearbeite (Leerzeichen eintippen), wird das nicht umformatiert. Wenn ich die Passage mit rechter Maustaste in free umwandle, kommt auch gültiger Code dabei raus.

Wann wird das denn umgewandelt? Wenn du auf die Zeile gehst oder sofort beim Öffnen der Source? Passiert das auch, wenn du die Source im RDI im Anzeigemodus öffnest?

Dieter

andreaspr@aon.at
25-07-16, 11:54
Das löst zwar nicht das ursprüngliche Problem, aber wenn du am Ende vom SQL einfach ein ";" setzt brauchst du das End-Exec gar nicht ... wenn ich mich an die Zeit noch richtig erinnern kann.

Fuerchau
25-07-16, 11:59
Das Semikolon geht nur im Free-Format.

andreaspr@aon.at
25-07-16, 12:02
Das Semikolon geht nur im Free-Format.

Nein ... probier's einfach mal aus!

homue
25-07-16, 13:22
Wenn ich die Zeile direkt formatiere (Leerzeichen hinter End-Exec und Sprung auf nächste Zeile ) ändert sich die Zeile und ich kann sie im RDI nicht mehr korrigieren.

Das Semikolon statt dem /End-Exec wird zwar im RDI nicht als Fehler erkannt (auch nicht bei der Syntaxprüfung), aber bei der Umwandlung erhalte ich einen SQL1004.

Heute Morgen war allerdings ohne direkte Änderung der /End-Exec-Zeile die Formatierung dieser geändert. Aber den Fehler konnte ich leider nicht mehr provozieren...

Allerdings ist mir aufgefallen, dass die /End-Exec-Zeile nach einer Änderung im SQL direkt geändert wird.

Nach einigem Probieren ist aufgefallen, dass dies wohl mit der SQL-Formatierung im freien Format zusammenhängt. Sobald ich den Block "automatische Formatierung" abschalte passt wieder alles.

Anscheinend hat RDI hier ein Problem mit der Erkennung von SQL im fixed Format...

@Dieter: Wie ist denn die Einstellung bei dir? Ferne Systeme -> LPEX -> IBM-i-Parser -> ILE RPG -> SQL-Formatierung

Fuerchau
25-07-16, 13:55
Manche "alte Hüte" werden halt weggeschmissen. Dies scheint bei RDI auch nicht anders zu sein.

Wenn ich klassisch mit
C/EXEC SQL
einen SQL kodiere dann muss ich auch klassisch mit
C/END-EXEC
aufhören. Ansonsten meckert bereits der PDM-Editor als auch der Precompiler mit SQL1004 END-EXEC erwartet...
Wie mein Vorredner ja schon sagte.

andreaspr@aon.at
25-07-16, 14:18
Stimmt ... statt
C/Exec Sql
C+ Select * from ....
C/End-Exec

hab ich einfach ein
Exec Sql
Select * From;

gemacht.
Also quasi einen kleinen Free-Block hinein geschummelt.
Seit einiger Zeit benötigt man ja nicht mal mehr ein /Free und /End-Free da automatisch alles im Free ist wenn an der 6. Stelle kein Code steht.

Und da SQL sowieso nicht Spaltenorientiert ist fällt es nicht wirklich auf wenn am anfang das "C/" fehlt

dschroeder
25-07-16, 14:27
@Dieter: Wie ist denn die Einstellung bei dir? Ferne Systeme -> LPEX -> IBM-i-Parser -> ILE RPG -> SQL-Formatierung

Bei mir ist dort nur "Automatische Einrückung" angehakt. (2 Leerzeichen).