Saturday, September 19, 2009

Sending Smartform in SAP Inbox or external Mail


REPORT zpwtest .
 
DATA : lv_fname TYPE rs38l_fnam ,
lv_mail_recipient TYPE swotobjid ,
lv_mail_sender TYPE swotobjid ,
lv_control TYPE ssfctrlop ,
lv_name TYPE so_name ,
lv_output TYPE ssfcompop .
 
START-OF-SELECTION .
 
* Get fucntion module name of Smartform

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZPWTEST'
IMPORTING
fm_name = lv_fname.
 
* Create recepient object
*Check the User Type to send email to external address use
U - Internet address

lv_name = sy-uname .
CALL FUNCTION 'CREATE_RECIPIENT_OBJ_PPF'
EXPORTING
ip_mailaddr = lv_name "Recipient SAP user Name
ip_type_id = 'B' "SAP User Type
IMPORTING
ep_recipient_id = lv_mail_recipient
EXCEPTIONS
invalid_recipient = 1
OTHERS = 2.
 
IF sy-subrc <> 0.
 
ENDIF.
 
* Create Sender Object

CALL FUNCTION 'CREATE_SENDER_OBJECT_PPF'
IMPORTING
ep_sender_id = lv_mail_sender
EXCEPTIONS
invalid_sender = 1
OTHERS = 2.
 
IF sy-subrc <> 0.
 
ENDIF.
 
* Device will be MAIL

lv_control-device = 'MAIL' .
lv_output-tdtitle = 'Mail subject Line' .
 
CALL FUNCTION lv_fname
EXPORTING
control_parameters = lv_control
mail_recipient = lv_mail_recipient
mail_sender = lv_mail_sender
output_options = lv_output
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
 
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

0 comments: