• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Control Break Programs, Version 2

    July 28, 2004 Hey, Ted

    Ken Orr taught me this one. Assuming an input file called SALES that contains the daily sales of all stores sorted by store number, department number, and, finally, sales person number. The file also contains item number and sales amounts.

    This example shows where to print headers and footers of a report (excluding page headers and page footers), where to accumulate totals, and where to reset totals. The basic structure is a set of nested loops.

    EVAL        CompanyTotal = 0
    EXCPT       REPORTHEADER
    
    READ        SALES
    
    DOW         not %eof(SALES)
    
    EXCEPT      STOREHDR
    EVAL        StoreTotal = 0
    EVAL        oldStoreNum = StoreNum
    
    DOW         not %eof(SALES) and 
                oldStoreNum = StoreNum
    
    EXCEPT      DEPTHDR
    EVAL        DepartmentTotal = 0
    EVAL        oldDepartmentNum = DepartmentNum
    
    DOW         not %eof(SALES) and 
                oldStoreNum = StoreNum and
                oldDepartmentNum = DepartmentNum
    
    EXCEPT      SPHDR
    EVAL        SalesPersonTotal = 0
    EVAL        oldSalesPersonNum = SalesPersomNum
    
    DOW         not %eof(SALES) and 
                oldStoreNum = StoreNum and
                oldDepartmentNum = DepartmentNum and
                oldSalesPersonNum = SalesPersomNum
    
    EXCEPT      DETAIL
    EVAL        SalesPersonTotal = SalesPersonTotal + SaleAmount
    READ        SALES
    
    ENDDO
    
    EXCEPT      SPFOOTER
    EVAL        DepartmentTotal = DepartmentTotal + SalesPersonTotal
    
    ENDDO
    
    EXCEPT      DEPTFOOTER
    EVAL        StoreTotal = StoreTotal + DepartmentTotal
    
    ENDDO
    
    EXCEPT      STOREFOOTER
    EVAL        CompanyTotal = CompanyTotal + StoreTotal
    
    ENDDO
    
    EXCEPT      REPORTFOOTER
    

    –Mike

    The method you present is similar in philosophy to the one I presented, Mike, but it has been implemented with less code. I notice that control totals are reset before each group, as I like to do. The redundant tests on the do-while loops ensure that major breaks force minor breaks. I notice that your code doesn’t account for null values, but those tests could easily be added.

    Thanks for sharing this example with other readers of Four Hundred Guru, Mike.

    –Ted



    Share this:

    • Share on Reddit (Opens in new window) Reddit
    • Share on Facebook (Opens in new window) Facebook
    • Share on LinkedIn (Opens in new window) LinkedIn
    • Share on X (Opens in new window) X
    • Email a link to a friend (Opens in new window) Email

    Tags:

    Sponsored by
    WorksRight Software

    Do you need area code information?
    Do you need ZIP Code information?
    Do you need ZIP+4 information?
    Do you need city name information?
    Do you need county information?
    Do you need a nearest dealer locator system?

    We can HELP! We have affordable AS/400 software and data to do all of the above. Whether you need a simple city name retrieval system or a sophisticated CASS postal coding system, we have it for you!

    The ZIP/CITY system is based on 5-digit ZIP Codes. You can retrieve city names, state names, county names, area codes, time zones, latitude, longitude, and more just by knowing the ZIP Code. We supply information on all the latest area code changes. A nearest dealer locator function is also included. ZIP/CITY includes software, data, monthly updates, and unlimited support. The cost is $495 per year.

    PER/ZIP4 is a sophisticated CASS certified postal coding system for assigning ZIP Codes, ZIP+4, carrier route, and delivery point codes. PER/ZIP4 also provides county names and FIPS codes. PER/ZIP4 can be used interactively, in batch, and with callable programs. PER/ZIP4 includes software, data, monthly updates, and unlimited support. The cost is $3,900 for the first year, and $1,950 for renewal.

    Just call us and we’ll arrange for 30 days FREE use of either ZIP/CITY or PER/ZIP4.

    WorksRight Software, Inc.
    Phone: 601-856-8337
    Fax: 601-856-9432
    Email: software@worksright.com
    Website: www.worksright.com

    Share this:

    • Share on Reddit (Opens in new window) Reddit
    • Share on Facebook (Opens in new window) Facebook
    • Share on LinkedIn (Opens in new window) LinkedIn
    • Share on X (Opens in new window) X
    • Email a link to a friend (Opens in new window) Email

    Backup and Recovery Just Got Easier with BRMS V5R3 Auditing Users with All-Object Authority

    Leave a ReplyCancel reply

Volume 4, Number 25 -- July 28, 2004
THIS ISSUE
SPONSORED BY:

Advanced Systems Concepts
WorksRight Software
Guild Companies

Table of Contents

  • Backup and Recovery Just Got Easier with BRMS V5R3
  • Control Break Programs, Version 2
  • Auditing Users with All-Object Authority

Content archive

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

Recent Posts

  • Power Systems Turns In Another Great Quarter
  • Big Blue Is Right On Schedule With Fall 2026 IBM i Tech Refreshes
  • Guru: Environment Variables – Global Variables Wearing Hiking Boots
  • A New IBM i Entity Takes Shape: Power By Fortra
  • IBM i PTF Guide, Volume 28, Number 38
  • Critical PHP2Shell Security Vulns Evoke ‘Black October’
  • Why Fortra Partnered with FalconStor to Launch Continuity Care: A Validated Recovery Service for IBM i
  • Guru: Analyzing User Session Statistics, Part 2
  • Fresche Launches OpsIQ, a Free AI-Based Operation Assistant for IBM i
  • IBM i PTF Guide, Volume 28, Number 37

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