Aprire un SAVF senza un IBM i

Accedi per salvare

jSAVF legge un file di salvataggio IBM i su un PC, senza nessun collegamento a un sistema. La versione corrente è la 1.83, del 7 dicembre 2025, e si scarica dal sito dell'autore. Apre anche le immagini ISO9660 e AWSTAPE dei nastri.

Serve nei casi in cui DSPSAVF non si può lanciare: il fornitore manda un SAVF e si vuole sapere che cosa c'è prima di ripristinarlo, oppure resta il salvataggio di una macchina spenta e nessun sistema su cui caricarlo.

Che cosa legge

Compressione del SAVFLetto
*NOSì
*YES (prima di V5R3) e *LOWSì
*MEDIUM, *HIGHSì
zlib, che secondo l'autore compare dalla V7R5Sì

Aperto il file, l'elenco degli oggetti ha la forma di quello di DSPSAVF, e si stampa in un file di testo come DSPSAVF ... OUTPUT(*PRINT).

Che cosa estrae

  • Sorgenti: i membri dei file sorgente (QRPGLESRC, QCLLESRC, QSQLLESRC e gli altri) in tre forme: solo il testo, il formato sorgente con numero e data di riga, o CSV. Esce sempre in UTF-8.
  • Tabelle e file fisici: in CSV, con la maggior parte dei tipi di colonna (numerici, date, testo, LOB). L'autore avverte che alcuni campi di testo possono uscire decodificati male quando la codifica non si capisce, e che i LOB molto grandi possono non uscire per intero.
  • Aree dati: come le mostrerebbe DSPDTAARA.
  • SAVF dentro il SAVF: esportati come SAVF validi, che jSAVF stesso apre.
  • File dell'IFS (*STMF) nei salvataggi fatti con SAV: esportati senza conversione.

Gli altri tipi di oggetto si esportano grezzi.

Controllare che sia intero

jSAVF confronta la dimensione del file con quella scritta nell'intestazione, quindi si accorge di un SAVF troncato; controlla i blocchi che legge contro i loro codici di controllo; e da un menu verifica tutti i blocchi e il codice di controllo complessivo. È il primo controllo da fare su un SAVF arrivato per posta o da un trasferimento FTP in testo invece che in binario.

Limiti dichiarati

  • supporto limitato dei SAVF fatti dall'IFS con SAV;
  • può non leggere i SAVF fatti con comandi SAV* poco comuni o con rilasci molto vecchi di OS/400;
  • serve OpenJDK 25 o successivo; l'installatore per Windows lo contiene già. Chi installa una JRE per conto suo deve scegliere tutte le opzioni, perché alcune tabelle di conversione da EBCDIC sono facoltative.

Un SAVF è un pezzo di un sistema. Contiene dati veri, spesso di clienti. L'autore chiede di non mandargli SAVF senza averlo concordato con i proprietari dei dati: vale anche per chi pensa di aprirlo con un altro strumento trovato in rete.

Esempio

Nomi di libreria e di file inventati.

Un fornitore manda PATCH0925.SAVF con le correzioni al gestionale, e chiede di ripristinarlo con RSTOBJ sulla libreria di produzione. Prima di farlo:

  1. jSAVF apre il file e lo verifica: dimensione e blocchi a posto.
  2. L'elenco mostra quattro programmi, un file sorgente QRPGLESRC con quattro membri e un file fisico ARTICOLI.
  3. Il file fisico non era annunciato. Esportato in CSV, contiene l'anagrafica articoli di un altro cliente del fornitore.

Il SAVF si rimanda indietro senza ripristinarlo: un RSTOBJ su *ALL avrebbe sostituito il file ARTICOLI di produzione.

Su quali versioni funziona

jSAVF gira sul PC, quindi non dipende dal rilascio del sistema; il limite è sul SAVF, che non deve venire da un rilascio molto vecchio. Su un IBM i, le stesse informazioni dell'elenco le danno DSPSAVF e i servizi SQL QSYS2.SAVE_FILE_INFO e QSYS2.SAVE_FILE_OBJECTS, nominati nella pagina di DSPSAVF di 7.6.

Fonti

← Torna al blog

Commenti

Nessun commento ancora. Sii il primo a commentare!

Devi avere un account per commentare. Accedi · Registrati