<?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: Problem while sending e-mail from SAP in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349381#M175437</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Renjith,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZZEMAILREPORT  MESSAGE-ID S1&lt;/P&gt;&lt;P&gt;            NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;            LINE-SIZE  100&lt;/P&gt;&lt;P&gt;            LINE-COUNT 65(0).&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;               Source Code Documentation Section                     *&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;Program Name     : ZZEMAILREPORT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Source Code Type : Report&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date             : 10/31/2001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Programmer       : Prashant Tyagi&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description      :  This report will allow the running of any SAP    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    program and then send the output as an Email&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    attachment.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Tr. Request No   : DEVK954522&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;======================================================================&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modification Log :                                                   *&lt;/P&gt;&lt;/LI&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;Date             : 03/01/2002                                        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Requested By     : Steven P Willment                                 *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Developer        : Prashant Tyagi                                    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Changes Ref By   : CNXT-01                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description      : If no program name is entered then just the       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   subject line and text body will be sent as an     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   Email                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transport No.    : DEVK956294                                        *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date             : 03/21/2002                                        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Requested By     : Steven P Willment                                 *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Developer        : Prashant Tyagi                                    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Changes Ref By   : CNXT-02                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description      : Do not check for the program name in TRDIR if the *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   user does not enter a value in the selection      *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   screen                                            *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transport No.    : DEVK956770                                        *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date             : 06/06/2003                                        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Requested By     : Steven P Willment                                 *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Developer        : Ramandeep Singh                                   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Changes Ref By   : CNXT-03                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description      : Send as copy if "SEND_COPY" flag is set in        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   ZEMAILADDR                                        *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date             : 11/14/2005                                        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Requested By     : Tom Hutton                                        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Developer        : Ramandeep Singh                                   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Changes Ref By   : SKY-01                                            *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description      : Option to delimit a report. Program would delimit *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   the report into different columns so that programs*&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   like Excel can read it                            *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date             : 04/24/2006                                        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Requested By     : Olga Cruz / Daniel                                *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Developer        : Himanshu Aggarwal                                 *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Changes Ref By   : SKY-02                                            *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description      : Activate file delimited options for report.       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transport No.    : DEVK985197                                        *&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;                            T A B L E S                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TABLES : RLGRAP, ZEMAILADDR, TRDIR, VARID.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    I N T E R N A L   T A B L E S                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: LISTOBJECT LIKE ABAPLIST OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA COMPRESSED_LIST LIKE SOLI OCCURS 0.&lt;/P&gt;&lt;P&gt;DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: OBJHEAD LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: OBJBIN LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: OBJTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data for the status output after sending&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: USER_ADDRESS LIKE SOUSRADRI1 OCCURS 1 WITH HEADER LINE.&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;                   W O R K - F I E L D S                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: RECIPIENT_INT    LIKE SADRUD.&lt;/P&gt;&lt;P&gt;DATA: EMAIL_ADDR LIKE ZEMAILADDR-EMAIL_ADDR.&lt;/P&gt;&lt;P&gt;DATA G_DOC_TYPE LIKE SOODK-OBJTP VALUE 'ALI'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: DOC_CHNG LIKE SODOCCHGI1.&lt;/P&gt;&lt;P&gt;DATA: TAB_LINES LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;DATA: SENT_TO_ALL LIKE SONV-FLAG.&lt;/P&gt;&lt;P&gt;DATA : W-LINE TYPE I.&lt;/P&gt;&lt;P&gt;DATA: MESSAGE_VAR(200).&lt;/P&gt;&lt;P&gt;DATA: VAR(50).&lt;/P&gt;&lt;P&gt;DATA: SEP VALUE '-'.&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;          S E L E C T - O P T I O N S / P A R A M E T E R S          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK STATUS WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_SEND   AS   CHECKBOX.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_SUBJ(50) " like RLGRAP-FILENAME DEFAULT&lt;/P&gt;&lt;P&gt;               DEFAULT 'Report sent from SAP'.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_TEXT   LIKE RLGRAP-FILENAME,&lt;/P&gt;&lt;P&gt;             P_TEXT1  LIKE RLGRAP-FILENAME,&lt;/P&gt;&lt;P&gt;             P_TEXT2  LIKE RLGRAP-FILENAME.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK STATUS.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK SENDTO WITH FRAME TITLE TEXT-013.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_EMAIL FOR RECIPIENT_INT-ADDRESS NO INTERVALS&lt;/P&gt;&lt;P&gt;                                                  LOWER CASE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(45) TEXT-002 FOR FIELD P_TABLE.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_TABLE  AS   CHECKBOX.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END   OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS : P_KEY LIKE ZEMAILADDR-ADDR_KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK SENDTO.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK ABC WITH FRAME TITLE TEXT-004.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 10.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_PROG LIKE RS38M-PROGRAMM." OBLIGATORY.   "CNXT-01&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(7) TEXT-005 FOR FIELD P_PROG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 70.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_VAR LIKE RS38M-SELSET.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 63(7) TEXT-006 FOR FIELD P_VAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END   OF LINE.&lt;/P&gt;&lt;P&gt;*BEGIN OF SKY-01&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT /1(72) TEXT-C04 FOR FIELD P_SEP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT /1(72) TEXT-C02 FOR FIELD P_SEP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_NO RADIOBUTTON GROUP G1,&lt;/P&gt;&lt;P&gt;            P_TAB RADIOBUTTON GROUP G1,&lt;/P&gt;&lt;P&gt;            P_COMMA RADIOBUTTON GROUP G1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(10) TEXT-C01 FOR FIELD P_OTHER.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION POS_LOW.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_OTHER RADIOBUTTON GROUP G1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 40.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_SEP TYPE X.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT (11) TEXT-C03 FOR FIELD P_SEP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_REM AS CHECKBOX.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_NAME LIKE VAR.&lt;/P&gt;&lt;P&gt;*END OF SKY-01&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK ABC.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              A T  S E L E C T I O N - S C R E E N                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  SELECT COUNT(*) INTO W-LINE FROM ZEMAILADDR&lt;/P&gt;&lt;P&gt;  WHERE ADDR_KEY = P_KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT P_TABLE IS INITIAL AND&lt;/P&gt;&lt;P&gt;     NOT S_EMAIL IS INITIAL AND&lt;/P&gt;&lt;P&gt;     NOT P_KEY IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE W000(0K) WITH TEXT-010.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT P_TABLE IS INITIAL AND W-LINE EQ 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E000(0K) WITH TEXT-007.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_TABLE IS INITIAL AND S_EMAIL IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE E000(0K) WITH TEXT-011.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT P_PROG IS INITIAL.                                 "CNXT-02&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM TRDIR WHERE NAME = P_PROG.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE E000(0K) WITH TEXT-015.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.                                                    "CNXT-02&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT P_VAR IS INITIAL.&lt;/P&gt;&lt;P&gt;   SELECT SINGLE * FROM VARID WHERE REPORT = P_PROG AND VARIANT = P_VAR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE E000(0K) WITH TEXT-014.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*BEGIN OF SKY-01&lt;/P&gt;&lt;P&gt;  CASE 'X'.&lt;/P&gt;&lt;P&gt;    WHEN P_NO.&lt;/P&gt;&lt;P&gt;      CLEAR P_SEP.&lt;/P&gt;&lt;P&gt;    WHEN P_TAB.&lt;/P&gt;&lt;P&gt;      P_SEP = '09'.&lt;/P&gt;&lt;P&gt;    WHEN P_COMMA.&lt;/P&gt;&lt;P&gt;      P_SEP = '2C'.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;*END OF SKY-01&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt; Main Program -&lt;HR originaltext="----------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;     Report Headers                                                  *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Top of page event to create report headers and column headings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*CNXT-01 {&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;  PERFORM WRITE_HEADER.&lt;/P&gt;&lt;P&gt;*CNXT-01 }&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              S T A R T - O F - S E L E C T I O N                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  IF  P_SEND IS INITIAL.&lt;/P&gt;&lt;P&gt;    WRITE : / TEXT-008.&lt;/P&gt;&lt;P&gt;    PERFORM PRINT_RECIPIENT_LIST.&lt;/P&gt;&lt;P&gt;    WRITE : / TEXT-009.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  SKIP 1.&lt;/P&gt;&lt;P&gt;*BEGIN OF SKY-01&lt;/P&gt;&lt;P&gt;  IF NOT P_NAME IS INITIAL AND NOT P_SEP IS INITIAL.&lt;/P&gt;&lt;P&gt;    VAR = P_NAME.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*END OF SKY-01&lt;/P&gt;&lt;P&gt;    CONCATENATE P_PROG P_VAR INTO VAR SEPARATED BY SEP.&lt;/P&gt;&lt;P&gt;  ENDIF.                                                    "SKY-01&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CNXT-01 {&lt;/P&gt;&lt;P&gt;  IF NOT P_PROG IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF NOT P_VAR IS INITIAL.&lt;/P&gt;&lt;P&gt;      WRITE: /5 'REPORT : ', 18 P_PROG, 35 'USING', 43 'VARIANT : '&lt;/P&gt;&lt;P&gt;              ,55 P_VAR.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE: /5 'REPORT : ', 18 P_PROG.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    SKIP 3.&lt;/P&gt;&lt;P&gt;    PERFORM SEND_EMAIL.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_PROG IS INITIAL AND ( NOT S_EMAIL IS INITIAL&lt;/P&gt;&lt;P&gt;                        OR NOT P_TEXT IS INITIAL&lt;/P&gt;&lt;P&gt;                        OR NOT P_TEXT1 IS INITIAL&lt;/P&gt;&lt;P&gt;                        OR NOT P_TEXT2 IS INITIAL ).&lt;/P&gt;&lt;P&gt;    PERFORM NOT_SEND_REPORT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*CNXT-01 }&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_EMAIL&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;      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 SEND_EMAIL.&lt;/P&gt;&lt;P&gt;  DATA: ASCITAB(255) OCCURS 0 WITH HEADER LINE.             "SKY-01&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; SUBMIT (P_PROG) USING SELECTION-SET P_VAR EXPORTING LIST&lt;/P&gt;&lt;P&gt;TO MEMORY AND&lt;/P&gt;&lt;P&gt;               RETURN.&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;            NOT_FOUND  = 1&lt;/P&gt;&lt;P&gt;            OTHERS     = 2.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE  'Error in list_from_memory.'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE LISTOBJECT LINES TAB_LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_SEND IS INITIAL OR TAB_LINES EQ 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'LIST_FREE_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;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE  'Error in list_free_memory.'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*BEGIN OF SKY-01&lt;/P&gt;&lt;P&gt;  IF NOT P_SEP IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'LIST_TO_ASCI'&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              LISTASCI   = ASCITAB&lt;/P&gt;&lt;P&gt;              LISTOBJECT = LISTOBJECT.&lt;/P&gt;&lt;P&gt;    PERFORM REFORMAT_DATA TABLES ASCITAB OBJBIN USING P_SEP P_REM .&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*END OF SKY-01&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'TABLE_COMPRESS'&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              IN             = LISTOBJECT&lt;/P&gt;&lt;P&gt;              OUT            = COMPRESSED_LIST&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              COMPRESS_ERROR = 1&lt;/P&gt;&lt;P&gt;              OTHERS         = 2.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      WRITE: 'Error in table_compress.'.&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;&lt;/P&gt;&lt;P&gt;    MOVE COMPRESSED_LIST[] TO OBJBIN[].&lt;/P&gt;&lt;P&gt;  ENDIF.                                                    "SKY-01&lt;/P&gt;&lt;P&gt;  DOC_CHNG-OBJ_NAME = 'List'.&lt;/P&gt;&lt;P&gt;  DOC_CHNG-OBJ_DESCR = P_SUBJ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OBJTXT = P_TEXT.&lt;/P&gt;&lt;P&gt;  APPEND OBJTXT.&lt;/P&gt;&lt;P&gt;  OBJTXT = P_TEXT1.&lt;/P&gt;&lt;P&gt;  APPEND OBJTXT.&lt;/P&gt;&lt;P&gt;  OBJTXT = P_TEXT2.&lt;/P&gt;&lt;P&gt;  APPEND OBJTXT.&lt;/P&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;  DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).&lt;/P&gt;&lt;P&gt;&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 = 'RAW'.&lt;/P&gt;&lt;P&gt;  APPEND OBJPACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE OBJBIN LINES TAB_LINES.&lt;/P&gt;&lt;P&gt;&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;*BEGIN OF SKY-01&lt;/P&gt;&lt;P&gt;  DATA: FILE(50), XTN(3).&lt;/P&gt;&lt;P&gt;  IF NOT P_SEP IS INITIAL.&lt;/P&gt;&lt;P&gt;    SPLIT P_NAME AT '.' INTO FILE XTN.&lt;/P&gt;&lt;P&gt;    IF NOT XTN IS INITIAL.&lt;/P&gt;&lt;P&gt;      TRANSLATE XTN TO UPPER CASE.&lt;/P&gt;&lt;P&gt;      OBJPACK-DOC_TYPE = XTN.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      OBJPACK-DOC_TYPE = 'TXT'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*END OF SKY-01&lt;/P&gt;&lt;P&gt;    OBJPACK-DOC_TYPE = G_DOC_TYPE.&lt;/P&gt;&lt;P&gt;  ENDIF.                                                    "SKY-01&lt;/P&gt;&lt;P&gt;  OBJPACK-OBJ_NAME = 'Attachment'.&lt;/P&gt;&lt;P&gt;  OBJPACK-OBJ_DESCR = VAR.&lt;/P&gt;&lt;P&gt;  OBJPACK-DOC_SIZE = TAB_LINES * 255.&lt;/P&gt;&lt;P&gt;  APPEND OBJPACK.&lt;/P&gt;&lt;P&gt;  IF P_SEND = 'X' AND P_TABLE IS INITIAL AND NOT S_EMAIL IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT S_EMAIL.&lt;/P&gt;&lt;P&gt;      RECIPIENT_INT-ADDRESS = S_EMAIL-LOW.&lt;/P&gt;&lt;P&gt;      RECLIST-RECEIVER = RECIPIENT_INT.&lt;/P&gt;&lt;P&gt;      RECLIST-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;      APPEND RECLIST.&lt;/P&gt;&lt;P&gt;      CLEAR RECLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSEIF P_TABLE = 'X'.&lt;/P&gt;&lt;P&gt;    SELECT * FROM ZEMAILADDR WHERE ADDR_KEY = P_KEY.&lt;/P&gt;&lt;P&gt;      RECIPIENT_INT-ADDRESS = ZEMAILADDR-EMAIL_ADDR .&lt;/P&gt;&lt;P&gt;      RECLIST-RECEIVER = RECIPIENT_INT.&lt;/P&gt;&lt;P&gt;      RECLIST-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;      RECLIST-COPY = ZEMAILADDR-SEND_COPY.                  "CNXT-03&lt;/P&gt;&lt;P&gt;      APPEND RECLIST.&lt;/P&gt;&lt;P&gt;      CLEAR RECLIST.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;  ENDIF.&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              = DOC_CHNG&lt;/P&gt;&lt;P&gt;            PUT_IN_OUTBOX              = 'X'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            SENT_TO_ALL                = SENT_TO_ALL&lt;/P&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;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;            OPERATION_NO_AUTHORIZATION = 4&lt;/P&gt;&lt;P&gt;            OTHERS                     = 99.&lt;/P&gt;&lt;P&gt;  CASE SY-SUBRC.&lt;/P&gt;&lt;P&gt;    WHEN 0.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Result of the sendprocess:'.&lt;/P&gt;&lt;P&gt;      IF NOT SENT_TO_ALL IS INITIAL.&lt;/P&gt;&lt;P&gt;        WRITE: / 'Successfully sent to all recipients.'.&lt;/P&gt;&lt;P&gt;        PERFORM PRINT_RECIPIENT_LIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT RECLIST WHERE RETRN_CODE NE 0.&lt;/P&gt;&lt;P&gt;          REFRESH USER_ADDRESS.&lt;/P&gt;&lt;P&gt;          CLEAR USER_ADDRESS.&lt;/P&gt;&lt;P&gt;          USER_ADDRESS-USERID = RECLIST-REC_ID.&lt;/P&gt;&lt;P&gt;          APPEND USER_ADDRESS.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'SO_USER_ADDRESS_READ_API1'&lt;/P&gt;&lt;P&gt;               TABLES&lt;/P&gt;&lt;P&gt;                    USER_ADDRESS    = USER_ADDRESS&lt;/P&gt;&lt;P&gt;               EXCEPTIONS&lt;/P&gt;&lt;P&gt;                    ENQUEUE_ERRROR  = 1&lt;/P&gt;&lt;P&gt;                    PARAMETER_ERROR = 2&lt;/P&gt;&lt;P&gt;                    X_ERROR         = 3&lt;/P&gt;&lt;P&gt;                    OTHERS          = 4.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;            USER_ADDRESS-LONG_NAME = RECLIST-REC_ID.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          WRITE: / 'Could not send to: '.&lt;/P&gt;&lt;P&gt;          WRITE: USER_ADDRESS-LONG_NAME(48).&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT RECLIST WHERE RETRN_CODE EQ 0.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          WRITE: / 'Successfully sent to all other recipients.'.&lt;/P&gt;&lt;P&gt;          PERFORM PRINT_RECIPIENT_LIST.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 1.&lt;/P&gt;&lt;P&gt;      WRITE: / 'No permission to sent to the specified  ',&lt;/P&gt;&lt;P&gt;                'amount of recipients !'.&lt;/P&gt;&lt;P&gt;    WHEN 2.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Document could not be sent to any recipient !'.&lt;/P&gt;&lt;P&gt;    WHEN 4.&lt;/P&gt;&lt;P&gt;      WRITE: / 'No permission to send !'.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Error while sending !'.&lt;/P&gt;&lt;P&gt;  ENDCASE.&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.                               " SEND_EMAIL&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  PRINT_RECIPIENT_LIST&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;      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 PRINT_RECIPIENT_LIST.&lt;/P&gt;&lt;P&gt;  IF  NOT S_EMAIL IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT S_EMAIL.&lt;/P&gt;&lt;P&gt;      WRITE : / S_EMAIL-LOW.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSEIF P_TABLE = 'X'.&lt;/P&gt;&lt;P&gt;    SELECT * FROM ZEMAILADDR WHERE ADDR_KEY = P_KEY.&lt;/P&gt;&lt;P&gt;      WRITE : / ZEMAILADDR-EMAIL_ADDR .&lt;/P&gt;&lt;P&gt;*BEGIN OF CNXT-03&lt;/P&gt;&lt;P&gt;      IF ZEMAILADDR-SEND_COPY = 'X'.&lt;/P&gt;&lt;P&gt;        WRITE: ', As Copy'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*END OF CNXT-03&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " PRINT_RECIPIENT_LIST&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  NOT_SEND_REPORT               CNXT-01&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;*&lt;/P&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 NOT_SEND_REPORT.&lt;/P&gt;&lt;P&gt;  IF P_SEND IS INITIAL.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DOC_CHNG-OBJ_NAME = 'List'.&lt;/P&gt;&lt;P&gt;  DOC_CHNG-OBJ_DESCR = P_SUBJ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OBJTXT = P_TEXT.&lt;/P&gt;&lt;P&gt;  APPEND OBJTXT.&lt;/P&gt;&lt;P&gt;  OBJTXT = P_TEXT1.&lt;/P&gt;&lt;P&gt;  APPEND OBJTXT.&lt;/P&gt;&lt;P&gt;  OBJTXT = P_TEXT2.&lt;/P&gt;&lt;P&gt;  APPEND OBJTXT.&lt;/P&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;  DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).&lt;/P&gt;&lt;P&gt;&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 = 'RAW'.&lt;/P&gt;&lt;P&gt;  APPEND OBJPACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_SEND = 'X' AND P_TABLE IS INITIAL AND NOT S_EMAIL IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT S_EMAIL.&lt;/P&gt;&lt;P&gt;      RECIPIENT_INT-ADDRESS = S_EMAIL-LOW.&lt;/P&gt;&lt;P&gt;      RECLIST-RECEIVER = RECIPIENT_INT.&lt;/P&gt;&lt;P&gt;      RECLIST-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;      APPEND RECLIST.&lt;/P&gt;&lt;P&gt;      CLEAR RECLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSEIF P_TABLE = 'X'.&lt;/P&gt;&lt;P&gt;    SELECT * FROM ZEMAILADDR WHERE ADDR_KEY = P_KEY.&lt;/P&gt;&lt;P&gt;      RECIPIENT_INT-ADDRESS = ZEMAILADDR-EMAIL_ADDR .&lt;/P&gt;&lt;P&gt;      RECLIST-RECEIVER = RECIPIENT_INT.&lt;/P&gt;&lt;P&gt;      RECLIST-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;      RECLIST-COPY = ZEMAILADDR-SEND_COPY.                  "CNXT-03&lt;/P&gt;&lt;P&gt;      APPEND RECLIST.&lt;/P&gt;&lt;P&gt;      CLEAR RECLIST.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;  ENDIF.&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              = DOC_CHNG&lt;/P&gt;&lt;P&gt;            PUT_IN_OUTBOX              = 'X'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            SENT_TO_ALL                = SENT_TO_ALL&lt;/P&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CONTENTS_BIN               = OBJBIN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            CONTENTS_TXT               = OBJTXT&lt;/P&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;            OPERATION_NO_AUTHORIZATION = 4&lt;/P&gt;&lt;P&gt;            OTHERS                     = 99.&lt;/P&gt;&lt;P&gt;  CASE SY-SUBRC.&lt;/P&gt;&lt;P&gt;    WHEN 0.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Result of the sendprocess:'.&lt;/P&gt;&lt;P&gt;      IF NOT SENT_TO_ALL IS INITIAL.&lt;/P&gt;&lt;P&gt;        WRITE: / 'Successfully sent to all recipients.'.&lt;/P&gt;&lt;P&gt;        PERFORM PRINT_RECIPIENT_LIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT RECLIST WHERE RETRN_CODE NE 0.&lt;/P&gt;&lt;P&gt;          REFRESH USER_ADDRESS.&lt;/P&gt;&lt;P&gt;          CLEAR USER_ADDRESS.&lt;/P&gt;&lt;P&gt;          USER_ADDRESS-USERID = RECLIST-REC_ID.&lt;/P&gt;&lt;P&gt;          APPEND USER_ADDRESS.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'SO_USER_ADDRESS_READ_API1'&lt;/P&gt;&lt;P&gt;               TABLES&lt;/P&gt;&lt;P&gt;                    USER_ADDRESS    = USER_ADDRESS&lt;/P&gt;&lt;P&gt;               EXCEPTIONS&lt;/P&gt;&lt;P&gt;                    ENQUEUE_ERRROR  = 1&lt;/P&gt;&lt;P&gt;                    PARAMETER_ERROR = 2&lt;/P&gt;&lt;P&gt;                    X_ERROR         = 3&lt;/P&gt;&lt;P&gt;                    OTHERS          = 4.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;            USER_ADDRESS-LONG_NAME = RECLIST-REC_ID.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          WRITE: / 'Could not send to: '.&lt;/P&gt;&lt;P&gt;          WRITE: USER_ADDRESS-LONG_NAME(48).&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT RECLIST WHERE RETRN_CODE EQ 0.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          WRITE: / 'Successfully sent to all other recipients.'.&lt;/P&gt;&lt;P&gt;          PERFORM PRINT_RECIPIENT_LIST.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 1.&lt;/P&gt;&lt;P&gt;      WRITE: / 'No permission to sent to the specified  ',&lt;/P&gt;&lt;P&gt;                'amount of recipients !'.&lt;/P&gt;&lt;P&gt;    WHEN 2.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Document could not be sent to any recipient !'.&lt;/P&gt;&lt;P&gt;    WHEN 4.&lt;/P&gt;&lt;P&gt;      WRITE: / 'No permission to send !'.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Error while sending !'.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.     "NOT_SEND_REPORT&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  WRITE_HEADER&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;      Report heading. Top-of-page.&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 WRITE_HEADER.&lt;/P&gt;&lt;P&gt;  DATA : LINE01(100) TYPE C,&lt;/P&gt;&lt;P&gt;         LINE02 LIKE LINE01,&lt;/P&gt;&lt;P&gt;         LINE03 LIKE LINE01,&lt;/P&gt;&lt;P&gt;         LINE04 LIKE LINE01.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;function call to create report headers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'Z_REPORT_HEADERS'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            COLUMNS    = 100&lt;/P&gt;&lt;P&gt;            PERIOD     = ' '&lt;/P&gt;&lt;P&gt;            RPT_NAME   = 'ZZEMAILREPORT'&lt;/P&gt;&lt;P&gt;            RPT_TITLE1 = SY-TITLE&lt;/P&gt;&lt;P&gt;            RPT_TITLE3 = ' '&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            TEXT01     = LINE01&lt;/P&gt;&lt;P&gt;            TEXT02     = LINE02&lt;/P&gt;&lt;P&gt;            TEXT03     = LINE03&lt;/P&gt;&lt;P&gt;            TEXT04     = LINE04.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;output report header lines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WRITE: / LINE01, LINE02, LINE03, LINE04.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  SKIP .&lt;/P&gt;&lt;P&gt;ENDFORM.                               " WRITE_HEADER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      FORM REFORMAT_DATA                                            *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  ASCITAB                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  OBJBIN                                                        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  P_SEP                                                         *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  P_REM                                                         *&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 REFORMAT_DATA TABLES ASCITAB&lt;/P&gt;&lt;P&gt;                          OBJBIN STRUCTURE OBJBIN&lt;/P&gt;&lt;P&gt;                          USING P_SEP P_REM .&lt;/P&gt;&lt;P&gt;  DATA: SEP_INDEX LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;  DATA: ITAB(1000) OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;  DATA: STR LIKE ITAB.&lt;/P&gt;&lt;P&gt;  DATA X TYPE I.&lt;/P&gt;&lt;P&gt;  DATA COUNT TYPE I.&lt;/P&gt;&lt;P&gt;  DATA CNT   TYPE I.                                        "SKY-02&lt;/P&gt;&lt;P&gt;  DATA LINES_PER_RECORD TYPE I.&lt;/P&gt;&lt;P&gt;  DATA FLAG.&lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF STRUC,&lt;/P&gt;&lt;P&gt;         HEX TYPE X,&lt;/P&gt;&lt;P&gt;       END OF STRUC.&lt;/P&gt;&lt;P&gt;  STRUC-HEX = P_SEP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BEGIN OF SKY-02 {&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*Count how many lines does the report have for each record&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT ASCITAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   X = STRLEN( ASCITAB ).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF ASCITAB(X) CO '-'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     LINES_PER_RECORD = SY-TABIX - 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     DELETE ASCITAB.  "delete separator line&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXIT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modify ASCITAB so it can have complete group of 3 Records.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DESCRIBE TABLE ASCITAB LINES SY-TABIX.&lt;/P&gt;&lt;P&gt;  CNT = SY-TABIX MOD 3.&lt;/P&gt;&lt;P&gt;  IF CNT &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    CNT = 3 - CNT.&lt;/P&gt;&lt;P&gt;    DO CNT TIMES.&lt;/P&gt;&lt;P&gt;      ASCITAB = ' '.&lt;/P&gt;&lt;P&gt;      APPEND ASCITAB.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;} END OF SKY-02.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*all lines for one record to be brought in one line&lt;/P&gt;&lt;P&gt;  LOOP AT ASCITAB.&lt;/P&gt;&lt;P&gt;    X = ( COUNT * 255 ).&lt;/P&gt;&lt;P&gt;    IF NOT X IS INITIAL. X = X + 1. ENDIF.&lt;/P&gt;&lt;P&gt;    MOVE ASCITAB TO ITAB+X(255).&lt;/P&gt;&lt;P&gt;    COUNT = COUNT + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;{ BEGIN OF SKY-02.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IF COUNT = LINES_PER_RECORD.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF COUNT = 3.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;} END OF SKY-02.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR COUNT.&lt;/P&gt;&lt;P&gt;      APPEND ITAB.&lt;/P&gt;&lt;P&gt;      CLEAR ITAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*insert separtor characters in header&lt;/P&gt;&lt;P&gt;  READ TABLE ITAB INDEX 1.&lt;/P&gt;&lt;P&gt;  X = STRLEN( ITAB ).&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    X = X - 1.&lt;/P&gt;&lt;P&gt;    IF X &amp;lt; 0. EXIT. ENDIF.&lt;/P&gt;&lt;P&gt;    IF ITAB+X(1) IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;        STR&lt;EM&gt;X(1) = ITAB&lt;/EM&gt;X(1) = STRUC.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      FLAG = 'X'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CLEAR FLAG.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;*remove the extra separator character in the beginning(if any)&lt;/P&gt;&lt;P&gt;  CLEAR X.&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    IF ITAB&lt;EM&gt;X(1) &amp;lt;&amp;gt; STRUC AND NOT ITAB&lt;/EM&gt;X(1) IS INITIAL.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF ITAB+X(1) = STRUC.&lt;/P&gt;&lt;P&gt;      CLEAR ITAB+X(1).&lt;/P&gt;&lt;P&gt;      CLEAR STR+X(1).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    X = X + 1.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY ITAB INDEX 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;    AT FIRST.&lt;/P&gt;&lt;P&gt;      IF P_REM = 'X'.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;    OVERLAY ITAB WITH STR.&lt;/P&gt;&lt;P&gt;    PERFORM CONVERT_TO_BIN IN PROGRAM ZZEMAILFILE TABLES OBJBIN&lt;/P&gt;&lt;P&gt;                                                  USING ITAB.&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;thanks,&lt;/P&gt;&lt;P&gt;yogesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 18 May 2006 18:10:14 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-05-18T18:10:14Z</dc:date>
    <item>
      <title>Problem while sending e-mail from SAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349375#M175431</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;I am trying to send one attachment from sap to my e-mail. thats comming as .Txt but i need in .XLS format. if i didn't select any delimeter and if i select any delimeter that delimeter occupying one more cell in XL sheet and corrupting the format. can anyone help me in this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Yogesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 May 2006 17:10:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349375#M175431</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-18T17:10:01Z</dc:date>
    </item>
    <item>
      <title>Re: Problem while sending e-mail from SAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349376#M175432</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Yogesh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;see this link &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/reporting/email/attach_xls.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/reporting/email/attach_xls.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Naveen&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 May 2006 17:28:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349376#M175432</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-18T17:28:13Z</dc:date>
    </item>
    <item>
      <title>Re: Problem while sending e-mail from SAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349377#M175433</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Naveen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Actually i have 3 programs, two is for downloading and one is for sending e-mail. My problem is i can download as an .xls, but while sending if i didn't select any delimeter that attachment comming as .Txt file but i need as XLS. and if i select any delimeter, delimeter occupying onemore cell in xl sheet. can u plz guide m ein this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;yogesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 May 2006 17:35:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349377#M175433</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-18T17:35:44Z</dc:date>
    </item>
    <item>
      <title>Re: Problem while sending e-mail from SAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349378#M175434</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Yogesh...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is this a Z-Program or a standard sap program ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Renjith&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 May 2006 17:44:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349378#M175434</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-18T17:44:24Z</dc:date>
    </item>
    <item>
      <title>Re: Problem while sending e-mail from SAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349379#M175435</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ranjit,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Its a z-program. But here we r using 3 programs. we r calling remaing 2-programs for downloading file into local disk .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;yogesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 May 2006 17:51:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349379#M175435</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-18T17:51:43Z</dc:date>
    </item>
    <item>
      <title>Re: Problem while sending e-mail from SAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349380#M175436</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;are you using the FM - SO_NEW_DOCUMENT_ATT_SEND_API1 to send mail with attachment ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if yes, could you pls post the code where you are filling the attachment contents...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Renjith&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 May 2006 18:03:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349380#M175436</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-18T18:03:19Z</dc:date>
    </item>
    <item>
      <title>Re: Problem while sending e-mail from SAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349381#M175437</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Renjith,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZZEMAILREPORT  MESSAGE-ID S1&lt;/P&gt;&lt;P&gt;            NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;            LINE-SIZE  100&lt;/P&gt;&lt;P&gt;            LINE-COUNT 65(0).&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;               Source Code Documentation Section                     *&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;Program Name     : ZZEMAILREPORT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Source Code Type : Report&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date             : 10/31/2001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Programmer       : Prashant Tyagi&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description      :  This report will allow the running of any SAP    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    program and then send the output as an Email&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    attachment.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Tr. Request No   : DEVK954522&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;======================================================================&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modification Log :                                                   *&lt;/P&gt;&lt;/LI&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;Date             : 03/01/2002                                        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Requested By     : Steven P Willment                                 *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Developer        : Prashant Tyagi                                    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Changes Ref By   : CNXT-01                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description      : If no program name is entered then just the       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   subject line and text body will be sent as an     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   Email                                             *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transport No.    : DEVK956294                                        *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date             : 03/21/2002                                        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Requested By     : Steven P Willment                                 *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Developer        : Prashant Tyagi                                    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Changes Ref By   : CNXT-02                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description      : Do not check for the program name in TRDIR if the *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   user does not enter a value in the selection      *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   screen                                            *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transport No.    : DEVK956770                                        *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date             : 06/06/2003                                        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Requested By     : Steven P Willment                                 *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Developer        : Ramandeep Singh                                   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Changes Ref By   : CNXT-03                                           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description      : Send as copy if "SEND_COPY" flag is set in        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   ZEMAILADDR                                        *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date             : 11/14/2005                                        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Requested By     : Tom Hutton                                        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Developer        : Ramandeep Singh                                   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Changes Ref By   : SKY-01                                            *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description      : Option to delimit a report. Program would delimit *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   the report into different columns so that programs*&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   like Excel can read it                            *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date             : 04/24/2006                                        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Requested By     : Olga Cruz / Daniel                                *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Developer        : Himanshu Aggarwal                                 *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Changes Ref By   : SKY-02                                            *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description      : Activate file delimited options for report.       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transport No.    : DEVK985197                                        *&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;                            T A B L E S                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TABLES : RLGRAP, ZEMAILADDR, TRDIR, VARID.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    I N T E R N A L   T A B L E S                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: LISTOBJECT LIKE ABAPLIST OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA COMPRESSED_LIST LIKE SOLI OCCURS 0.&lt;/P&gt;&lt;P&gt;DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: OBJHEAD LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: OBJBIN LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: OBJTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data for the status output after sending&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: USER_ADDRESS LIKE SOUSRADRI1 OCCURS 1 WITH HEADER LINE.&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;                   W O R K - F I E L D S                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: RECIPIENT_INT    LIKE SADRUD.&lt;/P&gt;&lt;P&gt;DATA: EMAIL_ADDR LIKE ZEMAILADDR-EMAIL_ADDR.&lt;/P&gt;&lt;P&gt;DATA G_DOC_TYPE LIKE SOODK-OBJTP VALUE 'ALI'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: DOC_CHNG LIKE SODOCCHGI1.&lt;/P&gt;&lt;P&gt;DATA: TAB_LINES LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;DATA: SENT_TO_ALL LIKE SONV-FLAG.&lt;/P&gt;&lt;P&gt;DATA : W-LINE TYPE I.&lt;/P&gt;&lt;P&gt;DATA: MESSAGE_VAR(200).&lt;/P&gt;&lt;P&gt;DATA: VAR(50).&lt;/P&gt;&lt;P&gt;DATA: SEP VALUE '-'.&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;          S E L E C T - O P T I O N S / P A R A M E T E R S          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK STATUS WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_SEND   AS   CHECKBOX.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_SUBJ(50) " like RLGRAP-FILENAME DEFAULT&lt;/P&gt;&lt;P&gt;               DEFAULT 'Report sent from SAP'.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_TEXT   LIKE RLGRAP-FILENAME,&lt;/P&gt;&lt;P&gt;             P_TEXT1  LIKE RLGRAP-FILENAME,&lt;/P&gt;&lt;P&gt;             P_TEXT2  LIKE RLGRAP-FILENAME.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK STATUS.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK SENDTO WITH FRAME TITLE TEXT-013.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_EMAIL FOR RECIPIENT_INT-ADDRESS NO INTERVALS&lt;/P&gt;&lt;P&gt;                                                  LOWER CASE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(45) TEXT-002 FOR FIELD P_TABLE.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_TABLE  AS   CHECKBOX.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END   OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS : P_KEY LIKE ZEMAILADDR-ADDR_KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK SENDTO.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK ABC WITH FRAME TITLE TEXT-004.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 10.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_PROG LIKE RS38M-PROGRAMM." OBLIGATORY.   "CNXT-01&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(7) TEXT-005 FOR FIELD P_PROG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 70.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_VAR LIKE RS38M-SELSET.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 63(7) TEXT-006 FOR FIELD P_VAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END   OF LINE.&lt;/P&gt;&lt;P&gt;*BEGIN OF SKY-01&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT /1(72) TEXT-C04 FOR FIELD P_SEP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT /1(72) TEXT-C02 FOR FIELD P_SEP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_NO RADIOBUTTON GROUP G1,&lt;/P&gt;&lt;P&gt;            P_TAB RADIOBUTTON GROUP G1,&lt;/P&gt;&lt;P&gt;            P_COMMA RADIOBUTTON GROUP G1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(10) TEXT-C01 FOR FIELD P_OTHER.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION POS_LOW.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_OTHER RADIOBUTTON GROUP G1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN POSITION 40.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_SEP TYPE X.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT (11) TEXT-C03 FOR FIELD P_SEP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_REM AS CHECKBOX.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_NAME LIKE VAR.&lt;/P&gt;&lt;P&gt;*END OF SKY-01&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK ABC.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              A T  S E L E C T I O N - S C R E E N                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  SELECT COUNT(*) INTO W-LINE FROM ZEMAILADDR&lt;/P&gt;&lt;P&gt;  WHERE ADDR_KEY = P_KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT P_TABLE IS INITIAL AND&lt;/P&gt;&lt;P&gt;     NOT S_EMAIL IS INITIAL AND&lt;/P&gt;&lt;P&gt;     NOT P_KEY IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE W000(0K) WITH TEXT-010.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT P_TABLE IS INITIAL AND W-LINE EQ 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E000(0K) WITH TEXT-007.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_TABLE IS INITIAL AND S_EMAIL IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE E000(0K) WITH TEXT-011.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT P_PROG IS INITIAL.                                 "CNXT-02&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM TRDIR WHERE NAME = P_PROG.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE E000(0K) WITH TEXT-015.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.                                                    "CNXT-02&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT P_VAR IS INITIAL.&lt;/P&gt;&lt;P&gt;   SELECT SINGLE * FROM VARID WHERE REPORT = P_PROG AND VARIANT = P_VAR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE E000(0K) WITH TEXT-014.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*BEGIN OF SKY-01&lt;/P&gt;&lt;P&gt;  CASE 'X'.&lt;/P&gt;&lt;P&gt;    WHEN P_NO.&lt;/P&gt;&lt;P&gt;      CLEAR P_SEP.&lt;/P&gt;&lt;P&gt;    WHEN P_TAB.&lt;/P&gt;&lt;P&gt;      P_SEP = '09'.&lt;/P&gt;&lt;P&gt;    WHEN P_COMMA.&lt;/P&gt;&lt;P&gt;      P_SEP = '2C'.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;*END OF SKY-01&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------" /&gt; Main Program -&lt;HR originaltext="----------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;     Report Headers                                                  *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Top of page event to create report headers and column headings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*CNXT-01 {&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;  PERFORM WRITE_HEADER.&lt;/P&gt;&lt;P&gt;*CNXT-01 }&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              S T A R T - O F - S E L E C T I O N                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  IF  P_SEND IS INITIAL.&lt;/P&gt;&lt;P&gt;    WRITE : / TEXT-008.&lt;/P&gt;&lt;P&gt;    PERFORM PRINT_RECIPIENT_LIST.&lt;/P&gt;&lt;P&gt;    WRITE : / TEXT-009.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  SKIP 1.&lt;/P&gt;&lt;P&gt;*BEGIN OF SKY-01&lt;/P&gt;&lt;P&gt;  IF NOT P_NAME IS INITIAL AND NOT P_SEP IS INITIAL.&lt;/P&gt;&lt;P&gt;    VAR = P_NAME.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*END OF SKY-01&lt;/P&gt;&lt;P&gt;    CONCATENATE P_PROG P_VAR INTO VAR SEPARATED BY SEP.&lt;/P&gt;&lt;P&gt;  ENDIF.                                                    "SKY-01&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CNXT-01 {&lt;/P&gt;&lt;P&gt;  IF NOT P_PROG IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF NOT P_VAR IS INITIAL.&lt;/P&gt;&lt;P&gt;      WRITE: /5 'REPORT : ', 18 P_PROG, 35 'USING', 43 'VARIANT : '&lt;/P&gt;&lt;P&gt;              ,55 P_VAR.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE: /5 'REPORT : ', 18 P_PROG.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    SKIP 3.&lt;/P&gt;&lt;P&gt;    PERFORM SEND_EMAIL.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_PROG IS INITIAL AND ( NOT S_EMAIL IS INITIAL&lt;/P&gt;&lt;P&gt;                        OR NOT P_TEXT IS INITIAL&lt;/P&gt;&lt;P&gt;                        OR NOT P_TEXT1 IS INITIAL&lt;/P&gt;&lt;P&gt;                        OR NOT P_TEXT2 IS INITIAL ).&lt;/P&gt;&lt;P&gt;    PERFORM NOT_SEND_REPORT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*CNXT-01 }&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_EMAIL&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;      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 SEND_EMAIL.&lt;/P&gt;&lt;P&gt;  DATA: ASCITAB(255) OCCURS 0 WITH HEADER LINE.             "SKY-01&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; SUBMIT (P_PROG) USING SELECTION-SET P_VAR EXPORTING LIST&lt;/P&gt;&lt;P&gt;TO MEMORY AND&lt;/P&gt;&lt;P&gt;               RETURN.&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;            NOT_FOUND  = 1&lt;/P&gt;&lt;P&gt;            OTHERS     = 2.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE  'Error in list_from_memory.'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE LISTOBJECT LINES TAB_LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_SEND IS INITIAL OR TAB_LINES EQ 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'LIST_FREE_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;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE  'Error in list_free_memory.'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*BEGIN OF SKY-01&lt;/P&gt;&lt;P&gt;  IF NOT P_SEP IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'LIST_TO_ASCI'&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              LISTASCI   = ASCITAB&lt;/P&gt;&lt;P&gt;              LISTOBJECT = LISTOBJECT.&lt;/P&gt;&lt;P&gt;    PERFORM REFORMAT_DATA TABLES ASCITAB OBJBIN USING P_SEP P_REM .&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*END OF SKY-01&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'TABLE_COMPRESS'&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              IN             = LISTOBJECT&lt;/P&gt;&lt;P&gt;              OUT            = COMPRESSED_LIST&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              COMPRESS_ERROR = 1&lt;/P&gt;&lt;P&gt;              OTHERS         = 2.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      WRITE: 'Error in table_compress.'.&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;&lt;/P&gt;&lt;P&gt;    MOVE COMPRESSED_LIST[] TO OBJBIN[].&lt;/P&gt;&lt;P&gt;  ENDIF.                                                    "SKY-01&lt;/P&gt;&lt;P&gt;  DOC_CHNG-OBJ_NAME = 'List'.&lt;/P&gt;&lt;P&gt;  DOC_CHNG-OBJ_DESCR = P_SUBJ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OBJTXT = P_TEXT.&lt;/P&gt;&lt;P&gt;  APPEND OBJTXT.&lt;/P&gt;&lt;P&gt;  OBJTXT = P_TEXT1.&lt;/P&gt;&lt;P&gt;  APPEND OBJTXT.&lt;/P&gt;&lt;P&gt;  OBJTXT = P_TEXT2.&lt;/P&gt;&lt;P&gt;  APPEND OBJTXT.&lt;/P&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;  DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).&lt;/P&gt;&lt;P&gt;&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 = 'RAW'.&lt;/P&gt;&lt;P&gt;  APPEND OBJPACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE OBJBIN LINES TAB_LINES.&lt;/P&gt;&lt;P&gt;&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;*BEGIN OF SKY-01&lt;/P&gt;&lt;P&gt;  DATA: FILE(50), XTN(3).&lt;/P&gt;&lt;P&gt;  IF NOT P_SEP IS INITIAL.&lt;/P&gt;&lt;P&gt;    SPLIT P_NAME AT '.' INTO FILE XTN.&lt;/P&gt;&lt;P&gt;    IF NOT XTN IS INITIAL.&lt;/P&gt;&lt;P&gt;      TRANSLATE XTN TO UPPER CASE.&lt;/P&gt;&lt;P&gt;      OBJPACK-DOC_TYPE = XTN.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      OBJPACK-DOC_TYPE = 'TXT'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*END OF SKY-01&lt;/P&gt;&lt;P&gt;    OBJPACK-DOC_TYPE = G_DOC_TYPE.&lt;/P&gt;&lt;P&gt;  ENDIF.                                                    "SKY-01&lt;/P&gt;&lt;P&gt;  OBJPACK-OBJ_NAME = 'Attachment'.&lt;/P&gt;&lt;P&gt;  OBJPACK-OBJ_DESCR = VAR.&lt;/P&gt;&lt;P&gt;  OBJPACK-DOC_SIZE = TAB_LINES * 255.&lt;/P&gt;&lt;P&gt;  APPEND OBJPACK.&lt;/P&gt;&lt;P&gt;  IF P_SEND = 'X' AND P_TABLE IS INITIAL AND NOT S_EMAIL IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT S_EMAIL.&lt;/P&gt;&lt;P&gt;      RECIPIENT_INT-ADDRESS = S_EMAIL-LOW.&lt;/P&gt;&lt;P&gt;      RECLIST-RECEIVER = RECIPIENT_INT.&lt;/P&gt;&lt;P&gt;      RECLIST-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;      APPEND RECLIST.&lt;/P&gt;&lt;P&gt;      CLEAR RECLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSEIF P_TABLE = 'X'.&lt;/P&gt;&lt;P&gt;    SELECT * FROM ZEMAILADDR WHERE ADDR_KEY = P_KEY.&lt;/P&gt;&lt;P&gt;      RECIPIENT_INT-ADDRESS = ZEMAILADDR-EMAIL_ADDR .&lt;/P&gt;&lt;P&gt;      RECLIST-RECEIVER = RECIPIENT_INT.&lt;/P&gt;&lt;P&gt;      RECLIST-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;      RECLIST-COPY = ZEMAILADDR-SEND_COPY.                  "CNXT-03&lt;/P&gt;&lt;P&gt;      APPEND RECLIST.&lt;/P&gt;&lt;P&gt;      CLEAR RECLIST.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;  ENDIF.&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              = DOC_CHNG&lt;/P&gt;&lt;P&gt;            PUT_IN_OUTBOX              = 'X'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            SENT_TO_ALL                = SENT_TO_ALL&lt;/P&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;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;            OPERATION_NO_AUTHORIZATION = 4&lt;/P&gt;&lt;P&gt;            OTHERS                     = 99.&lt;/P&gt;&lt;P&gt;  CASE SY-SUBRC.&lt;/P&gt;&lt;P&gt;    WHEN 0.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Result of the sendprocess:'.&lt;/P&gt;&lt;P&gt;      IF NOT SENT_TO_ALL IS INITIAL.&lt;/P&gt;&lt;P&gt;        WRITE: / 'Successfully sent to all recipients.'.&lt;/P&gt;&lt;P&gt;        PERFORM PRINT_RECIPIENT_LIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT RECLIST WHERE RETRN_CODE NE 0.&lt;/P&gt;&lt;P&gt;          REFRESH USER_ADDRESS.&lt;/P&gt;&lt;P&gt;          CLEAR USER_ADDRESS.&lt;/P&gt;&lt;P&gt;          USER_ADDRESS-USERID = RECLIST-REC_ID.&lt;/P&gt;&lt;P&gt;          APPEND USER_ADDRESS.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'SO_USER_ADDRESS_READ_API1'&lt;/P&gt;&lt;P&gt;               TABLES&lt;/P&gt;&lt;P&gt;                    USER_ADDRESS    = USER_ADDRESS&lt;/P&gt;&lt;P&gt;               EXCEPTIONS&lt;/P&gt;&lt;P&gt;                    ENQUEUE_ERRROR  = 1&lt;/P&gt;&lt;P&gt;                    PARAMETER_ERROR = 2&lt;/P&gt;&lt;P&gt;                    X_ERROR         = 3&lt;/P&gt;&lt;P&gt;                    OTHERS          = 4.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;            USER_ADDRESS-LONG_NAME = RECLIST-REC_ID.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          WRITE: / 'Could not send to: '.&lt;/P&gt;&lt;P&gt;          WRITE: USER_ADDRESS-LONG_NAME(48).&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT RECLIST WHERE RETRN_CODE EQ 0.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          WRITE: / 'Successfully sent to all other recipients.'.&lt;/P&gt;&lt;P&gt;          PERFORM PRINT_RECIPIENT_LIST.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 1.&lt;/P&gt;&lt;P&gt;      WRITE: / 'No permission to sent to the specified  ',&lt;/P&gt;&lt;P&gt;                'amount of recipients !'.&lt;/P&gt;&lt;P&gt;    WHEN 2.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Document could not be sent to any recipient !'.&lt;/P&gt;&lt;P&gt;    WHEN 4.&lt;/P&gt;&lt;P&gt;      WRITE: / 'No permission to send !'.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Error while sending !'.&lt;/P&gt;&lt;P&gt;  ENDCASE.&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.                               " SEND_EMAIL&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  PRINT_RECIPIENT_LIST&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;      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 PRINT_RECIPIENT_LIST.&lt;/P&gt;&lt;P&gt;  IF  NOT S_EMAIL IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT S_EMAIL.&lt;/P&gt;&lt;P&gt;      WRITE : / S_EMAIL-LOW.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSEIF P_TABLE = 'X'.&lt;/P&gt;&lt;P&gt;    SELECT * FROM ZEMAILADDR WHERE ADDR_KEY = P_KEY.&lt;/P&gt;&lt;P&gt;      WRITE : / ZEMAILADDR-EMAIL_ADDR .&lt;/P&gt;&lt;P&gt;*BEGIN OF CNXT-03&lt;/P&gt;&lt;P&gt;      IF ZEMAILADDR-SEND_COPY = 'X'.&lt;/P&gt;&lt;P&gt;        WRITE: ', As Copy'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*END OF CNXT-03&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " PRINT_RECIPIENT_LIST&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  NOT_SEND_REPORT               CNXT-01&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;*&lt;/P&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 NOT_SEND_REPORT.&lt;/P&gt;&lt;P&gt;  IF P_SEND IS INITIAL.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DOC_CHNG-OBJ_NAME = 'List'.&lt;/P&gt;&lt;P&gt;  DOC_CHNG-OBJ_DESCR = P_SUBJ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OBJTXT = P_TEXT.&lt;/P&gt;&lt;P&gt;  APPEND OBJTXT.&lt;/P&gt;&lt;P&gt;  OBJTXT = P_TEXT1.&lt;/P&gt;&lt;P&gt;  APPEND OBJTXT.&lt;/P&gt;&lt;P&gt;  OBJTXT = P_TEXT2.&lt;/P&gt;&lt;P&gt;  APPEND OBJTXT.&lt;/P&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;  DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).&lt;/P&gt;&lt;P&gt;&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 = 'RAW'.&lt;/P&gt;&lt;P&gt;  APPEND OBJPACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_SEND = 'X' AND P_TABLE IS INITIAL AND NOT S_EMAIL IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT S_EMAIL.&lt;/P&gt;&lt;P&gt;      RECIPIENT_INT-ADDRESS = S_EMAIL-LOW.&lt;/P&gt;&lt;P&gt;      RECLIST-RECEIVER = RECIPIENT_INT.&lt;/P&gt;&lt;P&gt;      RECLIST-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;      APPEND RECLIST.&lt;/P&gt;&lt;P&gt;      CLEAR RECLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSEIF P_TABLE = 'X'.&lt;/P&gt;&lt;P&gt;    SELECT * FROM ZEMAILADDR WHERE ADDR_KEY = P_KEY.&lt;/P&gt;&lt;P&gt;      RECIPIENT_INT-ADDRESS = ZEMAILADDR-EMAIL_ADDR .&lt;/P&gt;&lt;P&gt;      RECLIST-RECEIVER = RECIPIENT_INT.&lt;/P&gt;&lt;P&gt;      RECLIST-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;      RECLIST-COPY = ZEMAILADDR-SEND_COPY.                  "CNXT-03&lt;/P&gt;&lt;P&gt;      APPEND RECLIST.&lt;/P&gt;&lt;P&gt;      CLEAR RECLIST.&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;  ENDIF.&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              = DOC_CHNG&lt;/P&gt;&lt;P&gt;            PUT_IN_OUTBOX              = 'X'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            SENT_TO_ALL                = SENT_TO_ALL&lt;/P&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CONTENTS_BIN               = OBJBIN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            CONTENTS_TXT               = OBJTXT&lt;/P&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;            OPERATION_NO_AUTHORIZATION = 4&lt;/P&gt;&lt;P&gt;            OTHERS                     = 99.&lt;/P&gt;&lt;P&gt;  CASE SY-SUBRC.&lt;/P&gt;&lt;P&gt;    WHEN 0.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Result of the sendprocess:'.&lt;/P&gt;&lt;P&gt;      IF NOT SENT_TO_ALL IS INITIAL.&lt;/P&gt;&lt;P&gt;        WRITE: / 'Successfully sent to all recipients.'.&lt;/P&gt;&lt;P&gt;        PERFORM PRINT_RECIPIENT_LIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT RECLIST WHERE RETRN_CODE NE 0.&lt;/P&gt;&lt;P&gt;          REFRESH USER_ADDRESS.&lt;/P&gt;&lt;P&gt;          CLEAR USER_ADDRESS.&lt;/P&gt;&lt;P&gt;          USER_ADDRESS-USERID = RECLIST-REC_ID.&lt;/P&gt;&lt;P&gt;          APPEND USER_ADDRESS.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'SO_USER_ADDRESS_READ_API1'&lt;/P&gt;&lt;P&gt;               TABLES&lt;/P&gt;&lt;P&gt;                    USER_ADDRESS    = USER_ADDRESS&lt;/P&gt;&lt;P&gt;               EXCEPTIONS&lt;/P&gt;&lt;P&gt;                    ENQUEUE_ERRROR  = 1&lt;/P&gt;&lt;P&gt;                    PARAMETER_ERROR = 2&lt;/P&gt;&lt;P&gt;                    X_ERROR         = 3&lt;/P&gt;&lt;P&gt;                    OTHERS          = 4.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;            USER_ADDRESS-LONG_NAME = RECLIST-REC_ID.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          WRITE: / 'Could not send to: '.&lt;/P&gt;&lt;P&gt;          WRITE: USER_ADDRESS-LONG_NAME(48).&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LOOP AT RECLIST WHERE RETRN_CODE EQ 0.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          WRITE: / 'Successfully sent to all other recipients.'.&lt;/P&gt;&lt;P&gt;          PERFORM PRINT_RECIPIENT_LIST.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 1.&lt;/P&gt;&lt;P&gt;      WRITE: / 'No permission to sent to the specified  ',&lt;/P&gt;&lt;P&gt;                'amount of recipients !'.&lt;/P&gt;&lt;P&gt;    WHEN 2.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Document could not be sent to any recipient !'.&lt;/P&gt;&lt;P&gt;    WHEN 4.&lt;/P&gt;&lt;P&gt;      WRITE: / 'No permission to send !'.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      WRITE: / 'Error while sending !'.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.     "NOT_SEND_REPORT&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  WRITE_HEADER&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;      Report heading. Top-of-page.&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 WRITE_HEADER.&lt;/P&gt;&lt;P&gt;  DATA : LINE01(100) TYPE C,&lt;/P&gt;&lt;P&gt;         LINE02 LIKE LINE01,&lt;/P&gt;&lt;P&gt;         LINE03 LIKE LINE01,&lt;/P&gt;&lt;P&gt;         LINE04 LIKE LINE01.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;function call to create report headers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'Z_REPORT_HEADERS'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            COLUMNS    = 100&lt;/P&gt;&lt;P&gt;            PERIOD     = ' '&lt;/P&gt;&lt;P&gt;            RPT_NAME   = 'ZZEMAILREPORT'&lt;/P&gt;&lt;P&gt;            RPT_TITLE1 = SY-TITLE&lt;/P&gt;&lt;P&gt;            RPT_TITLE3 = ' '&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            TEXT01     = LINE01&lt;/P&gt;&lt;P&gt;            TEXT02     = LINE02&lt;/P&gt;&lt;P&gt;            TEXT03     = LINE03&lt;/P&gt;&lt;P&gt;            TEXT04     = LINE04.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;output report header lines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WRITE: / LINE01, LINE02, LINE03, LINE04.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  SKIP .&lt;/P&gt;&lt;P&gt;ENDFORM.                               " WRITE_HEADER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      FORM REFORMAT_DATA                                            *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  ASCITAB                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  OBJBIN                                                        *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  P_SEP                                                         *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  P_REM                                                         *&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 REFORMAT_DATA TABLES ASCITAB&lt;/P&gt;&lt;P&gt;                          OBJBIN STRUCTURE OBJBIN&lt;/P&gt;&lt;P&gt;                          USING P_SEP P_REM .&lt;/P&gt;&lt;P&gt;  DATA: SEP_INDEX LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;  DATA: ITAB(1000) OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;  DATA: STR LIKE ITAB.&lt;/P&gt;&lt;P&gt;  DATA X TYPE I.&lt;/P&gt;&lt;P&gt;  DATA COUNT TYPE I.&lt;/P&gt;&lt;P&gt;  DATA CNT   TYPE I.                                        "SKY-02&lt;/P&gt;&lt;P&gt;  DATA LINES_PER_RECORD TYPE I.&lt;/P&gt;&lt;P&gt;  DATA FLAG.&lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF STRUC,&lt;/P&gt;&lt;P&gt;         HEX TYPE X,&lt;/P&gt;&lt;P&gt;       END OF STRUC.&lt;/P&gt;&lt;P&gt;  STRUC-HEX = P_SEP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BEGIN OF SKY-02 {&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*Count how many lines does the report have for each record&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT ASCITAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   X = STRLEN( ASCITAB ).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF ASCITAB(X) CO '-'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     LINES_PER_RECORD = SY-TABIX - 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     DELETE ASCITAB.  "delete separator line&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXIT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modify ASCITAB so it can have complete group of 3 Records.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DESCRIBE TABLE ASCITAB LINES SY-TABIX.&lt;/P&gt;&lt;P&gt;  CNT = SY-TABIX MOD 3.&lt;/P&gt;&lt;P&gt;  IF CNT &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    CNT = 3 - CNT.&lt;/P&gt;&lt;P&gt;    DO CNT TIMES.&lt;/P&gt;&lt;P&gt;      ASCITAB = ' '.&lt;/P&gt;&lt;P&gt;      APPEND ASCITAB.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;} END OF SKY-02.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*all lines for one record to be brought in one line&lt;/P&gt;&lt;P&gt;  LOOP AT ASCITAB.&lt;/P&gt;&lt;P&gt;    X = ( COUNT * 255 ).&lt;/P&gt;&lt;P&gt;    IF NOT X IS INITIAL. X = X + 1. ENDIF.&lt;/P&gt;&lt;P&gt;    MOVE ASCITAB TO ITAB+X(255).&lt;/P&gt;&lt;P&gt;    COUNT = COUNT + 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;{ BEGIN OF SKY-02.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IF COUNT = LINES_PER_RECORD.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF COUNT = 3.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;} END OF SKY-02.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR COUNT.&lt;/P&gt;&lt;P&gt;      APPEND ITAB.&lt;/P&gt;&lt;P&gt;      CLEAR ITAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*insert separtor characters in header&lt;/P&gt;&lt;P&gt;  READ TABLE ITAB INDEX 1.&lt;/P&gt;&lt;P&gt;  X = STRLEN( ITAB ).&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    X = X - 1.&lt;/P&gt;&lt;P&gt;    IF X &amp;lt; 0. EXIT. ENDIF.&lt;/P&gt;&lt;P&gt;    IF ITAB+X(1) IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;        STR&lt;EM&gt;X(1) = ITAB&lt;/EM&gt;X(1) = STRUC.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      FLAG = 'X'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CLEAR FLAG.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;*remove the extra separator character in the beginning(if any)&lt;/P&gt;&lt;P&gt;  CLEAR X.&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    IF ITAB&lt;EM&gt;X(1) &amp;lt;&amp;gt; STRUC AND NOT ITAB&lt;/EM&gt;X(1) IS INITIAL.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF ITAB+X(1) = STRUC.&lt;/P&gt;&lt;P&gt;      CLEAR ITAB+X(1).&lt;/P&gt;&lt;P&gt;      CLEAR STR+X(1).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    X = X + 1.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY ITAB INDEX 1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;    AT FIRST.&lt;/P&gt;&lt;P&gt;      IF P_REM = 'X'.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;    OVERLAY ITAB WITH STR.&lt;/P&gt;&lt;P&gt;    PERFORM CONVERT_TO_BIN IN PROGRAM ZZEMAILFILE TABLES OBJBIN&lt;/P&gt;&lt;P&gt;                                                  USING ITAB.&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;thanks,&lt;/P&gt;&lt;P&gt;yogesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 May 2006 18:10:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349381#M175437</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-18T18:10:14Z</dc:date>
    </item>
    <item>
      <title>Re: Problem while sending e-mail from SAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349382#M175438</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Renjith,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can i have u r mail id&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thnaks,&lt;/P&gt;&lt;P&gt;yogesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 May 2006 18:24:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-while-sending-e-mail-from-sap/m-p/1349382#M175438</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-18T18:24:39Z</dc:date>
    </item>
  </channel>
</rss>

