declare
type tfeedOasys is record (
MTMFEED OASYS_FEEDS_PORTFOLIOS_CONFIG.MTMFEED%TYPE,
IAFEED OASYS_FEEDS_PORTFOLIOS_CONFIG.IAFEED%TYPE,
NCFEED OASYS_FEEDS_PORTFOLIOS_CONFIG.NCFEED%TYPE
);
feedRec tfeedOasys;
type rec_array is table of tfeedOasys INDEX BY BINARY_INTEGER;
id_array rec_array;
begin
null;
feedRec.MTMFEED :='mtm1';
feedRec.IAFEED :='ia1';
feedRec.NCFEED :='nc1';
id_array(1) := feedRec;
feedRec.MTMFEED :='mtm2';
feedRec.IAFEED :='ia2';
feedRec.NCFEED :='nc2';
id_array(2) := feedRec;
FOR i IN 1..id_array.count LOOP
DBMS_OUTPUT.PUT_LINE('i='||i
||', 1 ='||id_array(i).MTMFEED
||', 2 ='||id_array(i).IAFEED
||', 3 = '||id_array(i).NCFEED);
END LOOP;
end;
because the OASYS_FEEDS_PORTFOLIOS_CONFIG.MTMFEED%TYPE length only have 1 char, so setting value mtm1 is over length.