Текущее время: Вс, июл 20 2025, 19:24

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Как получить alv/excel, если выполнить Z-отчет в фоне.
СообщениеДобавлено: Чт, июл 25 2013, 11:58 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2012, 10:08
Сообщения: 128
Добрый день, коллеги.
Я думаю, что не первый сталкиваюсь с такой проблемой, но ответа не нашел пока.
Есть Z-отчет по 30 тыс человекам, с кучей обработки внутри программы, промежуточными суммами тоже в программе, из-за чего выполняется она архидолго. А может и выпасть в дамп по таймауту. На выходе получаем alv табличку, с кнопочкой вывода в шаблон ексель, где условное форматирование и всякие шапки сделаны по требованию бизнеса.

Фон выполняется быстрей, но при выполнении фона естественно ничего не показывает в alv и не выгружается мне в документ, т.к. все делается на серве.

Вопрос: Как сделать так, чтобы при выполнении программы в фоне, я мог бы получить возможность нажать на кнопочку выгружающую в ексель?

Заранее спасибо.

P.S. Есть вроде бы фм, который проверяет, если прога в фоне, то выгружает в alv-таблицу, но она к сожалению не катит :(

_________________
Бог умер (с) Ницше
Ницше умер (с) Бог
Хах.. (с) Смерть


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как получить alv/excel, если выполнить Z-отчет в фоне.
СообщениеДобавлено: Чт, июл 25 2013, 12:20 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Сб, июн 23 2007, 14:56
Сообщения: 203
В фоне выгружать данные в экстракт, потом диалоговой программой считывать экстракт и выгружать данные в excel.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как получить alv/excel, если выполнить Z-отчет в фоне.
СообщениеДобавлено: Чт, июл 25 2013, 12:25 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Ну в таком случае обычно делают прозрачную таблицу со структурой, совпадающей с ALV + идентификатором запуска.
Отчет в фоне сохраняет данные в таблицу, потом уже в диалоге пользователь запускает отчет и тот читает подготовленные данные из прозрачной таблицы и выводит куда надо в - в ALV или в Excel.

На одном проекте с множеством тяжелых отчетов пошли дальше и сделали универсальные ФМ, которые таблицу любой структуры выгружают в файлик на сервере, а потом читают. Для пользователя выглядит очень круто: он запускает отчет в фоне и когда от отработает, ему на e-mail приходит письмо, что отчет готов, можно смотреть.

Правда абаперы при таком подходе зачастую расслабляются и перестают оптимизировать скорость выполнения, приходится за всё железу отдуваться.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как получить alv/excel, если выполнить Z-отчет в фоне.
СообщениеДобавлено: Чт, июл 25 2013, 12:55 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Есть возможность фонового формирования экселя. Даже несколько.
1) формируйте файл экселя как xml
2) воспользоваться сторонней открытой бесплатной разработкой abap2xlsx

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как получить alv/excel, если выполнить Z-отчет в фоне.
СообщениеДобавлено: Чт, июл 25 2013, 13:09 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Сб, июн 23 2007, 14:56
Сообщения: 203
LKU написал:
Ну в таком случае обычно делают прозрачную таблицу со структурой, совпадающей с ALV + идентификатором запуска.
Отчет в фоне сохраняет данные в таблицу, потом уже в диалоге пользователь запускает отчет и тот читает подготовленные данные из прозрачной таблицы и выводит куда надо в - в ALV или в Excel.

А если "фоновый" отчет запустят 2 раза с разными параметрами, то что будет в таблице?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как получить alv/excel, если выполнить Z-отчет в фоне.
СообщениеДобавлено: Чт, июл 25 2013, 13:33 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Ну я же говорю "+ индентификатор запроса".
Это как раз текстовый идентификатор, который заполняет пользователь на селекционнике, например "оборотка за май" и он позволяет хранить несколько результатов запуска отчета и выбирать потом нужный.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как получить alv/excel, если выполнить Z-отчет в фоне.
СообщениеДобавлено: Чт, июл 25 2013, 14:31 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
Можно еще делать печать в спул.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как получить alv/excel, если выполнить Z-отчет в фоне.
СообщениеДобавлено: Пн, июл 29 2013, 17:40 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 07 2009, 14:33
Сообщения: 19
ФМ REUSE_ALV_GRID_DISPLAY запущенный в фоне посылает весь вывод в спул. Правда, в не очень красивом виде.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как получить alv/excel, если выполнить Z-отчет в фоне.
СообщениеДобавлено: Ср, дек 18 2013, 20:17 
Специалист
Специалист

Зарегистрирован:
Пн, июн 04 2012, 10:31
Сообщения: 125
LKU написал:
Ну я же говорю "+ индентификатор запроса".
Это как раз текстовый идентификатор, который заполняет пользователь на селекционнике, например "оборотка за май" и он позволяет хранить несколько результатов запуска отчета и выбирать потом нужный.

А чистить таблицу когда? Врядли юзеры будут заморачиваться, если им предоставить кнопочку.
Конечно, можно хранить, к примеру, 5 последних результатов, просто интересны, так сказать, best practices :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как получить alv/excel, если выполнить Z-отчет в фоне.
СообщениеДобавлено: Чт, дек 19 2013, 08:30 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Ну, как и с любыми другими данными тут надо согласовывать с бизнесом карточку архивации, описывающую горизонт архивирования. Например, архивируем всё через месяц после сохранения.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как получить alv/excel, если выполнить Z-отчет в фоне.
СообщениеДобавлено: Чт, дек 19 2013, 09:19 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
LKU написал:
Ну в таком случае обычно делают прозрачную таблицу со структурой, совпадающей с ALV + идентификатором запуска.
Отчет в фоне сохраняет данные в таблицу, потом уже в диалоге пользователь запускает отчет и тот читает подготовленные данные из прозрачной таблицы и выводит куда надо в - в ALV или в Excel.

Мы на проекте реализовали работу с экстрактами через ФМ REUSE_ALV_EXTRACT_SAVE и REUSE_ALV_EXTRACT_LOAD.
Полномочиями на создание экстрактов в программах обладают только отдельные ответственные люди.
При этом не нужно задумываться о создании каких-либо Z-таблиц.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как получить alv/excel, если выполнить Z-отчет в фоне.
СообщениеДобавлено: Чт, дек 19 2013, 15:36 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
QValD написал(а):
LKU написал:
Ну я же говорю "+ индентификатор запроса".
Это как раз текстовый идентификатор, который заполняет пользователь на селекционнике, например "оборотка за май" и он позволяет хранить несколько результатов запуска отчета и выбирать потом нужный.

А чистить таблицу когда? Врядли юзеры будут заморачиваться, если им предоставить кнопочку.
Конечно, можно хранить, к примеру, 5 последних результатов, просто интересны, так сказать, best practices :)

Я, как мне кажется, нашел хорошее решение для сохранения фоновых отчетов в "Личной" папке пользователя Sap Office, точнее в автоматически создаваемой подпапке Temp. При таком подходе можно стандартными средствами задавать срок хранения файла, поэтому проблема утилизации мусора решается автоматически.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


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

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


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

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


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

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