<?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 OUT PUT ERROR in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/out-put-error/m-p/2046995#M421561</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI  &lt;/P&gt;&lt;P&gt;    WHEN I AM EXECUTING THE FOLLOWING PROG I AM GETTING AN ERROR "MAXIMUM NUMBER OF INTERNAL SESSIONS REACHED".&lt;/P&gt;&lt;P&gt;DOES ANY ONE HAS ANY IDEA ABT IT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZSPOOL14.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:TSP01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: P_EMAIL1 LIKE SOMLRECI1-RECEIVER,&lt;/P&gt;&lt;P&gt;            P_EMAIL2 LIKE SOMLRECI1-RECEIVER,&lt;/P&gt;&lt;P&gt;            P_EMAIL3 LIKE SOMLRECI1-RECEIVER,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           P_SENDER LIKE SOMLRECI1-RECEIVER,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            P_DELSPL AS CHECKBOX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION&lt;/P&gt;&lt;P&gt;DATA: GD_RECSIZE TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Spool IDs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF T_TBTCP.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE TBTCP.&lt;/P&gt;&lt;P&gt;TYPES: END OF T_TBTCP.&lt;/P&gt;&lt;P&gt;DATA: IT_TBTCP TYPE STANDARD TABLE OF T_TBTCP INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      WA_TBTCP TYPE T_TBTCP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Job Runtime Parameters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: GD_EVENTID LIKE TBTCM-EVENTID,&lt;/P&gt;&lt;P&gt;      GD_EVENTPARM LIKE TBTCM-EVENTPARM,&lt;/P&gt;&lt;P&gt;      GD_EXTERNAL_PROGRAM_ACTIVE LIKE TBTCM-XPGACTIVE,&lt;/P&gt;&lt;P&gt;      GD_JOBCOUNT LIKE TBTCM-JOBCOUNT,&lt;/P&gt;&lt;P&gt;      GD_JOBNAME LIKE TBTCM-JOBNAME,&lt;/P&gt;&lt;P&gt;      GD_STEPCOUNT LIKE TBTCM-STEPCOUNT,&lt;/P&gt;&lt;P&gt;      GD_ERROR    TYPE SY-SUBRC,&lt;/P&gt;&lt;P&gt;      GD_RECIEVER TYPE SY-SUBRC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  W_RECSIZE TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: GD_SUBJECT   LIKE SODOCCHGI1-OBJ_DESCR,&lt;/P&gt;&lt;P&gt;      IT_MESS_BOD LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      IT_MESS_ATT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      GD_SENDER_TYPE     LIKE SOEXTRECI1-ADR_TYP,&lt;/P&gt;&lt;P&gt;      GD_ATTACHMENT_DESC TYPE SO_OBJ_NAM,&lt;/P&gt;&lt;P&gt;      GD_ATTACHMENT_NAME TYPE SO_OBJ_DES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Spool to PDF conversions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: GD_SPOOL_NR LIKE TSP01-RQIDENT,&lt;/P&gt;&lt;P&gt;      GD_DESTINATION LIKE RLGRAP-FILENAME,&lt;/P&gt;&lt;P&gt;      GD_BYTECOUNT LIKE TST01-DSIZE,&lt;/P&gt;&lt;P&gt;      GD_BUFFER TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Binary store for PDF&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF IT_PDF_OUTPUT OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE TLINE.&lt;/P&gt;&lt;P&gt;DATA: END OF IT_PDF_OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS:C_DEV LIKE  SY-SYSID VALUE 'DEV',&lt;/P&gt;&lt;P&gt;          C_NO(1)  TYPE C   VALUE ' ',&lt;/P&gt;&lt;P&gt;          C_DEVICE(4) TYPE C   VALUE 'LOCL'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;print parameters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:PARAMS LIKE PRI_PARAMS,&lt;/P&gt;&lt;P&gt;DAYS(1)  TYPE N VALUE 2,&lt;/P&gt;&lt;P&gt;COUNT(3) TYPE N VALUE 1,&lt;/P&gt;&lt;P&gt;VALID TYPE C,&lt;/P&gt;&lt;P&gt;SPOOL_REQUEST_NAME LIKE PRI_PARAMS-PLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INITIALIZATION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; P_EMAIL1 = 'gourab.mukherjee@hpl.co.in'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write statement to represent report output. Spool request is created&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if write statement is executed in background. This could also be an&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV grid which would be converted to PDF without any extra effort&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WRITE 'HAI EVERYONE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  NEW-PAGE.&lt;/P&gt;&lt;P&gt;  COMMIT WORK.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; NEW-PAGE PRINT OFF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE SY-REPID+0(8)&lt;/P&gt;&lt;P&gt;  SY-UNAME+0(3)&lt;/P&gt;&lt;P&gt;  INTO SPOOL_REQUEST_NAME SEPARATED BY '_'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GET_PRINT_PARAMETERS'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     ARCHIVE_MODE                   = '1'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_TEXT                   = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  AR_OBJECT                      = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_REPORT                 = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  AUTHORITY                      = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     COPIES                         = COUNT&lt;/P&gt;&lt;P&gt;     COVER_PAGE                     = ''&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DATA_SET                       = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DEPARTMENT                     = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     DESTINATION                    = 'HR04'&lt;/P&gt;&lt;P&gt;     EXPIRATION                     = DAYS&lt;/P&gt;&lt;P&gt;     IMMEDIATELY                    = ''&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IN_ARCHIVE_PARAMETERS          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IN_PARAMETERS                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     LAYOUT                         = 'X_65_32'&lt;/P&gt;&lt;P&gt;     LINE_COUNT                     = 65&lt;/P&gt;&lt;P&gt;     LINE_SIZE                      = 132&lt;/P&gt;&lt;P&gt;     LIST_NAME                      = SPOOL_REQUEST_NAME&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LIST_TEXT                      = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     MODE                           = 'BATCH'&lt;/P&gt;&lt;P&gt;     NEW_LIST_ID                    = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROTECT_LIST                   = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     NO_DIALOG                      = 'X'&lt;/P&gt;&lt;P&gt;     RECEIVER                       = ''&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  RELEASE                        = ''&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     REPORT                         = ''&lt;/P&gt;&lt;P&gt;     SAP_COVER_PAGE                 = 'D'&lt;/P&gt;&lt;P&gt;     HOST_COVER_PAGE                = 'D'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PRIORITY                       = C_NUM1_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SAP_OBJECT                     = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TYPE                           = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER                           = SY-UNAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USE_OLD_LAYOUT                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UC_DISPLAY_MODE                = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DRAFT                          = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ABAP_LIST                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USE_ARCHIVENAME_DEF            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DEFAULT_SPOOL_SIZE             = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PO_FAX_STORE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_FRAMES                      = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OUT_ARCHIVE_PARAMETERS         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     OUT_PARAMETERS                 = PARAMS&lt;/P&gt;&lt;P&gt;     VALID                          = VALID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VALID_FOR_SPOOL_CREATION       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INFO_NOT_FOUND         = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_PRINT_PARAMS           = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_ARCHIVE_PARAMS         = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                         = 4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF VALID &amp;lt;&amp;gt; SPACE.&lt;/P&gt;&lt;P&gt;    SUBMIT ZSPOOL14 TO SAP-SPOOL&lt;/P&gt;&lt;P&gt;    SPOOL PARAMETERS PARAMS&lt;/P&gt;&lt;P&gt;    WITHOUT SPOOL DYNPRO AND RETURN.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-BATCH EQ 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM GET_JOB_DETAILS.&lt;/P&gt;&lt;P&gt;    PERFORM OBTAIN_SPOOL_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Alternative way could be to submit another program and store spool&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;id into memory.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*submit ZSPOOLTOPDF2&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       to sap-spool&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       spool parameters   %_print&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       archive parameters %_print&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       without spool dynpro&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       and return.&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;Get spool id from program called above&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM CONVERT_SPOOL_TO_PDF.&lt;/P&gt;&lt;P&gt;    PERFORM PROCESS_EMAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF P_DELSPL EQ 'X'.&lt;/P&gt;&lt;P&gt;      PERFORM DELETE_SPOOL.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SYSID = C_DEV.&lt;/P&gt;&lt;P&gt;      WAIT UP TO 5 SECONDS.&lt;/P&gt;&lt;P&gt;      SUBMIT RSCONN01 WITH MODE   = 'INT'&lt;/P&gt;&lt;P&gt;                      WITH OUTPUT = 'X'&lt;/P&gt;&lt;P&gt;                      AND RETURN.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM FCONVERT_SPOOL_TO_PDF.&lt;/P&gt;&lt;P&gt;    PERFORM PROCESS_EMAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF P_DELSPL EQ 'X'.&lt;/P&gt;&lt;P&gt;      PERFORM DELETE_SPOOL.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SYSID = C_DEV.&lt;/P&gt;&lt;P&gt;      WAIT UP TO 5 SECONDS.&lt;/P&gt;&lt;P&gt;      SUBMIT RSCONN01 WITH MODE   = 'INT'&lt;/P&gt;&lt;P&gt;                      WITH OUTPUT = 'X'&lt;/P&gt;&lt;P&gt;                      AND RETURN.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SKIP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WRITE:/ 'Program must be executed in background in-order for spool'&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;           'request to be created.'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&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;      FORM obtain_spool_id                                          *&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 OBTAIN_SPOOL_ID.&lt;/P&gt;&lt;P&gt;  CHECK NOT ( GD_JOBNAME IS INITIAL ).&lt;/P&gt;&lt;P&gt;  CHECK NOT ( GD_JOBCOUNT IS INITIAL ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM  TBTCP&lt;/P&gt;&lt;P&gt;                 INTO TABLE IT_TBTCP&lt;/P&gt;&lt;P&gt;                 WHERE      JOBNAME     = GD_JOBNAME&lt;/P&gt;&lt;P&gt;                 AND        JOBCOUNT    = GD_JOBCOUNT&lt;/P&gt;&lt;P&gt;                 AND        STEPCOUNT   = GD_STEPCOUNT&lt;/P&gt;&lt;P&gt;                 AND        LISTIDENT   &amp;lt;&amp;gt; '0000000000'&lt;/P&gt;&lt;P&gt;                 ORDER BY   JOBNAME&lt;/P&gt;&lt;P&gt;                            JOBCOUNT&lt;/P&gt;&lt;P&gt;                            STEPCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE IT_TBTCP INTO WA_TBTCP INDEX 1.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE S004(ZDD) WITH GD_SPOOL_NR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    GD_SPOOL_NR = WA_TBTCP-LISTIDENT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE S004(ZDD) WITH GD_SPOOL_NR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE S005(ZDD).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "obtain_spool_id&lt;/P&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;      FORM get_job_details                                          *&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 GET_JOB_DETAILS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get current job details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'GET_JOB_RUNTIME_INFO'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      EVENTID                 = GD_EVENTID&lt;/P&gt;&lt;P&gt;      EVENTPARM               = GD_EVENTPARM&lt;/P&gt;&lt;P&gt;      EXTERNAL_PROGRAM_ACTIVE = GD_EXTERNAL_PROGRAM_ACTIVE&lt;/P&gt;&lt;P&gt;      JOBCOUNT                = GD_JOBCOUNT&lt;/P&gt;&lt;P&gt;      JOBNAME                 = GD_JOBNAME&lt;/P&gt;&lt;P&gt;      STEPCOUNT               = GD_STEPCOUNT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NO_RUNTIME_INFO         = 1&lt;/P&gt;&lt;P&gt;      OTHERS                  = 2.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "get_job_details&lt;/P&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;      FORM convert_spool_to_pdf                                     *&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 CONVERT_SPOOL_TO_PDF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      SRC_SPOOLID              = GD_SPOOL_NR&lt;/P&gt;&lt;P&gt;      NO_DIALOG                = C_NO&lt;/P&gt;&lt;P&gt;      DST_DEVICE               = C_DEVICE&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      PDF_BYTECOUNT            = GD_BYTECOUNT&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      PDF                      = IT_PDF_OUTPUT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      ERR_NO_ABAP_SPOOLJOB     = 1&lt;/P&gt;&lt;P&gt;      ERR_NO_SPOOLJOB          = 2&lt;/P&gt;&lt;P&gt;      ERR_NO_PERMISSION        = 3&lt;/P&gt;&lt;P&gt;      ERR_CONV_NOT_POSSIBLE    = 4&lt;/P&gt;&lt;P&gt;      ERR_BAD_DESTDEVICE       = 5&lt;/P&gt;&lt;P&gt;      USER_CANCELLED           = 6&lt;/P&gt;&lt;P&gt;      ERR_SPOOLERROR           = 7&lt;/P&gt;&lt;P&gt;      ERR_TEMSEERROR           = 8&lt;/P&gt;&lt;P&gt;      ERR_BTCJOB_OPEN_FAILED   = 9&lt;/P&gt;&lt;P&gt;      ERR_BTCJOB_SUBMIT_FAILED = 10&lt;/P&gt;&lt;P&gt;      ERR_BTCJOB_CLOSE_FAILED  = 11&lt;/P&gt;&lt;P&gt;      OTHERS                   = 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transfer the 132-long strings to 255-long strings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT IT_PDF_OUTPUT.&lt;/P&gt;&lt;P&gt;    TRANSLATE IT_PDF_OUTPUT USING ' ~'.&lt;/P&gt;&lt;P&gt;    CONCATENATE GD_BUFFER IT_PDF_OUTPUT INTO GD_BUFFER.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TRANSLATE GD_BUFFER USING '~ '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    IT_MESS_ATT = GD_BUFFER.&lt;/P&gt;&lt;P&gt;    APPEND IT_MESS_ATT.&lt;/P&gt;&lt;P&gt;    SHIFT GD_BUFFER LEFT BY 255 PLACES.&lt;/P&gt;&lt;P&gt;    IF GD_BUFFER IS INITIAL.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "convert_spool_to_pdf&lt;/P&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;      FORM process_email                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PROCESS_EMAIL.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE IT_MESS_ATT LINES GD_RECSIZE.&lt;/P&gt;&lt;P&gt;  CHECK GD_RECSIZE &amp;gt; 0.&lt;/P&gt;&lt;P&gt;  PERFORM SEND_EMAIL USING P_EMAIL1 P_EMAIL2 P_EMAIL3.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform send_email using p_email2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM.                    "process_email&lt;/P&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;      FORM send_email                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p_email                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SEND_EMAIL USING P_EMAIL P_EMAIL4 P_EMAIL5.&lt;/P&gt;&lt;P&gt;  CHECK NOT ( P_EMAIL IS INITIAL ).&lt;/P&gt;&lt;P&gt;  CHECK NOT ( P_EMAIL4 IS INITIAL ).&lt;/P&gt;&lt;P&gt;  CHECK NOT ( P_EMAIL5 IS INITIAL ).&lt;/P&gt;&lt;P&gt;  REFRESH IT_MESS_BOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Default subject matter&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  GD_SUBJECT         = 'Subject'.&lt;/P&gt;&lt;P&gt;  GD_ATTACHMENT_DESC = 'Attachname'.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'ebdit' ' ' INTO GD_ATTACHMENT_NAME.&lt;/P&gt;&lt;P&gt;  IT_MESS_BOD        = 'Message Body text, line 1'.&lt;/P&gt;&lt;P&gt;  APPEND IT_MESS_BOD.&lt;/P&gt;&lt;P&gt;  IT_MESS_BOD        = 'Message Body text, line 2...'.&lt;/P&gt;&lt;P&gt;  APPEND IT_MESS_BOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If no sender specified - default blank&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF P_SENDER EQ SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GD_SENDER_TYPE  = SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GD_SENDER_TYPE  = 'INT'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&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;Send file by email as .xls speadsheet&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM SEND_FILE_AS_EMAIL_ATTACHMENT&lt;/P&gt;&lt;P&gt;                               TABLES IT_MESS_BOD&lt;/P&gt;&lt;P&gt;                                      IT_MESS_ATT&lt;/P&gt;&lt;P&gt;                                USING P_EMAIL&lt;/P&gt;&lt;P&gt;                                      P_EMAIL4&lt;/P&gt;&lt;P&gt;                                      P_EMAIL5&lt;/P&gt;&lt;P&gt;                                      'ebdit output'&lt;/P&gt;&lt;P&gt;                                      'PDF'&lt;/P&gt;&lt;P&gt;                                      GD_ATTACHMENT_NAME&lt;/P&gt;&lt;P&gt;                                      GD_ATTACHMENT_DESC&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     P_SENDER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                                      GD_SENDER_TYPE&lt;/P&gt;&lt;P&gt;                             CHANGING GD_ERROR&lt;/P&gt;&lt;P&gt;                                      GD_RECIEVER.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "send_email&lt;/P&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;      FORM delete_spool                                             *&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 DELETE_SPOOL.&lt;/P&gt;&lt;P&gt;  DATA: LD_SPOOL_NR TYPE TSP01_SP0R-RQID_CHAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LD_SPOOL_NR = GD_SPOOL_NR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK P_DELSPL &amp;lt;&amp;gt; C_NO.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      SPOOLID = LD_SPOOL_NR.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "delete_spool&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SEND_FILE_AS_EMAIL_ATTACHMENT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Send email&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SEND_FILE_AS_EMAIL_ATTACHMENT TABLES IT_MESSAGE&lt;/P&gt;&lt;P&gt;                                          IT_ATTACH&lt;/P&gt;&lt;P&gt;                                    USING P_EMAIL&lt;/P&gt;&lt;P&gt;                                          P_EMAIL4&lt;/P&gt;&lt;P&gt;                                          P_EMAIL5&lt;/P&gt;&lt;P&gt;                                          P_MTITLE&lt;/P&gt;&lt;P&gt;                                          P_FORMAT&lt;/P&gt;&lt;P&gt;                                          P_FILENAME&lt;/P&gt;&lt;P&gt;                                          P_ATTDESCRIPTION&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         P_SENDER_ADDRESS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                                          P_SENDER_ADDRES_TYPE&lt;/P&gt;&lt;P&gt;                                 CHANGING P_ERROR&lt;/P&gt;&lt;P&gt;                                          P_RECIEVER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LD_ERROR    TYPE SY-SUBRC,&lt;/P&gt;&lt;P&gt;        LD_RECIEVER TYPE SY-SUBRC,&lt;/P&gt;&lt;P&gt;        LD_MTITLE LIKE SODOCCHGI1-OBJ_DESCR,&lt;/P&gt;&lt;P&gt;        LD_EMAIL1 LIKE  SOMLRECI1-RECEIVER,&lt;/P&gt;&lt;P&gt;        LD_EMAIL2 LIKE  SOMLRECI1-RECEIVER,&lt;/P&gt;&lt;P&gt;        LD_EMAIL3 LIKE  SOMLRECI1-RECEIVER,&lt;/P&gt;&lt;P&gt;        LD_FORMAT TYPE  SO_OBJ_TP ,&lt;/P&gt;&lt;P&gt;        LD_ATTDESCRIPTION TYPE  SO_OBJ_NAM ,&lt;/P&gt;&lt;P&gt;        LD_ATTFILENAME TYPE  SO_OBJ_DES ,&lt;/P&gt;&lt;P&gt;        LD_SENDER_ADDRESS LIKE  SOEXTRECI1-RECEIVER,&lt;/P&gt;&lt;P&gt;        LD_SENDER_ADDRESS_TYPE LIKE  SOEXTRECI1-ADR_TYP,&lt;/P&gt;&lt;P&gt;        LD_RECEIVER LIKE  SY-SUBRC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:   T_PACKING_LIST LIKE SOPCKLSTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          T_CONTENTS LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          T_RECEIVERS LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          T_ATTACHMENT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          T_OBJECT_HEADER LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          W_CNT TYPE I,&lt;/P&gt;&lt;P&gt;          W_SENT_ALL(1) TYPE C,&lt;/P&gt;&lt;P&gt;          W_DOC_DATA LIKE SODOCCHGI1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LD_EMAIL1   = P_EMAIL.&lt;/P&gt;&lt;P&gt;  LD_EMAIL2   = P_EMAIL4.&lt;/P&gt;&lt;P&gt;  LD_EMAIL3   = P_EMAIL5.&lt;/P&gt;&lt;P&gt;  LD_MTITLE = P_MTITLE.&lt;/P&gt;&lt;P&gt;  LD_FORMAT              = P_FORMAT.&lt;/P&gt;&lt;P&gt;  LD_ATTDESCRIPTION      = P_ATTDESCRIPTION.&lt;/P&gt;&lt;P&gt;  LD_ATTFILENAME         = P_FILENAME.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LD_SENDER_ADDRESS      = P_SENDER_ADDRESS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LD_SENDER_ADDRESS_TYPE = P_SENDER_ADDRES_TYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill the document data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  W_DOC_DATA-DOC_SIZE = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the subject/generic message attributes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  W_DOC_DATA-OBJ_LANGU = SY-LANGU.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-OBJ_NAME  = 'SAPRPT'.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-OBJ_DESCR = LD_MTITLE .&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-SENSITIVTY = 'F'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill the document data and get size of attachment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR W_DOC_DATA.&lt;/P&gt;&lt;P&gt;  READ TABLE IT_ATTACH INDEX W_CNT.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-DOC_SIZE =&lt;/P&gt;&lt;P&gt;     ( W_CNT - 1 ) * 255 + STRLEN( IT_ATTACH ).&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-OBJ_LANGU  = SY-LANGU.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-OBJ_NAME   = 'SAPRPT'.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-OBJ_DESCR  = LD_MTITLE.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-SENSITIVTY = 'F'.&lt;/P&gt;&lt;P&gt;  CLEAR T_ATTACHMENT.&lt;/P&gt;&lt;P&gt;  REFRESH T_ATTACHMENT.&lt;/P&gt;&lt;P&gt;  T_ATTACHMENT[] = IT_ATTACH[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Describe the body of the message.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR T_PACKING_LIST.&lt;/P&gt;&lt;P&gt;  REFRESH T_PACKING_LIST.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-TRANSF_BIN = SPACE.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-HEAD_NUM = 0.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-BODY_START = 1.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE IT_MESSAGE LINES T_PACKING_LIST-BODY_NUM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; T_PACKING_LIST-DOC_TYPE = 'RAW'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND T_PACKING_LIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create attachment notification&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_PACKING_LIST-TRANSF_BIN = 'X'.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-HEAD_NUM   = 1.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-BODY_START = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE T_ATTACHMENT LINES T_PACKING_LIST-BODY_NUM.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-DOC_TYPE   =  LD_FORMAT.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-OBJ_DESCR  =  LD_ATTDESCRIPTION.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-OBJ_NAME   =  LD_ATTFILENAME.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-DOC_SIZE   =  T_PACKING_LIST-BODY_NUM * 255.&lt;/P&gt;&lt;P&gt;  APPEND T_PACKING_LIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add the recipients email address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR T_RECEIVERS.&lt;/P&gt;&lt;P&gt;  REFRESH T_RECEIVERS.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-RECEIVER = LD_EMAIL1.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-COM_TYPE = 'INT'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_DEL = 'X'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_NDEL = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND T_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR T_RECEIVERS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH T_RECEIVERS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_RECEIVERS-RECEIVER = LD_EMAIL2.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-COM_TYPE = 'INT'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_DEL = 'X'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_NDEL = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND T_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR T_RECEIVERS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH T_RECEIVERS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_RECEIVERS-RECEIVER = LD_EMAIL3.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-COM_TYPE = 'INT'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_DEL = 'X'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_NDEL = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND T_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SO_DOCUMENT_SEND_API1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DOCUMENT_DATA              = W_DOC_DATA&lt;/P&gt;&lt;P&gt;      PUT_IN_OUTBOX              = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SENDER_ADDRESS             = LD_SENDER_ADDRESS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SENDER_ADDRESS_TYPE        = LD_SENDER_ADDRESS_TYPE&lt;/P&gt;&lt;P&gt;      COMMIT_WORK                = 'X'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      SENT_TO_ALL                = W_SENT_ALL&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      PACKING_LIST               = T_PACKING_LIST&lt;/P&gt;&lt;P&gt;      CONTENTS_BIN               = T_ATTACHMENT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONTENTS_TXT               = IT_MESSAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      RECEIVERS                  = T_RECEIVERS&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      TOO_MANY_RECEIVERS         = 1&lt;/P&gt;&lt;P&gt;      DOCUMENT_NOT_SENT          = 2&lt;/P&gt;&lt;P&gt;      DOCUMENT_TYPE_NOT_EXIST    = 3&lt;/P&gt;&lt;P&gt;      OPERATION_NO_AUTHORIZATION = 4&lt;/P&gt;&lt;P&gt;      PARAMETER_ERROR            = 5&lt;/P&gt;&lt;P&gt;      X_ERROR                    = 6&lt;/P&gt;&lt;P&gt;      ENQUEUE_ERROR              = 7&lt;/P&gt;&lt;P&gt;      OTHERS                     = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate zerror return code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LD_ERROR = SY-SUBRC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate zreceiver return code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT T_RECEIVERS.&lt;/P&gt;&lt;P&gt;    LD_RECEIVER = T_RECEIVERS-RETRN_CODE.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "send_file_as_email_attachment&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FCONVERT_SPOOL_TO_PDF&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 FCONVERT_SPOOL_TO_PDF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT *&lt;/P&gt;&lt;P&gt;  FROM TSP01&lt;/P&gt;&lt;P&gt;  WHERE RQOWNER EQ SY-UNAME&lt;/P&gt;&lt;P&gt;  ORDER BY RQCRETIME ASCENDING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  GD_SPOOL_NR = TSP01-RQIDENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      SRC_SPOOLID              = GD_SPOOL_NR&lt;/P&gt;&lt;P&gt;      NO_DIALOG                = C_NO&lt;/P&gt;&lt;P&gt;      DST_DEVICE               = C_DEVICE&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      PDF_BYTECOUNT            = GD_BYTECOUNT&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      PDF                      = IT_PDF_OUTPUT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      ERR_NO_ABAP_SPOOLJOB     = 1&lt;/P&gt;&lt;P&gt;      ERR_NO_SPOOLJOB          = 2&lt;/P&gt;&lt;P&gt;      ERR_NO_PERMISSION        = 3&lt;/P&gt;&lt;P&gt;      ERR_CONV_NOT_POSSIBLE    = 4&lt;/P&gt;&lt;P&gt;      ERR_BAD_DESTDEVICE       = 5&lt;/P&gt;&lt;P&gt;      USER_CANCELLED           = 6&lt;/P&gt;&lt;P&gt;      ERR_SPOOLERROR           = 7&lt;/P&gt;&lt;P&gt;      ERR_TEMSEERROR           = 8&lt;/P&gt;&lt;P&gt;      ERR_BTCJOB_OPEN_FAILED   = 9&lt;/P&gt;&lt;P&gt;      ERR_BTCJOB_SUBMIT_FAILED = 10&lt;/P&gt;&lt;P&gt;      ERR_BTCJOB_CLOSE_FAILED  = 11&lt;/P&gt;&lt;P&gt;      OTHERS                   = 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;  FREE GD_BUFFER.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transfer the 132-long strings to 255-long strings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT IT_PDF_OUTPUT.&lt;/P&gt;&lt;P&gt;    TRANSLATE IT_PDF_OUTPUT USING ' ~'.&lt;/P&gt;&lt;P&gt;    CONCATENATE GD_BUFFER IT_PDF_OUTPUT INTO GD_BUFFER.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TRANSLATE GD_BUFFER USING '~ '.&lt;/P&gt;&lt;P&gt;  FREE IT_MESS_ATT.&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    IT_MESS_ATT = GD_BUFFER.&lt;/P&gt;&lt;P&gt;    APPEND IT_MESS_ATT.&lt;/P&gt;&lt;P&gt;    SHIFT GD_BUFFER LEFT BY 255 PLACES.&lt;/P&gt;&lt;P&gt;    IF GD_BUFFER IS INITIAL.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;*clear:&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FCONVERT_SPOOL_TO_PDF&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 17 Mar 2007 05:44:19 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-03-17T05:44:19Z</dc:date>
    <item>
      <title>OUT PUT ERROR</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/out-put-error/m-p/2046995#M421561</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI  &lt;/P&gt;&lt;P&gt;    WHEN I AM EXECUTING THE FOLLOWING PROG I AM GETTING AN ERROR "MAXIMUM NUMBER OF INTERNAL SESSIONS REACHED".&lt;/P&gt;&lt;P&gt;DOES ANY ONE HAS ANY IDEA ABT IT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZSPOOL14.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:TSP01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: P_EMAIL1 LIKE SOMLRECI1-RECEIVER,&lt;/P&gt;&lt;P&gt;            P_EMAIL2 LIKE SOMLRECI1-RECEIVER,&lt;/P&gt;&lt;P&gt;            P_EMAIL3 LIKE SOMLRECI1-RECEIVER,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           P_SENDER LIKE SOMLRECI1-RECEIVER,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            P_DELSPL AS CHECKBOX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA DECLARATION&lt;/P&gt;&lt;P&gt;DATA: GD_RECSIZE TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Spool IDs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF T_TBTCP.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE TBTCP.&lt;/P&gt;&lt;P&gt;TYPES: END OF T_TBTCP.&lt;/P&gt;&lt;P&gt;DATA: IT_TBTCP TYPE STANDARD TABLE OF T_TBTCP INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      WA_TBTCP TYPE T_TBTCP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Job Runtime Parameters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: GD_EVENTID LIKE TBTCM-EVENTID,&lt;/P&gt;&lt;P&gt;      GD_EVENTPARM LIKE TBTCM-EVENTPARM,&lt;/P&gt;&lt;P&gt;      GD_EXTERNAL_PROGRAM_ACTIVE LIKE TBTCM-XPGACTIVE,&lt;/P&gt;&lt;P&gt;      GD_JOBCOUNT LIKE TBTCM-JOBCOUNT,&lt;/P&gt;&lt;P&gt;      GD_JOBNAME LIKE TBTCM-JOBNAME,&lt;/P&gt;&lt;P&gt;      GD_STEPCOUNT LIKE TBTCM-STEPCOUNT,&lt;/P&gt;&lt;P&gt;      GD_ERROR    TYPE SY-SUBRC,&lt;/P&gt;&lt;P&gt;      GD_RECIEVER TYPE SY-SUBRC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  W_RECSIZE TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: GD_SUBJECT   LIKE SODOCCHGI1-OBJ_DESCR,&lt;/P&gt;&lt;P&gt;      IT_MESS_BOD LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      IT_MESS_ATT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      GD_SENDER_TYPE     LIKE SOEXTRECI1-ADR_TYP,&lt;/P&gt;&lt;P&gt;      GD_ATTACHMENT_DESC TYPE SO_OBJ_NAM,&lt;/P&gt;&lt;P&gt;      GD_ATTACHMENT_NAME TYPE SO_OBJ_DES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Spool to PDF conversions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: GD_SPOOL_NR LIKE TSP01-RQIDENT,&lt;/P&gt;&lt;P&gt;      GD_DESTINATION LIKE RLGRAP-FILENAME,&lt;/P&gt;&lt;P&gt;      GD_BYTECOUNT LIKE TST01-DSIZE,&lt;/P&gt;&lt;P&gt;      GD_BUFFER TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Binary store for PDF&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF IT_PDF_OUTPUT OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE TLINE.&lt;/P&gt;&lt;P&gt;DATA: END OF IT_PDF_OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS:C_DEV LIKE  SY-SYSID VALUE 'DEV',&lt;/P&gt;&lt;P&gt;          C_NO(1)  TYPE C   VALUE ' ',&lt;/P&gt;&lt;P&gt;          C_DEVICE(4) TYPE C   VALUE 'LOCL'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;print parameters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:PARAMS LIKE PRI_PARAMS,&lt;/P&gt;&lt;P&gt;DAYS(1)  TYPE N VALUE 2,&lt;/P&gt;&lt;P&gt;COUNT(3) TYPE N VALUE 1,&lt;/P&gt;&lt;P&gt;VALID TYPE C,&lt;/P&gt;&lt;P&gt;SPOOL_REQUEST_NAME LIKE PRI_PARAMS-PLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*INITIALIZATION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; P_EMAIL1 = 'gourab.mukherjee@hpl.co.in'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write statement to represent report output. Spool request is created&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if write statement is executed in background. This could also be an&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV grid which would be converted to PDF without any extra effort&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WRITE 'HAI EVERYONE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  NEW-PAGE.&lt;/P&gt;&lt;P&gt;  COMMIT WORK.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; NEW-PAGE PRINT OFF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE SY-REPID+0(8)&lt;/P&gt;&lt;P&gt;  SY-UNAME+0(3)&lt;/P&gt;&lt;P&gt;  INTO SPOOL_REQUEST_NAME SEPARATED BY '_'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GET_PRINT_PARAMETERS'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     ARCHIVE_MODE                   = '1'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_TEXT                   = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  AR_OBJECT                      = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_REPORT                 = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  AUTHORITY                      = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     COPIES                         = COUNT&lt;/P&gt;&lt;P&gt;     COVER_PAGE                     = ''&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DATA_SET                       = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DEPARTMENT                     = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     DESTINATION                    = 'HR04'&lt;/P&gt;&lt;P&gt;     EXPIRATION                     = DAYS&lt;/P&gt;&lt;P&gt;     IMMEDIATELY                    = ''&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IN_ARCHIVE_PARAMETERS          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IN_PARAMETERS                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     LAYOUT                         = 'X_65_32'&lt;/P&gt;&lt;P&gt;     LINE_COUNT                     = 65&lt;/P&gt;&lt;P&gt;     LINE_SIZE                      = 132&lt;/P&gt;&lt;P&gt;     LIST_NAME                      = SPOOL_REQUEST_NAME&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LIST_TEXT                      = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     MODE                           = 'BATCH'&lt;/P&gt;&lt;P&gt;     NEW_LIST_ID                    = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROTECT_LIST                   = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     NO_DIALOG                      = 'X'&lt;/P&gt;&lt;P&gt;     RECEIVER                       = ''&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  RELEASE                        = ''&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     REPORT                         = ''&lt;/P&gt;&lt;P&gt;     SAP_COVER_PAGE                 = 'D'&lt;/P&gt;&lt;P&gt;     HOST_COVER_PAGE                = 'D'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PRIORITY                       = C_NUM1_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SAP_OBJECT                     = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TYPE                           = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USER                           = SY-UNAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USE_OLD_LAYOUT                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UC_DISPLAY_MODE                = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DRAFT                          = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ABAP_LIST                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USE_ARCHIVENAME_DEF            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DEFAULT_SPOOL_SIZE             = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PO_FAX_STORE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_FRAMES                      = C_CHAR_UNKNOWN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OUT_ARCHIVE_PARAMETERS         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     OUT_PARAMETERS                 = PARAMS&lt;/P&gt;&lt;P&gt;     VALID                          = VALID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VALID_FOR_SPOOL_CREATION       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INFO_NOT_FOUND         = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_PRINT_PARAMS           = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_ARCHIVE_PARAMS         = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                         = 4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF VALID &amp;lt;&amp;gt; SPACE.&lt;/P&gt;&lt;P&gt;    SUBMIT ZSPOOL14 TO SAP-SPOOL&lt;/P&gt;&lt;P&gt;    SPOOL PARAMETERS PARAMS&lt;/P&gt;&lt;P&gt;    WITHOUT SPOOL DYNPRO AND RETURN.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-BATCH EQ 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM GET_JOB_DETAILS.&lt;/P&gt;&lt;P&gt;    PERFORM OBTAIN_SPOOL_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Alternative way could be to submit another program and store spool&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;id into memory.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*submit ZSPOOLTOPDF2&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       to sap-spool&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       spool parameters   %_print&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       archive parameters %_print&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       without spool dynpro&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       and return.&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;Get spool id from program called above&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM CONVERT_SPOOL_TO_PDF.&lt;/P&gt;&lt;P&gt;    PERFORM PROCESS_EMAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF P_DELSPL EQ 'X'.&lt;/P&gt;&lt;P&gt;      PERFORM DELETE_SPOOL.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SYSID = C_DEV.&lt;/P&gt;&lt;P&gt;      WAIT UP TO 5 SECONDS.&lt;/P&gt;&lt;P&gt;      SUBMIT RSCONN01 WITH MODE   = 'INT'&lt;/P&gt;&lt;P&gt;                      WITH OUTPUT = 'X'&lt;/P&gt;&lt;P&gt;                      AND RETURN.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM FCONVERT_SPOOL_TO_PDF.&lt;/P&gt;&lt;P&gt;    PERFORM PROCESS_EMAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF P_DELSPL EQ 'X'.&lt;/P&gt;&lt;P&gt;      PERFORM DELETE_SPOOL.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SYSID = C_DEV.&lt;/P&gt;&lt;P&gt;      WAIT UP TO 5 SECONDS.&lt;/P&gt;&lt;P&gt;      SUBMIT RSCONN01 WITH MODE   = 'INT'&lt;/P&gt;&lt;P&gt;                      WITH OUTPUT = 'X'&lt;/P&gt;&lt;P&gt;                      AND RETURN.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SKIP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WRITE:/ 'Program must be executed in background in-order for spool'&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;           'request to be created.'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&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;      FORM obtain_spool_id                                          *&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 OBTAIN_SPOOL_ID.&lt;/P&gt;&lt;P&gt;  CHECK NOT ( GD_JOBNAME IS INITIAL ).&lt;/P&gt;&lt;P&gt;  CHECK NOT ( GD_JOBCOUNT IS INITIAL ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM  TBTCP&lt;/P&gt;&lt;P&gt;                 INTO TABLE IT_TBTCP&lt;/P&gt;&lt;P&gt;                 WHERE      JOBNAME     = GD_JOBNAME&lt;/P&gt;&lt;P&gt;                 AND        JOBCOUNT    = GD_JOBCOUNT&lt;/P&gt;&lt;P&gt;                 AND        STEPCOUNT   = GD_STEPCOUNT&lt;/P&gt;&lt;P&gt;                 AND        LISTIDENT   &amp;lt;&amp;gt; '0000000000'&lt;/P&gt;&lt;P&gt;                 ORDER BY   JOBNAME&lt;/P&gt;&lt;P&gt;                            JOBCOUNT&lt;/P&gt;&lt;P&gt;                            STEPCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE IT_TBTCP INTO WA_TBTCP INDEX 1.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE S004(ZDD) WITH GD_SPOOL_NR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    GD_SPOOL_NR = WA_TBTCP-LISTIDENT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE S004(ZDD) WITH GD_SPOOL_NR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE S005(ZDD).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "obtain_spool_id&lt;/P&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;      FORM get_job_details                                          *&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 GET_JOB_DETAILS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get current job details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'GET_JOB_RUNTIME_INFO'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      EVENTID                 = GD_EVENTID&lt;/P&gt;&lt;P&gt;      EVENTPARM               = GD_EVENTPARM&lt;/P&gt;&lt;P&gt;      EXTERNAL_PROGRAM_ACTIVE = GD_EXTERNAL_PROGRAM_ACTIVE&lt;/P&gt;&lt;P&gt;      JOBCOUNT                = GD_JOBCOUNT&lt;/P&gt;&lt;P&gt;      JOBNAME                 = GD_JOBNAME&lt;/P&gt;&lt;P&gt;      STEPCOUNT               = GD_STEPCOUNT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NO_RUNTIME_INFO         = 1&lt;/P&gt;&lt;P&gt;      OTHERS                  = 2.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "get_job_details&lt;/P&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;      FORM convert_spool_to_pdf                                     *&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 CONVERT_SPOOL_TO_PDF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      SRC_SPOOLID              = GD_SPOOL_NR&lt;/P&gt;&lt;P&gt;      NO_DIALOG                = C_NO&lt;/P&gt;&lt;P&gt;      DST_DEVICE               = C_DEVICE&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      PDF_BYTECOUNT            = GD_BYTECOUNT&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      PDF                      = IT_PDF_OUTPUT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      ERR_NO_ABAP_SPOOLJOB     = 1&lt;/P&gt;&lt;P&gt;      ERR_NO_SPOOLJOB          = 2&lt;/P&gt;&lt;P&gt;      ERR_NO_PERMISSION        = 3&lt;/P&gt;&lt;P&gt;      ERR_CONV_NOT_POSSIBLE    = 4&lt;/P&gt;&lt;P&gt;      ERR_BAD_DESTDEVICE       = 5&lt;/P&gt;&lt;P&gt;      USER_CANCELLED           = 6&lt;/P&gt;&lt;P&gt;      ERR_SPOOLERROR           = 7&lt;/P&gt;&lt;P&gt;      ERR_TEMSEERROR           = 8&lt;/P&gt;&lt;P&gt;      ERR_BTCJOB_OPEN_FAILED   = 9&lt;/P&gt;&lt;P&gt;      ERR_BTCJOB_SUBMIT_FAILED = 10&lt;/P&gt;&lt;P&gt;      ERR_BTCJOB_CLOSE_FAILED  = 11&lt;/P&gt;&lt;P&gt;      OTHERS                   = 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transfer the 132-long strings to 255-long strings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT IT_PDF_OUTPUT.&lt;/P&gt;&lt;P&gt;    TRANSLATE IT_PDF_OUTPUT USING ' ~'.&lt;/P&gt;&lt;P&gt;    CONCATENATE GD_BUFFER IT_PDF_OUTPUT INTO GD_BUFFER.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TRANSLATE GD_BUFFER USING '~ '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    IT_MESS_ATT = GD_BUFFER.&lt;/P&gt;&lt;P&gt;    APPEND IT_MESS_ATT.&lt;/P&gt;&lt;P&gt;    SHIFT GD_BUFFER LEFT BY 255 PLACES.&lt;/P&gt;&lt;P&gt;    IF GD_BUFFER IS INITIAL.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "convert_spool_to_pdf&lt;/P&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;      FORM process_email                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PROCESS_EMAIL.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE IT_MESS_ATT LINES GD_RECSIZE.&lt;/P&gt;&lt;P&gt;  CHECK GD_RECSIZE &amp;gt; 0.&lt;/P&gt;&lt;P&gt;  PERFORM SEND_EMAIL USING P_EMAIL1 P_EMAIL2 P_EMAIL3.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform send_email using p_email2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM.                    "process_email&lt;/P&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;      FORM send_email                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p_email                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SEND_EMAIL USING P_EMAIL P_EMAIL4 P_EMAIL5.&lt;/P&gt;&lt;P&gt;  CHECK NOT ( P_EMAIL IS INITIAL ).&lt;/P&gt;&lt;P&gt;  CHECK NOT ( P_EMAIL4 IS INITIAL ).&lt;/P&gt;&lt;P&gt;  CHECK NOT ( P_EMAIL5 IS INITIAL ).&lt;/P&gt;&lt;P&gt;  REFRESH IT_MESS_BOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Default subject matter&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  GD_SUBJECT         = 'Subject'.&lt;/P&gt;&lt;P&gt;  GD_ATTACHMENT_DESC = 'Attachname'.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'ebdit' ' ' INTO GD_ATTACHMENT_NAME.&lt;/P&gt;&lt;P&gt;  IT_MESS_BOD        = 'Message Body text, line 1'.&lt;/P&gt;&lt;P&gt;  APPEND IT_MESS_BOD.&lt;/P&gt;&lt;P&gt;  IT_MESS_BOD        = 'Message Body text, line 2...'.&lt;/P&gt;&lt;P&gt;  APPEND IT_MESS_BOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If no sender specified - default blank&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF P_SENDER EQ SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GD_SENDER_TYPE  = SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GD_SENDER_TYPE  = 'INT'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&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;Send file by email as .xls speadsheet&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM SEND_FILE_AS_EMAIL_ATTACHMENT&lt;/P&gt;&lt;P&gt;                               TABLES IT_MESS_BOD&lt;/P&gt;&lt;P&gt;                                      IT_MESS_ATT&lt;/P&gt;&lt;P&gt;                                USING P_EMAIL&lt;/P&gt;&lt;P&gt;                                      P_EMAIL4&lt;/P&gt;&lt;P&gt;                                      P_EMAIL5&lt;/P&gt;&lt;P&gt;                                      'ebdit output'&lt;/P&gt;&lt;P&gt;                                      'PDF'&lt;/P&gt;&lt;P&gt;                                      GD_ATTACHMENT_NAME&lt;/P&gt;&lt;P&gt;                                      GD_ATTACHMENT_DESC&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     P_SENDER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                                      GD_SENDER_TYPE&lt;/P&gt;&lt;P&gt;                             CHANGING GD_ERROR&lt;/P&gt;&lt;P&gt;                                      GD_RECIEVER.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "send_email&lt;/P&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;      FORM delete_spool                                             *&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 DELETE_SPOOL.&lt;/P&gt;&lt;P&gt;  DATA: LD_SPOOL_NR TYPE TSP01_SP0R-RQID_CHAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LD_SPOOL_NR = GD_SPOOL_NR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK P_DELSPL &amp;lt;&amp;gt; C_NO.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      SPOOLID = LD_SPOOL_NR.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "delete_spool&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SEND_FILE_AS_EMAIL_ATTACHMENT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Send email&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SEND_FILE_AS_EMAIL_ATTACHMENT TABLES IT_MESSAGE&lt;/P&gt;&lt;P&gt;                                          IT_ATTACH&lt;/P&gt;&lt;P&gt;                                    USING P_EMAIL&lt;/P&gt;&lt;P&gt;                                          P_EMAIL4&lt;/P&gt;&lt;P&gt;                                          P_EMAIL5&lt;/P&gt;&lt;P&gt;                                          P_MTITLE&lt;/P&gt;&lt;P&gt;                                          P_FORMAT&lt;/P&gt;&lt;P&gt;                                          P_FILENAME&lt;/P&gt;&lt;P&gt;                                          P_ATTDESCRIPTION&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         P_SENDER_ADDRESS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                                          P_SENDER_ADDRES_TYPE&lt;/P&gt;&lt;P&gt;                                 CHANGING P_ERROR&lt;/P&gt;&lt;P&gt;                                          P_RECIEVER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LD_ERROR    TYPE SY-SUBRC,&lt;/P&gt;&lt;P&gt;        LD_RECIEVER TYPE SY-SUBRC,&lt;/P&gt;&lt;P&gt;        LD_MTITLE LIKE SODOCCHGI1-OBJ_DESCR,&lt;/P&gt;&lt;P&gt;        LD_EMAIL1 LIKE  SOMLRECI1-RECEIVER,&lt;/P&gt;&lt;P&gt;        LD_EMAIL2 LIKE  SOMLRECI1-RECEIVER,&lt;/P&gt;&lt;P&gt;        LD_EMAIL3 LIKE  SOMLRECI1-RECEIVER,&lt;/P&gt;&lt;P&gt;        LD_FORMAT TYPE  SO_OBJ_TP ,&lt;/P&gt;&lt;P&gt;        LD_ATTDESCRIPTION TYPE  SO_OBJ_NAM ,&lt;/P&gt;&lt;P&gt;        LD_ATTFILENAME TYPE  SO_OBJ_DES ,&lt;/P&gt;&lt;P&gt;        LD_SENDER_ADDRESS LIKE  SOEXTRECI1-RECEIVER,&lt;/P&gt;&lt;P&gt;        LD_SENDER_ADDRESS_TYPE LIKE  SOEXTRECI1-ADR_TYP,&lt;/P&gt;&lt;P&gt;        LD_RECEIVER LIKE  SY-SUBRC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:   T_PACKING_LIST LIKE SOPCKLSTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          T_CONTENTS LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          T_RECEIVERS LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          T_ATTACHMENT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          T_OBJECT_HEADER LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          W_CNT TYPE I,&lt;/P&gt;&lt;P&gt;          W_SENT_ALL(1) TYPE C,&lt;/P&gt;&lt;P&gt;          W_DOC_DATA LIKE SODOCCHGI1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LD_EMAIL1   = P_EMAIL.&lt;/P&gt;&lt;P&gt;  LD_EMAIL2   = P_EMAIL4.&lt;/P&gt;&lt;P&gt;  LD_EMAIL3   = P_EMAIL5.&lt;/P&gt;&lt;P&gt;  LD_MTITLE = P_MTITLE.&lt;/P&gt;&lt;P&gt;  LD_FORMAT              = P_FORMAT.&lt;/P&gt;&lt;P&gt;  LD_ATTDESCRIPTION      = P_ATTDESCRIPTION.&lt;/P&gt;&lt;P&gt;  LD_ATTFILENAME         = P_FILENAME.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LD_SENDER_ADDRESS      = P_SENDER_ADDRESS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LD_SENDER_ADDRESS_TYPE = P_SENDER_ADDRES_TYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill the document data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  W_DOC_DATA-DOC_SIZE = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the subject/generic message attributes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  W_DOC_DATA-OBJ_LANGU = SY-LANGU.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-OBJ_NAME  = 'SAPRPT'.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-OBJ_DESCR = LD_MTITLE .&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-SENSITIVTY = 'F'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill the document data and get size of attachment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR W_DOC_DATA.&lt;/P&gt;&lt;P&gt;  READ TABLE IT_ATTACH INDEX W_CNT.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-DOC_SIZE =&lt;/P&gt;&lt;P&gt;     ( W_CNT - 1 ) * 255 + STRLEN( IT_ATTACH ).&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-OBJ_LANGU  = SY-LANGU.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-OBJ_NAME   = 'SAPRPT'.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-OBJ_DESCR  = LD_MTITLE.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-SENSITIVTY = 'F'.&lt;/P&gt;&lt;P&gt;  CLEAR T_ATTACHMENT.&lt;/P&gt;&lt;P&gt;  REFRESH T_ATTACHMENT.&lt;/P&gt;&lt;P&gt;  T_ATTACHMENT[] = IT_ATTACH[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Describe the body of the message.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR T_PACKING_LIST.&lt;/P&gt;&lt;P&gt;  REFRESH T_PACKING_LIST.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-TRANSF_BIN = SPACE.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-HEAD_NUM = 0.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-BODY_START = 1.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE IT_MESSAGE LINES T_PACKING_LIST-BODY_NUM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; T_PACKING_LIST-DOC_TYPE = 'RAW'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND T_PACKING_LIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create attachment notification&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_PACKING_LIST-TRANSF_BIN = 'X'.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-HEAD_NUM   = 1.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-BODY_START = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE T_ATTACHMENT LINES T_PACKING_LIST-BODY_NUM.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-DOC_TYPE   =  LD_FORMAT.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-OBJ_DESCR  =  LD_ATTDESCRIPTION.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-OBJ_NAME   =  LD_ATTFILENAME.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-DOC_SIZE   =  T_PACKING_LIST-BODY_NUM * 255.&lt;/P&gt;&lt;P&gt;  APPEND T_PACKING_LIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add the recipients email address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR T_RECEIVERS.&lt;/P&gt;&lt;P&gt;  REFRESH T_RECEIVERS.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-RECEIVER = LD_EMAIL1.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-COM_TYPE = 'INT'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_DEL = 'X'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_NDEL = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND T_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR T_RECEIVERS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH T_RECEIVERS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_RECEIVERS-RECEIVER = LD_EMAIL2.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-COM_TYPE = 'INT'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_DEL = 'X'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_NDEL = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND T_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR T_RECEIVERS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH T_RECEIVERS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_RECEIVERS-RECEIVER = LD_EMAIL3.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-COM_TYPE = 'INT'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_DEL = 'X'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_NDEL = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND T_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SO_DOCUMENT_SEND_API1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DOCUMENT_DATA              = W_DOC_DATA&lt;/P&gt;&lt;P&gt;      PUT_IN_OUTBOX              = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SENDER_ADDRESS             = LD_SENDER_ADDRESS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SENDER_ADDRESS_TYPE        = LD_SENDER_ADDRESS_TYPE&lt;/P&gt;&lt;P&gt;      COMMIT_WORK                = 'X'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      SENT_TO_ALL                = W_SENT_ALL&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      PACKING_LIST               = T_PACKING_LIST&lt;/P&gt;&lt;P&gt;      CONTENTS_BIN               = T_ATTACHMENT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONTENTS_TXT               = IT_MESSAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      RECEIVERS                  = T_RECEIVERS&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      TOO_MANY_RECEIVERS         = 1&lt;/P&gt;&lt;P&gt;      DOCUMENT_NOT_SENT          = 2&lt;/P&gt;&lt;P&gt;      DOCUMENT_TYPE_NOT_EXIST    = 3&lt;/P&gt;&lt;P&gt;      OPERATION_NO_AUTHORIZATION = 4&lt;/P&gt;&lt;P&gt;      PARAMETER_ERROR            = 5&lt;/P&gt;&lt;P&gt;      X_ERROR                    = 6&lt;/P&gt;&lt;P&gt;      ENQUEUE_ERROR              = 7&lt;/P&gt;&lt;P&gt;      OTHERS                     = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate zerror return code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LD_ERROR = SY-SUBRC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate zreceiver return code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT T_RECEIVERS.&lt;/P&gt;&lt;P&gt;    LD_RECEIVER = T_RECEIVERS-RETRN_CODE.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "send_file_as_email_attachment&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FCONVERT_SPOOL_TO_PDF&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 FCONVERT_SPOOL_TO_PDF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT *&lt;/P&gt;&lt;P&gt;  FROM TSP01&lt;/P&gt;&lt;P&gt;  WHERE RQOWNER EQ SY-UNAME&lt;/P&gt;&lt;P&gt;  ORDER BY RQCRETIME ASCENDING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  GD_SPOOL_NR = TSP01-RQIDENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      SRC_SPOOLID              = GD_SPOOL_NR&lt;/P&gt;&lt;P&gt;      NO_DIALOG                = C_NO&lt;/P&gt;&lt;P&gt;      DST_DEVICE               = C_DEVICE&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      PDF_BYTECOUNT            = GD_BYTECOUNT&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      PDF                      = IT_PDF_OUTPUT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      ERR_NO_ABAP_SPOOLJOB     = 1&lt;/P&gt;&lt;P&gt;      ERR_NO_SPOOLJOB          = 2&lt;/P&gt;&lt;P&gt;      ERR_NO_PERMISSION        = 3&lt;/P&gt;&lt;P&gt;      ERR_CONV_NOT_POSSIBLE    = 4&lt;/P&gt;&lt;P&gt;      ERR_BAD_DESTDEVICE       = 5&lt;/P&gt;&lt;P&gt;      USER_CANCELLED           = 6&lt;/P&gt;&lt;P&gt;      ERR_SPOOLERROR           = 7&lt;/P&gt;&lt;P&gt;      ERR_TEMSEERROR           = 8&lt;/P&gt;&lt;P&gt;      ERR_BTCJOB_OPEN_FAILED   = 9&lt;/P&gt;&lt;P&gt;      ERR_BTCJOB_SUBMIT_FAILED = 10&lt;/P&gt;&lt;P&gt;      ERR_BTCJOB_CLOSE_FAILED  = 11&lt;/P&gt;&lt;P&gt;      OTHERS                   = 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;  FREE GD_BUFFER.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transfer the 132-long strings to 255-long strings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT IT_PDF_OUTPUT.&lt;/P&gt;&lt;P&gt;    TRANSLATE IT_PDF_OUTPUT USING ' ~'.&lt;/P&gt;&lt;P&gt;    CONCATENATE GD_BUFFER IT_PDF_OUTPUT INTO GD_BUFFER.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TRANSLATE GD_BUFFER USING '~ '.&lt;/P&gt;&lt;P&gt;  FREE IT_MESS_ATT.&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    IT_MESS_ATT = GD_BUFFER.&lt;/P&gt;&lt;P&gt;    APPEND IT_MESS_ATT.&lt;/P&gt;&lt;P&gt;    SHIFT GD_BUFFER LEFT BY 255 PLACES.&lt;/P&gt;&lt;P&gt;    IF GD_BUFFER IS INITIAL.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;*clear:&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FCONVERT_SPOOL_TO_PDF&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 17 Mar 2007 05:44:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/out-put-error/m-p/2046995#M421561</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-17T05:44:19Z</dc:date>
    </item>
    <item>
      <title>Re: OUT PUT ERROR</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/out-put-error/m-p/2046996#M421562</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 think problem is in this code :--&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
IF SY-SYSID = C_DEV.               
WAIT UP TO 5 SECONDS.
SUBMIT RSCONN01 WITH MODE = 'INT'  " &amp;lt;&amp;lt; Here session created internally
WITH OUTPUT = 'X'
AND RETURN.
ENDIF.
ELSE.
PERFORM FCONVERT_SPOOL_TO_PDF.
PERFORM PROCESS_EMAIL.

IF P_DELSPL EQ 'X'.
PERFORM DELETE_SPOOL.
ENDIF.

IF SY-SYSID = C_DEV.
WAIT UP TO 5 SECONDS.
SUBMIT RSCONN01 WITH MODE = 'INT'  " &amp;lt;&amp;lt; Here sessions created internally
WITH OUTPUT = 'X'
AND RETURN.
ENDIF.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 17 Mar 2007 15:51:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/out-put-error/m-p/2046996#M421562</guid>
      <dc:creator>former_member194669</dc:creator>
      <dc:date>2007-03-17T15:51:24Z</dc:date>
    </item>
  </channel>
</rss>

