Текущее время: Вс, авг 24 2025, 21:39

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




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: .Synchronize = True по наследству
СообщениеДобавлено: Пн, сен 24 2012, 09:52 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 08 2010, 11:37
Сообщения: 322
Добрый день.

Осталось от коллег BI-ков макрос по формированию отчета.
С периодичностью в пару дней и на разных машинах он падает на строчке(Excel или зависает или выдает "Неопределенная ошибка")

Code:
Public g_BexApp As BExApi.BExApplication
.....
g_BexApp.Synchronize = True


Мои знания BI и VBA не позволяют понять суть ошибки.
Пожалуйста помогите.

С уважением


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: .Synchronize = True по наследству
СообщениеДобавлено: Пн, сен 24 2012, 12:40 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 08 2010, 11:37
Сообщения: 322
Help... известно что на "плохих" машинах стояла более новая версия BI AddOn 7.20
Возможно ошибка в этом...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: .Synchronize = True по наследству
СообщениеДобавлено: Пн, сен 24 2012, 13:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 18 2008, 07:37
Сообщения: 256
Ну да в 7.20 изменились принципы открытия Bex. Описали бы хоть что отчёт из себя представляет и что там нестандартного, зачем использовались макросы? И код желательно побольше привести.

_________________
The extent of reliability of the data affect on the quality of resource allocation.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: .Synchronize = True по наследству
СообщениеДобавлено: Пн, сен 24 2012, 14:18 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 08 2010, 11:37
Сообщения: 322
Code:
Dim wb As Workbook, syswb As Workbook
  Dim sw As Worksheet, et As Worksheet, infows As Worksheet, dws As Worksheet, swsys As Worksheet
  Dim pEnv1 As Boolean, pEnv2 As Boolean, pEnv3 As Boolean
  Set syswb = ThisWorkbook
  ' переменные для работы с bex api
  On Error Resume Next
  Err.Clear
  'Application.StatusBar = "Идет загрузка данных..."
  If Not FileUtils.IsFileExist(aFilePath) Then
    MsgBox "Указанный файл не существует.", vbOKOnly, "Ошибка"
    ImportFromFile = 20
    Exit Function
  End If
 
  #If Not gDebug Then
    pEnv1 = Tools.SetDisplayAlerts(False): pEnv2 = Tools.SetEnableEvents(False): pEnv3 = Tools.SetScreenUpdating(False)
  #End If
 
  Set wb = Application.Workbooks.Open(aFilePath)
  wb.Windows(1).Visible = False
  If Err.Number <> 0 Then
    MsgBox "Не удалось открыть документ.", vbOKOnly, "Ошибка"
    Err.Clear
    ImportFromFile = 30
    GoTo final
  End If
  '
  Set sw = wb.Worksheets(cReportList)
  If Err.Number <> 0 Then
    MsgBox "Лист " & cReportList & " не найден в книге.", vbOKOnly, "Ошибка"
    Err.Clear
    ImportFromFile = 31
    GoTo final
  End If
  '
  Set swsys = wb.Worksheets(cSysList)
  If Err.Number <> 0 Then
    MsgBox "Лист " & cSysList & " не найден в книге.", vbOKOnly, "Ошибка"
    Err.Clear
    ImportFromFile = 31
    GoTo final
  End If
  '
  If CheckQParms(syswb.Worksheets(gWsName), swsys) <> 0 Then
    ImportFromFile = 32
    GoTo final
  End If
  Call ProgressBarLib.InitProgressBar("Идет загрузка данных...", 0, cQCountMax + cVCount, 0)
  Call ProgressBarLib.NextStep
  ' BEx API Connect to Bex server & refresh data
  syswb.Activate
  BexUtils.StartBexApp
  If Not BexUtils.ConnectBex Then
    Call ProgressBarLib.CloseProgressBar
    MsgBox "Не установлено соединение с сервером.", vbOKOnly, "Ошибка"
    Err.Clear
    ImportFromFile = 41
    GoTo final
  End If
'  Call ProgressBarLib.NextStep
  BexUtils.g_BexApp.Refresh (False)
  BexUtils.g_BexApp.FrontendUpdate
  BexUtils.g_BexApp.Synchronize = True----Тут падает


Отчет очень большой, код до меня писали 4 человека....

Если надо какую то часть кода более конкретно спрашивайте.
Что изменилось в принципах и как это обойти?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: .Synchronize = True по наследству
СообщениеДобавлено: Вт, сен 25 2012, 06:04 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 18 2008, 07:37
Сообщения: 256
Вот эта ссылка может помочь разобраться с методами Bex API 7.0:
http://scn.sap.com/people/prakash.darji ... -supported
Тут старые Bex API 3.x:
http://wiki.sdn.sap.com/wiki/display/BI/BEx+VB+API+3.x
Цитата:
4. Sub SAPBEXpauseOn()
In case you like to fire more than one API command (like two individual filter values) without immediate refresh
5. Sub SAPBEXpauseOff()
After this command all of the commands called after SAPBEXpauseOn will be executed

Цитата:
API 3.x | API 7.0
SAPBEXpauseOn | BEx.Synchronize = true
SAPBEXpauseOff | BEx.Synchronize = false

_________________
The extent of reliability of the data affect on the quality of resource allocation.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: .Synchronize = True по наследству
СообщениеДобавлено: Вт, сен 25 2012, 07:58 
Менеджер
Менеджер
Аватара пользователя

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: .Synchronize = True по наследству
СообщениеДобавлено: Вт, сен 25 2012, 08:50 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 08 2010, 11:37
Сообщения: 322
Да, это offline-планирование.
Сообщение в разных офисах выводиться разное.
Например: Automation eror Неопознанная ошибка


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: .Synchronize = True по наследству
СообщениеДобавлено: Вт, сен 25 2012, 18:32 
Менеджер
Менеджер
Аватара пользователя

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: .Synchronize = True по наследству
СообщениеДобавлено: Ср, сен 26 2012, 11:28 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 08 2010, 11:37
Сообщения: 322
Хотел продебажить рабочею книгу у клиента и выяснил новые подробности.
Ошибка "Automation eror Неопознанная ошибка" выдается до полной загрузки рабочей книги.
То есть ни продебажить ни чего другого я сделать не могу(На моей машине и на многих других все работает хорошо)

Кто то сталкивался с такими случаями?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: .Synchronize = True по наследству
СообщениеДобавлено: Ср, сен 26 2012, 13:40 
Директор
Директор

Зарегистрирован:
Чт, апр 16 2009, 13:30
Сообщения: 784
Пол: Мужской
LELUK написал(а):
Хотел продебажить рабочею книгу у клиента и выяснил новые подробности.
Ошибка "Automation eror Неопознанная ошибка" выдается до полной загрузки рабочей книги.
То есть ни продебажить ни чего другого я сделать не могу(На моей машине и на многих других все работает хорошо)

Кто то сталкивался с такими случаями?

было похожее - в макросе названия листов книги были написаны без .xls на конце.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: .Synchronize = True по наследству
СообщениеДобавлено: Чт, сен 27 2012, 18:36 
Менеджер
Менеджер
Аватара пользователя

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


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

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


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

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


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

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