I recently had to do a very minor bit of maintenance on a SAPScript check-printing form - all I had to do was to move the check window a little lower.
So I copied the original form to a new form, made the change, activated the new form, and reconfig'd so that the RFFOUS_C program pointed to the new form.
To my surprise, the program then blew off in a custom subroutine that the Form called during printing of the check window. The code in the form was calling the custom subroutine with two variables, not three, so the code in the subroutine was blowing off becuase there was no third row in an itab.
So I commented out the code in the custom subroutine that was looking for a third table row, reactivated, and everything worked fine.
But here's the question:
Why did the original Form and custom subroutine ever work correctly together at all? The original Form was calling the subroutine with two variables, but the original subroutine never blew off on a bad table read.
If anyone can answer this, I'll ask Craig to chip in an extra 10 points over my 10, cause this one is a real puzzler.