Ciao a tutti,
oggi voglio segnalarvi un altro interessante contributo di Massimo Duca, parte della sua ormai nota serie IBM i & SQL Tips.
In questo articolo Massimo ci mostra come utilizzare la table function QSYS2.STACK_INFO per individuare i programmi presenti nella call stack di un job su IBM i.
🔗 IBM i & SQL Tips #010 – Locate programs in the call stack – Massimo Duca
STACK_INFOLa funzione QSYS2.STACK_INFO restituisce informazioni dettagliate sui livelli della call stack – cioè la sequenza di programmi e procedure attivi in un determinato job – direttamente tramite SQL.
In pratica, basta una semplice query per sapere chi ha chiamato chi, senza dover intervenire con codice RPG o chiamate a basso livello.
Massimo spiega come filtrare i risultati, interpretare i diversi campi restituiti (programma, libreria, tipo di entry, livello), e come queste informazioni possano essere sfruttate per debug, logging, o per introdurre logiche condizionali basate sul chiamante.
Un articolo chiaro, pratico e immediatamente applicabile — come sempre nel suo stile. Grazie Massimo!
L’uso di STACK_INFO apre anche la porta a una riflessione interessante: come si comporta in termini di performance rispetto all’uso diretto della storica API QWVRCSTK (Retrieve Call Stack)?
Sebbene l’API fornisca il massimo controllo ed efficienza, il suo utilizzo richiede codice dedicato, gestione di buffer, strutture di dati e parsing complesso.STACK_INFO, al contrario, permette di ottenere le stesse informazioni in una manciata di righe SQL, con un approccio molto più accessibile.
In ambienti dove la consultazione della stack non è continua o critica per le performance, questa semplicità rappresenta un vantaggio notevole.
L’articolo di Massimo è un ottimo esempio del valore degli IBM i Services introdotti negli ultimi anni: un modo moderno, coerente e developer-friendly per accedere a informazioni di sistema che un tempo richiedevano l’uso di API come QUSRJOBI, QWCRSVAL o QWVRCSTK.
Queste funzioni SQL non sempre sostituiscono le API – che restano più performanti e granulari – ma rendono la vita degli sviluppatori molto più semplice, integrandosi naturalmente con gli strumenti moderni come ACS, VS Code e gli ambienti di sviluppo SQL.
In questo senso, articoli come quello di Massimo aiutano la community a scoprire e valorizzare il meglio dei due mondi: la potenza di IBM i e la praticità di SQL.
📘 Leggi il post completo di Massimo Duca:
👉 IBM i & SQL Tips #010 – Locate programs in the call stack
L’estensione “RPG IV to Free Format Conversion” sviluppata da Bob Cozzi (Cozzi Research) è pensata per semplificare la conversione di…
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…
Approfitto di una recente discussione su IBM TechXchange per segnalarvi un’ottima guida di Anna Niederschulte: dedicata alla configurazione di SFTP…