Как выгрузить процентную ставку по кредитам 
	   
	     | 
   
 
	
		| Предыдущая тема :: Следующая тема   | 
	 
	
	
		| Автор | 
		Сообщение | 
	 
	
		izuit Участник
 
  Вступление в Клуб: 29.08.2013
  | 
		
			
				 Чт Сен 05, 2013 18:49   Как выгрузить процентную ставку по кредитам | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Проблема в том, что необходимо ежемесячно выгружать "плоский файл" для загрузки в другое приложение.
 
Через SQL получается всё прекрасно, но необходимо написать операцию на PL/+ , что бы пользователи могли производить выгрузку самостоятельно.
 
Делаю следующее:
 
 	  | Код: | 	 		    for (SELECT kr
 
       (
 
           kr.[NUM_DOG] : c_NUM,
 
           kr.[SUMMA_DOG] : c_SUMMA, 
 
         A3_1.[NAME] : c_NAME,          
 
         A4_1.[MAIN_V_ID] : c_MAIN_V_ID,          
 
         A2_1.[CUR_SHORT] : c_CUR_SHORT,
 
         [RUNTIME].[VIEWFUN].GET_PRC_VALUE(A14_1.[PRC_SCHEME],[RUNTIME].[VIEWFUN].GetOpDate) : c_PRO
 
       )   
 
         IN
 
           [PR_CRED],
 
         ([PRODUCT] : A1_2),          
 
         ([AC_FIN] : A4_1),
 
          ([CLIENT] : A3_1),
 
          ([COM_STATUS_PRD] : A5_1),
 
          ([USER] : A12_1),
 
          ([FT_MONEY] : A2_1),
 
          ([PRODUCT] : A7_2),
 
          ([PRODUCT] : A8_2),
 
          ([KIND_CREDITS] : A9_1),
 
          ([KIND_PROJECT] : A11_1),
 
          ([PRODUCT] : A13_2),
 
          ([SIM_LOAN_PORT] : A13_1),
 
          ([DEBT_COMISS_PRC] : A14_1)
 
          all
 
       WHERE 
 
              kr%ID = A1_2%ID
 
          AND kr.[ACCOUNT] = A4_1%ID (true)
 
          AND kr.[CLIENT] = A3_1%ID (true)
 
          AND A1_2.[COM_STATUS] = A5_1%ID (true)
 
          AND A1_2.[CREATE_USER] = A12_1%ID (true)
 
          AND kr.[FT_CREDIT] = A2_1%ID (true)
 
          AND kr.[GEN_AGR] = A7_2%ID (true)
 
          AND kr.[HIGH_LEVEL_CR] = A8_2%ID (true)
 
          AND kr.[KIND_CREDIT] = A9_1%ID (true)
 
          AND kr.[PRJ_KIND_CRED] = A11_1%ID (true)
 
          AND A13_1%ID = A13_2%ID (true)
 
          AND (
 
               (
 
                 [SIM_LOAN_PORT].[LIB].GetPortByCred(kr%ID, null, null, kr.[HIGH_LEVEL_CR]) = A13_1%ID (true) and (A14_1%COLLECTION (true) = kr.[COMISS_ARR] and A14_1.[DEBT](true) = 1984123)
 
               )
 
              )
 
      )
 
       loop
 
 
 
        debug_pipe('proc_stav :='||kr.c_PRO,0);
 
       end loop;
 
 
 
 
 
 | 	  
 
 
 
Подскажите, что делаю не правильно, и где искать ошибки | 
			 
		  | 
	 
	
		  | 
	 
	
		vtar Эксперт
 
  Вступление в Клуб: 20.03.2009
  | 
		
			
				 Чт Сен 05, 2013 21:13    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Организация: 	ГК
 
 
ООО "ГовноКодинг, лимитед," штоле?
 
 
Камрад Сашко,  
 
 
1)
 
 
 ([SIM_LOAN_PORT] : A13_1)
 
 
кредиты только портфельные, штоле ?
 
 
2)
 
Отвыкай от такого стиля, камрад, пользуйся CODE
 
A14_1.[DEBT](true) = 1984123
 
 
3) Это что за тройственный джойнинг, зачем оно тебе , камрад ?
 
          ([PRODUCT] : A7_2), 
 
          ([PRODUCT] : A8_2), 
 
           ([PRODUCT] : A13_2),
 
 
4) Все кредиты под генеральным соглашением ?
 
AND kr.[GEN_AGR] = A7_2%ID (true)
 
 
5) А почему в IN нет типа PRC_SCHEME ? Схемы начисления процентов, собстно проц. ставки - в истории, а ещо они бывают простые и сложные ..
 
 
6) Не ЦФТ-style  кодинг, смени генератор шаблонов, камрад.
 
 
  | 
			 
		  | 
	 
	
		  | 
	 
	
		chesnok Участник со стажем
 
  Вступление в Клуб: 25.03.2010
  | 
		
			
				 Пт Сен 06, 2013 03:54    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Добавлю свои 5 копеек: в версии 13.7 исчезает [VIEWFUN].Get_Prc_Value
 
Безследа. | 
			 
		  | 
	 
	
		  | 
	 
	
		Random Эксперт
 
  Вступление в Клуб: 27.06.2011
  | 
		
			
				 Пт Сен 06, 2013 06:43   Re: Как выгрузить процентную ставку по кредитам | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | izuit пишет: | 	 		  Проблема в том, что необходимо ежемесячно выгружать "плоский файл" для загрузки в другое приложение.
 
 
Подскажите, что делаю не правильно, и где искать ошибки | 	  
 
 
Извини, конечно, но даже в SQL у тебя куча ненужного.
 
 
 	  | Код: | 	 		  
 
declare
 
   dTmp date;
 
begin
 
   dTmp := ::[RUNTIME].[VIEWFUN].GetOpDate;
 
 
   for (   SELECT kr(
 
 
 
/*   Это всё не используется, выпиливаем
 
   kr.[NUM_DOG] : c_NUM,
 
   kr.[SUMMA_DOG] : c_SUMMA,
 
   kr.[CLIENT].[NAME] : c_NAME,          
 
   kr.[ACCOUNT].[MAIN_V_ID] : c_MAIN_V_ID,          
 
   kr.[FT_CREDIT].[CUR_SHORT] : c_CUR_SHORT,*/
 
 
 
      kr.[COMISS_ARR].[PRC_SCHEME]   :c_scheme
 
      ) IN ::[PR_CRED] all
 
      WHERE   kr.[COMISS_ARR].[DEBT] = ::[VID_DEBT]([ code] = 'сюда подставить нужный код') -- это вместо 1984123
 
   ) loop
 
      debug_pipe('proc_stav =' || ::[RUNTIME].[VIEWFUN].GET_PRC_VALUE(kr.c_scheme, dTmp), 0);
 
   end loop;
 
end;
 
 | 	 
  | 
			 
		  | 
	 
	
		  | 
	 
	
		devor Профи
 
  Вступление в Клуб: 13.02.2012
  | 
		
			
				 Пт Сен 06, 2013 08:29    | 
				     | 
			 
			
				Полезность: 1 
  | 
			 
			
				Random, как уже писали выше, функция [VIEWFUN].Get_Prc_Value в версии 13.7 перестала существовать.
 
Вместо нее теперь интерфейс
 
::[CRED_INTERFACE].[PRX_PRC_SCHEME].GetPrcRate | 
			 
		  | 
	 
	
		  | 
	 
	
		izuit Участник
 
  Вступление в Клуб: 29.08.2013
  | 
		
			
				 Пт Сен 06, 2013 15:32    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				| Спасибо! | 
			 
		  | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
  | 
   
 
		 |