Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
maxLevel3

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

...