CftClub.ru
Клуб специалистов ЦФТ-Банк

Получение фактического % резервирования

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеСр Дек 05, 2012 10:18   Получение фактического % резервирования Ответить с цитатой
Полезность: Нет оценки
Тема такая: у ЦФТ есть ф-ция ::[PR_CRED].[VIEW_LIB].CUR_PRC_RIS
Которая фозвращает % резервирования на дату, но то ли лыжи не едут, то ли я ничего не понимаю, но данная ф-ция работает не правильно и возвращает неправильные % ставки по тем у кого данный % менялся. Причём логики нет никакой (я думал сначала самую первую вытаскивает, но нет иногда выдирает из середины) выдирает как попало но только не на дату.

Вот например у кредита в группе риска 2 записи
1я: 26.06.2012 30.10.2012 2 1.000000 2 Хорошее
2я: 31.10.2012 31.12.4012 2 10.000000 2 Хорошее

Вызываю с параметром sysdate - возвращает 1.000000
У вас всё нормально?

Ничего не придумал как тупо переписать ф-цию чтобы возвращала правильно

ф-ция ЦФТ (закоментил else):

Код:

for ( select x( x.[RISK_GROUP].[RESERVE_PRC] : res_risk ) in dog_ref.[GR_RISK_HIST]
               where   x.[DATE_START] < res_date + 1
               order by x.[DATE_START] desc)
         loop
            return  x.res_risk;
         end loop;


Вместо него, вставил свой

Код:
         
for (select x( x.[GR_RISK_HIST].[PRC_RESERV] : res_risk) in [PR_CRED]
               where   x.[GR_RISK_HIST].[DATE_START] < res_date + 1
               and x%id=DOG_REF
               order by x.[GR_RISK_HIST].[DATE_START] desc)
         loop
            return  x.res_risk;
         end loop;


Стала возвращать правильно, называется найди 10 отличий Very Happy
budinva
Участник - экстремал


Вступление в Клуб: 15.01.2008
СообщениеСр Дек 05, 2012 13:52    Ответить с цитатой
Полезность: Нет оценки
а другими функциями не интересовались или это просто патологическая страсть писать свое?
Chekan
Участник со стажем


Вступление в Клуб: 29.11.2012
СообщениеСр Дек 05, 2012 14:03    Ответить с цитатой
Полезность: Нет оценки
budinva пишет:
а другими функциями не интересовались или это просто патологическая страсть писать свое?

если функция простая то почему бы не написать свою, у меня например периодически возникают проблемы по вызову сторонних функций

а насчет процента резервирования на дату, только сегодня писал такую функцию, боюсь представить сколько лишнего функционала в системе Laughing
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеСр Дек 05, 2012 14:15    Ответить с цитатой
Полезность: Нет оценки
budinva пишет:
а другими функциями не интересовались или это просто патологическая страсть писать свое?


Мне вот очень интересно, по вашему, раз вы предлагаете искать другие, для чего тогда эта ф-ция, да ещё и в кредитных договорах?
devor
Профи


Вступление в Клуб: 13.02.2012
СообщениеСр Дек 05, 2012 14:33   Re: Получение фактического % резервирования Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:


ф-ция ЦФТ (закоментил else):

Код:

for ( select x( x.[RISK_GROUP].[RESERVE_PRC] : res_risk ) in dog_ref.[GR_RISK_HIST]
               where   x.[DATE_START] < res_date + 1
               order by x.[DATE_START] desc)
         loop
            return  x.res_risk;
         end loop;


Вместо него, вставил свой

Код:
         
for (select x( x.[GR_RISK_HIST].[PRC_RESERV] : res_risk) in [PR_CRED]
               where   x.[GR_RISK_HIST].[DATE_START] < res_date + 1
               and x%id=DOG_REF
               order by x.[GR_RISK_HIST].[DATE_START] desc)
         loop
            return  x.res_risk;
         end loop;


Стала возвращать правильно, называется найди 10 отличий Very Happy


Первая функция возвращает процент резервирования настроенный на группе риска(умочательный), вторая функция - процент резервирования по самому кредиту.
Конструкции
dog_ref.[GR_RISK_HIST].[RISK_GROUP].[RESERVE_PRC]
и
x.[GR_RISK_HIST].[PRC_RESERV]
явно отличаются.

PS стандартная функция подъема группы риска на дату из массива:
Код:
::[PRODUCT].[LIB_01].GetGroupRiskFromArray(creditId.[GR_RISK_HIST], onDate);


Последний раз редактировалось: devor (Ср Дек 05, 2012 14:41), всего редактировалось 1 раз
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеСр Дек 05, 2012 14:40    Ответить с цитатой
Полезность: Нет оценки
Теперь понятно, только не понятно почему у ЦФТ Получение фактического процента резервирования не предусматривает изменение на кредитном договоре.
Тем более что в неё передаётся ref [PR_CRED], какой тогда смысл его переводить на ref на группу риска(умочательный) ?
devor
Профи


Вступление в Клуб: 13.02.2012
СообщениеСр Дек 05, 2012 14:41    Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:
Теперь понятно, только не понятно почему у ЦФТ Получение фактического процента резервирования не предусматривает изменение на кредитном договоре.
Тем более что в неё передаётся ref [PR_CRED], какой тогда смысл его переводить на ref на группу риска(умочательный) ?

Я не очень понимаю, о какой функции ты пишешь.
Надо пользоваться вот этой:
Код:
::[PRODUCT].[LIB_01].GetGroupRiskFromArray(creditId.[GR_RISK_HIST], onDate);
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеСр Дек 05, 2012 15:08    Ответить с цитатой
Полезность: Нет оценки
Так я же написал Very Happy
Код:
::[PR_CRED].[VIEW_LIB].CUR_PRC_RIS


Всё логично, лежит в кредитах.
budinva
Участник - экстремал


Вступление в Клуб: 15.01.2008
СообщениеСр Дек 05, 2012 16:25    Ответить с цитатой
Полезность: Нет оценки
Chekan пишет:
budinva пишет:
а другими функциями не интересовались или это просто патологическая страсть писать свое?

если функция простая то почему бы не написать свою, у меня например периодически возникают проблемы по вызову сторонних функций

а насчет процента резервирования на дату, только сегодня писал такую функцию, боюсь представить сколько лишнего функционала в системе Laughing

писать можно что угодно и сколько угодно, главное чтобы желание писать свое не вызывалось "проблемами вызова сторонних функций".
лишний функционал? это как?

приведенные примеры по получению кк, завязаны лишь на одном варианте работы, что кк храниться на договоре, а если будите хранить на клиенте или хуки заходите делать по определению кк или кредит в ПОСе будет? будите все "свое" переписывать?
сложно, наверное, посмотреть как вычисляется % рез., например на форме "информация по договору".
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru