Текущее время: Вт, июн 24 2025, 19:46

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Проблема с использованием одно запроса в книге несколько раз.
СообщениеДобавлено: Вт, июн 26 2012, 07:08 
Специалист
Специалист

Зарегистрирован:
Пн, дек 12 2011, 08:57
Сообщения: 128
Откуда: Самара
Пол: Мужской
Добрый день! Есть необходимость использовать один запрос в книге несколько раз (около 8 раз). У каждого запроса должны быть свои значения переменных (переменные типа "финансовый год/период"). Соответственно столкнулся с проблемой реализации, т.к. в дублирующих запросах используется одна и та же переменная, которой передается одинаковое значение. Изначально для передачи параметров планировал использовать VBA, функцию SAPBEXsetVariables. Однако я встретил много сообщений на sdn.sap.com, в которых пишут, что это функция не работает в Analyzer 7.0 и выше. При попытках использовать функцию появляется ошибка работы с объектом. Соответственно сам вопрос: каким образом Вы выходите из этого положения? Как с наименьшими корректировками запросов реализовать данный механизм.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с использованием одно запроса в книге несколько раз.
СообщениеДобавлено: Вт, июн 26 2012, 20:07 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вс, янв 11 2009, 14:41
Сообщения: 902
Откуда: Москва
Пол: Мужской
Можно попытать счастье, выполняя запрос 8 раз (каждый раз с требуемыми значениями переменных) и копируя результат (после каждого выполнения) на 8 листов


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с использованием одно запроса в книге несколько раз.
СообщениеДобавлено: Ср, июн 27 2012, 07:55 
Специалист
Специалист

Зарегистрирован:
Пн, дек 12 2011, 08:57
Сообщения: 128
Откуда: Самара
Пол: Мужской
murmur написал:
Можно попытать счастье, выполняя запрос 8 раз (каждый раз с требуемыми значениями переменных) и копируя результат (после каждого выполнения) на 8 листов

Спасибо murmur, я уже так сделал. Повесил на форму кнопку с вызовом функции:
Code:
Call Run("BExAnalyzer.xla!MenuRefreshVariables")
... // копирование и следующий вызов

Всё бы устраивало, если бы на селекционнике можно было вывести за какой период пользователь должен сейчас выбрать параметры - он уже может забыть, что за март 2012, например, он уже выбирал значения. Поэтом у нужно всё это сделать автоматически (+ убрать рутину в нажимании кнопок на селекционнике).


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с использованием одно запроса в книге несколько раз.
СообщениеДобавлено: Ср, июн 27 2012, 10:33 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вс, янв 11 2009, 14:41
Сообщения: 902
Откуда: Москва
Пол: Мужской
В 7-ке не делал, а в 3.5, сейчас посмотрел код, делал так

Code:
    If Run("SAPBEX.xla!SAPBEXsetVariables", rngVar) <> 0 Then
        RefreshQuery = "Область переменных указана неверно"
       
    ElseIf Run("SAPBEX.xla!SAPBEXrefresh", False, GetThisBook.Sheets(p_sheetName).Range("A3")) <> 0 Then
        RefreshQuery = "Запрос не может быть выполнен"


диапазон задавал так (сам код не важен, по наименования констант можно понять какие данные передавал)

Code:
       
            With objVarInfoOut.VarInfo.Cell
                .SetValue C_LOW, GetFormattedValue(objVarInfoOut.clear_low, objVarInfoOut.VarInfo), idx
                .SetValue C_HIGH, GetFormattedValue(objVarInfoOut.clear_high, objVarInfoOut.VarInfo), idx
                .SetValue C_VNAM, objVarInfoOut.VarInfo.vnam, idx
                .SetValue C_VARTYP, objVarInfoOut.VarInfo.vartyp, idx
                .SetValue C_VPARSEL, objVarInfoOut.VarInfo.vparsel, idx
                .SetValue C_IOBJNM, objVarInfoOut.VarInfo.iobjnm, idx
            End With


но если в 7-ке не работает функция по установке значений переменных, то фиг его знает что делать. Можно, конечно, предложить в USER-EXIT-е для переменных прописать логику изменения параметров. А перед самим вызовом 8 отчетов еще вызывать собственный ФМ, который бы подготавливал все необходимое для отработки USER-EXIT-ов. Хотя, это и не слишком удачный вариант решения, но работать будет


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с использованием одно запроса в книге несколько раз.
СообщениеДобавлено: Ср, июн 27 2012, 10:53 
Специалист
Специалист

Зарегистрирован:
Пн, дек 12 2011, 08:57
Сообщения: 128
Откуда: Самара
Пол: Мужской
murmur написал:
В 7-ке не делал, а в 3.5, сейчас посмотрел код, делал так

Code:
    If Run("SAPBEX.xla!SAPBEXsetVariables", rngVar) <> 0 Then
        RefreshQuery = "Область переменных указана неверно"
       
    ElseIf Run("SAPBEX.xla!SAPBEXrefresh", False, GetThisBook.Sheets(p_sheetName).Range("A3")) <> 0 Then
        RefreshQuery = "Запрос не может быть выполнен"


диапазон задавал так (сам код не важен, по наименования констант можно понять какие данные передавал)

Code:
       
            With objVarInfoOut.VarInfo.Cell
                .SetValue C_LOW, GetFormattedValue(objVarInfoOut.clear_low, objVarInfoOut.VarInfo), idx
                .SetValue C_HIGH, GetFormattedValue(objVarInfoOut.clear_high, objVarInfoOut.VarInfo), idx
                .SetValue C_VNAM, objVarInfoOut.VarInfo.vnam, idx
                .SetValue C_VARTYP, objVarInfoOut.VarInfo.vartyp, idx
                .SetValue C_VPARSEL, objVarInfoOut.VarInfo.vparsel, idx
                .SetValue C_IOBJNM, objVarInfoOut.VarInfo.iobjnm, idx
            End With



Можно поинтересоваться, что за объект "objVarInfoOut" в вашем коде?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с использованием одно запроса в книге несколько раз.
СообщениеДобавлено: Ср, июн 27 2012, 16:38 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 26 2011, 13:49
Сообщения: 16
Посмотри здесь
http://www.sapboard.ru/forum/viewtopic.php?f=12&t=73232
там есть ссылка
Мне помогло. Там описано какие настройки у бех-овской кнопки и как вызывать, чтобы не вылетало окошко с переменными
ЗЫ: блин, она не работает :(
ЗЫЫ: http://scn.sap.com/community/business-e ... s-commands
Эта вроде рабочая


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с использованием одно запроса в книге несколько раз.
СообщениеДобавлено: Чт, июн 28 2012, 20:49 
Специалист
Специалист

Зарегистрирован:
Пн, дек 12 2011, 08:57
Сообщения: 128
Откуда: Самара
Пол: Мужской
Krispin написал(а):
Посмотри здесь
viewtopic.php?f=12&t=73232
там есть ссылка
Мне помогло. Там описано какие настройки у бех-овской кнопки и как вызывать, чтобы не вылетало окошко с переменными
ЗЫ: блин, она не работает :(
ЗЫЫ: http://scn.sap.com/community/business-e ... s-commands
Эта вроде рабочая


Спасибо, Krispin! Как только доберусь до работы попробую!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с использованием одно запроса в книге несколько раз.
СообщениеДобавлено: Пт, июн 29 2012, 09:41 
Специалист
Специалист

Зарегистрирован:
Пн, дек 12 2011, 08:57
Сообщения: 128
Откуда: Самара
Пол: Мужской
Krispin написал(а):
Посмотри здесь
viewtopic.php?f=12&t=73232
там есть ссылка
Мне помогло. Там описано какие настройки у бех-овской кнопки и как вызывать, чтобы не вылетало окошко с переменными
ЗЫ: блин, она не работает :(
ЗЫЫ: http://scn.sap.com/community/business-e ... s-commands
Эта вроде рабочая


Работает :) Это работает, спасибо!


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

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


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

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


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

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