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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.10.2007, 15:47   #1  
polygris is offline
polygris
Участник
AxAssist
MCBMSS
 
272 / 67 (3) ++++
Регистрация: 14.06.2005
Адрес: Киев
T-SQL UDF (User Defined Function) вызов и получение результата
Необходимо из Акса вызвать UDF и получить результат выполнения функции. Я предполагаю что это можно сделать через resultSet но как тогда получить результат?
Старый 09.10.2007, 16:03   #2  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
если я правильно вас понял то вот
X++:
#define.channel("Optimum")
static void Optimum_ExportBalance(Args _args)
{
    TranslationChannel          translationChannel = TranslationChannel::find(#channel);
    CCADOConnection             connection = new CCADOConnection();
    CCADOCommand                command = new CCADOCommand();
    CCADORecordSet              recordSet;
    ;

    try
    {
        connection.open(translationChannel.ADOConnectionString);
        command.activeConnection(connection);
        command.commandText(strfmt("DMT_Set_Balance '3077', '%1', 50000, 70000", date2str(systemdateget(),213,2,2,2,2,4)));
        recordSet = command.execute();
    }
    catch(Exception::Error)
    {
    }
}
а вообще поищите поиском технология ADO уде неоднократно обсуждалась.
Старый 09.10.2007, 16:06   #3  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
а самое главное забыл
X++:
while (!recordSet.EOF())
        {
            fields = recordSet.fields();

            dateAttendance          = fields.itemIdx(0).value(); // Дата визита
 
            recordSet.moveNext();
        }
Старый 09.10.2007, 16:12   #4  
polygris is offline
polygris
Участник
AxAssist
MCBMSS
 
272 / 67 (3) ++++
Регистрация: 14.06.2005
Адрес: Киев
UDF не возвращает recordSet
Старый 09.10.2007, 16:19   #5  
polygris is offline
polygris
Участник
AxAssist
MCBMSS
 
272 / 67 (3) ++++
Регистрация: 14.06.2005
Адрес: Киев
решил - используем обыкновенный recordSet и executeQuery('SELECT dbo.myFun()')
Старый 09.10.2007, 16:38   #6  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
Цитата:
Сообщение от polygris Посмотреть сообщение
UDF не возвращает recordSet
Это почему не возвращает? Очень даже замечательно возвращает.
Возможно перепутал с StoredProcedure.
Старый 10.10.2007, 16:34   #7  
polygris is offline
polygris
Участник
AxAssist
MCBMSS
 
272 / 67 (3) ++++
Регистрация: 14.06.2005
Адрес: Киев
egorych куда UDF возвращает? UDF возвратит recordSet если сделать SELECT UDF()
Старый 10.10.2007, 17:23   #8  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
Цитата:
Сообщение от polygris Посмотреть сообщение
egorych куда UDF возвращает? UDF возвратит recordSet если сделать SELECT UDF()
а есть какой-то другой способ вызова UDF ?
Цитата из BOL
Цитата:
Calling User-Defined Functions
When calling a scalar user-defined function, you must supply at least a two-part name:
SELECT *, MyUser.MyScalarFunction()FROM MyTableTable-valued functions can be called by using a one-part name:
SELECT *FROM MyTableFunction()However, when you call SQL Server built-in functions that return a table, you must add the prefix :: to the name of the function:
SELECT * FROM ::fn_helpcollations()
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axStart: How to restore an AX 3.0 SQL 2000 backup in sql 2005 Blog bot DAX Blogs 0 12.02.2008 15:10
Inside Dynamics AX 4.0: The Security Framework Blog bot DAX Blogs 0 31.10.2007 11:40
Dynamics AX: SQL Server, Heart of Dynamics AX Blog bot DAX Blogs 0 13.07.2007 18:00
axaptabuilder: How to setup Axapta batch server running as user defined windows service Blog bot DAX Blogs 0 12.04.2007 16:10
axaptabuilder: How to setup Axapta batch server running as user defined windows service Blog bot DAX Blogs 0 28.10.2006 16:47

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

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

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