EFG_GEN_GET_USER_EMAIL - Позволяет получить E-Mail адрес из регистрационной записи пользователя. Можно конечно прочитать и самому, но как обычно, вопрос а зачем, если уже есть готовая реализация. Вопрос скорости работы тут вряд ли должен стоять, все равно отправка сообщения гораздо затратнее чем, получение адреса получателя. Вызов довольно простой
DATA: l_email_address TYPE ad_smtpadr.
CALL FUNCTION 'EFG_GEN_GET_USER_EMAIL'
EXPORTING
i_uname = sy-uname
IMPORTING
e_email_address = l_email_address
EXCEPTIONS
not_qualified = 1
user_not_found = 2
address_not_found = 3
OTHERS = 4.
Как говорится быстро и просто. Хотя есть чуть посложнее вызов аналогичного модуля, найденного в недрах HR: HR_FBN_GET_USER_EMAIL_ADDRESS, по фактур возвращает тоже, но сообщения при ошибках выводятся в журналы HR, внутри модуля при ошибках формируется что-то типа такого:
CALL FUNCTION 'HR_BEN_HANDLE_ERROR'
EXPORTING
msg_class = msg_fbngnrl
msg_number = '012'
msg_par1 = l_uname
severity = subrc
reaction = reaction
TABLES
error_table = error_table.