Функция по ссылке с ошибками. И к тому же в теории она должна выводить в скобках значения наценки для группы только если наценка для группы отличается от инд. наценки.
Для вас лучше исправленная функция, которая возвращает всегда инд и в скобках на группу.
SQL код:
CREATE OR REPLACE
function extracharge2 ( p_a in varchar2, loc in integer )
return varchar2
is
cl_name varchar2(100) default null;
cl_name2 varchar2(100) default null;
pt integer(3) default null;
begin
select pricetype into pt from supermag.smlocprices where locid = loc and (bitand(flags, 2) = 2);
select max(extracharge) into cl_name from supermag.smextracharge where article=p_a and pricetype = pt;
return cl_name||'('||supermag.smgetextrachargeclass(p_a, pt)||')';
end;
/
commit;
Ну а в бизнес анализе - в формуле нужно писать:
SQL код:
SUPERMAG.extracharge2({Карточка товара. Артикул},{Место хранения. Код места хранения})