Текущее время: Пн, сен 08 2025, 03:34

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


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

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


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

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