The "Gotcha" File

A Work in Progress

  1. If you don't check for bad return codes, your batch job will keep running until a job step abends. See Condition Code Checking for information on how to avoid the JCL COND parameter.
  2. Unless you specify the EXIT option, FTP exits with return code zero even if it didn't work. See Using FTP in Batch Mode for a sample.
  3. Often programmers don't check the return codes from library or subroutine calls that "always" work. This may make it more difficult to determine what the original problem was. See also point # 1 above.
  4. If you are using the LISTDSI function in REXX or CLIST code, specify either RECALL (always recall the dataset) or NORECALL (never recall the dataset). If you don't, LISTDSI will only recall the dataset if it has been migrated to disk.
  5. Applying maintenance directly to a library managed by LLA can quickly lead to trouble if you are not careful. In particular, link-edit functions including EXPAND will create a new member, while ZAP updates the member in place. This can result in some changes not appearing in the new member.
  6. JCL overrides for DDDEFs in SMP/E can be used to temporarily change the SMP/E target library location. However, CALLLIB processing and DDDEFs specified in the SYSLIB DDDEF concatenation will continue to use the SMP/E DDDEF. If you want to override a target library which is also included in SYSLIB, you may also need to include a JCL override for all of SYSLIB.
  7. Automatic formatting of numeric values by REXX can cause unexpected results. For example, a Julian date intended to appear in the format yyddd can appear as 21 (January 1, 2002) due to leading zeroes being suppressed if yy and ddd are computed separately and then combined. See Formatting with REXX for a hint on how to deal with this.
  8. the default behaviour for FTP is to truncate a record which would be longer than the current LRECL because there is no new-line character (if transfer type is not binary). A TRUNCATE setting has been added to allow a return code to be set if truncation occurs. The default is to not set the return code.
  9. the FTP client provided with current versions of Windows has a hard-coded timeout after 60 seconds of inactivity. This can produce inconsistent results when accessing z/OS tape datasets or disk datasets migrated to tape. The symptom on the Windows client side is the message "Connection reset by peer".

For More Information

Visit "Stupid JCL Tricks" or More things that go Bump in the Night here. See also Installation Verification Programs for procedures to try and trap bumps in software components.

Comments or suggestions can be sent to the author.
Big Iron