Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Oracle |
![]() ![]() |
Be or not to be...
Guest |
Доброго дня! Имеется репорт в BI. Среди параметров есть пара с типом "С плавающей точкой". Туда могут записываться дробные числа вроде процентной ставки по депозитному договору. В дата модели имеется несколько Before data триггеров, выполняющих некие процедуры. В сессии BI установлена NLS_NUMERIC_CHARACTERS=".," Если пользователь передает значение параметра с запятой, то оно просто игнорируется - в процедуру триггером передается null. При этом, если передать значение с точкой, либо целое число, то оно передается корректно. Что попробовал сделать: - первым триггером выполнил процедуру с EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_NUMERIC_CHARACTERS= '',.'' ', дабы понять начнет ли восприниматься значение с запятой. Вторым триггером считал NLS_NUMERIC_CHARACTERS сменилось на '',.'', но значение параметра в процедуре, вызываемой вторым триггером - null - в описании вызываемой триггером процедуры пробовал некие to_number(replace(, ',', '.')). Результата не последовало - пробовал менять типы данных для этих параметров на строки - работает, конечно. Значение можно было бы обработать в коде самостоятельно, но в таком случае придется сменить тип поля для параметра в BI на "Строка", что повлечет за собой ошибки ввода по стороны пользователей и т.д. Прошу помощи. Что делать, куда смотреть? |
31 окт 17, 14:20 [20915643] Ответить | Цитировать Сообщить модератору |
Be or not to be...
Guest |
Жду Джека или еще кого.. |
1 ноя 17, 13:25 [20918769] Ответить | Цитировать Сообщить модератору |
AmKad Member Откуда: Сообщений: 4909 |
Если передавать число как число в числовой параметр, то нет никакой зависимости от NLS_NUMERIC_CHARACTERS. Проверяй типы данных на клиенте и сервере. |
1 ноя 17, 13:56 [20918869] Ответить | Цитировать Сообщить модератору |
andrey_anonymous Member Откуда: Москва Сообщений: 17092 |
У ТС по ходу вопрос про сам BI. Не ясно лишь, про какой именно :) |
||
1 ноя 17, 13:59 [20918887] Ответить | Цитировать Сообщить модератору |
AmKad Member Откуда: Сообщений: 4909 |
|
||
1 ноя 17, 15:23 [20919210] Ответить | Цитировать Сообщить модератору |
Be or not to be...
Guest |
Именно про сам BI. Про число и "числовой параметр" то ясно :) Если в BI выставить тип данных параметра "Целое число", то дробная часть просто игнорируется, что и логично. Не мой вариант Поэтому с плавающей точкой. Но никаких проверок на вводе BI не реализует. Пока обошелся значением по умолчанию "0.0", чтобы юзеру была ясна концепция, но сути дела это не меняет - будет введена запятая и опять будут проблемы. Oracle Business Intelligence 12.2.1.0.0 |
2 ноя 17, 07:19 [20920779] Ответить | Цитировать Сообщить модератору |
Все форумы / Oracle | ![]() |