Как выгрузить процентную ставку по кредитам
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
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   |
|
Полезность: Нет оценки
|
Спасибо! |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|