...
Table of Contents | ||
---|---|---|
|
Version 22.02.02
Fehlerkorrekturen
Typ des "gepackten" Feldes geändert in "zoniertes" Feld.
In einem spaltenbasierten RPGLE wird ein Feld über eine Referenz von einem "Zoned field" in C-Specs definiert:
*LIKE Define ZonedD5 DefZonedD5
In diesem Fall ist das neue Feld standardmäßig gepackt.
Nach der Konvertierung in die freie Syntax wird es in den Deklarationsspezifikationen mit dem Schlüsselwort Like(ZonedD5)
definiert.
In diesem Fall behält es jedoch auch denselben Typ (also "Zoned").
Das ist nicht in Ordnung - das neue Feld muss wie im alten RPGLE "Packed" sein.
Das Problem wurde behoben: In diesem Fall wird nicht das Schlüsselwort "Like(...)
" Schlüsselwort, sondern es definiert das Feld als Packed(...)
.
Verlust von 1 oder 2 Zeichen für Kommentare zu einer Deklarationsangabe.
Wenn die Felddeklarationen von C-Specs nach D-Specs verschoben und in die freie Form konvertiert werden, oder wenn bestehende D-Specs in die freie Form konvertiert werden und in der alten Zeile ein Kommentar vorhanden ist, der von Spalte 81 bis 100 reicht, kann die konvertierte Zeile die letzten 1 oder 2 Zeichen des Kommentars verlieren.
Dieses Problem wurde behoben.
Verbesserungen
MOVEL in ein Array-Element: Ergebnis verbessert
In der zu konvertierenden RPGLE-Quelle können wir auf diese Art von Anweisungen stoßen:
Das Feld ArrX ist als Char(10) mit Dim(nnn) definiert
MOVEL *BLANK ArrX(5)
MOVEL 'AB' ArrX(5)
Vor dieser Version wurde es umgewandelt, wie folgt:
ArrX(5) = *Blank;
%Subst(ArrX(5):1:2) = 'AB';
Es gab bereits ein Optimierungsverfahren für diese Art von Befehlsfolge, das sie durch ein einfaches "eval Ergebnis_Feld = '...'");
ersetzte. Das wurde aber nur für einfache Felder und nicht für Arrays gemacht.
Jetzt wird es auch für Array-Elemente gemacht, wenn das gleiche Array-Element (oder das ganze Array) gelöscht wird (Arr(X) = 'AB';
)
Konvertierung für SCAN/CHECK/CHECKR, wenn das Ergebnis ein Array ist.
Vor dieser Version blieb der Op-Code SCAN/CHECK/CHECKR
in "spaltenweiser" Syntax (keine Konvertierung), wenn er mit einem Array (ohne Index) im Ergebnisfaktor verwendet wurde.
Jetzt werden auch diese Fälle in die freie Syntax konvertiert.
Es wird ein Algorithmus mit einer Schleife verwendet, der die Positionen und speichert sie im Ergebnis-Array, eine nach der anderen.
Version 11.00.07
Fehlerkorrekturen
Fehler im Konvertierungsprozess, wenn sich eine JDE-Datei in der Bibliotheksliste befindet.
...
Dieses Problem wurde behoben
Version 10.09.11
Fehlerkorrekturen
Fehler in der konvertierten Quelle, beim Ersetzen durch %ParmNum in einer freien Zeile, die Kommentare vor Spalte 80 enthält.
...
Dieses Problem wurde behoben - die Grenze wurde im Befehl ACALLPGM auf 600 Zeichen geändert.
Version 10.09.03
Verbesserungen
Konvertierte Quellen behalten die Änderungsdaten der Ausgangs-Quelle
...