В рамках процесса по электронным листам нетрудоспособности (далее ЭЛН) необходимо было сделать оповещение для бухгалтеров по новым заведенным записям больничных в инфо-типе 2001 Отсутствия.
Задача разделилась на две подзадачи:
- Создать оперативный запрос с необходимым набором полей, который позволял бы выводить блокированные записи инфо-типов;
- На основе этого запроса сделать рассылку.
В рамках этой статьи будет разобрана вторая подзадача по созданию рассылки, а также разъяснение по программе оперативного запроса.
Программа оперативного запроса
При сохранении оперативного запроса создается ABAP программа (отчет).
- Программу можно запустить как любую другую программу в SAP через SE38;
- К программе оперативного запроса можно прикрутить транзакцию для быстрого доступа к ней;
- Использовать программу для планирования фоновых заданий.
Рассмотрим ранее созданный и сохраненный оперативный запрос:
Оптимизация ABAP программы. Улучшение производительности SAP.
Оперативный запрос выглядит следующим образом:
Когда вы создаете оперативный запрос вы изначально определяете два параметра:
- Рабочую область;
- Группу пользователей.
Рабочая область и группа пользователей нам необходимы для того, чтобы найти наш запрос в транзакции SQ01 Ведение запросов, а дальше найти название программы.
Запускаем транзакцию SQ01 — SAP Query: ведение queries. При запуске у вас может появится экран, с непонятным набором полей:
Но мы помним про наши два параметра:
Рабочая область = Глобальная область. Чтобы изменить Рабочую область необходимо нажать на меню Среда и выбрать Рабочие области — глобальную или стандартную:
Далее необходимо выбрать группу пользователей:
Таким образом мы получим список Оперативных запросов, которые были созданы определенной группой пользователей в определенной области. В нашем случае нас интересует оперативный запрос ESL Электронный лист нетрудоспособности:
Для просмотра имени программы нужно:
- Встать на оперативный запрос;
- Далее нажимаем на меню Запрос;
- Далее выбираем Другие функции;
- Просмотреть имя отчета:
Система выдаст имя программы (отчета) оперативного запроса в следующем виде:
Урок 1. SAP Buisness one: Интерфейс системы
Имя программы оперативного запроса ESL Электронный лист нетрудоспособности: AQZZZPA_MIGR====ESL===========
Таким образом мы узнали имя программы, которую теперь можем использовать в своих целях. Далее речь пойдет о настройке программы и фонового задания.
Настройка фонового задания для программы оперативного запроса
Настройка фонового задания состоит из следующих шагов:
- Настройка варианта запуска программы;
- Создания списка рассылки;
- Настройка фонового задания.
Настройка варианта запуска программы
Запускаем транзакцию SE38, вводим название программы, которое мы получили ранее, и запускаем:
Получаем селекционный экран программы:
Обратите внимание, что программа называется также как и оперативный запрос.
На селекционном экране я ограничил выборку следующими параметрами:
- Балансовой единицей;
- Индикатор блокирования, т.е. мне нужно выводить только блокированные записи;
- Вид отсутствия = 3000, только больничные.
- На контрольную дату пока не смотрите, т.к. данный параметр будет динамическим, дата будет принимать необходимое нам значение для корректного анализа.
Далее нажимаем на сохранить — сохраняем вариант:
Заполняем Имя варианта и Значение. Имя варианта я обычно использую латиницу или цифры, а в значении пишу по-русски, что это за вариант. Далее сохраняем вариант:
Теперь я выйду из программы и запущу ее снова через se38 и вызову созданный вариант, чтобы показать, что экран предзаполнился данными, которые были введены ранее:
Селекционный экран программы предзаполнился введенными нами данными:
Перейдем к настройке поля Контрольная дата. Важность этого поля заключается в логике выбора данных при работе фонового задания.
Например фоновое задание у вас будет запускаться каждую ночь, в 3 часа ночи. А нам нужно получать все блокированные записи, которые актуальны на вчера.
Давайте снова сохраним вариант и настроим дату:
Обратите внимание на переменные выбора. На мой взгляд, это мощный инструмент адаптации программ, не только оперативных запросов, а всех ABAP программ в SAP.
В нашем варианте я указал, что Контрольная дата должна рассчитываться по формуле = Системная дата — 1 день:
Теперь у нас есть сохраненный вариант программы оперативного запроса Электронный лист нетрудоспособности с динамической контрольной датой.
При запуске отчета мы получаем две блокированные записи:
Создание списка рассылки
Создаем список рассылки. Необходимо запустить транзакцию SBWP — SAP Business Workplace или нажимаем на кнопку, указанную ниже:
Далее нажимаем Списки адресатов:
Далее заполняем вкладку Свойства:
указываем 1 — имя списка, 2 — описание списка, 3 — папку, в которой будет храниться список:
Далее переходим на вкладку Содерж.списков адр. и указываем адреса получателей рассылки, сохраняем:
Чтобы найти все списки рассылки необходимо в транзакции SBWP нажать на Списки адресатов:
Далее нажимаем на Начало поиска и нажимаем Да:
Далее мы видим списки рассылки среди которых есть наш новый список рассылки ESL — Рассылка по ЭЛН:
На этом этапе мы создали свой список рассылки.
Примечание:
- Здесь мы рассматриваем вариант системы, которая умеет взаимодействовать с внешним почтовым сервером и письма будут приходить на вашу корпоративную почту.
- Можно также сделать, чтобы письма приходили на внутреннюю почту SAP. Добавил внутренний логин тоже в список рассылки для демонстрации рассылки на внутреннюю почту SAP в SBWP.
Настройка фонового задания
Для настройки фонового задания нам необходимо запустить транзакцию SM36 — Фоновый запрос:
- Вводим имя задания — произвольное, но легко идентифицируемое.
- Выбираем Получатель СписСпула — кому будем отсылать.
В нашем случае этот список был создан выше ESL Рассылка по ЭЛН:
Далее нажимаем сохранить:
После сохранения появится экран.
- Необходимо указать пользователя, от которого будет производиться рассылка;
- Указываем название программы (отчета). В нашем случае AQZZZPA_MIGR====ESL===========
- Указываем вариант программы, который мы определили ранее;
- Нажимаем проверить (не думаю, что это обязательно, но лучше прожать эту кнопку и идти дальше);
- Сохраняем.
После сохранения появится следующий экран. На этом шаге уходим назад, нажатием на зеленую кнопку:
Далее Условие запуска. На этом шаге я делаю Немедленный запуск, чтобы проверить, что рассылка приходит адресату. Ниже описаны шаги:
Теперь ОБЯЗАТЕЛЬНО нажмите сохранить, чтобы задание ушло в очередь на выполнение:
В левом нижнем углу появится сообщение, что задание успешно деблокировано:
Можете проверять почту — пришло:
Результат выполнения в виде файла c расширением .htm
Когда я создавал Список рассылки я добавил и свой внутренний логин SAP, чтобы проверить, что письмо также придет в SAP Business Workplace:
Как видим письма пришли:
14) Создать вариант в SAP
Варианты позволяют сохранить параметры выбора на экране ввода.
Это сводит к минимуму необходимость ввода параметров выбора при каждом запуске отчета SAP.
Варианты могут быть сохранены для ЛЮБОГО SAP REPORT, пока Кнопка Сохранить доступна в строке меню SAP для отчета.
Примечание. Многие транзакции могут быть заблокированы администратором по соображениям безопасности, а кнопка сохранения может быть недоступна.
Создать вариант
- Введите значения для критериев выбора, когда вы находитесь в любом отчете SAP.
- Когда все критерии выбора заполнены, нажмите кнопку Сохранить
- Введите имя варианта
- Тип Значение (описание) варианта
Нажмите на Кнопка Сохранить.
Получить вариант
Нажмите кнопку Получить вариант
- Выделите вариант, который вы хотите использовать
- Нажмите флажок
Отчет будет заполнен критериями выбора.
Удалить вариант
В ЛЮБОМ отчете SAP выберите Перейти> Варианты> Удалить
- Выделите вариант, который вы хотите удалить
- Нажмите хорошо
В следующем всплывающем окне SAP
- Select the “only in current client” radio button. (All Clients option will delete the variant across ALL clients)
- Click Continue
Источник: coderlessons.com
Вариант селекционного экрана
Варианты селекционного экрана знает каждый. Если не знает, то срочно надо узнать что это. Они сильно облегчают жизнь пользователя и САПера. Особенно для отчетов, а, если еще и к ним ALV вариант настроить, то совсем красиво получается. Так вот, есть еще такие вариант, как системные. Это те, которые просто так не изменить.
Помогает сохранить пользователям руки и не отрывать их, когда они что-нибудь перезатирают друг у друга.
Системные варианты начинаются с SAP для клиентских. Эти варианты хранятся в 000 манданте и переносятся транспортными запросами.
А еще в вариантах можно делать подстановки:
- Даты
- Пользовательские переменные
- Табличные переменные TVARVC
Создаем вариант (я выбрал программу отчет по видам оплаты). Жмакаем F4 на поле ‘Selection variant’ и выбираем способ для указания данных.
Настройки варианта селекционного экрана
Если тип ‘D’ D: Dynamic date calculation, то встаем на поле Name of variable и нажимаем F4. Выбираем нужную нам математику. Удобно, когда нужно строить отчеты по четким границам (например, по календарному месяцу). Или запускать программы с фильтами. Фантазируйте! Мечты сбываются
Для пользовательских переменных нужен маленький абап. Если это ваша программа, то в ней при объявлении параметров селекционного экрана нужно указать MEMORY ID , где это пользовательское имя параметра. После этого в варианте появится возможность выбрать именно это поле. А значение задать можно в транзакции SU3 для пользователя индивидуально или в основной записи учетки (SU01, SU10D).
Для табличных переменных есть волшебная штука — табличка TVARVC. Запускаем транзакцию STVARV, создаем свою переменную и присваиваем значения, которые должны подставиться на селекционнике в варианте. Получается шоколадная штука. Мы создаем системный вариант, в нем указываем переменную для видов оплаты (например, фонд оплаты труда), а в TVARVC прописываем все виды оплаты.
И эту переменную используем во всех отчетах. Красота!
Похожие заметки:
- Удобные STVARV переменныеПривет. Предлагаю вашему вниманию еще один способ упрощения жизни пользователям.
- Расширение экрана списка в PA30Часто пользователи кричат, что в экране списка в PA30/20 хочется.
- Изменение экрана присвоения затрат в инфотипахВ очередной раз забыл и полез искать, как настраиваются экраны.
- Стандартный вариант проводки SAPСлучайно обнаружил, что удаление стандартного варианта проводки «SAP» (ракурс V_T52E2) ведет.
Источник: saphr.ru