[ОТВЕТИТЬ]
Опции темы
17.02.2007 14:31  
Pblcb
Клиенту понадобилось в инв.описи видеть баркоды товаров, я добавил в запрос в репортах такой вот вычисляемый столбец:
Код:
function CF_barcodeFormula return char is
cursor barcodes(art char) is
	select barcode
	from Supermag.smStoreUnits
	where article = Art;
bar_list varchar2(10000);
begin
	bar_list := '';
	
	for bar in barcodes(:article) loop			
		bar_list := bar_list  || chr(10) || ' - ' || bar.Barcode;			
	end loop;	
	bar_list := ltrim( bar_list, chr(10) ); 
	
	return ( bar_list );
/*exception
	when others then return '';*/
end;
Если в списке появится товар с несколькими баркодами, возникает исключительная ситуация. Помогите понять что я упустил?
 
17.02.2007 16:09  
OlegON
Какая именно исключительная? Трудно по такому огрызку что-то сказать. Art у тебя откуда берется? Их там не несколько? Иными словами, либимая ошибка - возвращать в одиночные подзапросы несколько строк. Все "=" проверь. Чтобы нигде несколько строк не было.
 
17.02.2007 16:44  
Pblcb
olegon, формула для каждой строки запроса расчитывается: barcodes(:article).

А исключительная ситуация для репортов у меня всегда одна и та же - REP-1401 =(

И запрос конечно же не одиночный... Я ж курсор в цикле обабатываю...
 
17.02.2007 17:04  
OlegON
Я, к сожалению, не спец в репортсах, не люблю их. Просто в Art, например, должно быть одно значение, а не массив... Трудно сказать, что еще может быть. Погоди, в понедельник может inna подскажет, она разбирается...
 
17.02.2007 17:21  
Pblcb
olegon, спасибо ))) Инвентаризация завтра )
 
17.02.2007 17:26  
OlegON
Ну... Репортер попробовать я всем предлагал...
 
19.02.2007 10:19  
inna
да тут дело не в репортсе. Я не вижу не открытия курсора не закрытия. Функция вообще то компилится? Функция описана как char, а возвращет varchar2. Может быть проблема с длинной.
olegon, спасибо за комплимент (приятно), но я ту далеко не едиственный и не самый лучший специалист.
 
19.02.2007 11:43  
kadr
Цитата:
Сообщение от inna
Я не вижу не открытия курсора не закрытия.
ну курсор открывается неявно при начале цикла
Цитата:
Сообщение от inna
Может быть проблема с длинной.
у меня тоже сложилось такое впечатление

Цитата:
Сообщение от Pblcb
REP-1401 =(
не все знают наизусть описание опишибки по её коду, текст ошибки поможет уйти от гадания на кофейной гуще
Вложения
Тип файла: xls СТАТИСТИКА ПИКИНГА ON-LINE00.xls (40.5 Кб, 13 просмотров)
Тип файла: xls СТАТИСТИКА ПИКИНГА ON-LINE00.xls (40.5 Кб, 13 просмотров)
 
19.02.2007 11:46  
inna
все таки мне кажется лучше открывать и закрывать курсор. И ставить exception. И связь если идет одна ко многим, то не клеить переменную а выделять группу в репортсе. Но может это просто навязанный мне стиль конечно.
 
20.02.2007 12:37  
Pblcb
Inna, насколько я понимаю, проблемы с длинной возвращаемой строки, начинаются с 255 символов. а на практике в этой базе нет товаров с более чем 4-мя штрихкодами. А значит длина результата не превосходит 60-ти символов.
 
 


Опции темы



Часовой пояс GMT +3, время: 21:35.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.