How to Process a PDF File through CA Deliver

Document ID : KB000031427
Last Modified Date : 14/02/2018
Show Technical Document Details

This article outlines the basic information needed to process a PDF file through CA Deliver.

In CA 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 CA 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 CA 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 CA 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 CA SYSVIEW, you would issue the following commands:

     SET CLISTDSN user_PDS     <=== Modify PDS name
     % FSS_virt_prtr           <=== Modify member name of virtual printer