EGL - Release-Informationen


1.0 Unterstützte Software und Spezifikationen
2.0 Einschränkungen
   2.1 Dienstprogramm für die Konvertierung von I4GL zu EGL: Für die gebundenen Variablen werden keine Nullwerte eingestellt, wenn aus einem Konsolformular gelesen wird
   2.2 Dienstprogramm für die Konvertierung von I4GL zu EGL: Laufzeitunterschiede zwischen I4GL und EGL für Schleifenanweisungen
   2.3 Dienstprogramm für die Konvertierung von I4GL zu EGL: Anzeigedatensätze, auf die mit der Notation .* verwiesen wird, werden nicht korrekt umgewandelt
   2.4 Dienstprogramm für die Konvertierung von I4GL zu EGL: Die I4GL IF-Bedingungen (IF ! xxx oder IF xxx) und die Booleschen Ausdrücke werden in EGL nicht vollständig unterstützt
   2.5 TUI-Formulare: Verwendung der Eigenschaft 'validValuesMsgKey' in nicht numerischen Formularfeldern
   2.6 Web-Services-Unterstützung: XSD-Anmerkungen in Datenfeldern, Datensätzen oder Satzobjekten werden nur auf Schnittstellen angewendet
   2.7 Web-Services-Unterstützung: WSDL-Dateitypen werden unterstützt
   2.8 Web-Services-Unterstützung: Speicherposition der Service-Binding-Bibliothek wird vom Assistenten erstellt
   2.9 EGL-Debugger
3.0 Bekannte Probleme
   3.1 Web-Services-Unterstützung: Fehler bei Verwendung mehrdimensionaler Feldgruppen als Parameter für J2EE 1.3-Projekte
   3.2 Web-Services-Unterstützung: Fehler bei Verwendung fester Datensätze mit Unterstrukturen als Parameter für J2EE 1.3-Projekte
   3.3 Web-Services-Unterstützung: Fehler bei Verwendung von Zeit- oder Intervalldatentypen als Parameter für J2EE 1.3-Projekte
   3.4 Web-Services-Unterstützung: Fehler beim Generieren doppelter EGL-Datenelemente aus mehreren WSDL-Dateien
   3.5 Hostvariablen für den Zugriff auf Oracle-Datenbanken
   3.6 Jasper-Dateien (.jrxml) in EGL kompilieren
   3.7 Migrationsthemen

1.0 Unterstützte Software und Spezifikationen

Der Editor zum Erstellen von Optionen gibt an, dass WebSphere Application Server 5.1 ein unterstützter Servertyp ist. WebSphere Application Server wird jedoch erst ab Version 5.1.1 unterstützt.

2.0 Einschränkungen

2.1 Dienstprogramm für die Konvertierung von I4GL zu EGL: Für die gebundenen Variablen werden keine Nullwerte eingestellt, wenn aus einem Konsolformular gelesen wird

Beschreibung: Während der Ausführung einer openUI-Anweisung eines Konsolformulars enthalten die Rückgabewerte in gebundenen Variablen nie einen Nullwert (?null?). Wenn in I4GL in ein Formularfeld kein Wert eingegeben wird, wird in I4GL ein Nullwert zurückgegeben.

Fehlerumgehung: Wenn Ihre Anwendung die Nullwerte (?null?) während oder nach einer openUI-Anweisung in einem Formular explizit überprüft, muss die Logik geändert werden, damit nach einem leeren Zeichenfolgewert und nicht nach einer Null gesucht wird.

2.2 Dienstprogramm für die Konvertierung von I4GL zu EGL: Laufzeitunterschiede zwischen I4GL und EGL für Schleifenanweisungen

Beschreibung: In I4GL hat die Anweisung ?for I = 0 to 1 by -1 ? zur Folge, dass der FOR-Schleifencodeblock Null mal (0) ausgeführt wird. In EGL hat dies zur Folge, dass derselbe Schleifencodeblock in eine Endlosschleife gerät und unter Umständen eine Integer-Limitüberschreitung (Out of Bounds Exception) oder eine Stacküberlauf-Ausnahmebedingung ausgegeben wird.

Fehlerumgehung: Gestalten Sie die EGL-FOR-Anweisung neu, so dass der FOR-Schleifencodeblock so oft ausgeführt wird, wie Sie dies wünschen. Alternativ können Sie die FOR-Schleife in eine WHILE-Anweisung ändern, die den Codeblock so oft ausführt, wie Sie dies wünschen.

2.3 Dienstprogramm für die Konvertierung von I4GL zu EGL: Anzeigedatensätze, auf die mit der Notation .* verwiesen wird, werden nicht korrekt umgewandelt

Beschreibung: Manchmal erweitert das Konvertierungsdienstprogramm Anzeigedatensätze für alle Spalten in der Tabelle, auch wenn nur eine Teilmenge der Spalten zum Definieren der Anzeigedatensätze verwendet werden.

Fehlerumgehung: Entfernen Sie irrelevante Spaltennamen aus den konvertierten EGL-Anweisungen.

2.4 Dienstprogramm für die Konvertierung von I4GL zu EGL: Die I4GL IF-Bedingungen (IF ! xxx oder IF xxx) und die Booleschen Ausdrücke werden in EGL nicht vollständig unterstützt

Beschreibung: Die IF-Bedingungen in 'IF ! xxx' oder 'IF xxx' lösen Gültigkeitsfehler aus. Boolesche Ausdrücke werden in EGL nicht unterstützt und generieren Gültigkeitsfehler.

Fehlerumgehung: Das Konvertierungsdienstprogramm konvertiert diese IF-Funktionen abhängig vom Kontext, in dem sie verwendet werden; diese Einschränkung hat keine Auswirkungen auf die I4GL-Anwendungskonvertierung. Dies wird hier dokumentiert, damit I4GL-Benutzer über den Unterstützungsstand der IF-Bedingungen informiert sind, wenn sie neue Anwendungen in EGL schreiben.

Im Fall Boolescher Ausdrücke konvertieren Sie das Boolesche Ergebnis einer Bedingung in den numerischen Wert 0 oder 1.

2.5 TUI-Formulare: Verwendung der Eigenschaft 'validValuesMsgKey' in nicht numerischen Formularfeldern

Wenn Sie den EGL-Formulareditor verwenden oder eine EGL-Quelle manuell für einen Formularabschnitt bearbeiten, wird die folgende Nachricht über Gültigkeitsprüfung ausgegeben, wenn die Eigenschaft 'validValuesMsgKey' für ein Formularfeld verwendet wird, dessen primitiver Typ nicht numerisch ist, zum Beispiel 'char' oder 'dbchar':

IWN.VAL.5381.e 76/0 Property: validValuesMsgKey. The value for this property for field ... in form ... is invalid. The property is a numeric item property.

Wenn Sie diese Eigenschaft mit einem nicht numerischen Basiselement verwenden möchten, wird folgende Fehlerumgehung empfohlen:

  1. Öffnen Sie die Datei, in der das Formular enthalten ist, mit dem EGL-Editor. Klicken Sie mit der rechten Maustaste auf die Datei, und wählen Sie Öffnen mit > EGL-Editor in der Sicht des Projektexplorers aus.
  2. Anstatt einen primitiven Typ in der Deklaration des Felds anzugeben, für das 'validValuesMsgKey' eingestellt ist, legen Sie einen DataItem-Abschnitt in der Felddeklaration fest. In dem DataItem-Abschnitt muss derselbe primitive Typ wie im Feld angegeben sein.

Beispiel für die Definition des ursprünglichen Felds:

ACTION char(1) {inputRequiredMsgKey = "0003", validValues = ["I","S","U","D"], ..., validValuesMsgKey = "0004"}; //This line should have IWN.VAL.5381 error Ändern Sie die Definition des Felds in:

ACTION charOneItem {inputRequiredMsgKey = "0003", validValues = ["I","S","U","D"], ..., validValuesMsgKey = "0004"}; //This line should have no error

Geben Sie in derselben Datei außerhalb der Formulargruppe Folgendes ein:
DataItem charOneItem char(1) { validValuesMsgKey="1000" } end

2.6 Web-Services-Unterstützung: XSD-Anmerkungen in Datenfeldern, Datensätzen oder Satzobjekten werden nur auf Schnittstellen angewendet

XSD-Anmerkungen, die auf Datenelementdefinitionen, Datensatzdefinitionen und Satzobjekte angewendet werden, die einen Aspekt eines XML-Schemadatentyps wiedergeben, der in einer Web-Service-WSDL-Datei gefunden wurde, haben nur eine Bedeutung, wenn sie für Funktionsparameter von Schnittstellen und Rückgabewerte verwendet werden, die aus einer WSDL-Datei abgeleitet wurden.

Beispiel:

DataItem weekend string {@xsd {enumeration=["Saturday", "Sunday"] }} end // this reflects the WSDL restriction on values for weekend

Interface calander

public function weekendPlanner (weekendDay weekend in, . . .); // only argument values Saturday and Sunday can be sent to this Web service function

end

2.7 Web-Services-Unterstützung: WSDL-Dateitypen werden unterstützt

Der Assistent zum Erstellen von EGL-Schnittstellen unterstützt nur WSDL-Dateien mit den Formaten 'RPC/Encoded', 'RPC/Literal' und 'Document/Literal' (Wrapped). WSDL-Dateien mit dem Format 'Document/Literal' (Unwrapped) werden nicht unterstützt.

2.8 Web-Services-Unterstützung: Speicherposition der Service-Binding-Bibliothek wird vom Assistenten erstellt

Beim Erstellen einer Service-Binding-Bibliothek in einem EGL-Serviceassistenten werden keine WSDL-Dateien in ein anderes Projekt kopiert. Wenn die Service-Binding-Bibliothek in einem anderen Projekt als dem Projekt erstellt wird, in dem der Service generiert wird, muss der Benutzer manuell eine Kopie aller generierten WSDL-Dateien, auf die in der Service-Binding-Bibliothek verwiesen wird, an die Speicherposition versetzen, die vom Web-Binding angegeben wird.

2.9 EGL-Debugger

Sie können den EGL-Debugger nicht für Programme verwenden, in denen Berichte enthalten sind. Die Unterstützung für diese Funktion wird in einem zukünftigen Update zur Verfügung gestellt.

3.0 Bekannte Probleme

3.1 Web-Services-Unterstützung: Fehler bei Verwendung mehrdimensionaler Feldgruppen als Parameter für J2EE 1.3-Projekte

Services, die als Web-Service oder Service-Binding-Bibliothek mit Web-Bindings generiert wurden, generieren Java-Code mit Kompilierungsfehlern, wenn mehrdimensionale Feldgruppen als Parameter verwendet werden oder in Datensätzen als Parameter in Service- oder Schnittstellenfunktionen definiert werden, wenn die Generierung in einem Webprojekt mit J2EE-Stufe 1.3 erfolgte.

Service myService

function f1(param string[][][] in) // causes compilation errors when generated as a Web Service to a Web Project with J2EE 1.3

. . .

end

end

Service myService

function f1(param string[] in) // generates OK to a Web Project with J2EE 1.3

. . .

end

end

3.2 Web-Services-Unterstützung: Fehler bei Verwendung fester Datensätze mit Unterstrukturen als Parameter für J2EE 1.3-Projekte

Services, die als Web-Service oder Service-Binding-Bibliothek mit Web-Bindings generiert wurden, generieren Java-Code mit Kompilierungsfehlern, wenn feste Datensätze, die unterstrukturierte Datenelemente oder Datenelemente mit Wiederholungen > 1 enthalten, als Parameter verwendet werden oder in Datensätzen als Parameter in Service- oder Schnittstellenfunktionen definiert werden, wenn die Generierung in einem Webprojekt mit J2EE-Stufe 1.3 erfolgte.

Beispiel:

Record mySubstructuredRecord 10 item1 char(10); 20 item 2 char(10); end

Service myService public function f1(param mySubstructuredRecord in) // causes compilation errors when generated as a Web Service to a Web Project with J2EE 1.3 . . . end end

Record myFlatRecord 10 item1 char(10); 10 item2 char(10); end

Service myService public function f1(param myFlatRecord in) // generates OK to a Web Project with J2EE 1.3 . . . end end

3.3 Web-Services-Unterstützung: Fehler bei Verwendung von Zeit- oder Intervalldatentypen als Parameter für J2EE 1.3-Projekte

Services, die als Web-Service oder Service-Binding-Bibliothek mit Web-Bindings mit Zeit- oder Intervalldatentypen generiert wurden, die als Parameter verwendet werden oder in Datensätzen als Parameter in Service- oder Schnittstellenfunktionen definiert werden, die in einem Webprojekt mit J2EE-Stufe 1.3 generiert wurden, lösen während der Laufzeit eine Java-Ausnahmebedingung aus.

3.4 Web-Services-Unterstützung: Fehler beim Generieren doppelter EGL-Datenelemente aus mehreren WSDL-Dateien

Wenn Sie den Assistenten zum Erstellen von EGL-Schnittstellen mit zwei oder mehr Dateien verwenden, in denen dieselben XML-Schemadefinitionstypen in demselben EGL-Projekt enthalten sind, werden doppelte EGL-Datendefinitionen erstellt, was EGL-Gültigkeitsfehler zur Folge hat.

3.5 Hostvariablen für den Zugriff auf Oracle-Datenbanken

Wenn ein EGL-Programm auf eine Oracle-Datenbank zugreift und zum Öffnen einer Ergebnismenge eine OPEN-Anweisung verwendet, können in der SELECT-Klausel der OPEN-Anweisung nicht Namen von Hostvariablen verwendet werden. Wenn Hostvariablennamen angegeben werden, werden im entsprechenden Element der verwendenden Klausel der OPEN-Anweisung keine Werte eingestellt.

3.6 Jasper-Dateien (.jrxml) in EGL kompilieren

EGL stellt ein Erstellungsprogramm zur Verfügung, das JasperReport-Dateien kompiliert, sobald sie gespeichert werden. Wenn Sie auch über EGL-Berichts-Handler verfügen, stellen Sie sicher, dass Java SDK 1.3.1 (oder eine höhere Stufe) auf Ihrer Entwicklungsmaschine installiert ist, und dass das bin-Verzeichnis von Java SDK als Bestandteil der System-PATH-Umgebungsvariable aufgelistet wird. (Beispiel: C:\jdk1.3.1_14\bin). Wenn Java SDK nicht installiert ist, wird der folgende Fehlertyp ausgegeben, wenn eine .jrxml-Datei erstellt wird: Error compiling report java source file.

3.7 Migrationsthemen

In diesem Aktualisierungspaket sind mehrere Änderungen an der bisherigen EGL-Syntax enthalten. Wenn Sie EGL-Abschnitte mit Version 5.1.2 oder 6.0 dieses Produkts erstellt haben, werden wahrscheinlich Gültigkeitsfehler für diese Abschnitte ausgegeben, nachdem Sie dieses Aktualisierungspaket installiert haben. Zur Aktualisierung der Syntax in den Quellendateien steht Ihnen ein einfaches Migrationstool zur Verfügung. Weitere Informationen zum Migrationstool für EGL 6.0 finden Sie in der EGL-Hilfedokumentation.

Zurück zur Readme-Hauptdatei