01a - RPG

Gestione dei file video bloccati su IBM i: una soluzione efficace

Riceviamo e pubblichiamo ben volentieri questo “tip & trick” di Patrick Rizzi che presenta una tecnica che permette di intervenire (modificare e compilare) eventuali file video (DSPF) in uso. Sappiamo tutti che se un Display File è in uso da uno o più utenti non possiamo ricompilarlo perché risulta “bloccato”.

Con questa tecnica presentata da Patrick possiamo tranquillamente modificare e ricompilare un DSPF anche con l’applicazione aperta in running. A tutti gli effetti il programma RPG lavora con il DSPF in QTEMP e continua a lavora con la “vecchia versione” fino al suo riavvio.

Se pensiamo ad alcuni programmi usati da decine o centinaia di utenti oppure a programmi che per loro natura sono attivi tutto il giorno questa tecnica ci può essere veramente di aiuto.

Ecco i consigli di Patrick Rizzi:

Index

Problema:

Quanti di voi hanno mai incontrato il fastidioso problema di un file video bloccato su IBM i, impedendo così la sua compilazione? Questo inconveniente può rallentare significativamente il processo di sviluppo e manutenzione delle applicazioni.

Soluzione:

Una soluzione pratica e efficace consiste nell’utilizzare una combinazione di tecniche RPG e CL per gestire attivamente il ciclo di vita dei file video nella QTEMP.
Ecco come procedere:

  1. Dichiarazione del file video come USROPN:
    ○ Nel programma RPG, dichiara il file video con la keyword USROPN. Questo significa che la gestione dell’apertura e della chiusura del file sarà sotto il
    tuo diretto controllo.
  2. Creazione di un programma CL che:
    • Elimina, se già esiste, il file video dalla QTEMP del JOB.
    • Copia il file video dalla sua libreria originale nella QTEMP.
  3. Apertura del file video:
    • Nel tuo programma RPG, apri il file video nella QTEMP utilizzando il comando OPEN.

Vantaggi di questa soluzione:
● Flessibilità: Ti permette di controllare completamente il ciclo di vita del file video.
● Efficienza: Evita blocchi e conflitti, garantendo una ricompilazione rapida e senza intoppi.
● Scalabilità: Si adatta facilmente a diversi scenari e ambienti.

Esempio di codice RPG:

dcl-pr dupdspftmp extpgm('DUPDSPFTMP');
lib char(10) const;
file char(10) const;
end-pr;
dcl-f mydspfile workstn usropn;
dupdspftmp('*LIBL':’MYDSPFILE’);
open mydspfile;

Esempio di programma CL (DUPDSPFTMP):

PGM PARM(&LIB &DSPF)
DCL VAR(&LIB) TYPE(*CHAR) LEN(10)
DCL VAR(&dspf) TYPE(*CHAR) LEN(10)
DLTOBJ OBJ(QTEMP/&DSPF) OBJTYPE(*FILE)
MONMSG MSGID(CPF2105)
CRTDUPOBJ OBJ(&DSPF) FROMLIB(&LIB) OBJTYPE(*FILE) TOLIB(QTEMP)
ENDPGM

Ringraziamo Patrick Rizzi per aver condiviso con la Community questa tecnica e invitiamo altri lettori del Blog.Faq400 a fare altrettanto con materiale e/o tecniche che possono essere condivise.

Grazie Patrick.

Roberto

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

--- Roberto De Pedrini Faq400.com

Recent Posts

IBM i: La gestione del sistema è più semplice di quanto pensi

Con questo post voglio consigliarti la lettura di questo articolo di Giancarlo Lui sulla TechXChange Community: IBM i System Management:…

3 mesi ago

RPG Free e option(*convert) per una migliore gestione parametri

Nel suo recente articolo "Option *convert in RPG Free" , Aldo Succi esplora l'opzione *CONVERT nel linguaggio RPG, evidenziando come…

3 mesi ago

Aggiornamento Certificati CA per BCE: Guida Pratica

Guida pratica all'aggiornamento dei certificati Java e DCM per consumo web services via SQL HTTPGETCLOB e HTTP_GET.

3 mesi ago

Monitoraggio Messaggi QSYSOPR: SQL per Ottenere Messaggi e Reply

Prendo spunto da una risposta di Michael Mayer sulle mailing list di Midrange.com a chi chiedeva come monitorare i messaggi…

7 mesi ago

Perché l’ERP è la Chiave del Successo per le Imprese Moderne

Le imprese sono sempre più alla ricerca di strumenti che possano migliorare l'efficienza, la collaborazione e la gestione delle risorse.…

9 mesi ago

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…

1 anno ago