Not having paid enough attention to remember what a structure was, I
found this baffling:

  PIPE xlate q z
  PIPQUA1392E Structure not defined: z.
  PIPSCA003I ... Issued from stage 1 of pipeline 1.
  PIPSCA001I ... Running "xlate q z".

The author's help for the message doesn't provide any more details.
It took some wild guessing to find my way to the right part of the
INPUTRANGE help.

We've always had to be careful of pairs like W 1 (which has even more
baffling results--see below), but I would have thought the appropriate
response to the invalid input range was just to rescan it, the same as
if I'd issued "xlate w x".

For those who haven't stumbled on this ambiguity with Word and Field
yet, study this:

  PIPE literal qwer qwer | xlate w 1 | xlate w x | cons
  QWER qxer

For the first XLATE, since "w 1" is a valid input range, there are no
translate pairs, so the default table (upper) is applied to word 1.  For
the second one, "w x" is taken as the first translate pair.

With structures, now we also have the one-letter abbreviations for
Qualify and Member to worry about.  The workaround for all of them,
of course, is always to specify the input range as the whole record:
*-* or 1-* or 1;-1

¬R

Reply via email to