IBM i & PHP: generare PDF dei job log con Db2 (senza librerie esterne)

Articolo GiWi IBM i

Negli ambienti IBM i, la gestione degli spool file è una parte fondamentale del monitoraggio dei job. Tradizionalmente, per consultare i log è necessario accedere alla sessione 5250, individuare lo spool e scaricarlo manualmente.

Con Db2, invece, è possibile automatizzare completamente il processo:

  • Elencare gli spool disponibili in una coda con una query SQL
  • Convertirli in PDF con la procedura SYSTOOLS.GENERATE_PDF
  • Servirli via web con un’applicazione PHP

In questo modo si ottiene un’interfaccia moderna e intuitiva per consultare e scaricare i log in formato leggibile e condivisibile, senza dipendere da strumenti esterni.

Recuperare la lista degli spool

La vista tabellare QSYS2.OUTPUT_QUEUE_ENTRIES permette di interrogare una coda di spool (ad esempio QEZJOBLOG, che contiene i job log terminati) e ottenere l’elenco degli spool disponibili:

Questa query restituisce i campi chiave necessari (JOB_NAME, SPOOLED_FILE_NAME, SPOOLED_FILE_NUMBER), che identificano in maniera univoca lo spool da convertire.

Convertire uno spool in PDF con Db2 

Una volta individuato lo spool, possiamo generare il PDF con la funzione nativa SYSTOOLS.GENERATE_PDF, che scrive il file direttamente sull’IFS:

Parametri principali:

  • JOB_NAMEformato numero/utente/nome del job che ha prodotto lo spool
  • SPOOLED_FILE_NAMEil nome del file spool (es. QPJOBLOG)
  • SPOOLED_FILE_NUMBER numero univoco dello spool o *LAST per l’ultimo disponibile
  • PATH_NAME percorso IFS dove verrà salvato il PDF

Il risultato è un file PDF pronto da aprire, scaricare o archiviare.

Integrazione in PHP

PHP non deve generare il PDF manualmente con librerie grafiche (come FPDF): si limita a lanciare le query SQL.

Un approccio semplice prevede due pagine:

  1.  index.php → mostra la lista degli spool e un link “Crea PDF”
  2.  pdf.php → invoca SYSTOOLS.GENERATE_PDF e serve il file generato

Esempio: index.php


Esempio: pdf.php

Scenari d’uso

Questo approccio permette di:

  1.  Creare portali web interni dove gli operatori possono scaricare i job log in PDF con un clic

  2.  Archiviare automaticamente i log in repository documentali

  3.  Allegare i log PDF a ticket o report di malfunzionamenti

  4.  Ridurre la dipendenza dagli strumenti 5250, portando i dati di sistema direttamente nel mondo web

In conclusione

Con poche istruzioni SQL e senza bisogno di librerie PHP dedicate al rendering PDF, IBM i mette a disposizione strumenti nativi per trasformare i job log in documenti leggibili e condivisibili.

PHP diventa il ponte tra Db2 e l’interfaccia web, permettendo di gestire gli spool aziendali in maniera semplice, veloce e accessibile.

Sei interessato a portare la semplicità del web nel mondo IBM i?

Guarda il webinar dedicato al nostro framework proprietario GiWi e scopri come velocizzare lo sviluppo.