Riagganciandomi al post di Massimo Duca Leggere spoolfile con SQL segnalo una tecnica semplice che permette di scoprire i dati dell’ultimo spoolfile generato.
Il sistema operativo ci mette a disposizione l’API QSPRILSP: basta una sola istruzione per avere tutte le informazioni e combinando le due tecniche (trovare lo spool ed elaborarlo con SQL) è possibile trasformare/migliorare l’output dei nostri programmi con pochi semplici passi.
Index
Qui di seguito un esempio di come richiamare l’API con indicazione delle variabili che contengono i dati dello spool
* dichiarazione API e relativi parametri
dgetLastSpoolId pr extpgm('QSPRILSP')
d ReceiverVariable…
d 1 options(*varsize)
d ReceiverVariableLength…
d 10i 0 const
d FormatName 8 const
d errorCode likeds(QUSEC)
* variabili locali
d wait s 1
* /copy dichiarazioni ds info per spoolfile e gestione errori
/copy qsysinc/qrpglesrc,qsprilsp
/copy qsysinc/qrpglesrc,qusec
* inizializzazione dati errori
QUSBPrv = 0;
monitor;
* ricerca ultimo spoolfile
getLastSpoolId(QSPL0100 :%size(QSPL0100) :'SPRL0100' :QUSEC);
on-error;
clear QSPSN03;
clear QSPJN00;
clear QSPUN00;
clear QSPJNBR00;
clear QSPSNBR03;
endmon;
* visualizzazione dati ultimo spool
dsply ('Lavoro ' + %trimr(QSPJN00) + '/' +
%trimr(QSPUN00) + '/' + QSPJNBR00);
dsply ('Nome ultimo spoolfile ' + QSPSN03);
dsply ('Numero ultimo spoolfile ' + %char(QSPSNBR03)) ' ' Wait;
*inlr = *on;
return;
L’istruzione monitor è stata inserita per poter gestire l’eventualità che il job non abbia generato spool.
Se al posto di visualizzare (dsply) il risultato della ricerca lo si passa ad un componente che legge lo spool e lo trasforma il gioco è fatto. Inoltre se il codice di questo esempio lo si trasforma in un componente con parametri di I/O lo si può riutilizzare tante tante volte.
Per ulteriori informazioni è disponibile la documentazione ufficiale IBM (https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_74/apis/QSPRILSP.htm)
L’estensione “RPG IV to Free Format Conversion” sviluppata da Bob Cozzi (Cozzi Research) è pensata per semplificare la conversione di…
Ciao a tutti, oggi voglio segnalarvi un altro interessante contributo di Massimo Duca, parte della sua ormai nota serie IBM…
Incuriosito da alcuni messaggi di Cristian Larsen su Linkedin (New Release - Display File DDS Edit v.0.10.1) ho voluto scaricare…
Ciao a tutti,oggi voglio segnalarvi un annuncio che potrebbe segnare una svolta per lo sviluppo applicativo su ambienti IBM: Project…
Voglio segnalarvi un nuovo articolo molto interessante di Massimo Duca nella serie IBM i & SQL Tips. In questo sesto…
Ciao a tutti, voglio segnalarvi un post molto utile di Marco Riva sul suo sito Markonetools, in cui spiega in…