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

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


Вступление в Клуб: 31.03.2008
СообщениеПт Сен 26, 2008 10:17    Ответить с цитатой
Полезность: Нет оценки
В продолжение.
Есть строка кода

debug_pipe('@@@'||[KL_DT].[1].[2].[MAIN_V_ID]);

В обычной операции эта строка возворащает, счет плательщика.
В выч. параметре плат. поручений CALC_PAR не отрабатывает.

В чем причина не понятно...
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеПт Сен 26, 2008 11:13    Ответить с цитатой
Полезность: 1
evgeniy пишет:
В продолжение.
Есть строка кода

debug_pipe('@@@'||[KL_DT].[1].[2].[MAIN_V_ID]);

В обычной операции эта строка возворащает, счет плательщика.
В выч. параметре плат. поручений CALC_PAR не отрабатывает.

В чем причина не понятно...


ну для начала это счет клиента банка... проверьте в документе реквизиты плательщика принадлежал клиенту банка
иначе надо писать например

Код:
debug_pipe('@@@'||[KL_DT].[2].[1]);


либо писать чтоб выводилось независимо клиент.не клиент..

Код:
debug_pipe('@@@'||nvl([KL_DT].[1].[2].[MAIN_V_ID],[KL_DT].[2].[1]));


либо рабоать через вариант..

Код:
if [KL_DT].[0] = '1' then
    debug_pipe('@@@'||[KL_DT].[1].[2].[MAIN_V_ID]);
else
    debug_pipe('@@@'||[KL_DT].[2].[1]);
end if;

_________________
всегда есть как минимум 2 выхода
evgeniy
Участник - экстремал


Вступление в Клуб: 31.03.2008
СообщениеПт Сен 26, 2008 12:19    Ответить с цитатой
Полезность: Нет оценки
Счет клиента банка.
Еще дополнительная информация.

если работаю через this.[KL_DT].[1].[2].[MAIN_V_ID]
Ошибка "Экземпляр "0" не найден, тип [MAIN_DOCUM]".

Вообще проверяю работу операции так, может это поможет:
Пишу в CALC_PAR плат. документах, запись в спр. выч.параметры добавил. Создал БО в которой взял пар-тр который в выч.параметрах, а запускаю выполнение БО через "Удержание разовой комисии"
alexiy
Профи


Вступление в Клуб: 29.06.2007
СообщениеПт Сен 26, 2008 12:43    Ответить с цитатой
Полезность: Нет оценки
evgeniy пишет:
...запись в спр. выч.параметры добавил...

так, на всякий случай: запускали потом операцию ::[CALC_PARAMS].[MAKE_CP_LIBS] ("Сгенерировать или обновить библиотеки CP_xxxxxx (служебная)")?
_________________
two bee or not two bee
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеПт Сен 26, 2008 12:47    Ответить с цитатой
Полезность: Нет оценки
если речь идет про RKO_CALC_PAR_1, то там надо писать:
Код:

debug_pipe('@@@'||P_DOC.[KL_DT].[2].[1]);



либо писать чтоб выводилось независимо клиент.не клиент..

Код:

debug_pipe('@@@'||nvl(P_DOC.[KL_DT].[1].[2].[MAIN_V_ID],P_DOC.[KL_DT].[2].[1]));



либо рабоать через вариант..


Код:
if P_DOC.[KL_DT].[0] = '1' then
    debug_pipe('@@@'||P_DOC.[KL_DT].[1].[2].[MAIN_V_ID]);
else
    debug_pipe('@@@'||P_DOC.[KL_DT].[2].[1]);
end if;

_________________
всегда есть как минимум 2 выхода
evgeniy
Участник - экстремал


Вступление в Клуб: 31.03.2008
СообщениеПт Сен 26, 2008 12:58    Ответить с цитатой
Полезность: Нет оценки
P_DOC это же [DOCUMENT], у него реквизита [KL_DT] нет...

alexiy пишет:
так, на всякий случай: запускали потом операцию ::[CALC_PARAMS].[MAKE_CP_LIBS] ("Сгенерировать или обновить библиотеки CP_xxxxxx (служебная)")?


не не запускал.
Alexsey
Эксперт


Вступление в Клуб: 06.09.2007
СообщениеПт Сен 26, 2008 13:05    Ответить с цитатой
Полезность: 1
evgeniy пишет:
P_DOC это же [DOCUMENT], у него реквизита [KL_DT] нет...

да, прошу прощения...

должно быть так

Код:
debug_pipe('@@@'||P_DOC->(::[MAIN_DOCUM])[KL_DT].[1].[2].[MAIN_V_ID]);

_________________
всегда есть как минимум 2 выхода
alexiy
Профи


Вступление в Клуб: 29.06.2007
СообщениеПт Сен 26, 2008 16:36    Ответить с цитатой
Полезность: Нет оценки
evgeniy пишет:
alexiy пишет:
так, на всякий случай: запускали потом операцию ::[CALC_PARAMS].[MAKE_CP_LIBS] ("Сгенерировать или обновить библиотеки CP_xxxxxx (служебная)")?


не не запускал.

принципиально?...
_________________
two bee or not two bee
evgeniy
Участник - экстремал


Вступление в Клуб: 31.03.2008
СообщениеПн Сен 29, 2008 05:25    Ответить с цитатой
Полезность: Нет оценки
alexiy пишет:
evgeniy пишет:
alexiy пишет:
так, на всякий случай: запускали потом операцию ::[CALC_PARAMS].[MAKE_CP_LIBS] ("Сгенерировать или обновить библиотеки CP_xxxxxx (служебная)")?


не не запускал.

принципиально?...


По не знанию )))
evgeniy
Участник - экстремал


Вступление в Клуб: 31.03.2008
СообщениеПн Сен 29, 2008 06:53    Ответить с цитатой
Полезность: Нет оценки
Alexsey спасибо большое за помощь.

Задам глупый вопрос, что за функция nvl? Какое её назначение?
w00per
Профи


Вступление в Клуб: 17.10.2007
СообщениеПн Сен 29, 2008 08:06    Ответить с цитатой
Полезность: 1
evgeniy пишет:
Alexsey спасибо большое за помощь.

Задам глупый вопрос, что за функция nvl? Какое её назначение?
Oraclовая функция имеет синтаксис nvl(переменная1, переменная2) возвращает значение переменной1 если оно null, то переменной2.
_________________
I Lie About Everything.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
На страницу Пред.  1, 2
Страница 2 из 2

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