Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Passing a custom collection of custom rec type to PL/SQL Function

887974Sep 13 2011 — edited Sep 13 2011
In the following, I am having an issue when trying to pass a custom collection of custom types to a function. You will see all of the specifications and errors below:

Anonymous Code Block:

declare
rectest RECORD_IN; -- object
collectiontest TABLE_OF_RECORDIN; -- collection
outtest TABLE_OF_RECORDOUT; -- collection;
begin
rectest := RECORD_IN ('10010','C','201010',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -- setting values in the record for the 12 attributes
collectiontest := table_of_recordin(rectest); -- setting the record into the collection
DBMS_OUTPUT.PUT_LINE(‘FIELD1 ' || rectest.FIELD1||' FIELD2 ' || rectest.FIELD2||' FIELD3 ' || rectest.FIELD3);
outtest := schema.package.function_name(rosstest); -- passing the collection to the combo edit function
end;



Error:

ORA-06550: line 9, column 16:
PLS-00306: wrong number or types of arguments in call to 'FUNCTION_NAME'
ORA-06550: line 9, column 5:
PL/SQL: Statement ignored


Function Specification:

FUNCTION FUNCTION_NAME(vInREC IN TABLE_OF_RECORDIN) RETURN TABLE_OF_RECORDOUT
IS…


RECORD_IN:

CREATE OR REPLACE
TYPE SCHEMA.RECORD_IN as object
(
FIELD1 VARCHAR2(5 BYTE) ,
FIELD2 VARCHAR2(4 BYTE) ,
FIELD3 VARCHAR2(10 BYTE) ,
FIELD4 VARCHAR2(10 BYTE) ,
FIELD5 VARCHAR2(6 BYTE) ,
FIELD6 VARCHAR2(11 BYTE) ,
FIELD7 VARCHAR2(10 BYTE) ,
FIELD8 VARCHAR2(5 BYTE) ,
FIELD9 VARCHAR2(10 BYTE) ,
FIELD10 VARCHAR2(5 BYTE) ,
FIELD11 VARCHAR2(5 BYTE) ,
FIELD12 VARCHAR2(3 BYTE)
)


TABLE_OF_RECORDIN:

CREATE OR REPLACE
TYPE SCHEMA.TABLE_OF_RECORDIN as table of RECORD_IN
/
/


RECORD OUT:

CREATE OR REPLACE
TYPE SCHEMA.RECORD_OUT as object
(
FIELD1 VARCHAR2(5 BYTE) ,
FIELD2 VARCHAR2(4 BYTE) ,
FIELD3 VARCHAR2(10 BYTE) ,
FIELD4 VARCHAR2(10 BYTE) ,
FIELD5 VARCHAR2(6 BYTE) ,
FIELD6 VARCHAR2(11 BYTE) ,
FIELD7 VARCHAR2(10 BYTE) ,
FIELD8 VARCHAR2(5 BYTE) ,
FIELD9 VARCHAR2(10 BYTE) ,
FIELD10 VARCHAR2(5 BYTE) ,
FIELD11 VARCHAR2(5 BYTE) ,
FIELD12 VARCHAR2(3 BYTE)
FIELD13 VARCHAR2(500) ,
FIELD14 VARCHAR2(20)
)
/


TABLE_OF_RECORDOUT:

CREATE OR REPLACE
TYPE SCHEMA.TABLE_OF_RECORDOUT as table of RECORD_OUT
/
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 11 2011
Added on Sep 13 2011
2 comments
359 views