• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Common Table Expressions Ease System Conversion

    September 24, 2008 Dear Occupant

    In the factory where I work, we are replacing one engineering module of the large ERP package we run with a more modern, more robust engineering module. What was one physical file is now two or three physical files. Modifying programs and queries to use the new files is just about more fun than I ever envisioned when I was learning to write RPG at the vo-tech many years ago. Fortunately, I have some great tools to help with the conversion. One of them is the common table expression. I’ll show you what I mean.

    Assume a customer master file, CUSTOMERS, is being replaced with two files–TCUST (the customer master) and TCUSTSHIP (customer ship-to master). Assume also the following SQL command in use somewhere in the system (e.g., embedded in an RPG program):

    select cus.cusno, cus.cusnam, 
           cus.billcity, cus.billstate, 
           cus.shipcity, cus.shipstate,
           cmt.cmttext
      from customers as cus
      left join comments as cmt
        on cus.cusno = cmt.cusno
    

    Notice that this query uses two files–the customer master file and a comments file.

    What must I do to the query in order to replace CUSTOMERS with TCUST and TCUSTSHIP? I could rewrite the query to use the new files. However, I found out quickly that approach can get complicated, especially in my project, where one file may be replaced by three or four files.

    I like to make things as easy as possible, and I was able to easily change SQL queries by developing common table expressions that create result sets that look like the old files. Here’s the example from above, with a common table expression.

    with customers as 
     (select c.custacct as cusno, 
             c.custname as cusnam,
             c.btcity   as billcity,
             c.btstate  as billstate,
             s.shpcity  as shipcity,
             s.shpstate as shipstate
        from tcust as c
        join tcustship as s
          on s.custcomp = 1
         and c.custcomp = s.custcomp
         and c.custacct = s.custacct
         and s.primary = 1)
    select cus.cusno, cus.cusnam, 
           cus.billcity, cus.billstate, 
           cus.shipcity, cus.shipstate,
           cmt.cmttext
      from customers as cus
      left join comments as cmt
        on cus.cusno = cmt.cusno
    

    SQL no longer retrieves database file CUSTOMERS, but uses the common table expression called CUSTOMERS in its place. The common table expression selects the data from TCUST and TCUSTSHIP and renames the selected columns to the names they have in the old CUSTOMERS file. Now that the common table expression has been developed, we can copy it to other SQL queries as needed, although we may have to change the list of columns in the SELECT clause.

    Thanks to common table expressions, I have every reason to believe that my project will be completed successfully and on time.

    –Ted



                         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
    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:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Sponsored Links

    Aldon:  Modernize Don't Replace IBM i Applications. Download the white paper.
    LANSA:  "RAMP from LANSA offered the most flexibility and easiest deployment."
    Vision Solutions:  A $20 gas card for completing a short i5/OS DR survey

    IT Jungle Store Top Book Picks

    Easy Steps to Internet Programming for AS/400, iSeries, and System i: List Price, $49.95
    Getting Started with PHP for i5/OS: List Price, $59.95
    The System i RPG & RPG IV Tutorial and Lab Exercises: List Price, $59.95
    The System i Pocket RPG & RPG IV Guide: List Price, $69.95
    The iSeries Pocket Database Guide: List Price, $59.00
    The iSeries Pocket Developers' Guide: List Price, $59.00
    The iSeries Pocket SQL Guide: List Price, $59.00
    The iSeries Pocket Query Guide: List Price, $49.00
    The iSeries Pocket WebFacing Primer: List Price, $39.00
    Migrating to WebSphere Express for iSeries: List Price, $49.00
    iSeries Express Web Implementer's Guide: List Price, $59.00
    Getting Started with WebSphere Development Studio for iSeries: List Price, $79.95
    Getting Started With WebSphere Development Studio Client for iSeries: List Price, $89.00
    Getting Started with WebSphere Express for iSeries: List Price, $49.00
    WebFacing Application Design and Development Guide: List Price, $55.00
    Can the AS/400 Survive IBM?: List Price, $49.00
    The All-Everything Machine: List Price, $29.95
    Chip Wars: List Price, $29.95

    IBM Gives i5/OS V5R4 a New Name–i 5.4 IBS Picks Windows Instead of i as Strategic ERP Platform

    Leave a Reply Cancel reply

Volume 8, Number 32 -- September 24, 2008
THIS ISSUE SPONSORED BY:

WorksRight Software
Help/Systems
Twin Data

Table of Contents

  • Variable-Length Database Fields Better Use Disk Space
  • Common Table Expressions Ease System Conversion
  • Admin Alert: When System Job Tables Attack, Part I

Content archive

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

Recent Posts

  • Meet The Next Gen Of IBMers Helping To Build IBM i
  • Looks Like IBM Is Building A Linux-Like PASE For IBM i After All
  • Will Independent IBM i Clouds Survive PowerVS?
  • Now, IBM Is Jacking Up Hardware Maintenance Prices
  • IBM i PTF Guide, Volume 27, Number 24
  • Big Blue Raises IBM i License Transfer Fees, Other Prices
  • Keep The IBM i Youth Movement Going With More Training, Better Tools
  • Remain Begins Migrating DevOps Tools To VS Code
  • IBM Readies LTO-10 Tape Drives And Libraries
  • IBM i PTF Guide, Volume 27, Number 23

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