Отправка результатов работы отчета на электронную почту
Предлагаю рассмотреть часто встречающуюся на проектах задачу, а именно: отправка результатов работы отчета на электронную почту. У вас есть какой-либо отчет, запланированный для работы в фоновом режиме, а его результаты необходимо отправить определенному человеку, или же группе людей, на электронную почту. Сделать это просто. Проверьте сами.
Сформулируем задачу более конкретно: есть оперативный отчет, который необходимо запланировать для работы в фоновом режиме; результаты работы данного отчета, если они есть, необходимо отослать на электронную почту заинтересованным специалистам.
Для нужд данной заметки, создадим самый простой оперативный отчет, какой только можно придумать: список принятых на работу на сегодняшнюю дату. Как вы наверное знаете, оперативный отчет, суть программа, которую можно запустить помощью транзакции SE38. Также можно создать отдельную пользовательскую транзакцию, при запуске которой, сформируется настроенный ранее оперативный отчет. Напомню, что данный отчет необходимо запланировать для работы в фоновом режиме. Чтобы это сделать, необходимо найти имя самого отчета.
Чтобы найти имя отчета, запустите транзакцию SQ01, выберите необходимую группу пользователей, инфо-набор и выделите сам запрос, который необходимо запланировать. Выберите в меню Запрос-> Другие функции -> Просмотреть имя отчета
В открывшемся окне отобразится информация об имени программы оперативного отчета, которую и нужно будет в дальнейшем использовать для фонового планирования.
N.B. Скопировав имя оперативного отчета, вы можете запустить его с помощью транзакций SE38/SA38 (см. Рисунок #3, Рисунок #4)
Для того, чтобы корректно сформировать и отправить результаты отчета, необходимо настроить соответствующий вариант, и определить список получателей. Как уже было сказано, суть нашего оперативного отчета заключается в том, чтобы выбрать всех сотрудников, устроившихся на работу текущим числом. Для этого, я создам вариант, на селекционном экране выберу соответствующий тип мероприятия, а для поля Дата поступления на работу определю правило, по которому в это поле постоянно будет записываться текущая дата. Также в группе полей Формат выбора необходимо выбрать опцию ABAP-список (чтобы данные успешно были отправлены из спула на почту).
Для определения свойства динамического определения даты селекционного экрана, при сохранении варианта установите следующее свойство для поля (см. Рисунок # 6)
Теперь определим список адресатов, которому необходимо отправить результат работы отчета. Откройте транзакцию SO15 и нажмите на кнопку
Введите наименование списка, а также выберите существующую, или создайте новую папку
Сохраните внесенные изменения. Затем вернитесь на предыдущий экран, и два раза кликните по только что созданному списку
Определите электронную почту получателей
Можно сказать, что все готово. Осталось запланировать фоновое задание. Откройте транзакцию SM36, введите наименование задания, и нажмите на кнопку
В открывшемся окне найдите созданный ранее список адресатов
После нахождения соответствующего списка, подтвердите его выбор
Нажмите на кнопку
Нажмите на кнопку
На следующем экране нажмите на кнопку
Достаточно нажать на кнопку
Нажав на кнопку сохранения, сформируется информационное сообщение вида
Что же должно произойти? Если по результатам данного отчета сформируется какой-либо спул, то он отправится на электронную почту, указанную в списке адресатов
Результаты работы фонового задания можно посмотреть с помощью транзакции SM37
Само же письмо можно посмотреть с помощью транзакции SOST
Если по результатам работы отчета в спуле ничего нет, электронное письмо сформировано и отправлено не будет.