Отправка результатов работы отчета на электронную почту

Предлагаю рассмотреть часто встречающуюся на проектах задачу, а именно: отправка результатов работы отчета на электронную почту. У вас есть какой-либо отчет, запланированный для работы в фоновом режиме, а его результаты необходимо отправить определенному человеку, или же группе людей, на электронную почту. Сделать это просто. Проверьте сами.

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

Для нужд данной заметки, создадим самый простой оперативный отчет, какой только можно придумать: список принятых на работу на сегодняшнюю дату. Как вы наверное знаете, оперативный отчет, суть программа, которую можно запустить помощью транзакции SE38. Также можно создать отдельную пользовательскую транзакцию, при запуске которой, сформируется настроенный ранее оперативный отчет. Напомню, что данный отчет необходимо запланировать для работы в фоновом режиме. Чтобы это сделать, необходимо найти имя самого отчета.

Чтобы найти имя отчета, запустите транзакцию SQ01, выберите необходимую группу пользователей, инфо-набор и выделите сам запрос, который необходимо запланировать. Выберите в меню Запрос-> Другие функции -> Просмотреть имя отчета

Рисунок 1. Просмотр имени оперативного отчета, транзакция SQ01

В открывшемся окне отобразится информация об имени программы оперативного отчета, которую и нужно будет в дальнейшем использовать для фонового планирования.

Рисунок 2. Имя программы оперативного отчета

N.B. Скопировав имя оперативного отчета, вы можете запустить его с помощью транзакций SE38/SA38 (см. Рисунок #3, Рисунок #4)

Рисунок 3. Запуск оперативного отчета с помощью транзакции SE38

Рисунок 4. Результат запуска программы через SE38

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

Рисунок 5. Пример заполнения селекционного экрана

Для определения свойства динамического определения даты селекционного экрана, при сохранении варианта установите следующее свойство для поля (см. Рисунок # 6)

Рисунок 6. Определение динамического выбора даты для поля селекционного экрана

Теперь определим список адресатов, которому необходимо отправить результат работы отчета. Откройте транзакцию SO15 и нажмите на кнопку . Убедитесь, что выбран Общий список адресатов

Рисунок 7. Транзакция SO15

Введите наименование списка, а также выберите существующую, или создайте новую папку

Рисунок 8. Создание нового списка

Сохраните внесенные изменения. Затем вернитесь на предыдущий экран, и два раза кликните по только что созданному списку

Рисунок 9.

Определите электронную почту получателей

Рисунок 10. Определение списка получателей

Можно сказать, что все готово. Осталось запланировать фоновое задание. Откройте транзакцию SM36, введите наименование задания, и нажмите на кнопку 

Рисунок 11. Планирование фонового задания, транзакция SM36

В открывшемся окне найдите созданный ранее список адресатов

Рисунок 12. Поиск внешнего списка адресатов

После нахождения соответствующего списка, подтвердите его выбор

Рисунок 13.

Нажмите на кнопку , и выберите периодичность, с которой необходимо запускать данный отчет

Рисунок 14.

Нажмите на кнопку . В открывшемся окне введите наименование программы, а также вариант. При необходимости смените имя пользователя, под которым необходимо запустить данный отчет

Рисунок 15.

На следующем экране нажмите на кнопку  и затем вернитесь на предыдущий экран

Рисунок 16.

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

Рисунок 16.

Нажав на кнопку сохранения, сформируется информационное сообщение вида , которое свидетельствует о том, что фоновое задание запущено/запланировано.

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

Рисунок 17. Результат работы отчета в виде электронного сообщения

Результаты работы фонового задания можно посмотреть с помощью транзакции SM37

Рисунок 18. Транзакция SM37

Само же письмо можно посмотреть с помощью транзакции SOST

Рисунок 19. Транзакция SOST

Если по результатам работы отчета в спуле ничего нет, электронное письмо сформировано и отправлено не будет.

Read more