144: mbocutt 06/06/2000 115.29 Fixed error in function descriptions
145: for get_work/home_phone
146: tclewis 29-feb-2000 115.30 added function maintain_tax_Records.
147: arashid 13-OCT-00 115.22 Added a cover routine for:
148: DBMS_DESCRIBE.DESCRIBE_PROCEDURE to
149: compile an invalid package. The new
150: routine is called: DESCRIBE_PROCEDURE
151: pattwood 16-NOV-2000 115.32 Changed DESCRIBE_PROCEDURE so it
152: only attempts to compile the package
222:
223: --------------------------------------------------------------------------------
224: */
225: --
226: -- Invalid package exception returned from DBMS_DESCRIBE.DESCRIBE_PROCEDURE.
227: --
228: invalid_package exception;
229: pragma exception_init(invalid_package, -20003);
230: --
250: procedure describe_procedure
251: (object_name in varchar2
252: ,reserved1 in varchar2
253: ,reserved2 in varchar2
254: ,overload out nocopy dbms_describe.number_table
255: ,position out nocopy dbms_describe.number_table
256: ,level out nocopy dbms_describe.number_table
257: ,argument_name out nocopy dbms_describe.varchar2_table
258: ,datatype out nocopy dbms_describe.number_table
251: (object_name in varchar2
252: ,reserved1 in varchar2
253: ,reserved2 in varchar2
254: ,overload out nocopy dbms_describe.number_table
255: ,position out nocopy dbms_describe.number_table
256: ,level out nocopy dbms_describe.number_table
257: ,argument_name out nocopy dbms_describe.varchar2_table
258: ,datatype out nocopy dbms_describe.number_table
259: ,default_value out nocopy dbms_describe.number_table
252: ,reserved1 in varchar2
253: ,reserved2 in varchar2
254: ,overload out nocopy dbms_describe.number_table
255: ,position out nocopy dbms_describe.number_table
256: ,level out nocopy dbms_describe.number_table
257: ,argument_name out nocopy dbms_describe.varchar2_table
258: ,datatype out nocopy dbms_describe.number_table
259: ,default_value out nocopy dbms_describe.number_table
260: ,in_out out nocopy dbms_describe.number_table
253: ,reserved2 in varchar2
254: ,overload out nocopy dbms_describe.number_table
255: ,position out nocopy dbms_describe.number_table
256: ,level out nocopy dbms_describe.number_table
257: ,argument_name out nocopy dbms_describe.varchar2_table
258: ,datatype out nocopy dbms_describe.number_table
259: ,default_value out nocopy dbms_describe.number_table
260: ,in_out out nocopy dbms_describe.number_table
261: ,length out nocopy dbms_describe.number_table
254: ,overload out nocopy dbms_describe.number_table
255: ,position out nocopy dbms_describe.number_table
256: ,level out nocopy dbms_describe.number_table
257: ,argument_name out nocopy dbms_describe.varchar2_table
258: ,datatype out nocopy dbms_describe.number_table
259: ,default_value out nocopy dbms_describe.number_table
260: ,in_out out nocopy dbms_describe.number_table
261: ,length out nocopy dbms_describe.number_table
262: ,precision out nocopy dbms_describe.number_table
255: ,position out nocopy dbms_describe.number_table
256: ,level out nocopy dbms_describe.number_table
257: ,argument_name out nocopy dbms_describe.varchar2_table
258: ,datatype out nocopy dbms_describe.number_table
259: ,default_value out nocopy dbms_describe.number_table
260: ,in_out out nocopy dbms_describe.number_table
261: ,length out nocopy dbms_describe.number_table
262: ,precision out nocopy dbms_describe.number_table
263: ,scale out nocopy dbms_describe.number_table
256: ,level out nocopy dbms_describe.number_table
257: ,argument_name out nocopy dbms_describe.varchar2_table
258: ,datatype out nocopy dbms_describe.number_table
259: ,default_value out nocopy dbms_describe.number_table
260: ,in_out out nocopy dbms_describe.number_table
261: ,length out nocopy dbms_describe.number_table
262: ,precision out nocopy dbms_describe.number_table
263: ,scale out nocopy dbms_describe.number_table
264: ,radix out nocopy dbms_describe.number_table
257: ,argument_name out nocopy dbms_describe.varchar2_table
258: ,datatype out nocopy dbms_describe.number_table
259: ,default_value out nocopy dbms_describe.number_table
260: ,in_out out nocopy dbms_describe.number_table
261: ,length out nocopy dbms_describe.number_table
262: ,precision out nocopy dbms_describe.number_table
263: ,scale out nocopy dbms_describe.number_table
264: ,radix out nocopy dbms_describe.number_table
265: ,spare out nocopy dbms_describe.number_table
258: ,datatype out nocopy dbms_describe.number_table
259: ,default_value out nocopy dbms_describe.number_table
260: ,in_out out nocopy dbms_describe.number_table
261: ,length out nocopy dbms_describe.number_table
262: ,precision out nocopy dbms_describe.number_table
263: ,scale out nocopy dbms_describe.number_table
264: ,radix out nocopy dbms_describe.number_table
265: ,spare out nocopy dbms_describe.number_table
266: ) is
259: ,default_value out nocopy dbms_describe.number_table
260: ,in_out out nocopy dbms_describe.number_table
261: ,length out nocopy dbms_describe.number_table
262: ,precision out nocopy dbms_describe.number_table
263: ,scale out nocopy dbms_describe.number_table
264: ,radix out nocopy dbms_describe.number_table
265: ,spare out nocopy dbms_describe.number_table
266: ) is
267: l_package varchar2(128);
260: ,in_out out nocopy dbms_describe.number_table
261: ,length out nocopy dbms_describe.number_table
262: ,precision out nocopy dbms_describe.number_table
263: ,scale out nocopy dbms_describe.number_table
264: ,radix out nocopy dbms_describe.number_table
265: ,spare out nocopy dbms_describe.number_table
266: ) is
267: l_package varchar2(128);
268: l_dotpos number;
261: ,length out nocopy dbms_describe.number_table
262: ,precision out nocopy dbms_describe.number_table
263: ,scale out nocopy dbms_describe.number_table
264: ,radix out nocopy dbms_describe.number_table
265: ,spare out nocopy dbms_describe.number_table
266: ) is
267: l_package varchar2(128);
268: l_dotpos number;
269: compile boolean := false;
271: l_rows integer;
272: begin
273: loop
274: begin
275: dbms_describe.describe_procedure
276: (object_name => object_name
277: ,reserved1 => reserved1
278: ,reserved2 => reserved2
279: ,overload => overload
342: --
343: raise invalid_package;
344: end;
345: --
346: -- DBMS_DESCRIBE.DESCRIBE_PROCEDURE succeeded so exit the loop.
347: --
348: else
349: exit;
350: end if;