DATA: lv_fm_name TYPE rs38l_fnam, "SmartForm name
ls_control_param TYPE ssfctrlop, "Control paramters
ls_output_options TYPE ssfcompop. "Output options
* Data for email smart form:
DATA: lv_ip_mailaddr TYPE so_name, "Address of a Mail Recipient
lv_ip_type_id TYPE so_escape, "Recipient type
ls_recipient_id TYPE swotobjid, "Structure for recvr obj ID
ls_sender_id TYPE swotobjid. "Structure for sender obj id
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'SamrtFormName'
IMPORTING
fm_name = lv_fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
lv_ip_mailaddr = '[email protected]'. "E-mail
lv_ip_type_id = 'U'. "External address
* Create recipient object
CALL FUNCTION 'CREATE_RECIPIENT_OBJ_PPF'
EXPORTING
ip_mailaddr = lv_ip_mailaddr
ip_type_id = lv_ip_type_id
IMPORTING
ep_recipient_id = ls_recipient_id
EXCEPTIONS
invalid_recipient = 1
OTHERS = 2.
IF sy-subrc <> 0. <error>. ENDIF.
* Get sender object id.
CALL FUNCTION 'CREATE_SENDER_OBJECT_PPF'
EXPORTING
ip_sender = sy-uname
IMPORTING
ep_sender_id = ls_sender_id
EXCEPTIONS
invalid_sender = 1
OTHERS = 2.
IF sy-subrc <> 0. <error>. ENDIF.
* Create Mail title
ls_output_options-tdtitle = 'Информационное сообщение'.
ls_output_options-tdnewid = 'X'.
ls_output_options-bcs_commit = 'X'.
ls_control_param-device = 'MAIL'.
ls_control_param-langu = sy-langu.
CALL FUNCTION lv_fm_name
EXPORTING
control_parameters = ls_control_param
mail_recipient = ls_recipient_id
mail_sender = ls_sender_id
output_options = ls_output_options
user_settings = ' '
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc <> 0. <error>. ENDIF.
Примечание: Если есть проблемы с преобразованием русских символов в конечном PDF-файле, возможно нужно сделать мэппинг шрифтов, для этого можно использовать программу
RSTXPDF2UC. Преобразование я лично делал например для HELVCYR в SAPWIN5 (ISO-5). Помогало.