As mentioned by Sven, the design of your Custom Operations does not seem to be appropriate.
If Operation Z_HRF queries your Custom Table and returns a 5 digit code in the variable key, then you would require nearly 99999 lines for the possible return values (although some could probably be grouped under return value *****).
On the other hand, if Operation Z_HRF was to return the 5 digit code into the HRS field, it could then be transfered into an Information Time Type (to table ZES), and the same could the done through Operations "Z_PER" and "Z_HCA" (using 2 other Information TTs.
Then, a Custom Function could be created to concatenate the values of these 3 Information TTs and transfer the result into field UTEXT.