‎2008 Apr 01 1:48 PM
Hi Experts,
My Requriment Is TO send Report Output As Mail Using Abap Objects. Could u pls Help me out
Best Answer Rewarded
Regards
Fareedas
‎2008 Apr 01 4:36 PM
Look at this thread:
/people/thomas.jung3/blog/2004/09/08/sending-e-mail-from-abap--version-610-and-higher--bcs-interface
‎2008 Apr 01 5:49 PM
hi,
The below given link will help you in sending the mail through abap objects.
but be carefull while using the functional modules.
[https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/789] [original link is broken] [original link is broken] [original link is broken];
Reward points if usefull.
‎2008 Apr 01 7:46 PM
Hello Fareeda
Have a look at the sample report BCS_EXAMPLE_ * in package SBCOMS (ECC 6.0), for example:
REPORT bcs_example_1.
* This example shows how to send
* - a simple text provided in an internal table of text lines
* - to some internet email address.
*
* All activities done via facade CL_BCS!
...
The reports are very easy to understand.
Regards
Uwe
‎2008 Apr 02 5:52 AM
Check the below program for your reference which sends multiple documents using ABAP objects.
PARAMETERS: p_mail TYPE ad_smtpadr OBLIGATORY.
DATA: i_mara TYPE STANDARD TABLE OF mara, " MARA Entries
i_marc TYPE STANDARD TABLE OF marc. " MARC Entries
DATA: l_text TYPE char255. " Text
DATA: l_lines TYPE i,
l_size TYPE sood-objlen.
" Size of Attachment
* Mail related
DATA: i_content TYPE soli_tab, " Mail content
i_attach TYPE soli_tab, " Attachment
i_attach1 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
*Constants------------------------------------------------------------*
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
START-OF-SELECTION.
SELECT * FROM mara INTO TABLE i_mara UP TO 20 ROWS.
SELECT * FROM marc INTO TABLE i_marc UP TO 20 ROWS.
* Preparing body of the Mail
MOVE 'Mail Body' TO l_text.
APPEND l_text TO i_content.
* 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 = 'Material Details' ).
* Preparing contents of attachment with Change Log
PERFORM prepare_attachment.
DESCRIBE TABLE i_mara 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 = 'Material Details'
i_att_content_text = i_attach[].
DESCRIBE TABLE i_marc 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 = 'Material Plant Details'
i_att_content_text = i_attach1[].
* Add document to send request
CALL METHOD l_send_request->set_document( l_document ).
* Get Sender Object
l_uname = sy-uname.
data:lr_sender type ref to if_sender_bcs,
lr_send type ref to cl_bcs.
* Preparing the sender object
lr_sender = cl_cam_address_bcs=>create_internet_address( p_mail ).
* l_sender = cl_sapuser_bcs=>create( l_uname ).
* Setting the sender
CALL METHOD l_send_request->set_sender
EXPORTING
i_sender = lr_sender.
* E-Mail
TRANSLATE p_mail TO LOWER CASE.
l_recipient = cl_cam_address_bcs=>create_internet_address( p_mail )
.
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( ).
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.
*&---------------------------------------------------------------------
*
*& Form PREPARE_ATTACHMENT
*&---------------------------------------------------------------------
*
FORM prepare_attachment.
FIELD-SYMBOLS: <lfs_table>, " Internal table structure
<lfs_con>. " 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 i_mara 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.
LOOP AT i_marc 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_attach1.
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.
ENDFORM. " PREPARE_ATTACHMENT
Hope this helps. Rwd points if helpful.
Thanks,
Balaji
‎2008 Apr 02 6:16 AM
Wow Balaji, Copy-Paste from following link??? [https://forums.sdn.sap.com/click.jspa?searchID=10303682&messageID=4950701]
‎2008 Apr 02 6:31 AM
Hi Eswar,
Its your program only. It helped me and so i have kept it for my reference. I am just using the same code to help others. Anything wrong in that?
Thanks
Balaji
‎2008 Apr 02 9:16 AM
Hi Experts,
Thanks to All , My Question As been solved, Am closing My Thread
Regrads
Fareedas