Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Отчет oracle reports функция отборки по месту хранения : Супермаг Плюс (Супермаг 2000)

23.04.2024 13:44


01.08.2016 06:48
xray84
 
решил вывести запросик в формулу отдельно,

function CF_usopFormula return Char is
usop char;
begin
select oper.title into USOP from supermag.smuserop oper, supermag.smdocuments d where d.id = :ID and d.doctype = 'WO' and oper.id = d.userop;
return usop;
end;

так теперь в отчете в самом супермаге ошибка почему то: ORA-06502 PL/SQL numeric or value error!
сверил везде стоит тип данных char или varchar2, 255 символов. по отдельности запросы к базе делал (в SQL-Plus), выводит то что нужно.
01.08.2016 10:38
vdm
 
Цитата:
xray84 убрал из запроса and op.id = doc.userop, и op.title (из поля выборки), норм теперь все захватывает, но в поле списание..теперь без польз-кой операции.. как добавить туда?
op.id(+) = doc.userop
01.08.2016 10:40
vdm
 
Цитата:
xray84 решил вывести запросик в формулу отдельно,

function CF_usopFormula return Char is
usop char;
begin
select oper.title into USOP from supermag.smuserop oper, supermag.smdocuments d where d.id = :ID and d.doctype = 'WO' and oper.id = d.userop;
return usop;
end;

так теперь в отчете в самом супермаге ошибка почему то: ORA-06502 PL/SQL numeric or value error!
сверил везде стоит тип данных char или varchar2, 255 символов. по отдельности запросы к базе делал (в SQL-Plus), выводит то что нужно.
usop varchar2(255);
01.08.2016 10:51
xray84
 
Цитата:
vdm usop varchar2(255);
компилится норм в билдере, в СМ пишет ORA-01403 no data found
01.08.2016 11:01
xray84
 
извиняюсь , op.id(+) = doc.userop добавил все норм!! )) спасиб большое!!!!!!!!!!!!!
а что значит (+) можно пояснить плиз )
01.08.2016 11:27
vdm
 
Оракловый синтаксис - аналог стандартному sql
SQL код:
FROM supermag.smdocuments doc
LEFT JOIN supermag
.smuserop op ON doc.userop=op.id 
Описание видов join в sql - найдете.
В старых версиях оракла предпочтительнее было использовать (+) .
Часовой пояс GMT +3, время: 13:44.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.