• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Don’t Clone That Printer File!

    February 6, 2013 Hey, Ted

    I have a program that uses an externally described printer file to create a report. I need to change the program so that it writes some information to one spooled file and the remaining information to a separate spooled file. I could clone the printer file, but that would mean I’d have to change two files instead of one when I modify the report file in the future. Do I have to clone the printer file?

    –Mark

    No, Mark, you can build two or more reports from one printer file definition. Here’s how it’s done.

    Let’s start with a printer file, QAD001P.

    A                                      REF(QCUSTCDT)
    A          R HEADER                    SKIPB(1) SPACEA(1)
    A            TITLE         40         1
    A          R DETAIL                    SPACEB(1)
    A            CUSNUM    R              1
    A            LSTNAM    R            + 1
    A            INIT      R            + 1
    A            CITY      R            + 1
    A            STATE     R            + 1
    A          R FOOTER                    SPACEB(2)
    A                                     1'** End of report **'
    

    Here’s program QAD001R, which uses the printer file to build a report.

    Fqcustcdt  if   e           k disk
    Fqad001p   o    e             printer
    
     /free
         *inlr = *on;
         title = 'Customers';
         write header;
         dow '1';
            read cusrec;
            if %eof();
               leave;
            endif;
            write detail;
         enddo;
         write footer;
         return;
    

    Let’s modify the program to put Texas customers on one report and everybody else on another one. Here’s what we do:

    1. Define the report twice in the program. You can use any name that suits you. I’ve used the clever names REPORT1 and REPORT2.

    2. Since two files cannot have a record format of the same name, rename the report formats for all but one of the files. In this example, I chose to rename the formats in both printer files, even though renaming the formats of one file would have sufficed.

    3. Change the program to reference the new record formats as required.

    Here’s the modified program.

    Fqcustcdt  if   e           k disk
    Freport1   o    e             printer
    F                                     rename(header: header1)
    F                                     rename(detail: detail1)
    F                                     rename(footer: footer1)
    Freport2   o    e             printer
    F                                     rename(header: header2)
    F                                     rename(detail: detail2)
    F                                     rename(footer: footer2)
     /free
         *inlr = *on;
         title = 'Texas only';
         write header1;
         title = 'All but Texas';
         write header2;
         dow '1';
            read cusrec;
            if %eof();
               leave;
            endif;
            if state = 'TX';
               write detail1;
            else;
               write detail2;
            endif;
         enddo;
         write footer1;
         write footer2;
         return;
    

    To compile the program, override both printer files to the original printer file.

    ovrprtf report1 tofile(qad001p)
    ovrprtf report2 tofile(qad001p)
    crtbndrpg pgm(qad001r) srcfile(mylib/qrpglesrc)
    

    You must also override the files at run time. Use the Spool File Name (SPLFNAME) parameter to distinguish the two reports.

    pgm
       ovrprtf report1 tofile(qad001p) splfname(Texas)
       ovrprtf report2 tofile(qad001p) splfname(NoTexas)
       call qad001r
    endpgm
    

    RELATED STORY

    Dynamic Spool File Names



                         Post this story to del.icio.us
                   Post this story to Digg
        Post this story to Slashdot

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Tags:

    Sponsored by
    Raz-Lee Security

    Start your Road to Zero Trust!

    Firewall Network security, controlling Exit Points, Open DB’s and SSH. Rule Wizards and graphical BI.

    Request Demo

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Sponsored Links

    BCD:  IBM i Webinar - Feb 14th. Web GUI for Green Screens: Modernize Faster with New Presto 4.5
    New Generation Software:  Get the Recipe for easy IBM i Query/Reporting/Analytics - NGS-IQ
    COMMON:  Join us at the 2013 Conference & Expo, April 7 -10 in Austin, TX

    More IT Jungle Resources:

    System i PTF Guide: Weekly PTF Updates
    IBM i Events Calendar: National Conferences, Local Events, and Webinars
    Breaking News: News Hot Off The Press
    TPM @ The Reg: More News From ITJ EIC Timothy Prickett Morgan

    Quantum Launches ‘Pay As You Grow’ Dedupe Boxes Invader II: New Power7+ Machines Take On Entry X86 Iron

    Leave a Reply Cancel reply

Volume 13, Number 3 -- February 6, 2013
THIS ISSUE SPONSORED BY:

ProData Computer Services
Bug Busters Software Engineering
WorksRight Software

Table of Contents

  • What’s That Name, Again?
  • Don’t Clone That Printer File!
  • Admin Alert: When Was The Last Time That Library Got Backed Up And More

Content archive

  • The Four Hundred
  • Four Hundred Stuff
  • Four Hundred Guru

Recent Posts

  • You Can Now Get IBM Tech Support For VS Code For i
  • Price Cut On Power S1012 Mini Since Power S1112 Ain’t Coming Until 2026
  • IBM i: Pro and Con
  • As I See It: Disruption
  • IBM i PTF Guide, Volume 27, Number 30
  • The Turning Point For Power Systems Is Here, And Now
  • How IBM i Users Can Compete In The Digital Era With Composable Commerce
  • IBM Streamlines Data Migration With New Partition Mirror Tech
  • Profound Logic Adds MCP To IBM i AI Tool
  • IBM i PTF Guide, Volume 27, Number 29

Subscribe

To get news from IT Jungle sent to your inbox every week, subscribe to our newsletter.

Pages

  • About Us
  • Contact
  • Contributors
  • Four Hundred Monitor
  • IBM i PTF Guide
  • Media Kit
  • Subscribe

Search

Copyright © 2025 IT Jungle