I have records in pairs and I want to discard the first of each pair. I might just toss them all, or I might divert them to another stream. Either way, I've always run into trouble replacing the old DROPNTAK REXX with DEAL because of how it handles disconnected outputs. I can use HOLE to eat the unwanted records, but then I wind up reading to EOF if the primary output disconnects. If I'm processing records on both streams, when one output disconnects, the other one gets records I don't want there.
I can play games with COUNT and GATE to disconnect everything after all my outputs reach EOF,(*) but it sure would be nice to have an option (STRICT?) to tell DEAL to skip records instead of retrying them. Also nice would be options to specify the numbers of records to group (a la DROPNTAK) and the order of streams to write (a la FANIN, and I've always wanted that on FANOUT, too). ¬R (*) I actually tried this, but I couldn't persuade the last COUNT to end until another input record arrived, so it winds up consuming an extra record for each of the other streams.