Rational Developer for i – Rdi – Unable to edit IBM i source members with RDI

Introduzione

Questo articolo non vuole essere una vera guida a Rational Developer for i – Rdi ma solo una raccolta di tips and tricks, da riguardarsi di tanto in tanto per utilizzare meglio questo ottimo IDE di sviluppo per ambiente RPG e Cobol.

Rdi-Caso di studio:

Dal momento in cui ho deciso di focalizzare la mia attenzione sui sorgenti IBM I, l’unico strumento con il quale desidero sviluppare è RDI. Non è pensabile in alcuno modo continuare ad utilizzare il SEU e credo che sia arrivato il momento di scrivere sempre più codice in formato **free. Tale IDE integra strumenti per lo sviluppatore, ad esempio funzionalità di ricerca, modifica, sviluppo, analisi, refactoring e debugger con il framework Eclipse ad ampia diffusione, per lo sviluppo e la modernizzazione di applicazioni in modo più rapido e semplice.

Ma come sempre, può capitare che sussistano dei problemi….

Con RDI, abbiamo il grande vantaggio di avere in linea più connessioni in contemporanea sui server IBM I e quindi, abbiamo la possibilità con un semplice drag and drop di spostare i sorgenti senza troppe difficoltà. Sino ad ora tutto bene, ma da un paio di giorni a questa parte, non riuscivo più ad editare con LPEX alcun sorgente presente solo ed esclusivamente sul mio ambiente di pre-produzione.

In prima battuta, ho subito pensato che potessi avere dei problemi con il Workspace Rdi che, per qualche strana ragione, si guasta e crea strani problemi. In questi casi la prima cosa che ho provato a fare, è creare un nuovo workspace pulito e verificare se i problemi si risolvono, ma così non è stato.

Pian piano vado avanti, e la questione diventa sempre più interessante.

Decido di collegarmi con una sessione 5250 al mio ambiente di pre-produzione ed inizio ad editare un qualsiasi sorgente senza alcun problema. Qui, purtroppo ahimè ho dovuto dar ragione ai miei colleghi più anziani, che ancora non si sono convertiti al nuovo IDE e continuano a ripetermi che non ne vale la pena, ma da buon testardo che sono, decido di proseguire la mia corsa contro la risoluzione del problema.

Rdi-Risoluzione:

Nell’ordine eseguo come da documentazione IBM, tutti questi check:

  • Un firewall potrebbe bloccare la connessione TCP/IP dalla stazione di lavoro locale alla porta 446 sul server IBM i –> STRTCPSVR * DDM
  • Esegui il comando DSPNETA sulla sessione 5250 e verifico il valore per DDM RICHIEDI ACCESSO. L’impostazione predefinita deve essere * OBJAUT.
  • In casi molto rari ci sono tabelle parser su IBM I che possono, in rari casi, essere danneggiate. –> DLTUSRSPC USRSPC (QSYS/QCNPRSTBLS)
  • Verificare che il sottosistema QUSRWRK non sia limitato al numero di lavori che può essere eseguito. L’impostazione predefinita è * NOMAX.
  • Come da documentazione IBM, cercando il codice di errore, ho anche provato a pulire la cache di RDI, ma nulla.

Dopo tutte queste verifiche terminate con esito positivo, ancora nulla! L’ultima step, sarebbe verificare tutte le librerie presenti nella mia *JOBD ed accertarsi che non siano presenti per qualche strano motivo “bad library references”, ma mi sembra un qualcosa di impensabile, anche perché dal SEU tramite sessione 5250 funziona tutto egregiamente!

Ebbene si! Decido a questo punto di ricrearmi una nuova *JOBD ed associarla al mio profilo utente, e scopro che c’è una libreria, non più necessaria, che non è stata allineata sul mio ambiente di pre-produzione e quindi, presenta una “reference errors solo nel momento in cui, tra l’altro, si decide di ricreare o confermare l’attuale *JOBD. A questo punto, decido di rimuoverla dalla lista di librerie e provo nuovamente ad editare un sorgente con il mio fantastico RDI! Ovviamente, tutto funziona!

In definitiva, RDI è molto più intelligente rispetto al nostro “comodo” SEU, poiché ogni qualvolta che si effettua l’accesso, fa un check di tutte le “library references” e nel caso in cui, ci sia un semplice errore per un motivo qualsiasi, inibisce la modifica dei sorgenti!

Riferimenti:

Per ulteriori informazioni è disponibile la documentazione ufficiale IBM ai seguenti link:

·      https://www.ibm.com/support/pages/i-am-unable-edit-ibm-i-source-members-rdi

·      https://www.ibm.com/support/pages/editing-source-member-rdi-results-error-rsef1002

Related Posts
DB2 for i SQL – Stringhe – POSSTR-LOCATE-LOCATE_IN_STRING (IT)

Introduzione Spesso, nelle nostre applicazioni, abbiamo la necessità di lavorare con le stringhe di testo e l'SQL del DB2 può Read more

DB2 for i & SQL – FAQ & Howto (Part. 1) (IT)

Database DB2 e SQL ... forse lo strumento più potente e completo che abbiamo sulla piattaforma IBM i: ecco una Read more

Annuncio IBM i 7.4

Arriva direttamente con l'uovo di Pasqua questo annuncio IBM per le novità della versione IBM i 7.4, versione iNext secondo Read more

Generated Always Columns – Approfondimenti (IT)

Introduzione "Generated Always Column": sono colonne, campi, di una tabella il cui contenuto è controllato direttamente dal sistema ... e Read more

Recent Posts

ACS Access Client Solution 1.1.9.5

I primi di Aprile è uscita la "Spring Version" di ACS Access Client Solution, versione 1.1.9.5 Interessanti novità soprattutto in…

12 ore ago

Tim Rowe and Scott Forstie – Promo video for CEC 2024 – Milan

Se non vi bastava la ricca agenda delle sessioni del Common Europe Congress 2024, 3-6 Giugno Milano, ecco un altro…

13 ore ago

Code for IBM i 2.10.0 – Debug IBM i con Visual Studio Code

Le funzioni di debug con Visual Studio Code sono disponibili da qualche tempo ma questa nuova versione 2.10.0 semplifica la…

3 giorni ago

ObjectConnect over TCP/IP

A distanza di due anni e mezzo dal mio post Trasferire oggetti con ObjectConnect ed Enterprise Extender, sono finalmente riuscito…

3 giorni ago

SQL: SELECT con i “superpoteri”

Con un piccolo trucco anche una semplice istruzione SELECT può eseguire qualsiasi comando di sistema ! Vediamo come...

5 mesi ago

NetServer per tutti – parte 5

Una mini-guida a puntate per la configurazione, gestione, uso e risoluzione dei problemi di IBM i NetServer

1 anno ago