• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • A CPYF Idiosyncrasy Revisited

    August 28, 2002 Timothy Prickett Morgan

    Hey, Ted:

    I just noticed the article regarding the CPYF idiosyncrasy in January 23 issue of Midrange Guru, OS/400 Edition . The writer wanted to copy records with a user profile field that was equal to CEM.

    I had the same problem. To solve it, I defined two variables. The first contained the exact value for which I was looking. I used the Change Variable (CHGVAR) command to set the second variable to the value of the first variable with a ‘!’ character added to the end of text. I used the Copy File (CPYF) command with the Include records by field test (INCREL) parameter with an equal condition on the first parameter and a less-than condition on the second:

    PGM        PARM(&UN1)                          
                                                   
    DCL        VAR(&UN1)   TYPE(*CHAR) LEN( 9)     
    DCL        VAR(&UN2)   TYPE(*CHAR) LEN(10)     
                                                   
    CHGVAR     VAR(&UN2) VALUE(&UN1 *TCAT '!')
                                                  
    CPYF       FROMFILE(CEMFILE) TOFILE(QTEMP/X) + 
                 MBROPT(*REPLACE) CRTFILE(*YES) +  
                 INCREL(( *IF PRFNAM *EQ &UN1) +   
                        (*AND PRFNAM *LT &UN2))    
    

    This technique works well with standard alphanumeric fields, but care is needed where fields contain values less than the hexadecimal equivalent of ‘!’.

    — Richard J. Barnett

    Thanks for the tip, Richard. Instead of using the exclamation point, you could use x’41’, which is the character just above a blank:

    PGM        PARM(&UN1)                          
                                                   
    DCL        VAR(&UN1)   TYPE(*CHAR) LEN( 9)     
    DCL        VAR(&UN2)   TYPE(*CHAR) LEN(10)     
    DCL        VAR(&HEX41) TYPE(*CHAR) LEN( 1) +   
                 VALUE(X'41')                      
                                                   
    CHGVAR     VAR(&UN2) VALUE(&UN1 *TCAT &HEX41)  
                                                   
    CPYF       FROMFILE(CEMFILE) TOFILE(QTEMP/X) + 
                 MBROPT(*REPLACE) CRTFILE(*YES) +  
                 INCREL(( *IF PRFNAM *EQ &UN1) +   
                        (*AND PRFNAM *LT &UN2))    
    

    I like this technique, but be aware that it won’t work if there are embedded blanks. For example, this code will retrieve records with a user profile value of CEM, and omit records with user profiles such as CEMA and CEMT, but it will include a record with a user profile value of CEM X, where there is a blank between the M and the X.

    — Ted

    Sponsored By
    ADVANCED SYSTEMS CONCEPTS

    SEQUEL meets all your iSeries and AS/400 data access needs in a single, integrated solution:

    • Windows, Web or host user interfaces

    • Convert AS/400 data into PC file formats

    • E-mail or FTP query results, reports and spool files
    • Run-time prompted queries and reports for end users

    • IF-THEN-ELSE logic in queries and reports

    • Report, form and label formatting second to none

    • Easily convert date fields, character-to-numeric, numeric-to-character and other data manipulation

    • SORT or JOIN using a calculated field

    • Quick summarization of data with Tabling function

    • Run multiple SEQUEL requests as one with the SEQUEL Scripting function

    • OLAP Business Intelligence at a fraction of the cost of comparable solutions

    Take 6 minutes to view a SEQUEL ViewPoint ScreenCam movie to see how simple Windows-based AS/400 and iSeries data access can be! In just a few short minutes, you can find out ways to make your job easier and improve data access throughout your organization. Download the ViewPoint movie here .

    For more information or a FREE trial of SEQUEL, call 847/605-1311 or visit Advanced Systems Concepts.

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Tags: Tags: mgo_rc, Volume 2, Number 65 -- August 28, 2002

    Sponsored by
    OCEAN User Group

    OCEAN TechCon25 Online

    It’s an Exciting Time for IBM i !

    July 16 & 17, 2025 – ONLINE

    Two virtual days of learning, presented by an outstanding group of IBM’ers and IBM Champions, featuring leading-edge topics.

    FREE for OCEAN members!

    Register NOW!

    Annual (12-month) Individual OCEAN Memberships are $80 and a Corporate Membership is $250. A Corporate Membership would allow your entire company to have full access to the OCEAN website & video library and to attend OCEAN events at member rates. Act now because rates are increasing on August 1, 2025.

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Odds and Ends Reader Feedback and Insights: Splitting a Qshell Variable

    Leave a Reply Cancel reply

MGO Volume: 2 Issue: 65

This Issue Sponsored By

    Table of Contents

    • Timestamps and V5R1 RPG
    • A CPYF Idiosyncrasy Revisited
    • Edit with Parentheses in Query/400

    Content archive

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

    Recent Posts

    • With Power11, Power Systems “Go To Eleven”
    • With Subscription Price, IBM i P20 And P30 Tiers Get Bigger Bundles
    • Izzi Buys CNX, Eyes Valence Port To System Z
    • IBM i Shops “Attacking” Security Concerns, Study Shows
    • IBM i PTF Guide, Volume 27, Number 26
    • Liam Allan Shares What’s Coming Next With Code For IBM i
    • From Stable To Scalable: Visual LANSA 16 Powers IBM i Growth – Launching July 8
    • VS Code Will Be The Heart Of The Modern IBM i Platform
    • The AS/400: A 37-Year-Old Dog That Loves To Learn New Tricks
    • IBM i PTF Guide, Volume 27, Number 25

    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