This discussion is archived
1 Reply Latest reply: Mar 6, 2013 10:00 PM by rp0428 RSS

PLSQL table Count giving NO_DATA_FOUND Error

636055 Newbie
Currently Being Moderated
Hi Everyone,

I am having a Associative array define below :

TYPE SchQryRecTyp IS RECORD (
load_port port_call.lcn_code%type
, load_call port_call.call%type
, dsch_port port_call.lcn_code%type
, dsch_call port_call.call%type
, vsl_code port_call.vsl_code%type
, vsl_name vsl.vsl_name%type
, voy_code port_call.voy_code%type
, line_code port_call.line_code%type
, etd port_call.etd%type
, eta port_call.eta%type
, transit_tm number
, load_area_uid area_master_rly.area_uid%type
, load_port_qry port_call.lcn_code%type
, dsch_area_uid area_master_rly.area_uid%type
, dsch_port_qry port_call.lcn_code%type
, flag varchar2(4)
, inact_flg varchar2(1)
, final_or_doc_lock varchar2(1)
);

TYPE SchQry_Tab_Typ IS TABLE OF SchQryRecTyp
INDEX BY BINARY_INTEGER;

1 ) Now in my code I am polulating the the PLSQL table SchQry_Tab_Typ and
2) based on that PLSQL table data I am again trying to Fetch some other data.

But I came accross a problem which i am mentioning below :

When i am trying to perform the task (2) I am running a Loop i.e.

IF vroute2.COUNT > 0 THEN
FOR a IN 1..vroute2.COUNT LOOP
--
-- dbms_output.put_line(vroute2(a).vsl_code); **--(But while accessing the value it is giving ORA-01403 - No Data Found )*
--
END LOOP;
END IF;

But when i changed the loop like this

IF vroute2.COUNT > 0 THEN
FOR a IN vroute2.FIRST..vroute2.LAST LOOP
--
-- dbms_output.put_line(vroute2(a).vsl_code); **--(Program executed successfully)*
--
--
END LOOP;
END IF;


Can anybody help me if they have experienced such problem and the reason for this ?

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points