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

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Tags:

    Sponsored by
    Raz-Lee Security

    Start your Road to Zero Trust!

    Firewall Network security, controlling Exit Points, Open DB’s and SSH. Rule Wizards and graphical BI.

    Request Demo

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • 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 Hello, New York? Buy IBM

    Leave a Reply Cancel 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

  • 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