This is what I ended up with - thanks to all for the tips! It likely could be better, but this works and the traffic through the pipe should not be heavy so I am not too worried. I used PICK instead of LOCATE because some of the strings may have "*" somewhere in them. This ensures that it find a line with only a * character and nothing else.
So the result is only * if one is found in the stream, otherwise the result is all the records. 'CALLPIPE (END ? NAME TRYTHIS:001)', '| A: FANIN', '| B: DAM', '? *:', '| C:FANOUT', '| BUFFER', '| B:', '| D:FANINANY', '| *:', '? C:', '| E: PICK W1 == "*"', '| TAKE 1', '| F: COUNT LINES', '| D:', '? F:', '| PICK W1 = /0/', '| A:' -- *James Vincent* -- Calendar: http://tinyurl.com/JSVCalWeek
