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

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


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

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


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

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