Несколько слов о программе RSCONN01

Отправка писем на электронную почту пользователей из системы SAP - обычная практика, распространенная и применяемая у многих заказчиков/клиентов. Письма отправляются как из обычных ABAP программ, так и из потоков операций, что, в общем-то, тоже не новость для всех нас. Предлагаю рассмотреть вполне себе реальную ситуацию, в которой знания о программе RSCONN01, и нескольких других настройках/механизмах, может быть, помогут вам избежать неприятных ситуаций.

Настройка отправки писем из системы SAP

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

См. SAPconnect (BC-SRV-COM)

Немного из теории

Распространенный ландшафт SAP систем в компании обычно представлен в следующем варианте:

  • Система разработки (Development)
  • Система тестирования (Q/A)
  • Продуктиваная система (Production)

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

Рисунок 1.

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

Рисунок 2.

Затем программа RSCONN01 выполняет отправку писем из очереди адресатам.

См. Send Processes

Немного из практики

Довольно часто для выполнения какого-то тестирования функциональным консультантам требуется отдельная система с продуктивными мастер-данными. При хорошем стечении обстоятельств, такой системой может быть Q/A. Но также вполне себе реальной может быть ситуация, в которой продуктивную систему копируют в отдельную (назову ее Q/A-1), и предоставляют консультантам для последующего использования.

Подвох такой ситуации заключается в том, что все запущенные потоки операций, а также запланированные программы, отправляющие письма пользователям, также копируются в систему Q/A-1. Допустим, что вы оставляете все как есть, и начинаете тестирование в этой системе. Все запланированные задания и работающие потоки операций будут делать свое мелкое дело, и отправлять из системы Q/A-1 уведомления пользователям. И тоже самое будет происходить в продуктивной системе, что в итоге может привести к возрастающему недовольству сами понимаете кого. Как показывает опыт, такие истории вполне себе реальны.

Чтобы этого избежать, необходимо убедиться, что в системе Q/A-1:

  1. Сброшены настройки SMTP
  2. Фоновое задание для программы RSCONN01** **отменено

Для отключения SMTP сервера необходимо, зайдя в транзакцию SCOT, установить значения для Mail Host и Mail Port, к примеру, на none

Рисунок 3.

При такой настройке письма, создаваемые в потоках операций, и любых других программах, будут просто складываться в очередь (транзакция SOST), но их отправка произведена не будет. Отменить фоновое задание можно с помощью транзакции SM37

Еще один нюанс (опять же из опыта): фоновое задание программы RSCONN01 успешно отключается, но при этом остаются настройки SMTPсервера. Можно предположить, что письма будут просто попадать в очередь, и последующая их отправка произведена не будет. Но в такой ситуации подводным камнем выступают ABAP программы, запланированные для работы в фоновом режиме, в исходном коде которых выполняется вызов все той же программы RSCONN01

Рисунок 4.

Если не остановить их запланированное выполнение в фоне, письма добавятся в очередь, и будут незамедлительно отправлены адресату (будет выполнена отправка всего, что находится в очереди). По такой же причине следует обратить внимание на вызов метода SET_SEND_IMMEDIATELY класса CL_BCS, который может присутствовать в ваших ABAP программах.

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

Проверить, откуда идет вызов программы RSCONN01 можно через транзакцию SE38, опция Where-Used List

Read more