What is the information needed to process a PDF file through Deliver?
A report can be processed either via pre-spool (RMOPARMS JOBCLSL and SYSCLSL) or post-spool (RMOPARMS NETCLSL/NETDEST/NETFORM).
. Create a Job Definition in Deliver, for the job that will either create the file or copy an existing file (for example, using IEBGENER).
. In the RMOSTC task's RMOPARMS, include the following:
. ARCHnn=c///D/PDFC
where: nn is the ARCH number
c is the output class collected by the SARFSS task
The D indicates the file will go to disk and PDFC is the print mode (PRMODE) to use.
. In the Report Definition in Deliver, have the following fields:
. ARCH ==> nn (to match the number used in the RMOPARM ARCH01-ARCH99)
BANNER ==> * (to suppress any banner being generated)
Note: Use of the "GRPID ==> ..." field so it corresponds to a member name
in the SARFSS task //PDFINDEX file.
. For a Distribution ID assignment (command "D"):
. Each Distribution IDs listed should have an "Out" field of "N", so that no print copy is generated.
. Please see the information presented below on implementing a View PDF archiver.
. To submit the PDF file:
//XXXXXXXX JOB ...,CLASS=x,MSGCLASS=X
//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=X
//VIEWPDF OUTPUT PRMODE=PDFC
//SYSUT1 DD DISP=SHR,DSN=PDF_File_Name <=== Modify PDF file name
//SYSUT2 DD SYSOUT=y,OUTPUT=*.VIEWPDF
//SYSIN DD DUMMY
//
Steps required to implement a View PDF Archiver:
. The dynamic JES commands that temporarily define a sample JES Printer, using name PRT83, are listed below.
Change the overrides to the requirements for your site. This collector is using Class and Prmode as the selection criteria. It is suggested that the printer definitions are created in the respective z/OS system members, so that when the system is IPL'ed, the commands will not need to be re-issued.
$ADD FSSDEF(CBRMSPDF),PROC=CBRMSPDF
$T FSS(CBRMSPDF),AUTOSTOP=YES
$ADD PRT83,MODE=FSS,FSS=CBRMSPDF
$T PRT83,CLASS=J,FORM=,PRMODE=(PDFC)
$T PRT83,WRITER=,JOBNAME=*
$T PRT83,WS=(Q,PRM/F,W,R,LIM,UCS,FCB)
$SPRT83
. A sample proc for the View PDF Archiver can be found in library/member CVDEPROC(CBRMSPDF),
. The CVDEOPTN library, or any other user-defined library, can be used to contain the custom built PDF Indexing member used for indexing the processed PDF document from JES.
An example of a PDF Indexing member can be found in CVDEOPTN(CAHAPDFD).
//CBRMSPDF PROC CAI=CAI /* HLQ FOR CA VIEW */
//**********************************************************************
//*** ***
//*** CBRMSPDF - PDF INDEXING PROCEDURE ***
//*** ***
//**********************************************************************
//*** ***
//CBRMSPDF EXEC PGM=SARFSS,REGION=0M,TIME=NOLIMIT
//*
//STEPLIB DD DISP=SHR,DSN=&CAI..CVDELOAD <=== VIEW LOAD LIBRARY
//*** ***
//PDFINDEX DD DISP=SHR,DSN=&CAI..CVDEOPTN <=== PDF INDEXING MEMBERS
//*** ***
//*********************************************************************
//*** THE FOLLOWING DD'S ARE SHOWING HOW TO USE THE DEFAULTED DD NAMES*
//*** PDFTRACE AND PDFREPRT. YOU CAN OVERRIDE THESE DEFAULT DD'S IN ***
//*** THE PRINTER MEMBER SPECIFIED AS SHOWN BELOW IN PRT83 DD. ***
//*********************************************************************
//*** ***
//PDFTRACE DD SYSOUT=X <---- DEFAULT TRACE DATASET
//PDFTRC83 DD SYSOUT=X <---- SET IN TRACEDDN IN INDEX MEMBER
//PDFREPRT DD SYSOUT=X <---- DEFAULT PDF REPORT DATASET
//PDFREP83 DD SYSOUT=X <---- SET IN REPRTDDN IN INDEX MEMBER
//*** ***
//*********************************************************************
//*** THE FOLLOWING CBRMOPTN MEMBER CONTAINS THE FSS COLLECTOR ***
//*** INITIALIZATION PARAMETERS. EXAMPLE MEMBER NAME IS CAHAPDFE. ***
//*********************************************************************
//*** ***
//PRT83 DD DISP=SHR,DSN=&CAI..CVDEOPTN(CAHAPDFE) <- PRINTER MEMBER
//*** ***
//SARLOG DD SYSOUT=X
//SYSUDUMP DD SYSOUT=X
//SYSPRINT DD SYSOUT=X
//STDERR DD SYSOUT=X
//SYSOUT DD SYSOUT=X
//SYSTERM DD SYSOUT=X
//*
// PEND
. Create the View printer definition
The printer definition in the PDF Collector FSS PROC is pointed to by a DD statement that matches the printer name (PRT83):
//PRT83 DD DISP=SHR,DSN=CAI.CVDEOPTN(CAHAPDFE) * PRINTER MEMBER
PRT83 is used and the DD points to member CVDEOPTN(CAHAPDFE).
The following is a sample of what this member might look like:
TYPE=PDF
ARCHMSG=LOG
INDEXMEM=DEFAULT
NEWWTR=
NAME=VIEW.SYSTEM1
INDEXMEM= is a default member name, in the PDFINDEX data set, that you can use to accept PDF documents that do not have indexing requirements. A member can be defined in the PDF index data set for the PDF document and contain no parameters if you wish to control indexing requirements per PDF document.
If the report has no matching member in the PDFINDEX data set, and a member name has not been specified for INDEXMEM or the member name specified does not exist, the report will be processed using the PDF Collector default values and the report will not be indexed.
To be able to circumvent needing to add a member to the PDFINDEX file for a Jobname:
. In the //PDFINDEX file, create a member called "NOINDEX", which should be null.
. For the virtual printer (PRTnn, etc.), that starts the FSS task, include parameter:
INDEXMEM=NOINDEX
The NOINDEX member will be used as a default, if there is no member with a FORMS name or a Jobname.
. To start the SARFSS task, in SYSVIEW, you would issue the following commands:
SET CLISTDSN user_PDS <=== Modify PDS name
% FSS_virt_prtr <=== Modify member name of virtual printer