Текущее время: Пн, авг 25 2025, 23:03

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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