There is no DECODE function like that built into DataStage. There are various ways of doing this starting with a long IF-THEN-ELSE or a CASE statement. How you solve this depends upon what your primary objectives are - simplicity or performance.
Ray - not for a DECODE with only 4 values; that would be a lot of overhead. an IF-THEN-ELSE... construct or {my preference} a INDEX/LOCATE statement is going to be faster than a cached hash lookup. If there are tens or hundreds of lookups then that would be a different matter.
Hmm... as with most things, 'depends'. Another consideration would be the nature of the decoded data. If you have a static, fixed, never will change list then you've covered all the considerations. If there is a possibility that it could change, I'd look into storing the decode data in a flat file and sourcing it into a cached hashed file in the job each run. That way you don't have to touch the job to add a new decode value pair. And unless you are doing a bajillion lookups, I wouldn't be too concerned about the 'overhead' it adds to the job.
-craig
"You can never have too many knives" -- Logan Nine Fingers