| 
 
	
		| Предыдущая тема :: Следующая тема |  
		| Автор | Сообщение |  
		| брат666 Участник со стажем
 
 
 Вступление в Клуб: 20.02.2014
 
 | 
			
				|  Пт Мар 07, 2014 15:45   ошибка no data found |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Код: |  	  | type fact_d is record (data_g  date,sum_g  summa );
 type fact_dt is table of  fact_d index by integer;
 
 type fact_b is record (dat_g  date, summ_g  summa );
 type fact_bt is table of  fact_b index by integer;
 
 
 function FACT_DATE (p_cred ref [PR_CRED],p_date date ) return DATE is
 fc_dt   fact_dt;
 fb_dt   fact_bt;
 s1      summa;
 d1      date;
 r       number:=1;
 i       number:=1;
 begin
 for (select s(s.date   : dt1,
 s.summa  : sum1) in p_cred.[LIST_PAY] where  s.oper.code = 'VYNOS_ZADOLJ_KR'  and p_date=s.date
 )
 loop
 fc_dt(r).data_g:=s.dt1;
 fc_dt(r).sum_g:=s.sum1;
 -- &debug_pipe('!oh fc_dt(r).data_g = ' || fc_dt(r).data_g, 0);
 --&debug_pipe('!oh fc_dt(r).sum_g = ' || fc_dt(r).sum_g, 0);
 r:= r+1;
 end loop;
 
 for (select s(s.date    : dt,
 s.summa   : sm) in p_cred.[LIST_PAY]  where s.oper.code = 'GASHEN_ZADOLJ_KR'                    )
 loop
 fb_dt(i).dat_g:=s.dt;
 
 i:=i+1;
 &debug_pipe('fb_dt(i).dat_g = '||fb_dt(i).dat_g,0);
 
 --return fb_dt(i).dat_g;
 end loop;
 end;
 | 
 
 приветсвую всех, проблема такая : выдается ошибка no data found в навигаторе.в подробностях написано что ошибка во втором цикле.вроде скрипт правильно написал, но что за ошибка не нашел пока. помогите плз
 |  |  
		|  |  
		| Airat Участник
 
 
 Вступление в Клуб: 08.03.2014
 
 | 
			
				|  Сб Мар 08, 2014 14:56    |   |  
				| Полезность: 2 
 |  
				| &debug_pipe('fb_dt(i).dat_g = '||fb_dt(i).dat_g,0); 
 Ты сначала увеличил счетчик i := i + 1, а потом выводишь значение fb_dt(i).dat_g, которое еще не проинициализировано.
 |  |  
		|  |  
		| брат666 Участник со стажем
 
 
 Вступление в Клуб: 20.02.2014
 
 | 
			
				|  Вт Мар 11, 2014 08:08    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Airat пишет: |  	  | &debug_pipe('fb_dt(i).dat_g = '||fb_dt(i).dat_g,0); 
 Ты сначала увеличил счетчик i := i + 1, а потом выводишь значение fb_dt(i).dat_g, которое еще не проинициализировано.
 | 
 
 спасибо огромное
  |  |  
		|  |  
		|  |  
  
	| 
 
 | Вы не можете начинать темы Вы не можете отвечать на сообщения
 Вы не можете редактировать свои сообщения
 Вы не можете удалять свои сообщения
 Вы не можете голосовать в опросах
 
 |  |