I believe it is pretty complicate to integrate into Kettle especially when more then one out parameter would be a result set (ref cursor). Also it is not clear how to handle 1:n relations since we can get more rows out then in - this could lead into a join...
My simplification proposal (not beeing an Oracle guru and not sure if it really works):
Would it be possible to treat the procedure as a function when it is clear that one result set is returned. More then one result set would not make sense to me to process with Kettle.
In this case a simple select could be used with the Table Input or other steps that allow a select statement like
SELECT function(params) FROM Dual;
I believe this is not possible with a procedure, but may be the procedure can be incapsulated into a function?
[The table DUAL is used here as a dummy and available on all Oracle systems. DUAL has one column called DUMMY and one row containing the value "X".]
Other databases do it in this SQL syntax and return result sets:
MS SQL: EXEC params