• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • CHGPF Quirk

    July 13, 2005 Hey, Ted

    I increased the size of a character field in the DDS of a physical file and ran the Change Physical File (CHGPF) command to apply the change. I was surprised to find that the changed field remained unchanged in one of my logical files. Can you explain why?

    –Michael

    Until recently, I was under the impression that CHGPF recreates all logical files, but I was wrong. CHGPF only changes the logical files that share the record format of the physical file. This is documented in the Database Programming manual. (See Record format relationships between physical and logical database files.) I can’t find anything in IBM‘s documentation that directly addresses logical files that do not share the record format of the physical file.

    As an example, here’s the DDS for TESTDATA, a physical file that has a one-byte alpha field.

    A                                      UNIQUE 
    A          R TESTDATAR                        
    A            KEY            3P 0              
    A            FIELD01        1A                
    A            FIELD02        5P 2              
    A          K KEY
    

    Here’s a logical file that shares the record format.

    A          R TESTDATAR                 PFILE(TESTDATA)
    A          K FIELD02  
    

    And a logical file that has its own record format.

    A          R TESTDATAR                 PFILE(TESTDATA)
    A            KEY                                      
    A            FIELD01                                  
    A          K KEY                                      
    

    If you create the three files and run Display Field Field Description (DSPFFD) against each of them, you’ll see that FIELD01 is defined as a one-byte field in all of them.

    Now change the size of FIELD01 from one to five bytes.

    A                                      UNIQUE
    A          R TESTDATAR                       
    A            KEY            3P 0             
    A            FIELD01        5A               
    A            FIELD02        5P 2             
    A          K KEY
    

    Change the physical file.

    CHGPF FILE(TESTDATA) SRCFILE(MYLIB/MYSRC) SRCMBR(TESTDATA)
    

    Rerun those DSPFFD commands and take a good look at the size of FIELD01. It’s five bytes long in the physical file and the first logical file, but only one byte in the second logical file. If you load a value larger than one byte into FIELD01 of the physical file, you will only see the first byte when reading the logical file.


    I prefer to use logical files that have field lists, since the programs that use such files do not have to be recompiled when a new field is added to the physical. However, this example shows the downside. The moral of the story: be sure to examine all logical files when you change a physical file layout. You may have logical files that need to be recreated and programs that use them and need to be recompiled.

    –Ted

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Tags:

    Sponsored by
    Maxava

    Maxava Partner Webinar: Keeping IBM i Resilient in a Hybrid World

    The session will examine why disaster recovery strategies often fail when tested, how IBM Power Virtual Server is being positioned within enterprise architectures, and how organizations are using PowerVS for DR, HA, and production workloads.

    Register Now

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    System Objects Updates Delphi/400 Development Tools What Program Uses That File?

    Leave a Reply Cancel reply

Volume 5, Number 27 -- July 13, 2005
THIS ISSUE
SPONSORED BY:

WorksRight Software
Profound Logic Software
COMMON

Table of Contents

  • CHGPF Quirk
  • What Program Uses That File?
  • Admin Alert: Turning Off ODBC Query Timeout Limits

Content archive

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

Recent Posts

  • Brace Yourself: Another Power Systems Price Hike Coming May 1
  • Updates Announced for IBM i BRMS And SMTP Email Client
  • AI Will Be Front And Center At POWERUp 2026 Next Week
  • IBM i PTF Guide, Volume 28, Number 16
  • Spring IBM i Tech Refreshes Will Come A Bit Later This Year
  • You Are Much More Than Power Systems, And So Are We
  • Startup Seeks The “Golden Path” for IBM i Modernization
  • What Can IBM Do To Make The Future Power S1112 Mini System Compelling?
  • IBM i PTF Guide, Volume 28, Number 15
  • Bob 1.0 Users Bugged By Lack Of One Feature

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