<?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: Email in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423195#M202969</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;first upload the PDF file GUI_UPLOAD and sepcify the fieltype as 'BIN' and then you have the PDF data , just use the mail program &lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;and send the pdf data using the code above.&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>Tue, 11 Jul 2006 10:02:21 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-07-11T10:02:21Z</dc:date>
    <item>
      <title>Email</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423188#M202962</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Friends,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have created a PDF file from the sapscript and PDF file is in my local system.  Now, I want to email this PDF file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you pls guide me as to how to send the PDF file through email.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark K&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jul 2006 09:24:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423188#M202962</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-11T09:24:37Z</dc:date>
    </item>
    <item>
      <title>Re: Email</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423189#M202963</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;Please refer the following link &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="242685"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Prashant&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jul 2006 09:28:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423189#M202963</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-11T09:28:06Z</dc:date>
    </item>
    <item>
      <title>Re: Email</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423190#M202964</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hai Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go through the following Code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZRICH_0003.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA: ITCPO LIKE ITCPO,&lt;/P&gt;&lt;P&gt;      TAB_LINES LIKE SY-TABIX.&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;Variables for EMAIL functionality&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: MAILDATA   LIKE SODOCCHGI1.&lt;/P&gt;&lt;P&gt;DATA: MAILPACK   LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: MAILHEAD   LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: MAILBIN    LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: MAILTXT    LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: MAILREC    LIKE SOMLREC90 OCCURS 0  WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: SOLISTI1   LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;PERFORM SEND_FORM_VIA_EMAIL.&lt;/P&gt;&lt;P&gt; &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;      FORM  SEND_FORM_VIA_EMAIL                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM  SEND_FORM_VIA_EMAIL.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR:    MAILDATA, MAILTXT, MAILBIN, MAILPACK, MAILHEAD, MAILREC.&lt;/P&gt;&lt;P&gt;  REFRESH:  MAILTXT, MAILBIN, MAILPACK, MAILHEAD, MAILREC.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creation of the document to be sent File Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  MAILDATA-OBJ_NAME = 'TEST'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Mail Subject&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  MAILDATA-OBJ_DESCR = 'Subject'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Mail Contents&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  MAILTXT-LINE = 'Here is your file'.&lt;/P&gt;&lt;P&gt;  APPEND MAILTXT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Prepare Packing List&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM PREPARE_PACKING_LIST.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set recipient - email address here!!!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  MAILREC-RECEIVER = 'itsme@whatever.com'.&lt;/P&gt;&lt;P&gt;  MAILREC-REC_TYPE  = 'U'.&lt;/P&gt;&lt;P&gt;  APPEND MAILREC.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sending the document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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              = MAILDATA&lt;/P&gt;&lt;P&gt;            PUT_IN_OUTBOX              = ' '&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            PACKING_LIST               = MAILPACK&lt;/P&gt;&lt;P&gt;            OBJECT_HEADER              = MAILHEAD&lt;/P&gt;&lt;P&gt;            CONTENTS_BIN               = MAILBIN&lt;/P&gt;&lt;P&gt;            CONTENTS_TXT               = MAILTXT&lt;/P&gt;&lt;P&gt;            RECEIVERS                  = MAILREC&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;            OPERATION_NO_AUTHORIZATION = 4&lt;/P&gt;&lt;P&gt;            OTHERS                     = 99.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.&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;     Form  PREPARE_PACKING_LIST&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM PREPARE_PACKING_LIST.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR:    MAILPACK, MAILBIN, MAILHEAD.&lt;/P&gt;&lt;P&gt;  REFRESH:  MAILPACK, MAILBIN, MAILHEAD.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE MAILTXT LINES TAB_LINES.&lt;/P&gt;&lt;P&gt;  READ TABLE MAILTXT INDEX TAB_LINES.&lt;/P&gt;&lt;P&gt;  MAILDATA-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( MAILTXT ).&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creation of the entry for the compressed document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR MAILPACK-TRANSF_BIN.&lt;/P&gt;&lt;P&gt;  MAILPACK-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;  MAILPACK-HEAD_NUM = 0.&lt;/P&gt;&lt;P&gt;  MAILPACK-BODY_START = 1.&lt;/P&gt;&lt;P&gt;  MAILPACK-BODY_NUM = TAB_LINES.&lt;/P&gt;&lt;P&gt;  MAILPACK-DOC_TYPE = 'RAW'.&lt;/P&gt;&lt;P&gt;  APPEND MAILPACK.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creation of the document attachment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This form gets the OTF code from the SAPscript form.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If you already have your OTF code, I believe that you may&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;be able to skip this form.  just do the following code, looping thru&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;your SOLISTI1 and updating MAILBIN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM GET_OTF_CODE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  LOOP AT SOLISTI1.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING SOLISTI1 TO MAILBIN.&lt;/P&gt;&lt;P&gt;    APPEND MAILBIN.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE MAILBIN LINES TAB_LINES.&lt;/P&gt;&lt;P&gt;  MAILHEAD = 'TEST.OTF'.&lt;/P&gt;&lt;P&gt;  APPEND MAILHEAD.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Creation of the entry for the compressed attachment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;  MAILPACK-TRANSF_BIN = 'X'.&lt;/P&gt;&lt;P&gt;  MAILPACK-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;  MAILPACK-HEAD_NUM = 1.&lt;/P&gt;&lt;P&gt;  MAILPACK-BODY_START = 1.&lt;/P&gt;&lt;P&gt;  MAILPACK-BODY_NUM = TAB_LINES.&lt;/P&gt;&lt;P&gt;  MAILPACK-DOC_TYPE = 'OTF'.&lt;/P&gt;&lt;P&gt;  MAILPACK-OBJ_NAME = 'TEST'.&lt;/P&gt;&lt;P&gt;  MAILPACK-OBJ_DESCR = 'Subject'.&lt;/P&gt;&lt;P&gt;  MAILPACK-DOC_SIZE = TAB_LINES * 255.&lt;/P&gt;&lt;P&gt;  APPEND MAILPACK.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.&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;     Form  GET_OTF_CODE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;FORM  GET_OTF_CODE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF OTF OCCURS 0.&lt;/P&gt;&lt;P&gt;          INCLUDE STRUCTURE ITCOO .&lt;/P&gt;&lt;P&gt;  DATA: END OF OTF.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  DATA: ITCPO LIKE ITCPO.&lt;/P&gt;&lt;P&gt;  DATA: ITCPP LIKE ITCPP.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR ITCPO.&lt;/P&gt;&lt;P&gt;  ITCPO-TDGETOTF = 'X'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start writing OTF code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'OPEN_FORM'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            FORM     = 'ZTEST_FORM'&lt;/P&gt;&lt;P&gt;            LANGUAGE = SY-LANGU&lt;/P&gt;&lt;P&gt;            OPTIONS  = ITCPO&lt;/P&gt;&lt;P&gt;            DIALOG   = ' '&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;  CALL FUNCTION 'START_FORM'&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            ERROR_MESSAGE = 01&lt;/P&gt;&lt;P&gt;            OTHERS        = 02.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            WINDOW        = 'MAIN'&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            ERROR_MESSAGE = 01&lt;/P&gt;&lt;P&gt;            OTHERS        = 02.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Close up Form and get OTF code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'END_FORM'&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            ERROR_MESSAGE = 01&lt;/P&gt;&lt;P&gt;            OTHERS        = 02.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING ITCPO TO ITCPP.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CLOSE_FORM'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            RESULT  = ITCPP&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            OTFDATA = OTF&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move OTF code to structure SOLI form email&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR SOLISTI1. REFRESH SOLISTI1.&lt;/P&gt;&lt;P&gt;  LOOP AT OTF.&lt;/P&gt;&lt;P&gt;    SOLISTI1-LINE = OTF.&lt;/P&gt;&lt;P&gt;    APPEND SOLISTI1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; regards&lt;/P&gt;&lt;P&gt;Sreenivasulu P&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jul 2006 09:30:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423190#M202964</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-11T09:30:17Z</dc:date>
    </item>
    <item>
      <title>Re: Email</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423191#M202965</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi mark,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. There is some trick involved&lt;/P&gt;&lt;P&gt;in the binary files.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. I have made a program (and it works fantastic)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ONLY 6 LINES FOR EMAILING&lt;/P&gt;&lt;P&gt;BELIEVE ME &lt;/P&gt;&lt;P&gt;ITS A FANTASTIC PROGRAM.&lt;/P&gt;&lt;P&gt;IT WILL WORK LIKE OUTLOOK EXPRESS !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. The user is provided with&lt;/P&gt;&lt;P&gt;a) file name&lt;/P&gt;&lt;P&gt;b) email address to send mail&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and it sends ANY FILE (.xls,.pdf .xyz..)&lt;/P&gt;&lt;P&gt;Instantaneously !&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;4. Make two things first :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Include with the name : ZAMI_INCLFOR_MAIL&lt;/P&gt;&lt;P&gt;2. Report with the name : ZAM_TEMP147 (any name will do)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Activate both and execute (2)&lt;/P&gt;&lt;P&gt;4. After providing filename, email adress&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5. Code for Include : &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;&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;&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;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; CODE FOR PROGRAM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zam_temp147 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE zami_inclfor_mail.&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;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;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;amit m.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jul 2006 09:31:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423191#M202965</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-11T09:31:15Z</dc:date>
    </item>
    <item>
      <title>Re: Email</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423192#M202966</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;PRE&gt;&lt;CODE&gt;Hide &amp;amp; Get Cursor is used in interactive programming ( in the event AT LINE-selection). 
Using Hide in Loop..Endloop, you can get the field name At Line-Select 
Event While Double Clicking That Line. 

****PROG.BEGIN***************************************************************
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZPREM_INTERACTIVE                                           *
*&amp;amp;                                                                     *
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;                                                                     *
*&amp;amp;                                                                     *
*&amp;amp;---------------------------------------------------------------------*

REPORT  zprem_interactive                       .

TYPES : BEGIN OF ty_test,
        code TYPE i,
        name(10) TYPE c,
        amount TYPE p DECIMALS 2,
       END OF ty_test.

DATA : it_test TYPE STANDARD TABLE OF ty_test WITH HEADER LINE INITIAL SIZE 10.

DATA : wa TYPE ty_test,
       chk1 TYPE c,
       fldname(30), fldval(50).

*set pf-status 'PF01'.
*set titlebar 'PF01'.
*

INITIALIZATION.
  it_test-code = 300.
  it_test-name = 'Ramesh'.
  it_test-amount = 5500.
  APPEND it_test.

  wa-code = 207.
  wa-name = 'Prem'.
  wa-amount = 5000.
  APPEND wa TO it_test.

  it_test-code = 117.
  it_test-name = 'James Bond'.
  it_test-amount = 9900.
  INSERT it_test INDEX 3.

  it_test-code = 217.
  it_test-name = 'Sivaraman'.
  it_test-amount = 9900.
  INSERT it_test INDEX 3.

  it_test-code = 201.
  it_test-name = 'Saravanan'.
  it_test-amount = 1000.
  APPEND it_test.

  it_test-code = 210.
  it_test-name = 'Shanmugam'.
  it_test-amount = 6000.
  APPEND it_test.

  WRITE : / 'Loop Display ( Appended rows ) :-'.
  LOOP AT it_test.
    WRITE : / chk1 AS CHECKBOX,
    sy-tabix, sy-vline, it_test-code, it_test-name, it_test-amount.
    HIDE : it_test-code, it_test-name.
  ENDLOOP.
  SKIP.

END-OF-SELECTION.
  CLEAR : it_test-code, it_test-name.
  WRITE : / 'this from end of selection'.


*&amp;amp;--------------------------------------------------------------------*
*&amp;amp;      Form  DISP1
*&amp;amp;--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
FORM disp1.
  WINDOW STARTING AT 15 10
         ENDING AT 80 15.
  DO.
    CLEAR chk1.
    READ LINE sy-index FIELD VALUE chk1.
    IF sy-subrc NE 0.
      EXIT.
    ELSE.
      CHECK chk1 NE space.
      WRITE : / it_test-code, it_test-name.
      MODIFY CURRENT LINE :
        FIELD VALUE chk1 FROM ' '
        FIELD FORMAT chk1 INPUT OFF.
    ENDIF.
  ENDDO.
ENDFORM.                                                    "DISP1

***line double click ****
AT LINE-SELECTION.
  CHECK sy-lsind = 1.
  WINDOW STARTING AT 5 4
         ENDING AT 85 20.
  WRITE: /  'THE USER DOUBLE-CLICKED A LINE IN THE REPORT'.
  WRITE: /  sy-lisel.
  WRITE : / 'Sometime ',it_test-name, ' is good '.
  WRITE : / 'Sometime ',it_test-name, ' is bad  '.
  WRITE : / 'Sometime ',it_test-name, ' is rich '.
  WRITE : / 'Sometime ',it_test-name, ' is poor '.
  WRITE : / 'Who knows, who is ',it_test-name, ' ? '.
  WRITE : /, / 'we can also use this in SELECT statement'.
  CLEAR : it_test-code, it_test-name.

        .
IF SY-SUBRC &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

  ULINE.
  SKIP.
  SKIP.
  WRITE : / 'Below from Get Cursor Field...'.
  GET CURSOR FIELD fldname VALUE fldval.
  CONDENSE fldname.
  CONDENSE fldval.
  WRITE : / 'You have clicked ', fldname, ' &amp;amp; its value is ', fldval.

***function key press F6 ****
AT PF06.
  PERFORM disp1.

*AT USER-COMMAND.
*  CASE SY-UCOMM.
*    WHEN 'STOP' OR 'CANCEL'.
*      LEAVE TO SCREEN 0.
*    WHEN 'TESTME'.
*      PERFORM DISP1.
*  ENDCASE.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if you want to run the Program in the Background, see the below link for example code&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/sending-mail-with-attachment-report-in-background.htm" target="test_blank"&gt;http://www.sap-img.com/abap/sending-mail-with-attachment-report-in-background.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Sudheer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jul 2006 09:35:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423192#M202966</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-11T09:35:17Z</dc:date>
    </item>
    <item>
      <title>Re: Email</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423193#M202967</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thru&lt;/P&gt;&lt;P&gt;'SO_NEW_DOCUMENT_ATT_SEND_API1&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jul 2006 09:37:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423193#M202967</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-11T09:37:48Z</dc:date>
    </item>
    <item>
      <title>Re: Email</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423194#M202968</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Ignore my last post, and see this sample code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZEMAIL_ATTACH                                               *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Example of sending external email via SAPCONNECT                    *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZEMAIL_ATTACH                   .&lt;/P&gt;&lt;P&gt;TABLES: ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_email   TYPE somlreci1-receiver&lt;/P&gt;&lt;P&gt;                                  DEFAULT 'test@sapdev.co.uk'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_ekpo,&lt;/P&gt;&lt;P&gt;  ebeln TYPE ekpo-ebeln,&lt;/P&gt;&lt;P&gt;  ebelp TYPE ekpo-ebelp,&lt;/P&gt;&lt;P&gt;  aedat TYPE ekpo-aedat,&lt;/P&gt;&lt;P&gt;  matnr TYPE ekpo-matnr,&lt;/P&gt;&lt;P&gt; END OF t_ekpo.&lt;/P&gt;&lt;P&gt;DATA: it_ekpo TYPE STANDARD TABLE OF t_ekpo INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_ekpo TYPE t_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_charekpo,&lt;/P&gt;&lt;P&gt;  ebeln(10) TYPE c,&lt;/P&gt;&lt;P&gt;  ebelp(5)  TYPE c,&lt;/P&gt;&lt;P&gt;  aedat(8)  TYPE c,&lt;/P&gt;&lt;P&gt;  matnr(18) TYPE c,&lt;/P&gt;&lt;P&gt; END OF t_charekpo.&lt;/P&gt;&lt;P&gt;DATA: wa_charekpo TYPE t_charekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   it_message TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0&lt;/P&gt;&lt;P&gt;                WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA:   it_attach TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0&lt;/P&gt;&lt;P&gt;                WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   t_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        t_contents LIKE solisti1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        t_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        t_attachment LIKE solisti1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        t_object_header LIKE solisti1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        w_cnt TYPE i,&lt;/P&gt;&lt;P&gt;        w_sent_all(1) TYPE c,&lt;/P&gt;&lt;P&gt;        w_doc_data LIKE sodocchgi1,&lt;/P&gt;&lt;P&gt;        gd_error    TYPE sy-subrc,&lt;/P&gt;&lt;P&gt;        gd_reciever TYPE sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&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;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Retrieve sample data from table ekpo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM data_retrieval.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Populate table with detaisl to be entered into .xls file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM build_xls_data_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*END-OF-SELECTION&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate message body text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform populate_email_message_body.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Send file by email as .xls speadsheet&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM send_file_as_email_attachment&lt;/P&gt;&lt;P&gt;                               tables it_message&lt;/P&gt;&lt;P&gt;                                      it_attach&lt;/P&gt;&lt;P&gt;                                using p_email&lt;/P&gt;&lt;P&gt;                                      'Example .xls documnet attachment'&lt;/P&gt;&lt;P&gt;                                      'XLS'&lt;/P&gt;&lt;P&gt;                                      'filename'&lt;/P&gt;&lt;P&gt;                                      ' '&lt;/P&gt;&lt;P&gt;                                      ' '&lt;/P&gt;&lt;P&gt;                                      ' '&lt;/P&gt;&lt;P&gt;                             changing gd_error&lt;/P&gt;&lt;P&gt;                                      gd_reciever.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Instructs mail send program for SAPCONNECT to send email(rsconn01)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM initiate_mail_execute_program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DATA_RETRIEVAL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Retrieve data form EKPO table and populate itab it_ekko&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM data_retrieval.&lt;/P&gt;&lt;P&gt;  SELECT ebeln ebelp aedat matnr&lt;/P&gt;&lt;P&gt;   UP TO 10 ROWS&lt;/P&gt;&lt;P&gt;    FROM ekpo&lt;/P&gt;&lt;P&gt;    INTO TABLE it_ekpo.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DATA_RETRIEVAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_XLS_DATA_TABLE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Build data table for .xls document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_xls_data_table.&lt;/P&gt;&lt;P&gt;  CONSTANTS: con_cret TYPE x VALUE '0D',  "OK for non Unicode&lt;/P&gt;&lt;P&gt;             con_tab TYPE x VALUE '09'.   "OK for non Unicode&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*If you have Unicode check active in program attributes thnen you will&lt;/P&gt;&lt;P&gt;*need to declare constants as follows&lt;/P&gt;&lt;P&gt;*class cl_abap_char_utilities definition load.&lt;/P&gt;&lt;P&gt;*constants:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   con_tab  type c value cl_abap_char_utilities=&amp;gt;HORIZONTAL_TAB,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   con_cret type c value cl_abap_char_utilities=&amp;gt;CR_LF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE 'EBELN' 'EBELP' 'AEDAT' 'MATNR'&lt;/P&gt;&lt;P&gt;         INTO it_attach SEPARATED BY con_tab.&lt;/P&gt;&lt;P&gt;  CONCATENATE con_cret it_attach  INTO it_attach.&lt;/P&gt;&lt;P&gt;  APPEND  it_attach.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_ekpo INTO wa_charekpo.&lt;/P&gt;&lt;P&gt;    CONCATENATE wa_charekpo-ebeln wa_charekpo-ebelp&lt;/P&gt;&lt;P&gt;                wa_charekpo-aedat wa_charekpo-matnr&lt;/P&gt;&lt;P&gt;           INTO it_attach SEPARATED BY con_tab.&lt;/P&gt;&lt;P&gt;    CONCATENATE con_cret it_attach  INTO it_attach.&lt;/P&gt;&lt;P&gt;    APPEND  it_attach.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_XLS_DATA_TABLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SEND_FILE_AS_EMAIL_ATTACHMENT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Send email&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM send_file_as_email_attachment tables pit_message&lt;/P&gt;&lt;P&gt;                                          pit_attach&lt;/P&gt;&lt;P&gt;                                    using p_email&lt;/P&gt;&lt;P&gt;                                          p_mtitle&lt;/P&gt;&lt;P&gt;                                          p_format&lt;/P&gt;&lt;P&gt;                                          p_filename&lt;/P&gt;&lt;P&gt;                                          p_attdescription&lt;/P&gt;&lt;P&gt;                                          p_sender_address&lt;/P&gt;&lt;P&gt;                                          p_sender_addres_type&lt;/P&gt;&lt;P&gt;                                 changing p_error&lt;/P&gt;&lt;P&gt;                                          p_reciever.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ld_error    TYPE sy-subrc,&lt;/P&gt;&lt;P&gt;        ld_reciever TYPE sy-subrc,&lt;/P&gt;&lt;P&gt;        ld_mtitle LIKE sodocchgi1-obj_descr,&lt;/P&gt;&lt;P&gt;        ld_email LIKE  somlreci1-receiver,&lt;/P&gt;&lt;P&gt;        ld_format TYPE  so_obj_tp ,&lt;/P&gt;&lt;P&gt;        ld_attdescription TYPE  so_obj_nam ,&lt;/P&gt;&lt;P&gt;        ld_attfilename TYPE  so_obj_des ,&lt;/P&gt;&lt;P&gt;        ld_sender_address LIKE  soextreci1-receiver,&lt;/P&gt;&lt;P&gt;        ld_sender_address_type LIKE  soextreci1-adr_typ,&lt;/P&gt;&lt;P&gt;        ld_receiver LIKE  sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ld_email   = p_email.&lt;/P&gt;&lt;P&gt;  ld_mtitle = p_mtitle.&lt;/P&gt;&lt;P&gt;  ld_format              = p_format.&lt;/P&gt;&lt;P&gt;  ld_attdescription      = p_attdescription.&lt;/P&gt;&lt;P&gt;  ld_attfilename         = p_filename.&lt;/P&gt;&lt;P&gt;  ld_sender_address      = p_sender_address.&lt;/P&gt;&lt;P&gt;  ld_sender_address_type = p_sender_addres_type.&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;Fill the document data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_doc_data-doc_size = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the subject/generic message attributes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_doc_data-obj_langu = sy-langu.&lt;/P&gt;&lt;P&gt;  w_doc_data-obj_name  = 'SAPRPT'.&lt;/P&gt;&lt;P&gt;  w_doc_data-obj_descr = ld_mtitle .&lt;/P&gt;&lt;P&gt;  w_doc_data-sensitivty = 'F'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill the document data and get size of attachment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR w_doc_data.&lt;/P&gt;&lt;P&gt;  READ TABLE it_attach INDEX w_cnt.&lt;/P&gt;&lt;P&gt;  w_doc_data-doc_size =&lt;/P&gt;&lt;P&gt;     ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).&lt;/P&gt;&lt;P&gt;  w_doc_data-obj_langu  = sy-langu.&lt;/P&gt;&lt;P&gt;  w_doc_data-obj_name   = 'SAPRPT'.&lt;/P&gt;&lt;P&gt;  w_doc_data-obj_descr  = ld_mtitle.&lt;/P&gt;&lt;P&gt;  w_doc_data-sensitivty = 'F'.&lt;/P&gt;&lt;P&gt;  CLEAR t_attachment.&lt;/P&gt;&lt;P&gt;  REFRESH t_attachment.&lt;/P&gt;&lt;P&gt;  t_attachment[] = pit_attach[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Describe the body of the message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR t_packing_list.&lt;/P&gt;&lt;P&gt;  REFRESH t_packing_list.&lt;/P&gt;&lt;P&gt;  t_packing_list-transf_bin = space.&lt;/P&gt;&lt;P&gt;  t_packing_list-head_start = 1.&lt;/P&gt;&lt;P&gt;  t_packing_list-head_num = 0.&lt;/P&gt;&lt;P&gt;  t_packing_list-body_start = 1.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE it_message LINES t_packing_list-body_num.&lt;/P&gt;&lt;P&gt;  t_packing_list-doc_type = 'RAW'.&lt;/P&gt;&lt;P&gt;  APPEND t_packing_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create attachment notification&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  t_packing_list-transf_bin = 'X'.&lt;/P&gt;&lt;P&gt;  t_packing_list-head_start = 1.&lt;/P&gt;&lt;P&gt;  t_packing_list-head_num   = 1.&lt;/P&gt;&lt;P&gt;  t_packing_list-body_start = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.&lt;/P&gt;&lt;P&gt;  t_packing_list-doc_type   =  ld_format.&lt;/P&gt;&lt;P&gt;  t_packing_list-obj_descr  =  ld_attdescription.&lt;/P&gt;&lt;P&gt;  t_packing_list-obj_name   =  ld_attfilename.&lt;/P&gt;&lt;P&gt;  t_packing_list-doc_size   =  t_packing_list-body_num * 255.&lt;/P&gt;&lt;P&gt;  APPEND t_packing_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add the recipients email address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR t_receivers.&lt;/P&gt;&lt;P&gt;  REFRESH t_receivers.&lt;/P&gt;&lt;P&gt;  t_receivers-receiver = ld_email.&lt;/P&gt;&lt;P&gt;  t_receivers-rec_type = 'U'.&lt;/P&gt;&lt;P&gt;  t_receivers-com_type = 'INT'.&lt;/P&gt;&lt;P&gt;  t_receivers-notif_del = 'X'.&lt;/P&gt;&lt;P&gt;  t_receivers-notif_ndel = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND t_receivers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SO_DOCUMENT_SEND_API1'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            document_data              = w_doc_data&lt;/P&gt;&lt;P&gt;            put_in_outbox              = 'X'&lt;/P&gt;&lt;P&gt;            sender_address             = ld_sender_address&lt;/P&gt;&lt;P&gt;            sender_address_type        = ld_sender_address_type&lt;/P&gt;&lt;P&gt;            commit_work                = 'X'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            sent_to_all                = w_sent_all&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            packing_list               = t_packing_list&lt;/P&gt;&lt;P&gt;            contents_bin               = t_attachment&lt;/P&gt;&lt;P&gt;            contents_txt               = it_message&lt;/P&gt;&lt;P&gt;            receivers                  = t_receivers&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate zerror return code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ld_error = sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate zreceiver return code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT t_receivers.&lt;/P&gt;&lt;P&gt;    ld_receiver = t_receivers-retrn_code.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  INITIATE_MAIL_EXECUTE_PROGRAM&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Instructs mail send program for SAPCONNECT to send email.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM initiate_mail_execute_program.&lt;/P&gt;&lt;P&gt;  WAIT UP TO 2 SECONDS.&lt;/P&gt;&lt;P&gt;  SUBMIT rsconn01 WITH mode = 'INT'&lt;/P&gt;&lt;P&gt;                WITH output = 'X'&lt;/P&gt;&lt;P&gt;                AND RETURN.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " INITIATE_MAIL_EXECUTE_PROGRAM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  POPULATE_EMAIL_MESSAGE_BODY&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Populate message body text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form populate_email_message_body.&lt;/P&gt;&lt;P&gt;  REFRESH it_message.&lt;/P&gt;&lt;P&gt;  it_message = 'Please find attached a list test ekpo records'.&lt;/P&gt;&lt;P&gt;  APPEND it_message.&lt;/P&gt;&lt;P&gt;endform.                    " POPULATE_EMAIL_MESSAGE_BODY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want run the report in the Background&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/sending-mail-with-attachment-report-in-background.htm" target="test_blank"&gt;http://www.sap-img.com/abap/sending-mail-with-attachment-report-in-background.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Sudheer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jul 2006 09:40:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423194#M202968</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-11T09:40:50Z</dc:date>
    </item>
    <item>
      <title>Re: Email</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423195#M202969</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;first upload the PDF file GUI_UPLOAD and sepcify the fieltype as 'BIN' and then you have the PDF data , just use the mail program &lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;and send the pdf data using the code above.&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>Tue, 11 Jul 2006 10:02:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/email/m-p/1423195#M202969</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-11T10:02:21Z</dc:date>
    </item>
  </channel>
</rss>

