Текущее время: Сб, авг 23 2025, 16:46

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




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Precalculation server, ошибка формирования рабочей книги
СообщениеДобавлено: Ср, ноя 09 2011, 13:39 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июл 18 2006, 22:25
Сообщения: 160
Откуда: Москва
Пол: Мужской
Добрый день.
Стоит задача формирования рабочей книги (2 запроса + VBA) и распространение по почте. Применяется SAP Broadcasting.
При работе с этим инструментом возникли следующие трудности:
1. Не понятно как ограничивать определенных пользователей (а планируют рабочие книги пользователи) по доступу к серверам расчетов (например, в каждом отделе по одному серверу, сотрудники отделов должны планировать расчеты только на своих серверах). Желательно чтобы пользователи не только не могли выбрать чужой, но и вообще не видели его в списках доступных.
2. При выполнении основной рабочей книги возникли ошибки расчетов. В конце длинного лога написано, что книга не может быть предрасчитана. Книга состоит из 2 запросов и VBA (довольно значительно, строк на 200). Отчет (рабочая книга) выполняется на той же локальной машине, на которой установлен сервер расчетов без проблем. Копия той же рабочей книги без VBA или с элементарным кодом выполняется корректно. Возможно какая-то специфика кода VBA для выполнения на сервере расчетов.
Сервер расчетов - локальная машина: Windows ХР, GUI 7.20, сервер расчетов для этой GUI (файл на портале SAP - xPreCalServer05_0-20006596.exe), Excel 2007.
Если кто-то сталкивался или знает решение - буду очень рад.
Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Precalculation server, ошибка формирования рабочей книги
СообщениеДобавлено: Вт, ноя 15 2011, 10:16 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июл 18 2006, 22:25
Сообщения: 160
Откуда: Москва
Пол: Мужской
Вопросы все еще актуальны.
Очень надеюсь на то, что кто-то знает ответы.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Precalculation server, ошибка формирования рабочей книги
СообщениеДобавлено: Вт, ноя 15 2011, 10:38 
Специалист
Специалист

Зарегистрирован:
Вт, июн 10 2008, 07:22
Сообщения: 163
Откуда: Ektb
Пол: Мужской
Судя по всему вы уже пришли к выводу, что проблема в VBA. Продемонстрируйте свой код, быть может кто чего увидит в нем.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Precalculation server, ошибка формирования рабочей книги
СообщениеДобавлено: Вт, ноя 15 2011, 14:58 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
EdSin написал:
Желательно чтобы пользователи не только не могли выбрать чужой, но и вообще не видели его в списках доступных.
Я бы создал свою программу со своим начальным экраном без возможности выбрать сервер расчета. А внутри сам определял бы в зависимости от пользователя какой нужен сервер и затем программно бы запускал основную программу.
Code:
REPORT  zrs_prec_plan.
*
DATA: l_email TYPE rsprec_s_workbook-email,
      dest LIKE rsprec_s_workbook-logsys,
      s_address TYPE bapiaddr3,
      t_return TYPE bapiret2 OCCURS 0.
*WBID   Рабочая папка
PARAMETERS: wbid LIKE rsprec_s_workbook-workbookid
            MEMORY ID wbid.
*VARIANT  Вариант
PARAMETERS: variant TYPE variant MEMORY ID variant.
*DEST   Сервер предв. расчета
*PARAMETERS: dest LIKE rsprec_s_workbook-logsys
*            MEMORY ID dest.
SELECTION-SCREEN SKIP.
*TEMPLATE   Web-шаблон
PARAMETERS: template TYPE rstemplate_maintain_01-tmplid
   MEMORY ID template.
SELECTION-SCREEN SKIP.
*EMAIL  Адреса EMail (отд. знач.)
SELECT-OPTIONS email FOR l_email NO INTERVALS LOWER CASE MEMORY ID email.
*
*Определяем отдел, в котором работает пользователь
CALL FUNCTION 'BAPI_USER_GET_DETAIL'
  EXPORTING
    username = sy-uname
  IMPORTING
    address  = s_address
  TABLES
    return   = t_return.
*Из таблицы ZT_LOGSYS c  полями
*DEPARTAMENT - отдел(ключ)
*LOGSYS - сервер
*определяем сервер, на котором
*должна быть рассчитана книга
SELECT SINGLE logsys FROM zt_logsys
INTO dest
WHERE department = s_address-department.
*Запускаем стандартную программу
*для расчета книг RS_PREC_PLAN
SUBMIT rs_prec_plan
WITH dest = dest
WITH email = email
WITH template = template
WITH variant = variant
WITH wbid  = wbid.
EdSin написал:
Если кто-то сталкивался или знает решение - буду очень рад.
В 200 строках ошибку искать трудно. Разбейте код на несколько процедур и последовательно подключая каждую из них определите то место, где возникает ошибка.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Precalculation server, ошибка формирования рабочей книги
СообщениеДобавлено: Чт, ноя 17 2011, 08:48 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июл 18 2006, 22:25
Сообщения: 160
Откуда: Москва
Пол: Мужской
Спасибо за ответы.
2ash: код действительно очень большой и думаю будет лишним кому-то еще в нем разбираться. Я надеялся в данном случае на то, что кто-то знает из своей практике, что какие-то определенные условия должны выполняться. Сам VBA корректо работает, если просто выполнять рабочую книгу, поэтому очевидных ошибок нет. Остается единственный пока способ (тут тоже упомянутый) - добавлять по кусочку кода и прогонять до первой ошибки.
2ROKO: спасибо за идею, она интересна, хотя и требует дополнительных услиий (доработки интерфейса выбора сервера). Надеелся что есть какой-то объект полномочий или стандартная настроечная таблица, которая уже это делает (позволяет для определенных пользователей показывать определенные сервера).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Precalculation server, ошибка формирования рабочей книги
СообщениеДобавлено: Чт, ноя 17 2011, 09:12 
Почетный гуру
Почетный гуру

Зарегистрирован:
Чт, фев 03 2005, 10:18
Сообщения: 503
EdSin написал:
Сам VBA корректо работает, если просто выполнять рабочую книгу, поэтому очевидных ошибок нет. Остается единственный пока способ (тут тоже упомянутый) - добавлять по кусочку кода и прогонять до первой ошибки.


Может быть у вас в коде используются "явные" переходы и обращения к листам книги, которые не могут быть выполнены в фоне, а в интерактивном режиме нормально отрабатывают. Я имею в виду Worksheets("Sheet1").Activate, Range("A1").Select и тому подобными.


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

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


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

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


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

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