Alan Ackerman wrote: > x'00' cannot appear in "word", and will always be treated as a > word-separator, but I'm OK with that.
Here's a solution that just occurred to me that eliminates the need to substitute anything: CHOP the word out of the record, and then VERIFY that the characters before and after it are word separators. 'CALLPIPE (endchar ?)', '| *:', '| fo: fanout', '| p: predselect', '| *.output.0:', '? fo:', '| c: chop before string x'c2x(word), '| verify -1 x'c2x(xtable), '| p2: predselect', '| p:', '| *.output.1:', '? c:', '| locate', '| verify' length(word)+1 'x'c2x(xtable), '| p2:', '| fo:', '| p:' Note that you can feed input 2 of PREDSELECT with another copy of the original record from FANOUT, so you don't have to worry about collecting the nonmatching records from the process in between. Also, for the alternate output you need output 1 of PREDSELECT, not output 2. ¬R
