You cannot issue a DataStage SELECT or an SQL SELECT on a hashed file that is only referred to by path. In order to do this you need to create a file type record in your VOC. One way to do this is to use the TCL command
Or, if it's from a routine (as your post requests) and you want just one record (which your SQL suggests), open the pathed hashed file with OPENPATH and read the record with READ.
That way you avoid the overhead of loading the query engine into memory.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Ray's recommendation is by far the more efficient one, if your hashed file has just one key and it is "KEY_1". Otherwise without a dictionary or VOC pointer you would need to read through the whole file using OPENPATH to get the pointer, SELECT to select all the records in the file and loop around a READ statement (plus a final CLOSE to cleanly finish).
I looked at the post and thought that most likely this will return more than one row unless KEY_1 is the only key; which is why a (single) READ wouldn't be a solution. We'll see what the original poster says and take it from there.