EGL - Note sul rilascio


1.0 Software supportato e specifiche
2.0 Limitazioni
   2.1 Utilità di conversione I4GL a EGL: Valori 'null' non impostati sulle variabili di bound durante la lettura da un modulo della console
   2.2 Utilità di conversione I4GL a EGL: Differenze di runtime tra istruzioni di ciclo I4GL e EGL 'FOR'
   2.3 Utilità di conversione I4GL a EGL: I record delle schermate indicati con l'annotazione .* non vengono convertiti in modo appropriato
   2.4 Utilità di conversione I4GL a EGL: Le condizioni I4GL IF (IF ! xxx o IF xxx) e le espressioni Booleane non sono completamente supportate in EGL
   2.5 Moduli TUI: Uso della proprietà "validValuesMsgKey" con campi modulo non numerici
   2.6 Supporto servizi Web: Annotazioni XSD in elementi dati, record o elementi record sono applicabili solo alle Interfacce
   2.7 Supporto servizi Web: Tipi di file WSDL supportati
   2.8 Supporto servizi Web: Percorso della libreria di binding dei servizi creata dalla procedura guidata
   2.9 Debugger EGL
3.0 Problemi noti
   3.1 Supporto servizi Web: Errori durante l'utilizzo di matrici multidimensionali come parametri per progetti J2EE 1.3
   3.2 Supporto servizi Web: Errori durante l'utilizzo di record fissi con sottostrutture come parametri per progetti J2EE 1.3
   3.3 Supporto servizi Web: Errori durante l'utilizzo di tipi di dati di tempo o di intervallo come parametri per progetti J2EE 1.3
   3.4 Supporto servizi Web: Errori durante la generazione di elementi di dati EGL duplicati da file WSDL multipli
   3.5 Variabili host per accesso ai database Oracle
   3.6 Compilazione file Jasper (.jrxml) in EG
   3.7 Problemi di migrazione

1.0 Software supportato e specifiche

L'editor delle opzioni di generazione indica che WebSphere Application Server 5.1 è un tipo di server supportato. Tuttavia sono supportate solo le versioni 5.1.1 o successive di WebSphere Application Server.

2.0 Limitazioni

2.1 Utilità di conversione I4GL a EGL: Valori 'null' non impostati sulle variabili di bound durante la lettura da un modulo della console

Descrizione: durante l'esecuzione di un'istruzione openUI di un modulo console, i valori restituiti nelle variabili di bound non contengomo mai un valore ?null? . In I4GL, se non viene immesso alcun valore in un campo modulo, viene restituito un valore null.

Soluzione: se l'applicazione verifica specificamente la presenza di un valore ?null? durante o dopo un'istruzione openUI in un modulo, sarà necessario modificare la logica in modo che cerchi un valore di stringa vuota invece di null.

2.2 Utilità di conversione I4GL a EGL: Differenze di runtime tra istruzioni di ciclo I4GL e EGL 'FOR'

Descrizione: in I4GL, l'istruzione ?for I = 0 to 1 by -1 ? fa sì che il blocco di codice di ciclo venga eseguito zero (0) volte. In EGL, questo stesso blocco di codice genererà un ciclo infinito, causando una eccezione di interi fuori limite o una eccezione di overflow dello stack.

Soluzione: rielaborare EGL per l'istruzione in modo che il blocco di codice del ciclo venga eseguito il numero di volte desiderato. In alternativa, è possibile modificare il ciclo for in una istruzione while che esegue il blocco di codice il numero di volte desiderato.

2.3 Utilità di conversione I4GL a EGL: I record delle schermate indicati con l'annotazione .* non vengono convertiti in modo appropriato

Descrizione: a volte l'utilità di conversione espande i record delle schermate per tutte le colonne nella tabella anche se viene utilizzato un solo sottoinsieme di per definire i record della schermata.

Soluzione: rimuovere i nomi di colonne estranei dalle istruzioni EGL convertite.

2.4 Utilità di conversione I4GL a EGL: Le condizioni I4GL IF (IF ! xxx o IF xxx) e le espressioni Booleane non sono completamente supportate in EGL

Descrizione: le condizioni IF in "IF ! xxx" o "IF xxx" attivano errori di convalida. Le espressioni booleane non sono supportate in EGL e generano errori di convalida.

Soluzione: l'utilità di conversione automaticamente converte tali funzioni IF in base al contesto in cui sono utilizzate; questa limitazione non influenza la conversione delle applicazioni I4GL. Viene documentato qui in modo che gli utenti I4GL conoscano il livello di supporto delle condizioni IF durante la scrittura delle nuove applicazioni in EGL.

Per le espressioni booleane, convertire il risultato booleano di una condizione nel valore numerico 0 o 1.

2.5 Moduli TUI: Uso della proprietà "validValuesMsgKey" con campi modulo non numerici

Quando si utilizza l'editor dei moduli EGL o si modifica l'origine manualmente per una parte del modulo, verrà visualizzato il seguente messaggio quando la proprietà "validValuesMsgKey" viene utilizzata con un campo del modulo il cui tipo primitivo non è numerico, ad esempio char o db char:

IWN.VAL.5381.e 76/0 Proprietà: validValuesMsgKey. Il valore per questa proprietà per il campo ... nel modulo ... non è valida. La proprietà è relativa ad un elemento numerico.

Per utilizzare questa proprietà con un primitivo non numerico, procedere come segue:

  1. Aprire il file contenente il modulo con l'editor EGL. Selezionare il file con il tasto destro del mouse e selezionare Apri con > Editor EGL nella vista Esplora progetti.
  2. Invece di specificare un tipo primitivo nella dichiarazione del campo per cui è stato impostato validValuesMsgKey, specificare una parte dell'elemento dati nella dichiarazione del campo. La parte dell'elemento dati deve specificare lo stesso tipo primitivo del campo.

Ad esempi se il campo originale è stato definito come:

ACTION char(1) {inputRequiredMsgKey = "0003", validValues = ["I","S","U","D"], ..., validValuesMsgKey = "0004"}; //This line should have IWN.VAL.5381 error Change the definition of the field to:

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

Nello all'esterno di formGroup, immettere:
DataItem charOneItem char(1) { validValuesMsgKey="1000" } end

2.6 Supporto servizi Web: Annotazioni XSD in elementi dati, record o elementi record sono applicabili solo alle Interfacce

Le annotazioni XSD applicate alle definizioni di elementi dati, definizioni di record e dichiarazioni di elementi record che riflettono i facet dei tipi di dati di schema XML rilevati in un file WSDL di un servizio Web, hanno significato solo se utilizzati nei parametri di funzione dell'supportati e restituiscono valori derivati da un file WSDL.

Esempio:

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 Supporto servizi Web: Tipi di file WSDL supportati

La procedura guidata Creazione interfacce EGL supporta solo file WSDL di tipo RPC/Encoded, RPC/Literal e Document/Literal (Wrapped). I file WSDL di tipo Document/Literal (Unwrapped) non sono supportati.

2.8 Supporto servizi Web: Percorso della libreria di binding dei servizi creata dalla procedura guidata

La procedura guidata Creazione libreria binding di servizio da un servizio EGL non copia i file WSDL in un progetto diverso. Se la libreria binding di servizio viene creata in un progetto diverso da quello in cui è stato generato il servizio, l'utente dovrà inserire manualmente una copia dei file indicati come riferimento dalla libreria nel percorso specificato dal binding del Web.

2.9 Debugger EGL

Non è possibile utilizzare EGL debugger per i programmi che contengono prospetti. Il supporto per questa funzione verrà fornito in una versione futura.

3.0 Problemi noti

3.1 Supporto servizi Web: Errori durante l'utilizzo di matrici multidimensionali come parametri per progetti J2EE 1.3

I servizi generati come Servizio Web o Librerie di binding di servizio con i binding Web genereranno codice Java con errori di compilazione se vengono utilizzate matrici multidimensionali come parametri o vengono definite nei record utilizzati come parametri nel servizio o nelle funzioni dell'interfaccia, quando la generazione avviene in un progetto Web con livello J2EE 1.3.

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 Supporto servizi Web: Errori durante l'utilizzo di record fissi con sottostrutture come parametri per progetti J2EE 1.3

I servizi generati come Servizio Web o Librerie di binding di servizio con i binding Web genereranno codice Java con errori di compilazione se vengono utilizzati record fissi che contengono elementi di dati strutturati con occorrenze > 1 come parametri o vengono definiti nei record utilizzati come parametri nel servizio o nelle funzioni dell'interfaccia, quando la generazione avviene in un progetto Web con livello J2EE 1.3.

Esempio:

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 Supporto servizi Web: Errori durante l'utilizzo di tipi di dati di tempo o di intervallo come parametri per progetti J2EE 1.3

I servizi generati come Servizio Web o Librerie di binding di servizio con i binding Web genereranno codice Java con errori di compilazione se vengono utilizzate matrici multidimensionali come parametri o vengono definite nei record utilizzati come parametri nel servizio o nelle funzioni dell'interfaccia generate in un progetto Web con livello J2EE 1.3 e attiveranno una eccezione Java durante il runtime.

3.4 Supporto servizi Web: Errori durante la generazione di elementi di dati EGL duplicati da file WSDL multipli

Utilizzando la procedura guidata Creazione interfaccia EGL con due o più file WSDL che contengono gli stessi tipi di definzione di schema XML nello stesso progetto EGL, verranno create definizioni di dati EGL duplicate che causeranno errori di convalida EGL.

3.5 Variabili host per l'accesso al database Oracle

Se il programma EGL accede ad un database Oracle ed utilizza l'istruzione OPEN per aprire un insieme di risultati, la proposizione SELECT dell'istruzione OPEN non sarà in grado di utilizzare i nomi delle variabili host. Se vengono specificati i nomi delle variabili host, non verrà impostato alcun valore nell'elemento corrispondente della proposizione in uso dell'istruzione OPEN.

3.6 Compilazione dei file Jasper (.jrxml) in EG

EGL fornisce un generatore che compila i file JasperReport ad ogni salvataggio. Se le applicazioni EGL dispongono di un gestore prospetti, assicurarsi che sulla macchina di sviluppo sia installato Java SDK 1.3.1 (o un livello successivo), e che la directory SDK bin sia elencata come parte della variabile di ambiente del sistema PATH (ad esempio, C:\jdk1.3.1_14\bin). Se Java SDK non è installato, durante la generazione dei file .jrxml file verrà visualizzato un errore simile al seguente: Errore durante la compilazione del file di origine java del prospetto.

3.7 Problemi di migrazione

Questo refresh pack comprende diverse modifiche alla sintassi EGL precedente. Se si sono create delle parti EGL utilizzando la Versione 5.1.2 o 6.0 del prodotto, probabilmente verranno visualizzati degli errori di convalida per queste parti dopo aver installato questo refresh pack. Per aggiornare la sintassi dei file di origine, viene fornito un semplice strumento di migrazione. Per ulteriori informazioni sullo strumento di migrazione di EGL V6.0, fare riferimento alla documentazione di EGL.

Visualizza il file Readme principale