Sample CL for using SPLIFORM command
From Support
This sample CL will apply the form to the spool file, and output the result as a PDF into an IFS folder that has spacess in the folder path.
DCL VAR(&SPOOL) TYPE(*CHAR) LEN(10)
DCL VAR(&RJSXML) TYPE(*CHAR) LEN(200)
DCL VAR(&JRXML) TYPE(*CHAR) LEN(200)
DCL VAR(&OUTPUTIFS) TYPE(*CHAR) LEN(255)
DCL VAR(&IFMOUTPUT) TYPE(*CHAR) LEN(255)
/******************************************************/
/* TODO - GENERATE REPORT FIRST */
/* THIS EXAMPLE ASSUMES THAT THE SPOOL */
/* FILE NAME WILL BE:INVOICE. */
/******************************************************/
/* CALL PGM(REPORTGEN) */
/******************************************************/
/* CALL SPLIFORM TO CONVERT REPORT TO ELECTRONIC FORM */
/* USE *AUTOGEN BECAUSE THE FINAL FILE NEEDS */
/* TO HAVE A SPACE IN THE NAME SO WE WILL COPY THE */
/* AUTO GENERATED FILE TO ITS FINAL LOCATION. */
/******************************************************/
/* Set iForms Template and Spool File Name Info */
CHGVAR VAR(&SPOOL) VALUE(INVOICE)
CHGVAR VAR(&JRXML) VALUE('/RJSIFORMS/INVOICE.JRXML')
CHGVAR VAR(&RJSXML) VALUE('/RJSIFORMS/INVOICE.RJSXML')
/* Set Desired Final Output IFS File Name */
CHGVAR VAR(&OUTPUTIFS) VALUE('/RJSIFORMS/ACCOUNTS +
PAYABLE/INVOICE.PDF')
/* Generate iForm PDF from last spool file */
SPLIFORM FILE(&SPOOL) JOB(*) SPLNBR(*LAST) +
TEMPLATE(&JRXML) XMLDEFFILE(&RJSXML) +
OUTPUTFILE(*AUTOGEN) OUTPUTTYPE(PDF)
/* Get *AUTOGEN name from data area */
RTVDTAARA DTAARA(QTEMP/IFMOUTPUT) RTNVAR(&IFMOUTPUT)
/* Copy PDF to final file location */
CPY OBJ(&IFMOUTPUT) TOOBJ(&OUTPUTIFS) +
DTAFMT(*BINARY) REPLACE(*NO) OWNER(*NEW)
/* Change IFS Authorities as needed. We give *PUBLIC */
/* *ALL authority in thie example. */
CHGAUT OBJ(&OUTPUTIFS) USER(*PUBLIC) DTAAUT(*RWX) +
OBJAUT(*ALL)
/* Clean up auto generated PDF file after copy */
/* The auto gen file gets created in lib RJSTEMP */
ERASE OBJLNK(&IFMOUTPUT)
/* Clean up spool file if desired. */
DLTSPLF FILE(&SPOOL) JOB(*) SPLNBR(*LAST)
RETURN
ERRORS:
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Errors +
occurred while generating iForm document. +
Please check the joblog') MSGTYPE(*ESCAPE)
