2015-03-02 2 views
0

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

params["RPBla"].join(",") 

в качестве параметра а (хранимой процедуры) набора данных по умолчанию. Это прекрасно работает и отправляет один или несколько выбранных значений из параметров отчета RPBla хранимой процедуры, например .:

1,2,3 

К сожалению, это не работает, если пользователь не выбирает какую-либо ценность. Любые идеи, что делать. Actuate BIRT должен отправлять NULL вместо, например, 1,2,3.

ответ

1

насчет проверки содержания в выражении этого значения по умолчанию, что-то вроде:

if (params["RPBla"].value==null){ 
    null; 
}else{ 
    var list=params["RPBla"].join(","); 
    list.length>0 ? list : null; 
} 

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

+0

Спасибо - я проверил это. Извините, только начиная с скриптов Actuate ... – cs0815

+0

Извините, не работает ... – cs0815

+0

Это не очень помогает. Каково ожидаемое поведение, когда ничего не выбрано? Отображение всех значений, ничего или определенного значения по умолчанию? Какое значение ожидается этой хранимой процедурой, когда выбор пуст? Как вы упомянули, «BIRT должен отправить NULL», я полагал, что null был учтен в хранимой процедуре, но, похоже, я неправильно понял. – Dominique