|
|
|
Oracle BI. Подменить NLS_NUMERIC_CHARACTERS в отчетн. сессии при вып-ии Before Data тригге
|
|||
|---|---|---|---|
|
#18+
Доброго дня! Имеется репорт в 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.10.2017, 14:20 |
|
||
|
Oracle BI. Подменить NLS_NUMERIC_CHARACTERS в отчетн. сессии при вып-ии Before Data тригге
|
|||
|---|---|---|---|
|
#18+
Жду Джека или еще кого.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 13:25 |
|
||
|
Oracle BI. Подменить NLS_NUMERIC_CHARACTERS в отчетн. сессии при вып-ии Before Data тригге
|
|||
|---|---|---|---|
|
#18+
Если передавать число как число в числовой параметр, то нет никакой зависимости от NLS_NUMERIC_CHARACTERS. Проверяй типы данных на клиенте и сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 13:56 |
|
||
|
Oracle BI. Подменить NLS_NUMERIC_CHARACTERS в отчетн. сессии при вып-ии Before Data тригге
|
|||
|---|---|---|---|
|
#18+
AmKadЕсли передавать число как число в числовой параметр, то нет никакой зависимости от NLS_NUMERIC_CHARACTERS. Проверяй типы данных на клиенте и сервере. У ТС по ходу вопрос про сам BI. Не ясно лишь, про какой именно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 13:59 |
|
||
|
Oracle BI. Подменить NLS_NUMERIC_CHARACTERS в отчетн. сессии при вып-ии Before Data тригге
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousНе ясно лишь, про какой именно :)Шифруется по полной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 15:23 |
|
||
|
Oracle BI. Подменить NLS_NUMERIC_CHARACTERS в отчетн. сессии при вып-ии Before Data тригге
|
|||
|---|---|---|---|
|
#18+
Именно про сам BI. Про число и "числовой параметр" то ясно :) Если в BI выставить тип данных параметра "Целое число", то дробная часть просто игнорируется, что и логично. Не мой вариант Поэтому с плавающей точкой. Но никаких проверок на вводе BI не реализует. Пока обошелся значением по умолчанию "0.0", чтобы юзеру была ясна концепция, но сути дела это не меняет - будет введена запятая и опять будут проблемы. Oracle Business Intelligence 12.2.1.0.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 07:19 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=139&tid=1884992]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 362ms |

| 0 / 0 |
