This is similar to subpparam but used for flexible parameter
-- Note: different from subpparam, pnames and ptypes are INput only
wpiutl.subpfparam(
objnum IN NUMBER,
name IN VARCHAR2,
subname IN VARCHAR2,
prename IN VARCHAR2,
pnames IN tvarchar,
ptnames IN OUT tvarchar,
ptypes IN tvchar3,
status OUT NUMBER,
misdef OUT VARCHAR2,
nename OUT VARCHAR2);
Resolves overloading subprograms by parameter names and returns types of the parameters that are listed in pnames
Overload 1
wpiutl.subpparam(
objnum IN NUMBER,
name IN VARCHAR2,
subname IN VARCHAR2,
prename IN VARCHAR2,
status OUT NUMBER,
misdef OUT VARCHAR2,
nename OUT VARCHAR2);
SELECT object_id FROM dba_objects WHERE object_name = 'WPIUTL';
OBJECT_ID
----------
20542
20543
DECLARE
mVal VARCHAR2(30);
nVal VARCHAR2(30);
sVal NUMBER;
BEGIN
wpiutl.subpparam(20542, 'WPIUTL', 'SUBPPARAM', 'SYS', sVal, mVal, nVal);
dbms_output.put_line('Status is ' || TO_CHAR(sVal));
dbms_output.put_line('MisDef is ' || mVal);
dbms_output.put_line('NeName is' || nVal);
END;
/ Status is 5
MisDef is
NeName is
PL/SQL procedure successfully completed.
Overload 2
wpiutl.subpparam(
objnum IN NUMBER,
name IN VARCHAR2,
subname IN VARCHAR2,
prename IN VARCHAR2,
pnames IN OUT tvarchar,
ptnames IN OUT tvarchar,
ptypes IN OUT tvchar3,
status OUT NUMBER,
misdef OUT VARCHAR2,
nename OUT VARCHAR2);