Текущее время: Пт, авг 22 2025, 23:18

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Как использовать BexGetData в своей формуле ?
СообщениеДобавлено: Ср, янв 23 2008, 11:52 
Начинающий
Начинающий

Зарегистрирован:
Чт, сен 06 2007, 09:21
Сообщения: 13
Нужно определить свою функцию в рабочей книге, которая использует результат выполнения getBexData (BI 7).
Написал такую функцию на VBA:
Public Function myBexGetData(iDataProv As String, ParamArray iParam() As Variant)
lParam = iParam
myBexGetData = BExAnalyzer.xla!BexGetData(iDataProv, lParam)
Set lParam = Nothing
End Function
Ввел формулу в ячейку рабочей книги, но, увы, результат выполнения - показывает #ЗНАЧ!
Аргументы для формулы - правильные (скопировал из ячейки рабочей книги, у которой формула BexgetData)

Вопрос на засыпку - почему не работает ? ;)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 24 2008, 13:57 
Начинающий
Начинающий

Зарегистрирован:
Чт, сен 06 2007, 09:21
Сообщения: 13
Вот так - работает:
Public Function myBexGetData(iDataProv As String, ParamArray iParam() As Variant)
Dim lRange As Range
Dim BexAddin As Object
On Error GoTo label
Set lRange = Application.Caller
lParam = iParam
Set BexAddin = CreateObject("com.sap.bi.et.analyzer.addin.BExConnect")
myBexGetData = BexAddin.BexGetData(lRange.Parent.Parent.Name & "!" & iDataProv, lParam)
Set lParam = Nothing
Exit Function
label: myBexGetData = "Err"
End Function


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 24 2008, 14:53 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, окт 11 2005, 12:10
Сообщения: 687
Откуда: Москва
Пол: Мужской
а что кладется в i(l)Param?
Т.е. что вообще требуется сделать?

_________________
Глаза боятся, а руки крюки


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 25 2008, 09:33 
Начинающий
Начинающий

Зарегистрирован:
Чт, сен 06 2007, 09:21
Сообщения: 13
я пытаюсь решить 2 проблемы:
1) если отчет в аналайзере проектировать посредством "преобразовать в формулу" для сохранения форматирования, то на компьютере, где бекс установлен не в ту папку, как у разработчика из-за того, чтоэксель к формуле GetbexData(...) локальный путь до BEXAnalyzer.xla добавляет (c:\Program Files\...\Bexanalyzer.xla!bexgetData(....) - данные не обновляются. Если я создам свою формулу рабочей книге, из которой вызываю getBexdata, то локальные пути не появляются
2) длина формулы для ячейки ограничена 1024 символа. Если формула длинная с множественными вхождений BexgetData - то полная формула не влазит. Хочу в своей формуле на vba эту логику обработки переложить

Вот и эксперементирую с созданием собственных формул с вызовом из них getBexData
В первом случае я тупо подменяю getbexdata своей функцией myBexgetData, а в lParam передается диапазон, который у меня был для bexgetdata в формуле данной ячейки после команды "преобразовать в формулу"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 25 2008, 11:02 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, окт 11 2005, 12:10
Сообщения: 687
Откуда: Москва
Пол: Мужской
Вопрос задаю потому, что хочу разобраться с этой новой возможностью BEx.
Хочу прочесть доку и дозадать пару вопросов, как практику :)
И не дает мне покоя второй параметр функции :)

Совет: тогда назови функцию BGD :)

_________________
Глаза боятся, а руки крюки


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 2Seu
СообщениеДобавлено: Вт, янв 29 2008, 13:01 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 13 2005, 10:41
Сообщения: 558
Откуда: Гондурас (округ Москвы)
Пол: Мужской
по меньшей мере сомнительно выглядит создание в обработчике объекта для коннекта. скорее всего он где-то уже есть на момент вызова.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB