<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Send Email in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/send-email/m-p/1119389#M108473</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alexandre.&lt;/P&gt;&lt;P&gt;The below program will help you to send email with attachments..It is working fine for me..&lt;/P&gt;&lt;P&gt;First create an include and the code which i have added in my include below and proceed as follows...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE ZINCLUDE_01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : itab LIKE tline OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : file_name TYPE string.&lt;/P&gt;&lt;P&gt;data : path like PCFILE-PATH.&lt;/P&gt;&lt;P&gt;data : extension(5) type c.&lt;/P&gt;&lt;P&gt;data : name(100) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECTION SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS : receiver TYPE somlreci1-receiver lower case.&lt;/P&gt;&lt;P&gt;PARAMETERS : p_file LIKE rlgrap-filename&lt;/P&gt;&lt;P&gt;OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELECTION SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.&lt;/P&gt;&lt;P&gt;CLEAR p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;file_name = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;PERFORM ml_customize USING 'Tst' 'Testing'.&lt;/P&gt;&lt;P&gt;PERFORM ml_addrecp USING receiver 'U'.&lt;/P&gt;&lt;P&gt;PERFORM upl.&lt;/P&gt;&lt;P&gt;PERFORM doconv TABLES itab objbin.&lt;/P&gt;&lt;P&gt;PERFORM ml_prepare USING 'X' extension name.&lt;/P&gt;&lt;P&gt;PERFORM ml_dosend.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SUBMIT rsconn01&lt;/P&gt;&lt;P&gt;WITH mode EQ 'INT'&lt;/P&gt;&lt;P&gt;AND RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM upl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;file_name = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;filename = file_name&lt;/P&gt;&lt;P&gt;filetype = 'BIN'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = itab&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;file_open_error = 1&lt;/P&gt;&lt;P&gt;file_read_error = 2&lt;/P&gt;&lt;P&gt;no_batch = 3&lt;/P&gt;&lt;P&gt;gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;invalid_type = 5&lt;/P&gt;&lt;P&gt;no_authority = 6&lt;/P&gt;&lt;P&gt;unknown_error = 7&lt;/P&gt;&lt;P&gt;bad_data_format = 8&lt;/P&gt;&lt;P&gt;header_not_allowed = 9&lt;/P&gt;&lt;P&gt;separator_not_allowed = 10&lt;/P&gt;&lt;P&gt;header_too_long = 11&lt;/P&gt;&lt;P&gt;unknown_dp_error = 12&lt;/P&gt;&lt;P&gt;access_denied = 13&lt;/P&gt;&lt;P&gt;dp_out_of_memory = 14&lt;/P&gt;&lt;P&gt;disk_full = 15&lt;/P&gt;&lt;P&gt;dp_timeout = 16&lt;/P&gt;&lt;P&gt;OTHERS = 17.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;path = file_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'PC_SPLIT_COMPLETE_FILENAME'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;complete_filename = path&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHECK_DOS_FORMAT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DRIVE =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXTENSION = extension&lt;/P&gt;&lt;P&gt;NAME = name&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NAME_WITH_EXT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PATH =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;INVALID_DRIVE = 1&lt;/P&gt;&lt;P&gt;INVALID_EXTENSION = 2&lt;/P&gt;&lt;P&gt;INVALID_NAME = 3&lt;/P&gt;&lt;P&gt;INVALID_PATH = 4&lt;/P&gt;&lt;P&gt;OTHERS = 5&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "upl&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***INCLUDE ZINCLUDE_01 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;10.08.2005 Amit M - Created&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Include For Mail (First Req F16)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modification Log&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables crmrfcpar.&lt;/P&gt;&lt;P&gt;DATA: docdata LIKE sodocchgi1,&lt;/P&gt;&lt;P&gt;objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;objhex LIKE solix OCCURS 10 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: tab_lines TYPE i,&lt;/P&gt;&lt;P&gt;doc_size TYPE i,&lt;/P&gt;&lt;P&gt;att_type LIKE soodk-objtp.&lt;/P&gt;&lt;P&gt;DATA: listobject LIKE abaplist OCCURS 1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;data v_rfcdest               LIKE crmrfcpar-rfcdest.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;FORM ml_customize USING objname objdesc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------" /&gt;&lt;P&gt; Clear Variables&lt;/P&gt;&lt;P&gt;CLEAR docdata.&lt;/P&gt;&lt;P&gt;REFRESH objpack.&lt;/P&gt;&lt;P&gt;CLEAR objpack.&lt;/P&gt;&lt;P&gt;REFRESH objhead.&lt;/P&gt;&lt;P&gt;REFRESH objtxt.&lt;/P&gt;&lt;P&gt;CLEAR objtxt.&lt;/P&gt;&lt;P&gt;REFRESH objbin.&lt;/P&gt;&lt;P&gt;CLEAR objbin.&lt;/P&gt;&lt;P&gt;REFRESH objhex.&lt;/P&gt;&lt;P&gt;CLEAR objhex.&lt;/P&gt;&lt;P&gt;REFRESH reclist.&lt;/P&gt;&lt;P&gt;CLEAR reclist.&lt;/P&gt;&lt;P&gt;REFRESH listobject.&lt;/P&gt;&lt;P&gt;CLEAR listobject.&lt;/P&gt;&lt;P&gt;CLEAR tab_lines.&lt;/P&gt;&lt;P&gt;CLEAR doc_size.&lt;/P&gt;&lt;P&gt;CLEAR att_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt; Set Variables&lt;/P&gt;&lt;P&gt;docdata-obj_name = objname.&lt;/P&gt;&lt;P&gt;docdata-obj_descr = objdesc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_customize&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;FORM ml_addrecp USING preceiver prec_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR reclist.&lt;/P&gt;&lt;P&gt;reclist-receiver = preceiver.&lt;/P&gt;&lt;P&gt;reclist-rec_type = prec_type.&lt;/P&gt;&lt;P&gt;APPEND reclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_customize&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;FORM ml_addtxt USING ptxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR objtxt.&lt;/P&gt;&lt;P&gt;objtxt = ptxt.&lt;/P&gt;&lt;P&gt;APPEND objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_customize&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;FORM ml_prepare USING bypassmemory whatatt_type whatname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF bypassmemory = ''.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt; Fetch List From Memory&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'LIST_FROM_MEMORY'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;listobject = listobject&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;OTHERS = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID '61' TYPE 'E' NUMBER '731'&lt;/P&gt;&lt;P&gt;WITH 'LIST_FROM_MEMORY'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'TABLE_COMPRESS'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COMPRESSED_SIZE =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;in = listobject&lt;/P&gt;&lt;P&gt;out = objbin&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;OTHERS = 1&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID '61' TYPE 'E' NUMBER '731'&lt;/P&gt;&lt;P&gt;WITH 'TABLE_COMPRESS'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Header Data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Already Done Thru FM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Main Text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Already Done Thru FM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Packing Info For Text Data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE objtxt LINES tab_lines.&lt;/P&gt;&lt;P&gt;READ TABLE objtxt INDEX tab_lines.&lt;/P&gt;&lt;P&gt;docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).&lt;/P&gt;&lt;P&gt;CLEAR objpack-transf_bin.&lt;/P&gt;&lt;P&gt;objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;objpack-head_num = 0.&lt;/P&gt;&lt;P&gt;objpack-body_start = 1.&lt;/P&gt;&lt;P&gt;objpack-body_num = tab_lines.&lt;/P&gt;&lt;P&gt;objpack-doc_type = 'TXT'.&lt;/P&gt;&lt;P&gt;APPEND objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Packing Info Attachment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;att_type = whatatt_type..&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE objbin LINES tab_lines.&lt;/P&gt;&lt;P&gt;READ TABLE objbin INDEX tab_lines.&lt;/P&gt;&lt;P&gt;objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).&lt;/P&gt;&lt;P&gt;objpack-transf_bin = 'X'.&lt;/P&gt;&lt;P&gt;objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;objpack-head_num = 0.&lt;/P&gt;&lt;P&gt;objpack-body_start = 1.&lt;/P&gt;&lt;P&gt;objpack-body_num = tab_lines.&lt;/P&gt;&lt;P&gt;objpack-doc_type = att_type.&lt;/P&gt;&lt;P&gt;objpack-obj_name = 'ATTACHMENT'.&lt;/P&gt;&lt;P&gt;objpack-obj_descr = whatname.&lt;/P&gt;&lt;P&gt;APPEND objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Receiver List&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Already done thru fm&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_prepare&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ml_dosend.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1' &lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;document_data = docdata&lt;/P&gt;&lt;P&gt;put_in_outbox = 'X'&lt;/P&gt;&lt;P&gt;commit_work = 'X' "used from rel. 6.10&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SENT_TO_ALL =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NEW_OBJECT_ID =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;packing_list = objpack&lt;/P&gt;&lt;P&gt;object_header = objhead&lt;/P&gt;&lt;P&gt;contents_bin = objbin&lt;/P&gt;&lt;P&gt;contents_txt = objtxt&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CONTENTS_HEX = objhex&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OBJECT_PARA =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;object_parb =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;receivers = reclist&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;too_many_receivers = 1&lt;/P&gt;&lt;P&gt;document_not_sent = 2&lt;/P&gt;&lt;P&gt;document_type_not_exist = 3&lt;/P&gt;&lt;P&gt;operation_no_authorization = 4&lt;/P&gt;&lt;P&gt;parameter_error = 5&lt;/P&gt;&lt;P&gt;x_error = 6&lt;/P&gt;&lt;P&gt;enqueue_error = 7&lt;/P&gt;&lt;P&gt;OTHERS = 8&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID 'SO' TYPE 'S' NUMBER '023'&lt;/P&gt;&lt;P&gt;WITH docdata-obj_name.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_customize&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;FORM ml_spooltopdf USING whatspoolid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : pdf LIKE tline OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------" /&gt;&lt;P&gt; Call Function&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;src_spoolid = whatspoolid&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;pdf = pdf&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;err_no_otf_spooljob = 1&lt;/P&gt;&lt;P&gt;OTHERS = 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; Convert&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM doconv TABLES pdf objbin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_spooltopdf&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM doconv TABLES&lt;/P&gt;&lt;P&gt;mypdf STRUCTURE tline&lt;/P&gt;&lt;P&gt;outbin STRUCTURE solisti1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt; Data&lt;/P&gt;&lt;P&gt;DATA : pos TYPE i.&lt;/P&gt;&lt;P&gt;DATA : len TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------" /&gt;&lt;P&gt; Loop And Put Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT mypdf.&lt;/P&gt;&lt;P&gt;pos = 255 - len.&lt;/P&gt;&lt;P&gt;IF pos &amp;gt; 134. "length of pdf_table&lt;/P&gt;&lt;P&gt;pos = 134.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;outbin+len = mypdf(pos).&lt;/P&gt;&lt;P&gt;len = len + pos.&lt;/P&gt;&lt;P&gt;IF len = 255. "length of out (contents_bin)&lt;/P&gt;&lt;P&gt;APPEND outbin.&lt;/P&gt;&lt;P&gt;CLEAR: outbin, len.&lt;/P&gt;&lt;P&gt;IF pos &amp;lt; 134.&lt;/P&gt;&lt;P&gt;outbin = mypdf+pos.&lt;/P&gt;&lt;P&gt;len = 134 - pos.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;IF len &amp;gt; 0.&lt;/P&gt;&lt;P&gt;APPEND outbin.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "doconv&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ml_saveforbp USING jobname jobcount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------" /&gt;&lt;P&gt; Data&lt;/P&gt;&lt;P&gt;*data : yhead like yhrt_bp_head.&lt;/P&gt;&lt;P&gt;*DATA : ydocdata LIKE yhrt_bp_docdata,&lt;/P&gt;&lt;P&gt;*yobjtxt LIKE yhrt_bp_objtxt OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;*yreclist LIKE yhrt_bp_reclist OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*DATA : seqnr TYPE i.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; Head&lt;/P&gt;&lt;P&gt;*yhead-jobname = jobname.&lt;/P&gt;&lt;P&gt;*yhead-jobcount = jobcount..&lt;/P&gt;&lt;P&gt;*MODIFY yhrt_bp_head FROM yhead.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; Doc Data&lt;/P&gt;&lt;P&gt;*ydocdata-jobname = jobname.&lt;/P&gt;&lt;P&gt;*ydocdata-jobcount = jobcount.&lt;/P&gt;&lt;P&gt;*MOVE-CORRESPONDING docdata TO ydocdata.&lt;/P&gt;&lt;P&gt;*MODIFY yhrt_bp_docdata FROM ydocdata.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; Objtxt&lt;/P&gt;&lt;P&gt;*seqnr = 0.&lt;/P&gt;&lt;P&gt;*LOOP AT objtxt.&lt;/P&gt;&lt;P&gt;*seqnr = seqnr + 1.&lt;/P&gt;&lt;P&gt;*yobjtxt-jobname = jobname.&lt;/P&gt;&lt;P&gt;*yobjtxt-jobcount = jobcount.&lt;/P&gt;&lt;P&gt;*yobjtxt-seqnr = seqnr.&lt;/P&gt;&lt;P&gt;*MOVE-CORRESPONDING objtxt TO yobjtxt.&lt;/P&gt;&lt;P&gt;*MODIFY yhrt_bp_objtxt FROM yobjtxt.&lt;/P&gt;&lt;P&gt;*ENDLOOP.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; RecList&lt;/P&gt;&lt;P&gt;*seqnr = 0.&lt;/P&gt;&lt;P&gt;*LOOP AT reclist.&lt;/P&gt;&lt;P&gt;*seqnr = seqnr + 1.&lt;/P&gt;&lt;P&gt;*yreclist-jobname = jobname.&lt;/P&gt;&lt;P&gt;*yreclist-jobcount = jobcount.&lt;/P&gt;&lt;P&gt;*yreclist-seqnr = seqnr.&lt;/P&gt;&lt;P&gt;*MOVE-CORRESPONDING reclist TO yreclist.&lt;/P&gt;&lt;P&gt;*MODIFY yhrt_bp_reclist FROM yreclist.&lt;/P&gt;&lt;P&gt;*ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_saveforbp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ml_fetchfrombp USING jobname jobcount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CLEAR docdata.&lt;/P&gt;&lt;P&gt;*REFRESH objtxt.&lt;/P&gt;&lt;P&gt;*REFRESH reclist.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*SELECT SINGLE * FROM yhrt_bp_docdata&lt;/P&gt;&lt;P&gt;*INTO corresponding fields of docdata&lt;/P&gt;&lt;P&gt;*WHERE jobname = jobname&lt;/P&gt;&lt;P&gt;*AND jobcount = jobcount.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*SELECT * FROM yhrt_bp_objtxt&lt;/P&gt;&lt;P&gt;*INTO corresponding fields of TABLE objtxt&lt;/P&gt;&lt;P&gt;*WHERE jobname = jobname&lt;/P&gt;&lt;P&gt;*AND jobcount = jobcount&lt;/P&gt;&lt;P&gt;*ORDER BY seqnr.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*SELECT * FROM yhrt_bp_reclist&lt;/P&gt;&lt;P&gt;*INTO corresponding fields of TABLE reclist&lt;/P&gt;&lt;P&gt;*WHERE jobname = jobname&lt;/P&gt;&lt;P&gt;*AND jobcount = jobcount&lt;/P&gt;&lt;P&gt;*ORDER BY seqnr.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_fetchfrombp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Abdul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 17 Feb 2006 13:36:35 GMT</pubDate>
    <dc:creator>abdul_hakim</dc:creator>
    <dc:date>2006-02-17T13:36:35Z</dc:date>
    <item>
      <title>Send Email</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/send-email/m-p/1119385#M108469</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm developing a program to send e-mail to sap users, those e-mail that you can see in Business Workplace.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've found many functions to do this.&lt;/P&gt;&lt;P&gt;What function is more apropriated to this case??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thaks,&lt;/P&gt;&lt;P&gt;Alexandre Nogueira&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Feb 2006 13:09:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/send-email/m-p/1119385#M108469</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-17T13:09:50Z</dc:date>
    </item>
    <item>
      <title>Re: Send Email</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/send-email/m-p/1119386#M108470</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try SO_OBJECT_SEND&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Feb 2006 13:16:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/send-email/m-p/1119386#M108470</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-17T13:16:50Z</dc:date>
    </item>
    <item>
      <title>Re: Send Email</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/send-email/m-p/1119387#M108471</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I guess I will use SO_NEW_DOCUMENT_SEND_API1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do you know whether it is better than SO_OBJECT_SEND ?&lt;/P&gt;&lt;P&gt;Because this SO_NEW_DOCUMENT_SEND_API1 looks simpler!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alexandre&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Feb 2006 13:22:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/send-email/m-p/1119387#M108471</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-17T13:22:08Z</dc:date>
    </item>
    <item>
      <title>Re: Send Email</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/send-email/m-p/1119388#M108472</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you can use &amp;lt;b&amp;gt;SO_OBJECT_SEND&amp;lt;/b&amp;gt; or&amp;lt;b&amp;gt; SO_DOCUMENT_SEND_API1&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;vijay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Feb 2006 13:23:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/send-email/m-p/1119388#M108472</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-17T13:23:37Z</dc:date>
    </item>
    <item>
      <title>Re: Send Email</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/send-email/m-p/1119389#M108473</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alexandre.&lt;/P&gt;&lt;P&gt;The below program will help you to send email with attachments..It is working fine for me..&lt;/P&gt;&lt;P&gt;First create an include and the code which i have added in my include below and proceed as follows...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE ZINCLUDE_01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : itab LIKE tline OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : file_name TYPE string.&lt;/P&gt;&lt;P&gt;data : path like PCFILE-PATH.&lt;/P&gt;&lt;P&gt;data : extension(5) type c.&lt;/P&gt;&lt;P&gt;data : name(100) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECTION SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS : receiver TYPE somlreci1-receiver lower case.&lt;/P&gt;&lt;P&gt;PARAMETERS : p_file LIKE rlgrap-filename&lt;/P&gt;&lt;P&gt;OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELECTION SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.&lt;/P&gt;&lt;P&gt;CLEAR p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;file_name = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;PERFORM ml_customize USING 'Tst' 'Testing'.&lt;/P&gt;&lt;P&gt;PERFORM ml_addrecp USING receiver 'U'.&lt;/P&gt;&lt;P&gt;PERFORM upl.&lt;/P&gt;&lt;P&gt;PERFORM doconv TABLES itab objbin.&lt;/P&gt;&lt;P&gt;PERFORM ml_prepare USING 'X' extension name.&lt;/P&gt;&lt;P&gt;PERFORM ml_dosend.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SUBMIT rsconn01&lt;/P&gt;&lt;P&gt;WITH mode EQ 'INT'&lt;/P&gt;&lt;P&gt;AND RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM upl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;file_name = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;filename = file_name&lt;/P&gt;&lt;P&gt;filetype = 'BIN'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;data_tab = itab&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;file_open_error = 1&lt;/P&gt;&lt;P&gt;file_read_error = 2&lt;/P&gt;&lt;P&gt;no_batch = 3&lt;/P&gt;&lt;P&gt;gui_refuse_filetransfer = 4&lt;/P&gt;&lt;P&gt;invalid_type = 5&lt;/P&gt;&lt;P&gt;no_authority = 6&lt;/P&gt;&lt;P&gt;unknown_error = 7&lt;/P&gt;&lt;P&gt;bad_data_format = 8&lt;/P&gt;&lt;P&gt;header_not_allowed = 9&lt;/P&gt;&lt;P&gt;separator_not_allowed = 10&lt;/P&gt;&lt;P&gt;header_too_long = 11&lt;/P&gt;&lt;P&gt;unknown_dp_error = 12&lt;/P&gt;&lt;P&gt;access_denied = 13&lt;/P&gt;&lt;P&gt;dp_out_of_memory = 14&lt;/P&gt;&lt;P&gt;disk_full = 15&lt;/P&gt;&lt;P&gt;dp_timeout = 16&lt;/P&gt;&lt;P&gt;OTHERS = 17.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;path = file_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'PC_SPLIT_COMPLETE_FILENAME'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;complete_filename = path&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHECK_DOS_FORMAT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DRIVE =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXTENSION = extension&lt;/P&gt;&lt;P&gt;NAME = name&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NAME_WITH_EXT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PATH =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;INVALID_DRIVE = 1&lt;/P&gt;&lt;P&gt;INVALID_EXTENSION = 2&lt;/P&gt;&lt;P&gt;INVALID_NAME = 3&lt;/P&gt;&lt;P&gt;INVALID_PATH = 4&lt;/P&gt;&lt;P&gt;OTHERS = 5&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "upl&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***INCLUDE ZINCLUDE_01 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;10.08.2005 Amit M - Created&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Include For Mail (First Req F16)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modification Log&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables crmrfcpar.&lt;/P&gt;&lt;P&gt;DATA: docdata LIKE sodocchgi1,&lt;/P&gt;&lt;P&gt;objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;objhex LIKE solix OCCURS 10 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: tab_lines TYPE i,&lt;/P&gt;&lt;P&gt;doc_size TYPE i,&lt;/P&gt;&lt;P&gt;att_type LIKE soodk-objtp.&lt;/P&gt;&lt;P&gt;DATA: listobject LIKE abaplist OCCURS 1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;data v_rfcdest               LIKE crmrfcpar-rfcdest.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;FORM ml_customize USING objname objdesc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------" /&gt;&lt;P&gt; Clear Variables&lt;/P&gt;&lt;P&gt;CLEAR docdata.&lt;/P&gt;&lt;P&gt;REFRESH objpack.&lt;/P&gt;&lt;P&gt;CLEAR objpack.&lt;/P&gt;&lt;P&gt;REFRESH objhead.&lt;/P&gt;&lt;P&gt;REFRESH objtxt.&lt;/P&gt;&lt;P&gt;CLEAR objtxt.&lt;/P&gt;&lt;P&gt;REFRESH objbin.&lt;/P&gt;&lt;P&gt;CLEAR objbin.&lt;/P&gt;&lt;P&gt;REFRESH objhex.&lt;/P&gt;&lt;P&gt;CLEAR objhex.&lt;/P&gt;&lt;P&gt;REFRESH reclist.&lt;/P&gt;&lt;P&gt;CLEAR reclist.&lt;/P&gt;&lt;P&gt;REFRESH listobject.&lt;/P&gt;&lt;P&gt;CLEAR listobject.&lt;/P&gt;&lt;P&gt;CLEAR tab_lines.&lt;/P&gt;&lt;P&gt;CLEAR doc_size.&lt;/P&gt;&lt;P&gt;CLEAR att_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt; Set Variables&lt;/P&gt;&lt;P&gt;docdata-obj_name = objname.&lt;/P&gt;&lt;P&gt;docdata-obj_descr = objdesc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_customize&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;FORM ml_addrecp USING preceiver prec_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR reclist.&lt;/P&gt;&lt;P&gt;reclist-receiver = preceiver.&lt;/P&gt;&lt;P&gt;reclist-rec_type = prec_type.&lt;/P&gt;&lt;P&gt;APPEND reclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_customize&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;FORM ml_addtxt USING ptxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR objtxt.&lt;/P&gt;&lt;P&gt;objtxt = ptxt.&lt;/P&gt;&lt;P&gt;APPEND objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_customize&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;FORM ml_prepare USING bypassmemory whatatt_type whatname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF bypassmemory = ''.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt; Fetch List From Memory&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'LIST_FROM_MEMORY'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;listobject = listobject&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;OTHERS = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID '61' TYPE 'E' NUMBER '731'&lt;/P&gt;&lt;P&gt;WITH 'LIST_FROM_MEMORY'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'TABLE_COMPRESS'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COMPRESSED_SIZE =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;in = listobject&lt;/P&gt;&lt;P&gt;out = objbin&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;OTHERS = 1&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID '61' TYPE 'E' NUMBER '731'&lt;/P&gt;&lt;P&gt;WITH 'TABLE_COMPRESS'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Header Data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Already Done Thru FM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Main Text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Already Done Thru FM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Packing Info For Text Data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE objtxt LINES tab_lines.&lt;/P&gt;&lt;P&gt;READ TABLE objtxt INDEX tab_lines.&lt;/P&gt;&lt;P&gt;docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).&lt;/P&gt;&lt;P&gt;CLEAR objpack-transf_bin.&lt;/P&gt;&lt;P&gt;objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;objpack-head_num = 0.&lt;/P&gt;&lt;P&gt;objpack-body_start = 1.&lt;/P&gt;&lt;P&gt;objpack-body_num = tab_lines.&lt;/P&gt;&lt;P&gt;objpack-doc_type = 'TXT'.&lt;/P&gt;&lt;P&gt;APPEND objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Packing Info Attachment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;att_type = whatatt_type..&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE objbin LINES tab_lines.&lt;/P&gt;&lt;P&gt;READ TABLE objbin INDEX tab_lines.&lt;/P&gt;&lt;P&gt;objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).&lt;/P&gt;&lt;P&gt;objpack-transf_bin = 'X'.&lt;/P&gt;&lt;P&gt;objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;objpack-head_num = 0.&lt;/P&gt;&lt;P&gt;objpack-body_start = 1.&lt;/P&gt;&lt;P&gt;objpack-body_num = tab_lines.&lt;/P&gt;&lt;P&gt;objpack-doc_type = att_type.&lt;/P&gt;&lt;P&gt;objpack-obj_name = 'ATTACHMENT'.&lt;/P&gt;&lt;P&gt;objpack-obj_descr = whatname.&lt;/P&gt;&lt;P&gt;APPEND objpack.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Receiver List&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Already done thru fm&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;-----------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_prepare&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ml_dosend.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1' &lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;document_data = docdata&lt;/P&gt;&lt;P&gt;put_in_outbox = 'X'&lt;/P&gt;&lt;P&gt;commit_work = 'X' "used from rel. 6.10&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SENT_TO_ALL =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;NEW_OBJECT_ID =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;packing_list = objpack&lt;/P&gt;&lt;P&gt;object_header = objhead&lt;/P&gt;&lt;P&gt;contents_bin = objbin&lt;/P&gt;&lt;P&gt;contents_txt = objtxt&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CONTENTS_HEX = objhex&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OBJECT_PARA =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;object_parb =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;receivers = reclist&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;too_many_receivers = 1&lt;/P&gt;&lt;P&gt;document_not_sent = 2&lt;/P&gt;&lt;P&gt;document_type_not_exist = 3&lt;/P&gt;&lt;P&gt;operation_no_authorization = 4&lt;/P&gt;&lt;P&gt;parameter_error = 5&lt;/P&gt;&lt;P&gt;x_error = 6&lt;/P&gt;&lt;P&gt;enqueue_error = 7&lt;/P&gt;&lt;P&gt;OTHERS = 8&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID 'SO' TYPE 'S' NUMBER '023'&lt;/P&gt;&lt;P&gt;WITH docdata-obj_name.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_customize&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;FORM ml_spooltopdf USING whatspoolid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : pdf LIKE tline OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------" /&gt;&lt;P&gt; Call Function&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;src_spoolid = whatspoolid&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;pdf = pdf&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;err_no_otf_spooljob = 1&lt;/P&gt;&lt;P&gt;OTHERS = 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; Convert&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM doconv TABLES pdf objbin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_spooltopdf&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM doconv TABLES&lt;/P&gt;&lt;P&gt;mypdf STRUCTURE tline&lt;/P&gt;&lt;P&gt;outbin STRUCTURE solisti1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt; Data&lt;/P&gt;&lt;P&gt;DATA : pos TYPE i.&lt;/P&gt;&lt;P&gt;DATA : len TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------" /&gt;&lt;P&gt; Loop And Put Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT mypdf.&lt;/P&gt;&lt;P&gt;pos = 255 - len.&lt;/P&gt;&lt;P&gt;IF pos &amp;gt; 134. "length of pdf_table&lt;/P&gt;&lt;P&gt;pos = 134.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;outbin+len = mypdf(pos).&lt;/P&gt;&lt;P&gt;len = len + pos.&lt;/P&gt;&lt;P&gt;IF len = 255. "length of out (contents_bin)&lt;/P&gt;&lt;P&gt;APPEND outbin.&lt;/P&gt;&lt;P&gt;CLEAR: outbin, len.&lt;/P&gt;&lt;P&gt;IF pos &amp;lt; 134.&lt;/P&gt;&lt;P&gt;outbin = mypdf+pos.&lt;/P&gt;&lt;P&gt;len = 134 - pos.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;IF len &amp;gt; 0.&lt;/P&gt;&lt;P&gt;APPEND outbin.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "doconv&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ml_saveforbp USING jobname jobcount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------" /&gt;&lt;P&gt; Data&lt;/P&gt;&lt;P&gt;*data : yhead like yhrt_bp_head.&lt;/P&gt;&lt;P&gt;*DATA : ydocdata LIKE yhrt_bp_docdata,&lt;/P&gt;&lt;P&gt;*yobjtxt LIKE yhrt_bp_objtxt OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;*yreclist LIKE yhrt_bp_reclist OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*DATA : seqnr TYPE i.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; Head&lt;/P&gt;&lt;P&gt;*yhead-jobname = jobname.&lt;/P&gt;&lt;P&gt;*yhead-jobcount = jobcount..&lt;/P&gt;&lt;P&gt;*MODIFY yhrt_bp_head FROM yhead.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; Doc Data&lt;/P&gt;&lt;P&gt;*ydocdata-jobname = jobname.&lt;/P&gt;&lt;P&gt;*ydocdata-jobcount = jobcount.&lt;/P&gt;&lt;P&gt;*MOVE-CORRESPONDING docdata TO ydocdata.&lt;/P&gt;&lt;P&gt;*MODIFY yhrt_bp_docdata FROM ydocdata.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; Objtxt&lt;/P&gt;&lt;P&gt;*seqnr = 0.&lt;/P&gt;&lt;P&gt;*LOOP AT objtxt.&lt;/P&gt;&lt;P&gt;*seqnr = seqnr + 1.&lt;/P&gt;&lt;P&gt;*yobjtxt-jobname = jobname.&lt;/P&gt;&lt;P&gt;*yobjtxt-jobcount = jobcount.&lt;/P&gt;&lt;P&gt;*yobjtxt-seqnr = seqnr.&lt;/P&gt;&lt;P&gt;*MOVE-CORRESPONDING objtxt TO yobjtxt.&lt;/P&gt;&lt;P&gt;*MODIFY yhrt_bp_objtxt FROM yobjtxt.&lt;/P&gt;&lt;P&gt;*ENDLOOP.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; RecList&lt;/P&gt;&lt;P&gt;*seqnr = 0.&lt;/P&gt;&lt;P&gt;*LOOP AT reclist.&lt;/P&gt;&lt;P&gt;*seqnr = seqnr + 1.&lt;/P&gt;&lt;P&gt;*yreclist-jobname = jobname.&lt;/P&gt;&lt;P&gt;*yreclist-jobcount = jobcount.&lt;/P&gt;&lt;P&gt;*yreclist-seqnr = seqnr.&lt;/P&gt;&lt;P&gt;*MOVE-CORRESPONDING reclist TO yreclist.&lt;/P&gt;&lt;P&gt;*MODIFY yhrt_bp_reclist FROM yreclist.&lt;/P&gt;&lt;P&gt;*ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_saveforbp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ml_fetchfrombp USING jobname jobcount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CLEAR docdata.&lt;/P&gt;&lt;P&gt;*REFRESH objtxt.&lt;/P&gt;&lt;P&gt;*REFRESH reclist.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*SELECT SINGLE * FROM yhrt_bp_docdata&lt;/P&gt;&lt;P&gt;*INTO corresponding fields of docdata&lt;/P&gt;&lt;P&gt;*WHERE jobname = jobname&lt;/P&gt;&lt;P&gt;*AND jobcount = jobcount.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*SELECT * FROM yhrt_bp_objtxt&lt;/P&gt;&lt;P&gt;*INTO corresponding fields of TABLE objtxt&lt;/P&gt;&lt;P&gt;*WHERE jobname = jobname&lt;/P&gt;&lt;P&gt;*AND jobcount = jobcount&lt;/P&gt;&lt;P&gt;*ORDER BY seqnr.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*SELECT * FROM yhrt_bp_reclist&lt;/P&gt;&lt;P&gt;*INTO corresponding fields of TABLE reclist&lt;/P&gt;&lt;P&gt;*WHERE jobname = jobname&lt;/P&gt;&lt;P&gt;*AND jobcount = jobcount&lt;/P&gt;&lt;P&gt;*ORDER BY seqnr.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "ml_fetchfrombp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Abdul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Feb 2006 13:36:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/send-email/m-p/1119389#M108473</guid>
      <dc:creator>abdul_hakim</dc:creator>
      <dc:date>2006-02-17T13:36:35Z</dc:date>
    </item>
    <item>
      <title>Re: Send Email</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/send-email/m-p/1119390#M108474</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks guys for all answers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using SO_NEW_DOCUMENT_SEND_API1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;Alexandre Nogueira&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Feb 2006 13:49:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/send-email/m-p/1119390#M108474</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-02-17T13:49:17Z</dc:date>
    </item>
  </channel>
</rss>

