AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.06.2007, 11:57   #1  
EDVard_imported is offline
EDVard_imported
Участник
 
49 / 10 (1) +
Регистрация: 22.07.2004
Уважаемые коллеги!

Появилась необходимость запуска ХП Oracle с несколькими возвращаемыми значениями.

Что имеем на входе:
1) Процедура Oracle следующего вида (находится в пакете CHECK_UTILS):
Код:
Procedure GetAgrBal(pAgrID in varchar2, pDateVal in date,pAgrCurBal out number, pRurBal out number, pAgrCur out varchar2);
В процедуре 2 входных и 3 выходных параметра.
2) Функция по работе с этой ХП в Navision:
Код:
C\Al Globals:
Agreement					Record					 Agreement	
ADOCommand	Automation	'Microsoft ActiveX Data Objects 2.7 Library'.Command	
ADOParameter	Automation	'Microsoft ActiveX Data Objects 2.8 Library'.Parameter	
ADOParameters	Automation	'Microsoft ActiveX Data Objects 2.8 Library'.Parameters	
ADOConnection_	Automation	'Microsoft ActiveX Data Objects 2.6 Library'.Connection				
	CLEAR(ADOCommand);
	CREATE(ADOCommand);
	ADOCommand.ActiveConnection := ADOConnection_;
	ADOCommand.CommandType := 4;
	CLEAR(ADOParameter);
	CREATE(ADOParameter);
	ADOParameters := ADOCommand.Parameters;
	ADOParameter := ADOCommand.CreateParameter('@pAgrCurBal',200,4,20);
	ADOParameters.Append(ADOParameter);
	ADOParameters := ADOCommand.Parameters;
	ADOParameter := ADOCommand.CreateParameter('@pRurBal',200,4,20);
	ADOParameters.Append(ADOParameter);
	ADOParameters := ADOCommand.Parameters;
	ADOParameter := ADOCommand.CreateParameter('@pAgrCur',200,4,20);
	ADOParameters.Append(ADOParameter);
	ADOCommand.CommandText := 'migrator.CHECK_UTILS.GetAgrBal(''' + Agreement."Document No." + ''',''' + FORMAT(TODAY) + ''')';
	ADOCommand.Execute;
Но! Эта функция выдает ошибку синтаксиса.
Я ранее работал с ХП Oracle, но мне нужно было обработать только 1 выходной параметр.
Количество входных параметров обрабатывается любое без проблем.
Еще, я так и не нашел нигде, как обрабатывать курсор.
Пришлось писать SQL-запрос непосредственно в Navision.
В принципе, данную проблеуму можно обойти,
написав 3 ХП с одним параметром в каждой, но, это будет, как-то через одно место.

С нетерпением жду ваших советов.
Спасибо!
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:21.