• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • FTP Means ‘First Try Pinging’

    April 4, 2007 Cletus the Codeslinger

    File Transfer Protocol, or FTP, was obviously designed by academics. While academics are OK people (after all, my editor, Ted Holt, is a part-time instructor at a community college), they are not familiar with what goes on at the factory (like the one where I work full-time). That means that making FTP (and other Unix-type applications) work dependably in an automated environment can be a challenge. Here’s a tip that can help.

    FTP was intended to work this way: a human types a command into a computer. The computer responds. The human types another command. The computer responds. Etc. Etc. And so forth. Ad nauseum. That’s all well and good, but who wants to crawl out of bed at 3 a.m. every day to send a file to somebody?

    Unix has a “solution” to this problem–scripting. Put the FTP commands into a text file and tell the computer to read them and run them. While you’re at it, tell the computer to store the responses from the remote system in a text file. And whatever you do, don’t let the script read those responses, determine if an FTP command succeeded or failed, and continue accordingly, as a human would.

    It would help if the wienies who design this junk would add some useful features to FTP, such as the ability to check a return code and to make decisions accordingly. But I’m not holding my breath. Academicians are too busy publishing (to keep from perishing) and applying for grants.

    Seeing as we’re saddled with crippleware, let’s do the best we can do. One of the most common reasons FTP fails is that the remote server is down. Use the Verify TCP/IP Connection (PING or VFYTCPCNN) command to determine whether the server is up or not. This is really easy on my robust System i computer, because some practical someone at IBM thoughtfully provided a way for PING to send an escape message. It’s in the second positional value of the MSGMODE parameter. (This is not your standard ping.)

    In the following code example, the PING command tests to see if the server is up. If the PING fails, the system sends escape message TPC3210.

       dcl  &Server     *char    50
       dcl  &ServerIsUp *lgl
    
       chgvar     &ServerIsUp   '1'
       ping       rmtsys(&Server) msgmode(*quiet *escape)
       monmsg     tcp0000 exec(chgvar &ServerIsUp '0')
    
       if (*not &ServerIsUp) do
          /* whatever */
          return
       enddo
    
       clrpfm     ftplog   mbr(SomeMbr)
    
       ovrdbf     file(input)  tofile(ftpscripts) mbr(SomeMbr)
       ovrdbf     file(output) tofile(ftplog)     mbr(SomeMbr)
       ftp        rmtsys(&Server)
       dltovr     *all
       monmsg     cpf0000
    

    I look forward to the day when everybody uses Unix. Instead of having just a few IT people at the factory, we’ll need an army, and that means we’ll all have jobs. Yes, Unix is truly the full-employment operating system.



                         Post this story to del.icio.us
                   Post this story to Digg
        Post this story to Slashdot

    Share this:

    • Share on Reddit (Opens in new window) Reddit
    • Share on Facebook (Opens in new window) Facebook
    • Share on LinkedIn (Opens in new window) LinkedIn
    • Share on X (Opens in new window) X
    • Email a link to a friend (Opens in new window) Email

    Tags:

    Sponsored by
    Maxava

    Migrate IBM i with Confidence

    Maxava Migrate LiveTM minimizes disruption with seamless transitions. Upgrading to Power11, or cloud hosted system, Maxava has you covered!

    MIGRATE NOW

    Share this:

    • Share on Reddit (Opens in new window) Reddit
    • Share on Facebook (Opens in new window) Facebook
    • Share on LinkedIn (Opens in new window) LinkedIn
    • Share on X (Opens in new window) X
    • Email a link to a friend (Opens in new window) Email

    Sponsored Links

    VAULT400:  Securely archive data with Instant Back-Up & 24x7 Recovery
    Bsafe:  Enterprise Security for System i and Linux Systems
    COMMON:  Join us at the 2007 conference, April 29 – May 3, in Anaheim, California

    IT Jungle Store Top Book Picks

    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

    ProData’s Hartley a Split Second from Milestone Victory Improving Upon WDSC’s Table View

    Leave a ReplyCancel reply

Volume 7, Number 13 -- April 4, 2007
THIS ISSUE SPONSORED BY:

WorksRight Software
Help/Systems
COMMON

Table of Contents

  • FTP Means ‘First Try Pinging’
  • Improving Upon WDSC’s Table View
  • Admin Alert: Graphically Moving i5/OS Objects with OpsNav

Content archive

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

Recent Posts

  • Welcoming The New IBM i Chief Architect And Other New Top Brass
  • A Deep Dive Into That Power S1112 Entry Power11 Server
  • Guru: Beyond Three-Part Naming – Running SQL Across Remote IBM i Systems
  • How IBM Bolstered IBM i Resilience In The Summer Tech Refreshes
  • IBM i PTF Guide, Volume 28, Number 26
  • Power Systems Has A Great Quarter; System Z, Not So Much
  • Does AI Mark The End Of The ERP Era?
  • Guru: Deterministic Application Development With AI
  • What IBM’s Got Cooking In Db2 For i In The Summer TRs
  • IBM i PTF Guide, Volume 28, 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