Входящая почта для HR

Здесь я хотел написать много букв про креативные ИТ подходы во многих компаниях мира, где на каждый бизнес-чих бегут покупать новую ИТ систему вместо того, чтобы доработать существующую ERP, и создать интегрированную платформу вместо свалки из систем, интеграционных потоков и так далее. Но не буду. Буду позже, когда совсем накипит.

Сегодня мы делаем мини-контактный центр для HR. У SAP есть стандартное решение SAP Employee Iteraction Center и SAP Shared Service Framework. Второе лучше первого. Но оба стоят денег.

В стандарте SAP нет такой простой штуки, как принять входящее электронное сообщение и отправить его в поток операций, где консультант сможет проанализировать сообщение и выстроить правильную маршрутизацию. Есть кусочные решения для отдельных блоков ALM, SRM, EIC, SOLMAN, еще чего-то.

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

Настройка приема почты в самой системе осуществляется элементарно за 5 минут. Для этого читаем ноту  455140 . Там пара параметров в профиле, перезагрузка системы, настройка в SCOT и все. После этого вы сможете получать почту снаружи для ваших логинов. То есть, можно отправить почту с [email protected] на *@potceluev.com.

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

Существует три способа реализовать нашу задачу.

  • Создать расширение для обработки писем для транзакции SO50 через наследование интерфейса IF_INBOUND_EXIT_BCS BCS: Exit for Inbound Processing
  • Создать BOR объект (SWO1) через наследование интерфейса IFRECEIVE Receive Office objects. Указать его получателем в транзакции SO28
  • Создать программку, которая в фоне будет опрашивать почтовый ящик и обрабатывать письма

Давайте начнем с первого способа. В se24 создаем класс с реализацией интерфейса IF_INBOUND_EXIT_BCS и интерфейса IF_WORKFLOW. Второй нужен для того, чтобы мы могли инициировать с его помощью запуск потока операций с нужным нам событием. Также создаем событие с параметрами SENDER_ADDRESS и BODY_TEXT. Мы будем брать эти два параметра из входящего письма и передавать их в поток операций.

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

Создаем простой поток операций в транзакции SWDD.

В транзакции SWETYPV прописывам связку события с классом:

Теперь осталось прописать наш класс в SO50, чтобы он вызывался, когда приходит входящая почта.

Проверяем:

А в транзакции SWIA смотрим вызов потока:

 

Входящая почта для HR: 2 комментария

Добавить комментарий