• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Joining Incompatible Data

    January 13, 2010 Hey, Ted

    A physical file contains a nine-byte character acknowledgement number field that consists of a single letter followed by eight digits. I would like to change this field to two fields: a one-byte character and an eight-byte numeric field so that I could join the file to other files that have only the eight-digit numeric value. I realize that I could do a conversion to redefine the field, but that would require extensive changes to our applications. Is there an easier method to redefine the field, such as in a logical file?

    –David

    You probably don’t have to redefine the field, David. It depends on the tools you use to join the files.

    SQL, for example, permits you to join character to numeric. Query for i, or whatever they call it these days, doesn’t.

    Let’s look at an example. Assume two database files, REF and ACK. REF contains the nine-byte character field you described (REFNO), and ACK contains the eight-digit numeric field (ACKNO). The following SQL command joins the two files.

    select r.whatever, a.whatever
      from ref as r
      left join ack as a
        on substr(r.refno,2,8) = a.ackno
    

    While this works, I prefer to be more obvious about it.

    select r.whatever, a.whatever
      from ref as r
      left join ack as a
        on decimal(substr(r.refno,2,8),8,0) = a.ackno
    

    If you do need a permanent object, you won’t be able to use a logical file, because a logical file will not convert an alpha substring to numeric. However, an SQL view will.

    create view RefAcks as
    select r.key, 
           substr(r.refno,1,1) as RefCode,
           decimal(substr(r.refno,2,8),8,0) as RefAckNo
    from ref as r
    

    You can use the view in SQL queries, just as you can a table.

    select r.whatever, a.whatever
      from refacks as r
      left join ack as a
        on r.refackno = a.ackno
    

    And the view will work in those tools, like Query, that require join fields to be of compatible data types.

    SQL views do lots of things that logical files can’t do. It’s not too late to make another New Year’s resolution: when possible use SQL views instead of logical files.

    –Ted

    RELATED STORIES

    Joining on Incompatible Fields in Query/400

    Common Sense Comparisons



                         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
    New Generation Software

    FREE Webinar:

    Creating Great Data for Enterprise AI

    Enterprise AI relies on many data sources and types, but every AI project needs a data quality, governance, and security plan.

    Wherever and however you want to analyze your data, adopting modern ETL and BI software like NGS-IQ is a great way to support your effort.

    Webinar: June 26, 2025

    RSVP today.

    www.ngsi.com – 800-824-1220

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Sponsored Links

    Help/Systems:  Event-driven job scheduling for UNIX, Linux, Windows & IBM i servers
    COMMON:  Join us at the annual 2010 conference, May 3 - 6, in Orlando, Florida
    Manta Technologies:  Year-End SALE! 40% off the complete library and all combo packs. Ends Jan 15

    IT Jungle Store Top Book Picks

    Easy Steps to Internet Programming for AS/400, iSeries, and System i: List Price, $49.95
    The iSeries Express Web Implementer's Guide: List Price, $49.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 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
    Getting Started With WebSphere Development Studio Client for iSeries: List Price, $89.00
    Getting Started with WebSphere Express for iSeries: List Price, $49.00
    Can the AS/400 Survive IBM?: List Price, $49.00
    Chip Wars: List Price, $29.95

    Sterling Targets Smartphone-Carrying Consumers with New Mobile E-Commerce Apps The System iWant, 2010 Edition: Big Boxes

    Leave a Reply Cancel reply

Volume 10, Number 2 -- January 13, 2010
THIS ISSUE SPONSORED BY:

System i Developer
Vision Solutions
Halcyon Software

Table of Contents

  • Consume an IWS Web Service From a VB.NET Client
  • Joining Incompatible Data
  • FTPING i5/OS Files to a Unix Server

Content archive

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

Recent Posts

  • Public Preview For Watson Code Assistant for i Available Soon
  • COMMON Youth Movement Continues at POWERUp 2025
  • IBM Preserves Memory Investments Across Power10 And Power11
  • Eradani Uses AI For New EDI And API Service
  • Picking Apart IBM’s $150 Billion In US Manufacturing And R&D
  • FAX/400 And CICS For i Are Dead. What Will IBM Kill Next?
  • Fresche Overhauls X-Analysis With Web UI, AI Smarts
  • Is It Time To Add The Rust Programming Language To IBM i?
  • Is IBM Going To Raise Prices On Power10 Expert Care?
  • IBM i PTF Guide, Volume 27, Number 20

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