on 08-20-2008 2:27 PM
Hi
i have requirement like this employee can change the emergency details online like phone num etc. when he upteted his details the auto mail should go to hr.
to send a mail how to write the logic.
can anybody help me.
Thanks in advance
Revathi
Hi All
Thank U very much . I ill try it out . if i get any doubts i ll post u.
Currenrtly i am working on ESS module i am new to this module can any body send me documents.
Thanks in advance
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi kavitha,
Please refer following code .I have used jung's blog for this and its running very well.Here if you wil see the code i am sending an internal table in ecel format on an email id with some message.
DATA: l_text1 TYPE char255. " Text
DATA: l_lines TYPE i,
l_size TYPE sood-objlen. " Size of Attachment
DATA lo_message_manager TYPE REF TO if_wd_message_manager.
DATA lo_api_controller TYPE REF TO if_wd_controller.
lo_api_controller ?= wd_this->wd_get_api( ).
lo_message_manager = lo_api_controller->get_message_manager( ).
* Mail related
DATA: i_content TYPE soli_tab, " Mail content
i_attach TYPE soli_tab. " Attachment
DATA: l_send_request TYPE REF TO cl_bcs, " E-Mail Send Request
l_document TYPE REF TO cl_document_bcs, " E-Mail Attachment
l_recipient TYPE REF TO if_recipient_bcs, " Distribution List
l_sender TYPE REF TO if_sender_bcs, " Address of Sender
l_uname TYPE salrtdrcpt, " Sender Name(SY-UNAME)
l_bcs_exception TYPE REF TO cx_document_bcs, " BCS Exception
l_addr_exception TYPE REF TO cx_address_bcs, " Address Exception
l_send_exception TYPE REF TO cx_send_req_bcs. " E-Mail sending Exception
* l_SO_OBJECT_MIME_GET type ref to SO_OBJECT_MIME_GET.
DATA: l_recipient_soos TYPE soos1.
DATA: lv_i_with_error_screen TYPE os_boolean.
DATA: lv_result TYPE os_boolean.
CONSTANTS: c_tab(1) TYPE c VALUE cl_abap_char_utilities=>horizontal_tab, " Tab Character
c_cr(1) TYPE c VALUE cl_abap_char_utilities=>cr_lf, " Line Feed for End-Of_line
c_ext TYPE soodk-objtp VALUE 'XLS'. " XLS Extension
DATA p_uname TYPE so_dir_ext .
p_uname = 'sumit.goenka -avaya.co.in'.
* Preparing body of the Mail
MOVE 'Please execute the trade given in the attached excel file' TO l_text1.
APPEND l_text1 TO i_content.
MOVE '' TO l_text1.
APPEND l_text1 TO i_content.
MOVE '' TO l_text1.
APPEND l_text1 TO i_content.
MOVE 'Warm Regards SAP' TO l_text1.
APPEND l_text1 TO i_content.
* Preparing contents of attachment with Change Log
FIELD-SYMBOLS: <lfs_table> TYPE ANY, " Internal table structure
<lfs_con> TYPE ANY. " Field Content
DATA: l_text TYPE char1024. " Text content for mail attachment
DATA: l_con(50) TYPE c. " Field Content in character format
* Columns to be tab delimeted
LOOP AT detail ASSIGNING <lfs_table>.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE <lfs_table>
TO <lfs_con>.
IF sy-subrc NE 0.
CONCATENATE c_cr l_text INTO l_text.
APPEND l_text TO i_attach.
EXIT.
ELSE.
CLEAR: l_con.
MOVE <lfs_con> TO l_con.
CONDENSE l_con.
IF sy-index = 1.
CLEAR: l_text.
MOVE l_con TO l_text.
ELSE.
CONCATENATE l_text l_con INTO l_text
SEPARATED BY c_tab.
ENDIF.
ENDIF.
ENDDO.
ENDLOOP.
* Creates persistent send request
TRY.
l_send_request = cl_bcs=>create_persistent( ).
* Creating Document
l_document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = i_content[]
i_subject = 'Buy / Sell Order' ).
DESCRIBE TABLE detail LINES l_lines.
* Size to multiplied by 2 for UNICODE enabled systems
l_size = l_lines * 2 * 255.
* Adding Attachment
CALL METHOD l_document->add_attachment
EXPORTING
i_attachment_type = c_ext
i_attachment_size = l_size
i_attachment_subject = 'Buy Sell Order Detail'
i_att_content_text = i_attach[].
* Add document to send request
CALL METHOD l_send_request->set_document( l_document ).
* Get Sender Object
l_uname = sy-uname.
l_sender = cl_sapuser_bcs=>create( l_uname ).
CALL METHOD l_send_request->set_sender
EXPORTING
i_sender = l_sender.
* E-Mail
TRANSLATE p_uname TO UPPER CASE.
l_recipient_soos-recesc = 'U'.
l_recipient_soos-recextnam = p_uname.
* Preparing recepient from SAP Logon Name
CALL METHOD cl_send_request_bcs=>create_recipient_from_soos1
EXPORTING
i_soos1 = l_recipient_soos
RECEIVING
result = l_recipient.
* Add Recipient
CALL METHOD l_send_request->add_recipient
EXPORTING
i_recipient = l_recipient
i_express = 'U'
i_copy = ' '
i_blind_copy = ' '
i_no_forward = ' '.
*Trigger E-Mail immediately
l_send_request->set_send_immediately( 'X' ).
CALL METHOD l_send_request->send( lv_result ).
IF lv_result IS INITIAL.
* * report message
CALL METHOD lo_message_manager->REPORT_SUCCESS
EXPORTING
message_text = 'Mail sent successfully '.
ENDIF. .
COMMIT WORK.
CATCH cx_document_bcs INTO l_bcs_exception.
CATCH cx_send_req_bcs INTO l_send_exception.
CATCH cx_address_bcs INTO l_addr_exception.
ENDTRY.
If you have any doubt then feel free to ask.
regards
PG
hi,
sending mail is same,
DATA: IT_MESSAGE TYPE STANDARD TABLE OF SOLISTI1 INITIAL SIZE 0 WITH HEADER LINE,
GD_DOC_DATA LIKE SODOCCHGI1.
DATA: IT_PACKING_LIST LIKE SOPCKLSTI1 OCCURS 0 WITH HEADER LINE,
IT_CONTENTS LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
GD_SENT_ALL(1) TYPE C,
IT_RECEIVERS LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE.
APPEND 'The Following Materails Have Error Records' TO IT_MESSAGE.
APPEND '==========================================' TO IT_MESSAGE.
LOOP AT ITAB_EMAIL.
*
CONCATENATE ITAB_EMAIL-MATERIAL ' : ' ITAB_EMAIL-ERROR_MSG INTO IT_MESSAGE.
APPEND IT_MESSAGE.
*
ENDLOOP.
CONCATENATE 'name' ':' ' ' INTO IT_MESSAGE.
APPEND IT_MESSAGE.
FILL THE DOCUMENT DATA.
GD_DOC_DATA-DOC_SIZE = 1.
POPULATE THE SUBJECT/GENERIC MESSAGE ATTRIBUTES
GD_DOC_DATA-OBJ_LANGU = SY-LANGU.
GD_DOC_DATA-OBJ_NAME = 'SAPRPT'.
GD_DOC_DATA-OBJ_DESCR = ' Material Master Creation Error Log'.
GD_DOC_DATA-SENSITIVTY = 'F'.
DESCRIBE THE BODY OF THE MESSAGE
CLEAR IT_PACKING_LIST.
REFRESH IT_PACKING_LIST.
IT_PACKING_LIST-TRANSF_BIN = SPACE.
IT_PACKING_LIST-HEAD_START = 1.
IT_PACKING_LIST-HEAD_NUM = 0.
IT_PACKING_LIST-BODY_START = 1.
DESCRIBE TABLE IT_MESSAGE LINES IT_PACKING_LIST-BODY_NUM.
IT_PACKING_LIST-DOC_TYPE = 'RAW'.
APPEND IT_PACKING_LIST.
ADD THE RECIPIENTS EMAIL ADDRESS
CLEAR IT_RECEIVERS.
REFRESH IT_RECEIVERS.
IT_RECEIVERS-RECEIVER = ' '. " Email Address to be appended here.
IT_RECEIVERS-REC_TYPE = 'U'.
IT_RECEIVERS-COM_TYPE = 'INT'.
IT_RECEIVERS-NOTIF_DEL = 'X'.
IT_RECEIVERS-NOTIF_NDEL = 'X'.
APPEND IT_RECEIVERS.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = GD_DOC_DATA
PUT_IN_OUTBOX = 'X'
COMMIT_WORK = 'X'
IMPORTING
SENT_TO_ALL = GD_SENT_ALL
TABLES
PACKING_LIST = IT_PACKING_LIST
CONTENTS_TXT = IT_MESSAGE
RECEIVERS = IT_RECEIVERS
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
DOCUMENT_TYPE_NOT_EXIST = 3
OPERATION_NO_AUTHORIZATION = 4
PARAMETER_ERROR = 5
X_ERROR = 6
ENQUEUE_ERROR = 7
OTHERS = 8.
Yogesh N
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
95 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.