SYS0008 - 2 -

Problem: Passing a null string as a command (which is not a valid command) to the CMD interpreter will return the SYS0008 error message after the 32nd iteration.

Example:

 
/* example for the SYS0008 bug */

  do i=1 to 33

    /* the next stmt returns a  */
    /* null string to the CMD   */
    /* which leads to the       */
    /* SYS0008 error after the */
    /* 32nd execution.          */

    Beep(220,250)

    say "i is " || i || ", rc is " || RC
  end /* do i=1 to 33 */

Note that you can replace the statement Beep(220,250) with every other statement returning a null string -- even with a function defined in your REXX program!

This seems to be an OS/2 interpreter bug. Note that 4OS2 does handle this situation correctly.