Текущее время: Сб, июл 19 2025, 09:51

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Выгрузка данных в Word - в фоне.
СообщениеДобавлено: Ср, сен 17 2008, 15:46 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 18 2006, 10:37
Сообщения: 177
Откуда: Беларусь
Пол: Мужской
Добрый день народ!

Подскажите пожалуйста, как можно решить следующую задачку.
Задачка в том чтобы выгрузить данные в Word в фоновом режиме работы программы.
Для выгрузки использую ФМ ZWWW_OPENFORM (большое спасибо Parazit'у)
из темы (http://sapboard.ru/forum/viewtopic.php?t=4880&highlight=word).

При запуске выгрузки в обычной программе - все Ок.

Пытаюсь запустить в фоновом (!) режиме:

Такая вот цепочка:
Прогр. ZTEST -> ФМ1 (IN UPDATE TASK) -> ФМ2 (STARTING NEW TASK 'MYTASK') ->
-> Call function 'ZWWW_OPENFORM'

Текст программы ZTEST ->
Code:
* Вызываю первый ФМ
call function 'ZWORD_FM1' IN UPDATE TASK.
commit work.
write: / 'ok'.

Текст ФМ FM1
(В свойствах ZWORD_FM1 стоит "Моуль обновления", "ЗапускОткладыв")
Code:
* Вызываю второй ФМ
call function 'ZWORD_FM2' STARTING NEW TASK 'MYTASK'.

Текст ФМ FM2
В свойствах второго ФМ установлено "Дистанционный модуль", "Немедленный запуск".
Code:
Data:  it_Val  type standard table of ZWWW_VALUES with header line.
Clear it_Val.
it_Val-Var_Name = 'SumProp'. "Имя закладки
it_Val-Find_Text = ''.
it_Val-Value = '12345'.
Append it_Val.

********************************************************************
* Заполнение шаблона подготовленными данными и вывод на экран
********************************************************************
Call function 'ZWWW_OPENFORM'
     EXPORTING
          FORM_NAME   = 'ZTEMPLATE1'
          PrintDialog = ''
     TABLES
          IT_VALUES   = it_Val.

Но ничего не получается. (
Если убрать вызов 'ZWWW_OPENFORM' то все ФМ отрабатывают. Иначе отрабатывает только первый ФМ, а ФМ где вызывается 'ZWWW_OPENFORM' не отрабатывает. (Чтобы проверить что он отработал в нем же добавлял запись в тестовую табличку).
Программа выполняется но никакой выгрузки не происходит.
Методом тыка обнаружил что не может выполниться ФМ
Call function 'DOWNLOAD_WEB_OBJECT' в инклюде LZWWWFORMF01. Без него по крайней мере второй ФМ отрабатывает, но конечно ничего не выгружает.

Спасибо!

P.S. Смысл затеи в том, что вордовский документ должен формироваться в процессе выполнения транзакции, которая выполняется в фоне.

P.P.S. Спасибо всем кто прочитал такой длинный пост!

_________________
Regards


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выгрузка данных в Word - в фоне.
СообщениеДобавлено: Ср, сен 17 2008, 17:02 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
FoLKo написал:
P.S. Смысл затеи в том, что вордовский документ должен формироваться в процессе выполнения транзакции, которая выполняется в фоне.



Фоновый режим означает, что к конкретному пользователю он вообще не будет иметь никакого отношения. Если связи с компьютером пользователя не будет, то где он получит документ Word?

Если хотите запускать в фоновый режим из-за больших объёмов данных, то попробуйте временно сохранять где-нибудь результаты работы, чтобы потом их пользователь себе смог выгрузить.

Можно, конечно, формировать Word документы и на сервере приложений, но с этим будете мучаться.

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 18 2008, 08:42 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 18 2006, 10:37
Сообщения: 177
Откуда: Беларусь
Пол: Мужской
Цитата:
Фоновый режим означает, что к конкретному пользователю он вообще не будет иметь никакого отношения. Если связи с компьютером пользователя не будет, то где он получит документ Word?

Может я не правильно выразился просто. Пользователь сам запускает транзакцию, а во время работы транзакции, как бы в фоне или в другом процессе (В функМодуле типа STARTING NEW TASK) выполняется выгрузка в Word, и он получает документ на экране.
Но 'DOWNLOAD_WEB_OBJECT' возвращает ошибку NO_GUI.
Спасибо за ответ.
Я попробую сохранять данные в пользовательской табличке, и затем печатать их из другой программы обычным вызовом.

_________________
Regards


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 18 2008, 12:32 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
FoLKo написал:
Цитата:
Фоновый режим означает, что к конкретному пользователю он вообще не будет иметь никакого отношения. Если связи с компьютером пользователя не будет, то где он получит документ Word?

Может я не правильно выразился просто. Пользователь сам запускает транзакцию, а во время работы транзакции, как бы в фоне или в другом процессе (В функМодуле типа STARTING NEW TASK) выполняется выгрузка в Word, и он получает документ на экране.
Но 'DOWNLOAD_WEB_OBJECT' возвращает ошибку NO_GUI.
Спасибо за ответ.
Я попробую сохранять данные в пользовательской табличке, и затем печатать их из другой программы обычным вызовом.


У фонового режима нет доступа к серверу презентации, поэтому он и фоновый. Доступ к серверу презентации (компьютеру пользователя) есть только у диалоговых рабочих процессов, которыми занимается пользователь.

Зачем задачу выгрузки отправлять в фон? Если она очень долгая, то пользователь может вообще уже уйти из системы. Если не очень долгая, то смысла тоже нет, так как пользователь же что-то будет в это время делать.

Подобную проблему с "фоновым режимом" проще решить самому пользователю, если он создаст новый режим GUI для выгрузки, а продолжит работать в первом. Но это может затормозить систему, если пользователей много. Постарайтесь упростить саму выгрузку, а данные готовить независимо.


P.S. Если вопросы остались, то уточните и предметную область, пожалуйста.

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 18 2008, 19:31 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
FoLKo написал:
Может я не правильно выразился просто. Пользователь сам запускает транзакцию, а во время работы транзакции, как бы в фоне или в другом процессе (В функМодуле типа STARTING NEW TASK) выполняется выгрузка в Word, и он получает документ на экране.


К сожалению, режима "как бы в фоне" в SAP не предусмотрено. :) Как уже правильно ответили, в background (т.е. "в фоне") GUI не доступен, соответственно и появляется ошибка.

Честно говоря, я бы порекомендовала пользователям просто открывать отдельную сессию для транзакции. Пока там программа крутится, они могут что-нибудь другое делать.

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 18 2008, 19:47 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
Jelena написала:
Честно говоря, я бы порекомендовала пользователям просто открывать отдельную сессию для транзакции. Пока там программа крутится, они могут что-нибудь другое делать.


Только не переусердствовать, иначе десяток пользователей (точнее сессий с выгрузками) и SAP "лежит"...

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 19 2008, 08:30 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 18 2006, 10:37
Сообщения: 177
Откуда: Беларусь
Пол: Мужской
Спасиба за советы! Буду пробовать.

_________________
Regards


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

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


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

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


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

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