A partire dalla V7R1 IBM ha rilasciato la keyword AFPRSC utilizzabile a livello di record.
Essa serve nel caso in cui si volesse inserire all’interno degli spool immagini, pdf e oggetti AFPDS in modo nativo senza bisogno di utilizzare licenze sw di trasformazione dello spool e offre la possibilità, ad esempio, di generare documenti pdf anche a colori direttamente dai nostri programmi rpg.
Alcuni esempi di utilizzo: loghi, layout di moduli grafici (fatture, contratti di vendita/acquisto, …), scritte in trasparenza (es. pro-forma, fac-simile, …) ma anche cataloghi con immagini dei prodotti e chi più ne ha più ne metta.
Index
Implementare questa keyword è piuttosto semplice, tanto che sono necessarie solo poche variabili per poterla gestire:
Tutte le variabili che vengono inserite nelle DDS del printer file devono essere definite as uso P (passaggio dati dal programma al sistema).
Se non viene specificato l’attributo *PATH il sistema operativo cercherà la risorsa nel path specificato nella variabile d’ambiente QIBM_AFP_RESOURCES_PATH e come ultimo default nella cartella IFS /QIBM/UserData/OS400/AFPresources.
Ecco la lista delle tipologie supportate (tipo risorsa):
Tipologia | Descrizione | Note |
*JFIF | Immagine jpg | |
*PDFSPO | Oggetto pdf mono pagina | Deve avere dimensione più piccola di una pagina |
*PDFSPOTR | Come il precedente ma viene stampato in trasparenza | Gli viene sovrapposto tutto ciò che viene scritto successivamente |
*PCLPO | Oggetto PCL | |
*BCOCA | Oggetto barcode AFPDS | |
*GOCA | Oggetto grafico AFPDS | |
*IOCA | Oggetto immagine AFPDS | |
*TIFF | Immagine TIFF |
Riporto un semplice esempio di come implementare la keyword sulle DDS del printer file per stampare un logo salvato in pdf su IFS:
A R RESOURCE AFPRSC(&RESNAME &RESTYPE &POSDOWN +
A &POSACROSS +
A (*ROTATION &ROTATION) +
A (*PATH &PATH))
A RESNAME 125A P
A RESTYPE 10A P
A POSDOWN 5S 3P
A POSACROSS 5S 3P
A ROTATION 3S 0P
A PATH 640A P
e qui sotto il corrispondente blocco di codice rpg
// directory che contiene il file pdf da includere nella stampaPATH = '/home/resources/';
// nome file pdfRESNAME = 'fac-simile.pdf';
// tipoRESTYPE = '*PDFSPOTR';
// position downPOSDOWN = 0,5;
// position across
POSACROSS = 0,5;
// gradi di rotazione
ROTATION = 0;
// stampa record
Write RESOURCE;
Questa keyword apre nuovi orizzonti per la produzione di stampe grafiche con poco sforzo. In ogni caso come qualunque altro componente sw ha dei limiti anche se a mio avviso non stringenti:
Per ulteriori informazioni è disponibile la documentazione ufficiale IBM (https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_74/rzakd/rzakdpdf.pdf)
Con questo post voglio consigliarti la lettura di questo articolo di Giancarlo Lui sulla TechXChange Community: IBM i System Management:…
Nel suo recente articolo "Option *convert in RPG Free" , Aldo Succi esplora l'opzione *CONVERT nel linguaggio RPG, evidenziando come…
Guida pratica all'aggiornamento dei certificati Java e DCM per consumo web services via SQL HTTPGETCLOB e HTTP_GET.
Riceviamo e pubblichiamo ben volentieri questo "tip & trick" di Patrick Rizzi che presenta una tecnica che permette di intervenire…
Prendo spunto da una risposta di Michael Mayer sulle mailing list di Midrange.com a chi chiedeva come monitorare i messaggi…
Le imprese sono sempre più alla ricerca di strumenti che possano migliorare l'efficienza, la collaborazione e la gestione delle risorse.…
View Comments
Avete mai provato l'esempio?
Non funziona.
Ciao Karl
si certo l'esempio è stato provato ed è funzionante.
Che tipo di problema riscontri? Hai errori nel joblog?
Hai già verificato sul sito IBM (https://www.ibm.com/docs/en/i/7.4?topic=80-afprsc-afp-resource-keyword-in-printer-files) eventuali dettagli di implementazione?
Tomas,
Ho aperto un caso presso IBM e questa è la risposta:
The use of the AFPRSC DDS keyword is not supported by Host Print Transform (HPT) until IBM i 7.2. As with Transform Services, Host Print Transform supports both TIFF and JFIF (JPG or JPEG), but does not support PDF, PCL, BCOCA, GOCA, or IOCA.
The use of the AFPRSC DDS keyword is supported by Transform Services (5761TS1 and 5770TS1) to generate PDFs. Transform Services supports both TIFF and JFIF (JPG or JPEG), but does not support PDF, PCL, BCOCA, GOCA, or IOCA.
IMPORTANTE:
If you intend on using *PDFSPO for the image type, the spooled file must be printed to an IPDS printer that is capable of printing the image type.
È richiesto PSF400.