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

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


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

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


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

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