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.