[ОТВЕТИТЬ]
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-ти символов.
20.02.2007 15:33
inna
 
Pblcb, ты запросто можешь быть прав на 150%. Но во-первых не сказал - компилируется ли приведенная процедура, не видно кода ошибки при выполнении и я имела ввиду что в формульной колонке указывается длинна на панеле свойств, так она должна совпадать с длинной переменной, которую возвращает фукция. Все остальной можно сказать только если будет еще информация.
21.02.2007 18:03
Pblcb
 
inna, ах да, простите )) процедура компилируется. А исключение возникает при вызове отчета из Супермага. Текст ошибки именно такой: при выполнении отчета возникла исключительная ситуция. А за длину спасибо. Щас посмотрю )
22.02.2007 09:26
inna
 
Что тяжело с репортсами - никаких средств отладки. Так что надо отлаживать по частям, выводя в отчет промежуточные результаты. И лучше в таком случае exception все таки разремить, тогда видно будет, что алгоритм дал ошибку. Все таки тут дело с данными получается, а не с pl sql.
22.02.2007 15:27
Pblcb
 
inna, спасибо, дело было в длине поля)
Вложения
Тип файла: rar klassifikaciya_assortimenta_i_di.part1.rar (195.3 Кб, 151 просмотров)
Тип файла: rar klassifikaciya_assortimenta_i_di.part2.rar (152.6 Кб, 165 просмотров)
Тип файла: rar klassifikaciya_assortimenta_i_di.part1.rar (195.3 Кб, 151 просмотров)
Тип файла: rar klassifikaciya_assortimenta_i_di.part2.rar (152.6 Кб, 165 просмотров)
22.02.2007 15:29
inna
 
Да не за что. kadr тоже об этом говорил.
Вложения
Тип файла: xlsm MacroTest.xlsm (79.2 Кб, 7 просмотров)
Тип файла: xlsm MacroTest.xlsm (79.2 Кб, 7 просмотров)
Опции темы


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

 

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