A quick answer would be to use 1 SQL to return the cursor, but use BETWEEN:
WHERE ... AND abbrv_code BETWEEN nKeyVal1 and nKeyVal2
Pass those values as IN parameters to the package. When you just need 1 record, then both vals will be the same. When you need all, just pass numbers small and large enough to get all the records.
Mark McCasland
Midlothian, TX USA