Архив метки: SWDD

Входящая почта для 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.

Читать далее

Workflow

Щепетильная тема, не так ли? Звучная, сложная, манящая, непонятная. Про азы поговорим сейчас, про тонкости – в книге. Workflow или поток операций в простонародии, это инструмент, который позволяет организовать последовательность шагов в единый процесс и контролировать его выполнение. Это неофицильный перевод в моем исполнении. Прелесть потока операций заключается в том, что можно сделать множество путей принятия решений и исполнения потока операций. Если нажал сюда, то случилось это, поэтому надо послать того-то, сохранить запись там-то и написать “всем привет”. Если в кадровом мероприятии все прозрачно – сохраняй и заполняй, никакой власти, то в потоках можно настроить практически любые способы взаимодействия пользователя, системы и вселенной.

Представим, что у нас голая система, где еще никто не успел наследить. По умолчанию все отключено, ничего не работает и потоки не гуляют. Надо исправить это в транзакции SWU3. В идеальном мире нам нужно открыть транзакцию, вверх кликнуть на кнопку генерации, и жизнь наладится. Увы. В зависимости от того, какая у вас версия системы, уровень пакетов и прочее, ваш пользователь, под которым вы запускаете эту транзакцию, может принадлежать или нет группе SUPER. В транзакции SU01 надо присвоить текущему пользователю эту группу. Если ее нет, то создать. Это как бы SAP_ALL для админов.

swu3

Читать далее