Printing Alternatives Printing Alternatives

The default printer for centralized output generation is the cut-sheet printer. Unless otherwise specified, output will be printed double-sided in landscape mode. No JCL (Job Control Language) changes are required to generate the output on the cut-sheet printers.

There are a number of alternatives to printing that you can use that are cheaper and greener:

    1)

    Use IOF in TSO/ISPF to save output on disk.

    2)

    Use IOF as a batch job to save jobs/reports to a Titan data set.

    3)

    Use JCL to route reports directly to a Titan data set.

    4)

    Use JCL to fetch job output and email to recipients.

    5)

    Use JCL to fetch job output and convert it to a PDF file and email it to user.

    6)

    Use the FETCH utility to to copy job output to a disk data set. Refer to the Titan Batch Processing manual for more information.

Making the switch

1 - Use IOF in TSO/ISPF to save output on disk – This technique is described in the Interface article, “Going Green by Increasing Printing Efficiency.” To save on your printing costs and reduce the physical space needed for storing and filing printouts, consider using the ISPF Input Output Facility (IOF) to save your job output as disk data sets instead of printing it. You can always print the job from the data set at a later date or edit the data set and then print the output. To avoid printing, you must hold the output using either:

MSGCLASS=H with SYSOUT=*

or

/*ROUTE OUTPUT HOLD

2 - Use IOF as a Batch Job to save output on disk – Instead of using TSO/ISPF, a batch job that executes IOF can be used to save output on disk. Let’s assume a userid, JOEUSER, has several jobs in output hold that could be saved to disk. The example below lists all jobs in the output queue belonging to userid JOEUSER:

------------------------------ IOF Job List Menu -------------( 4 )------------
COMMAND ===>                                                 SCROLL ===> DATA  
--------------------------------- Output Jobs ---------------------------------
-------JOBNAME--JOBID---ACT-STAT-OWNER----DEST/DEVICE-------RECS-HELD-DAY--TIME
_    1 JOB1     J002621        8 JOEUSER  NIHJES2                1664 037  5:01
_    2 JOB2     J002112          JOEUSER  NIHJES2                5342 037   :13
_    3 JOB3     J001918          JOEUSER  NIHJES2                1787 036  5:01
_    4 JOB4     J001440          JOEUSER  NIHJES2                5342 036   :17

On August 22, 2009, JOEUSER wishes to run the IOF batch utility, BATCHTSO, to save JOB4 (job number = J001440) to disk as a dataset named JOEUSER.JOB4.AUG2209. The following JCL would save the job to disk as data set JOEUSER.JOB4.AUG2209:

//SAVE2DSK EXEC BATCHTSO
//OUTPUT DD DSN=JOEUSER.JOB4.AUG2209,DISP=(NEW,CATLG),UNIT=FILE,
// DCB=(LRECL=133,BLKSIZE=0,RECFM=FBA),
// SPACE=(TRK,(10,10),RLSE)
//SYSTSIN DD *
%FETCH J001440

3 - Use JCL to route reports directly to a Titan data set

//STEPNAME EXEC PGM=your program
//outputddname DD DSN=USERID.REPORT.NAME,DISP=(NEW,CATLG),
// UNIT=FILE,DCB=(LRECL=133,BLKSIZE=0,RECFM=FBA),
// SPACE=(TRK,(10,10),RLSE)
//OTHERDD

4 - Use JCL to fetch job output and email to recipients

//STEP1 EXEC BATCHTSO
//OUTPUT DD DSN=USERID.Report.Name,DISP=(NEW,CATLG),
// UNIT=FILE,DCB=(LRECL=133,BLKSIZE=0,RECFM=FBA),
// SPACE=(TRK,(10,10),RLSE)
//SYSTSIN DD *
%FETCH J031951
/*
//STEP2 EXEC SENDMAIL
//SMTPOUT DD SYSOUT=(M,SMTP),FREE=CLOSE
//MAILIN     DD *
FROM: SENDEREMAILADDRESS
TO: RECEIVEREMAILADDRESS
SUBJECT: Your Report Subject

Your email body
//ATTCNTL   DD *
ASCII01; APPLICATION; Your report2.txt
//ASCII01 DD DSN=USERID.Report.Name,DISP=SHR

The related example below illustrates the following:

The jobclass is set to X since the job should take a short amount of time.

//MAILOUT JOB (),'username',MSGCLASS=H,NOTIFY=userid,
// CLASS=X
//STEP1 EXEC BATCHTSO
//OUTPUT DD DSN=&&JOBOUT,DISP=(NEW,PASS),
// UNIT=SYSDA,DATACLAS=LISTF
//SYSTSIN DD *
%FETCH J016916 STEP(MAIL) DDNAME(SYSTSPRT)
/*
//STEP2 EXEC SENDMAIL
//MAILIN DD *
FROM: senderemailaddress
TO: receiveremailaddress
SUBJECT: Your subject
Your email body
//ATTCNTL DD *
ASCII01; APPLICATION; Your.report3.txt
//ASCII01 DD DSN=&&JOBOUT,DISP=SHR

5 - Use JCL to fetch job output and convert it to a PDF file and email it to users

//STEP1 EXEC BATCHTSO
//OUTPUT DD DSN=USERID.Report.Name,DISP=(NEW,CATLG),
// UNIT=FILE,DCB=(LRECL=133,BLKSIZE=0,RECFM=FBA),
// SPACE=(TRK,(10,10),RLSE)
//SYSTSIN DD *
%FETCH jobnumber
/*
//PDF EXEC PGM=IKJEFT01,DYNAMNBR=100,REGION=0M
//SYSEXEC DD DSN=NIH.CLISTS.VB,DISP=SHR
//SYSTSPRT DD SYSOUT=A
//SYSTSIN DD *
%TXT2PDF 'ORIENT=LANDSCAPE,CC=YES,TITLE=YOUR REPORT‘
//SYSUT1   DD DSN=userid.report.name,DISP=SHR
//SYSUT2   DD DSN=userid.report,name.PDF,DISP=(NEW,CATLG),
//         UNIT=FILE,RECFM=VB,LRECL=256,DSORG=PS,
//         SPACE=(TRK,(5,5),RLSE)
//EMAIL EXEC SENDMAIL
//SMTPOUT DD SYSOUT=(M,SMTP),FREE=CLOSE
//MAILIN   DD *
FROM: Senderemailaddress
TO: Receiveremailaddress
SUBJECT: Your Report Subject

Your email body
//ATTCNTL   DD *
BINARY01; APPLICATION/PDF; yourreportname.PDF(attachment name on your email)
//BINARY01 DD DSN=userid.report.name.PDF, (from Step 2)
//         DISP=SHR

For Assistance

If you need help or have any questions regarding Output Distribution, contact the NIH IT Service Desk at http://itservicedesk.nih.gov/support or call 301-496-HELP (301-496-4357), 866-319-4357 (toll free), or 301-496-8294 (TTY).


Updated 12/22/2011
Mainframe Printing | Comments | Disclaimers | Accessibility | NIH Data Center | Interface | Titan News
    CIT Logo

   

U.S. Department of Health and Human Services
National Institutes of Health
Center for Information Technology   
Bethesda, Maryland 20892

NIH IT Service Desk
Phone: 301-496-4357 (301-496-HELP)
866-319-4357 (toll free)
301-496-8294 (TTY)
Web: http://itservicedesk.nih.gov