• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Avoid an Unnecessary CPYF Error

    September 8, 2010 Ted Holt

    Hey, IBM i Professional:

    I’ve heard it said that it’s the little things that kill you. Maybe so. I am certain that little errors in computer programs can ruin a good night’s sleep. Today’s tip is an easy one that I’ve published before, but not in this newsletter. I’m running it today because an FHG reader recently told me that this simple, easily avoided error had occurred in the shop where she works. Everyone who writes CL programs needs to know this one.

    The malfunctioning program had a Copy File (CPYF) command that looked like this:

    CPYF FROMFILE(AAA) TOFILE(BBB) MBROPT(*REPLACE)
    

    This command is an accident waiting to happen. A command like this might run perfectly for years, but one day something changes (maybe it’s a change to the way the organization does business), and the command fails. Everybody is shocked, amazed, and astounded that software that worked well for so long suddenly doesn’t work anymore.

    The CPYF works fine as long as AAA is not empty. The contents of AAA replace BBB. But when the day finally comes that AAA contains no data, the CPYF command fails, sending two messages in the process:

    1. Diagnostic message CPF2869–Empty member AAA in file AAA in library SOMELIB is not copied.
    2. Escape CPF2817–Copy command ended because of error.

    Here are two simple ways to avoid this error:

    1. Clear the receiving file and use MBROPT(*ADD).

    CLRPFM  FILE(BBB)
    CPYF    FROMFILE(AAA) TOFILE(BBB) MBROPT(*ADD)
    

    2. Monitor for the escape message and clear the receiving file.

    CPYF    FROMFILE(AAA) TOFILE(BBB) MBROPT(*REPLACE)
    MONMSG  MSGID(CPF2817) EXEC(CLRPFM BBB)  /* AAA IS EMPTY */
    

    Both methods ensure that BBB looks just like AAA after the copy. Both methods ensure that this CPYF won’t get you out of bed at 3 a.m. if AAA turns up empty some day.

    I should make one last comment. I assume that the programmer’s intention is to create a duplicate of a file. That is, if the From file is empty, then the To file should also end up empty.

    But an empty From file may or may not be an error. For example, if the From file contains inventory adjustment transactions, and we didn’t have any inventory adjustments that day, then clearing the To file is appropriate.

    But suppose the From file is the customer master file. If that file is empty, it may mean that someone accidentally cleared the file. The CL program needs to raise an alert. This tip is not applicable when the From file is not supposed to be empty.



                         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

    PowerTech:  FREE Webinar! Protect IBM i Data from FTP, ODBC, & Remote Command. Sept 15, 10 am CT
    looksoftware:  RPG OA & Beyond Webinar. Sept 28 & 29. Enter to win an Amazon Kindle™
    COMMON:  Join us at the Fall 2010 Conference & Expo, Oct. 4 - 6, in San Antonio, Texas

    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

    Magic Builds Out Partner Network in Europe IBM Adds New SSD and Fat SFF Disk to Power Systems

    Leave a Reply Cancel reply

Volume 10, Number 26 -- September 8, 2010
THIS ISSUE SPONSORED BY:

SEQUEL Software
WorksRight Software
inFORM Decisions

Table of Contents

  • Get Thee to the Web, Part 1
  • Avoid an Unnecessary CPYF Error
  • Admin Alert: Placing Additional Restrictions on i/OS Passwords

Content archive

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

Recent Posts

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

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