<?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: Convert internal table to spool in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220927#M1379085</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN __default_attr="blue" __jive_macro_name="color"&gt;Hi Rob,
Check my program here to convert internal table to spool . It works fine.
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;&lt;SPAN __jive_macro_name="message" id="7975663"&gt;&lt;/SPAN&gt;&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;

Thanks
Venkat.O&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 08 Oct 2009 10:39:53 GMT</pubDate>
    <dc:creator>venkat_o</dc:creator>
    <dc:date>2009-10-08T10:39:53Z</dc:date>
    <item>
      <title>Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220922#M1379080</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'm getting an error after calling:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SLVC_TABLE_PS_TO_SPOOL'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_file_length = file_length&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;e_spoolid = spool_id&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;it_textdata = objbin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use the spool_id as a parameter for CONVERT_ABAPSPOOLJOB_2_PDF but I'm getting the error 'Spool request # contains no ABAP list data'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Am I using the wrong spool id?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help appreciated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 10:06:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220922#M1379080</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-10-08T10:06:45Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220923#M1379081</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;Goto the transaction &lt;STRONG&gt;SP01&lt;/STRONG&gt; and check if the internal table list is generated for the spool id generated using 'SLVC_TABLE_PS_TO_SPOOL'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Vikranth&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 10:10:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220923#M1379081</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-10-08T10:10:44Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220924#M1379082</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please check if the internal table objbin is having any data or not before passing to the FM 'SLVC_TABLE_PS_TO_SPOOL'. Also check SP01 by taking the spool number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Nagaraj&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 10:19:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220924#M1379082</guid>
      <dc:creator>former_member404244</dc:creator>
      <dc:date>2009-10-08T10:19:26Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220925#M1379083</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;Yes objbin has data and when I display the spool request in SP01 it displays what I'm expecting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Coul dit be anything to do with running it in debug rather than background as it keeps asking me for a device?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 10:29:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220925#M1379083</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-10-08T10:29:10Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220926#M1379084</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;Try this piece of code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

* If print option is selected.
  IF p_print IS NOT INITIAL.
    MOVE c_x TO v_print.
  ELSE.
    CLEAR v_print.
  ENDIF.

* Setup the Print Parmaters
  CALL FUNCTION 'GET_PRINT_PARAMETERS'
    EXPORTING
      authority              = space
      immediately            = v_print
      new_list_id            = c_x
      no_dialog              = c_x
      user                   = sy-uname
    IMPORTING
      out_parameters         = v_print_parms
    EXCEPTIONS
      archive_info_not_found = 1
      invalid_print_params   = 2
      invalid_archive_params = 3
      OTHERS                 = 4.

  IF sy-subrc NE 0.
    CLEAR : v_print_parms.
  ENDIF.

* The printer destination has to be  set up
  IF v_print_parms-pdest = space.
    v_print_parms-pdest = lc_locl.
  ENDIF.
* Explicitly set line width, and output format so that
* the PDF conversion comes out OK
  v_print_parms-linsz = c_linsz.
 v_print_parms-paart = lc_paart.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
* Declaration of local variables
  DATA : lv_bytecount  TYPE i,
         lv_cancel(1)  TYPE c,
         lv_filename1  LIKE rlgrap-filename.    "File name

* Declaration of local constants
  CONSTANTS: lc_pdf(4) TYPE c VALUE '.PDF'.


  CONCATENATE c_c
              sy-repid
              lc_pdf
      INTO lv_filename1.


* Convert Spool to PDF
  CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
    EXPORTING
      src_spoolid              = v_rqident
      no_dialog                = c_x
      dst_device               = v_print_parms-pdest
    IMPORTING
      pdf_bytecount            = lv_bytecount
    TABLES
      pdf                      = i_pdf
    EXCEPTIONS
      err_no_abap_spooljob     = 1
      err_no_spooljob          = 2
      err_no_permission        = 3
      err_conv_not_possible    = 4
      err_bad_destdevice       = 5
      user_cancelled           = 6
      err_spoolerror           = 7
      err_temseerror           = 8
      err_btcjob_open_failed   = 9
      err_btcjob_submit_failed = 10
      err_btcjob_close_failed  = 11
      OTHERS                   = 12.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Nagaraj&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 10:39:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220926#M1379084</guid>
      <dc:creator>former_member404244</dc:creator>
      <dc:date>2009-10-08T10:39:13Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220927#M1379085</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN __default_attr="blue" __jive_macro_name="color"&gt;Hi Rob,
Check my program here to convert internal table to spool . It works fine.
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;&lt;SPAN __jive_macro_name="message" id="7975663"&gt;&lt;/SPAN&gt;&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;

Thanks
Venkat.O&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 10:39:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220927#M1379085</guid>
      <dc:creator>venkat_o</dc:creator>
      <dc:date>2009-10-08T10:39:53Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220928#M1379086</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 still get the error even tho I can see the spool data in sp01?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT  Z_MAIL_PAYSLIP.
*----------------------------------------------------------------------*
* Declaration Part *
*----------------------------------------------------------------------*
tables: PERNR, PV000, T549Q, V_T514D, HRPY_RGDIR.

infotypes: 0000, 0001, 0105, 0655.

data: begin of ITAB occurs 0,
  MTEXT(25) type C,
  PERNR like PA0001-PERNR,
  ABKRS like PA0001-ABKRS,
  ENAME like PA0001-ENAME,
  USRID_LONG like PA0105-USRID_LONG,
end of ITAB.

data: W_BEGDA like HRPY_RGDIR-FPBEG,
      W_ENDDA like HRPY_RGDIR-FPEND.

data: RETURN like BAPIRETURN1 occurs 0 with header line.

data: P_INFO like PC407,
      P_FORM like PC408 occurs 0 with header line.


data: P_IDX type I,
      MY_MONTH type T549Q-PABRP,
      STR_MY_MONTH(2) type C,
      MY_YEAR type T549Q-PABRJ,
      STR_MY_YEAR(4) type C,
      CRLF(2) type x value '0D0A'.

data: W_CMONTH(10) type C.

data: TAB_LINES type I,
      ATT_TYPE like SOODK-OBJTP.

data: begin of P_INDEX occurs 0,
        INDEX type I,
end of P_INDEX.

constants: begin of F__LTYPE, "type of line
   CMD like PC408-LTYPE value '/:',  "command
   TXT like PC408-LTYPE value 's',   "textline
end of F__LTYPE.

constants: begin of F__CMD, "commands
  NEWPAGE like PC408-LINDA value '',
end of F__CMD.

data: P_LIST like ABAPLIST occurs 1 with header line.

*data: OBJBIN like SOLISTI1 occurs 10 with header line,
data: OBJBIN like  LVC_S_1022 occurs 10 with header line,
      DOCDATA like SODOCCHGI1,
      OBJTXT like SOLISTI1 occurs 10 with header line,
      OBJPACK like SOPCKLSTI1 occurs 1 with header line,
      RECLIST like SOMLRECI1 occurs 1 with header line,
      OBJHEAD like SOLISTI1 occurs 1 with header line,
      it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
      gd_buffer type string,
      l_no_of_bytes TYPE i,
      l_pdf_spoolid LIKE tsp01-rqident,
      l_jobname     LIKE tbtcjob-jobname.

data: file_length  type int4,
      spool_id     type rspoid,
      line_cnt     type i.

*-------------------------------------------------------------------* * INITIALIZATION *
OBJBIN = ' | '.
append OBJBIN.

OBJPACK-HEAD_START = 1.

data: S_ABKRS like PV000-ABKRS.
data: S_PABRP like T549Q-PABRP.
data: S_PABRJ like T549Q-PABRJ.
*-------------------------------------------------------------------*
* SELECTION SCREEN                                                  *
*-------------------------------------------------------------------*
selection-screen begin of block BL1.
parameters: PAY_VAR like BAPI7004-PAYSLIP_VARIANT default 'ESS_PAYSLIPS' obligatory.
selection-screen end of block BL1.


START-OF-SELECTION.

  s_ABKRS = PNPXABKR.
  S_PABRP = PNPPABRP.
  s_pabrj = PNPPABRJ.

  w_begda = PN-BEGDA.
  w_endda = PN-ENDDA.

get pernr.
*                                 "Check active employees
  rp-provide-from-last p0000 space pn-begda  pn-endda.

  CHECK P0000-STAT2 IN PNPSTAT2.
*                                 "Check Payslip Mail flag
  rp-provide-from-last p0655 space pn-begda  pn-endda.

  CHECK P0655-ESSONLY = 'X'.

  rp-provide-from-last p0001 space pn-begda  pn-endda.

*                                 "Find email address
  RP-PROVIDE-FROM-LAST P0105 '0030' PN-BEGDA PN-ENDDA.

  if p0105-usrid_LONG ne ''.

    ITAB-PERNR      = P0001-PERNR.
    ITAB-ABKRS      = P0001-ABKRS.
    ITAB-ENAME      = P0001-ENAME.
    ITAB-USRID_LONG = P0105-USRID_LONG.

    append itab.
    clear itab.

  endif.



  "SY-UCOMM ='ONLI'

END-OF-SELECTION.
*------------------------------------------------------------------* start-of-selection.
  write : / 'Payroll Area        : ', S_ABKRS.
  write : / 'Payroll Period/Year : ',STR_MY_MONTH,'-',STR_MY_YEAR. write : / 'System Date : ', SY-DATUM.
  write : / 'System Time         : ', SY-UZEIT.
  write : / 'User Name           : ', SY-UNAME.
  write : / SY-ULINE.

  sort ITAB by PERNR.

  loop at ITAB.
    clear : P_INFO, P_FORM, P_INDEX, P_LIST, OBJBIN, DOCDATA, OBJTXT, OBJPACK, RECLIST, TAB_LINES.

    refresh : P_FORM, P_INDEX, P_LIST, OBJBIN, OBJTXT, OBJPACK, RECLIST.

*                                                  Retrieve Payroll results sequence number for this run
    select single * from HRPY_RGDIR where PERNR eq ITAB-PERNR
                                    and FPBEG ge W_BEGDA
                                    and FPEND le W_ENDDA
                                    and SRTZA eq 'A'.
*                                                  Produce payslip for those payroll results
    if SY-SUBRC = 0.
      call function 'GET_PAYSLIP'
        EXPORTING
          EMPLOYEE_NUMBER = ITAB-PERNR
          SEQUENCE_NUMBER = HRPY_RGDIR-SEQNR
          PAYSLIP_VARIANT = PAY_VAR
        IMPORTING
          RETURN          = RETURN
          P_INFO          = P_INFO
        TABLES
          P_FORM          = P_FORM.

      check RETURN is initial.

*                                                 remove linetype from generated payslip
      loop at p_form.
        objbin = p_form-linda.
        append objbin.
        line_cnt = line_cnt + 1.
      endloop.

      file_length = line_cnt * 1022.

*                                                 create spool file of paylsip
      CALL FUNCTION 'SLVC_TABLE_PS_TO_SPOOL'
        EXPORTING
          i_file_length = file_length
        IMPORTING
          e_spoolid     = spool_id
        TABLES
          it_textdata   = objbin.

      IF sy-subrc EQ 0.
        WRITE spool_id.
      ENDIF.

      DESCRIBE table objbin.

      DATA PDF LIKE TLINE OCCURS 100 WITH HEADER LINE.

      CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
        EXPORTING
          SRC_SPOOLID                    = spool_id
          NO_DIALOG                      = ' '
          DST_DEVICE                     = 'MAIL'
*      PDF_DESTINATION                =
*    IMPORTING
*      PDF_BYTECOUNT                  = l_no_of_bytes
*      PDF_SPOOLID                    = l_pdf_spoolid
*      LIST_PAGECOUNT                 =
*      BTC_JOBNAME                    =
*      BTC_JOBCOUNT                   =
        TABLES
          PDF                            = pdf
        EXCEPTIONS
          ERR_NO_ABAP_SPOOLJOB           = 1
          ERR_NO_SPOOLJOB                = 2
          ERR_NO_PERMISSION              = 3
          ERR_CONV_NOT_POSSIBLE          = 4
          ERR_BAD_DESTDEVICE             = 5
          USER_CANCELLED                 = 6
          ERR_SPOOLERROR                 = 7
          ERR_TEMSEERROR                 = 8
          ERR_BTCJOB_OPEN_FAILED         = 9
          ERR_BTCJOB_SUBMIT_FAILED       = 10
          ERR_BTCJOB_CLOSE_FAILED        = 11
          OTHERS                         = 12
             .
      IF SY-SUBRC &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.

*Download PDF file C Drive
  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      filename = 'C:\itab_to_pdf.pdf'
      filetype = 'BIN'
    TABLES
      data_tab = pdf.
* Transfer the 132-long strings to 255-long strings
*  LOOP AT pdf.
*    TRANSLATE pdf USING ' ~'.
*    CONCATENATE gd_buffer pdf INTO gd_buffer.
*  ENDLOOP.
*
*  TRANSLATE gd_buffer USING '~ '.
*
*  DO.
*    it_mess_att = gd_buffer.
*    APPEND it_mess_att.
*    SHIFT gd_buffer LEFT BY 255 PLACES.
*    IF gd_buffer IS INITIAL.
*      EXIT.
*    ENDIF.
*  ENDDO.

      OBJHEAD = 'Objhead'.
      append OBJHEAD.

* preparing email subject
      concatenate W_ENDDA(6)
                ' Payslip-'
                ITAB-ENAME+0(28)
                '('
                ITAB-PERNR+4(4) ')'
             into DOCDATA-OBJ_DESCR.

      DOCDATA-OBJ_NAME = 'Pay Slip'.
      DOCDATA-OBJ_LANGU = SY-LANGU.
      OBJTXT = 'Pay Slip.'.
      append OBJTXT.

*prepare email lines
      OBJTXT = DOCDATA-OBJ_DESCR.
      append OBJTXT.

      OBJTXT = 'Please find enclosed your current payslip.'.
      append OBJTXT.

* Write Attachment(Main)
* 3 has been fixed because OBJTXT has fix three lines
      read table OBJTXT index 3.
*    DOCDATA-DOC_SIZE = ( 3 - 1 ) * 255 + strlen( OBJTXT ).
      clear OBJPACK-TRANSF_BIN.
      OBJPACK-HEAD_START = 1.
      OBJPACK-HEAD_NUM = 0.
      OBJPACK-BODY_START = 1.
      OBJPACK-BODY_NUM = 3.
      OBJPACK-DOC_TYPE = 'RAW'.
      append OBJPACK.

* Create Message Attachment
      ATT_TYPE = 'PDF'.
      describe table OBJBIN lines TAB_LINES.
      read table OBJBIN index TAB_LINES.
*    OBJPACK-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + strlen( OBJBIN ).
      OBJPACK-TRANSF_BIN = 'X'.
      OBJPACK-HEAD_START = 1.
      OBJPACK-HEAD_NUM = 0.
      OBJPACK-BODY_START = 1.
      OBJPACK-BODY_NUM = TAB_LINES.
      OBJPACK-DOC_TYPE = ATT_TYPE.
      OBJPACK-OBJ_NAME = 'ATTACHMENT'.
      OBJPACK-OBJ_DESCR = 'Payslip'.
      append OBJPACK.

* Create receiver list refresh RECLIST.
      clear RECLIST.
      RECLIST-RECEIVER = itab-USRID_long.
      translate RECLIST-RECEIVER to lower case.
      RECLIST-REC_TYPE = 'U'.
      append RECLIST.

* Send the document
*SO_NEW_DOCUMENT_ATT_SEND_API1
      call function 'SO_DOCUMENT_SEND_API1'
        exporting
          DOCUMENT_DATA = DOCDATA
          PUT_IN_OUTBOX = 'X'
          COMMIT_WORK = 'X'
* IMPORTING
*   SENT_TO_ALL =
*   NEW_OBJECT_ID =
        tables
          PACKING_LIST  = OBJPACK
          OBJECT_HEADER = OBJHEAD
          CONTENTS_BIN  = pdf
          CONTENTS_TXT  = OBJTXT
*   CONTENTS_HEX =
*   OBJECT_PARA =
*   OBJECT_PARB =
          RECEIVERS = RECLIST
        exceptions
          TOO_MANY_RECEIVERS = 1
          DOCUMENT_NOT_SENT = 2
          DOCUMENT_TYPE_NOT_EXIST = 3
          OPERATION_NO_AUTHORIZATION = 4
          PARAMETER_ERROR = 5
          X_ERROR = 6
          ENQUEUE_ERROR = 7
          others = 8.

      if SY-SUBRC NE 0.
        ITAB-MTEXT = 'Message Not Sent to : '.
      else.
        ITAB-MTEXT = 'Message Sent to : '.
      endif.
*    else.
*
*      ITAB-MTEXT = 'Message Not Sent to : '.
*    endif.
    else.
      "SY-SUBRC Not = 0
      ITAB-MTEXT = 'Payroll data not found : '.
    endif.
    "end of SY-SUBRC = 0.

    modify ITAB.
  endloop. "end loop at ITAB

  sort ITAB by MTEXT PERNR.
  loop at ITAB.
    at new MTEXT.
      uline.
      write : / ITAB-MTEXT color 4 intensified on.
      write : / 'Emp. Code' color 2 intensified on,
             12 'Emp. Name' color 2 intensified on,
             54 'Email ID' color 2 intensified on.
    endat.
    write : / ITAB-PERNR, 12 ITAB-ENAME, 54 ITAB-USRID_LONG.
  endloop.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 10:51:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220928#M1379086</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-10-08T10:51:44Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220929#M1379087</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;EPORT  Z_MAIL_PAYSLIP.&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;Declaration Part *&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;tables: PERNR, PV000, T549Q, V_T514D, HRPY_RGDIR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;infotypes: 0000, 0001, 0105, 0655.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of ITAB occurs 0,&lt;/P&gt;&lt;P&gt;  MTEXT(25) type C,&lt;/P&gt;&lt;P&gt;  PERNR like PA0001-PERNR,&lt;/P&gt;&lt;P&gt;  ABKRS like PA0001-ABKRS,&lt;/P&gt;&lt;P&gt;  ENAME like PA0001-ENAME,&lt;/P&gt;&lt;P&gt;  USRID_LONG like PA0105-USRID_LONG,&lt;/P&gt;&lt;P&gt;end of ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: W_BEGDA like HRPY_RGDIR-FPBEG,&lt;/P&gt;&lt;P&gt;      W_ENDDA like HRPY_RGDIR-FPEND.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: RETURN like BAPIRETURN1 occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: P_INFO like PC407,&lt;/P&gt;&lt;P&gt;      P_FORM like PC408 occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: P_IDX type I,&lt;/P&gt;&lt;P&gt;      MY_MONTH type T549Q-PABRP,&lt;/P&gt;&lt;P&gt;      STR_MY_MONTH(2) type C,&lt;/P&gt;&lt;P&gt;      MY_YEAR type T549Q-PABRJ,&lt;/P&gt;&lt;P&gt;      STR_MY_YEAR(4) type C,&lt;/P&gt;&lt;P&gt;      CRLF(2) type x value '0D0A'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: W_CMONTH(10) type C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: TAB_LINES type I,&lt;/P&gt;&lt;P&gt;      ATT_TYPE like SOODK-OBJTP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of P_INDEX occurs 0,&lt;/P&gt;&lt;P&gt;        INDEX type I,&lt;/P&gt;&lt;P&gt;end of P_INDEX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;constants: begin of F__LTYPE, "type of line&lt;/P&gt;&lt;P&gt;   CMD like PC408-LTYPE value '/:',  "command&lt;/P&gt;&lt;P&gt;   TXT like PC408-LTYPE value 's',   "textline&lt;/P&gt;&lt;P&gt;end of F__LTYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;constants: begin of F__CMD, "commands&lt;/P&gt;&lt;P&gt;  NEWPAGE like PC408-LINDA value '',&lt;/P&gt;&lt;P&gt;end of F__CMD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: P_LIST like ABAPLIST occurs 1 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*data: OBJBIN like SOLISTI1 occurs 10 with header line,&lt;/P&gt;&lt;P&gt;data: OBJBIN like  LVC_S_1022 occurs 10 with header line,&lt;/P&gt;&lt;P&gt;      DOCDATA like SODOCCHGI1,&lt;/P&gt;&lt;P&gt;      OBJTXT like SOLISTI1 occurs 10 with header line,&lt;/P&gt;&lt;P&gt;      OBJPACK like SOPCKLSTI1 occurs 1 with header line,&lt;/P&gt;&lt;P&gt;      RECLIST like SOMLRECI1 occurs 1 with header line,&lt;/P&gt;&lt;P&gt;      OBJHEAD like SOLISTI1 occurs 1 with header line,&lt;/P&gt;&lt;P&gt;      it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      gd_buffer type string,&lt;/P&gt;&lt;P&gt;      l_no_of_bytes TYPE i,&lt;/P&gt;&lt;P&gt;      l_pdf_spoolid LIKE tsp01-rqident,&lt;/P&gt;&lt;P&gt;      l_jobname     LIKE tbtcjob-jobname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: file_length  type int4,&lt;/P&gt;&lt;P&gt;      spool_id     type rspoid,&lt;/P&gt;&lt;P&gt;      line_cnt     type i.&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; * INITIALIZATION *&lt;P&gt;&lt;/P&gt;&lt;P&gt;OBJBIN = ' | '.&lt;/P&gt;&lt;P&gt;append OBJBIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OBJPACK-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: S_ABKRS like PV000-ABKRS.&lt;/P&gt;&lt;P&gt;data: S_PABRP like T549Q-PABRP.&lt;/P&gt;&lt;P&gt;data: S_PABRJ like T549Q-PABRJ.&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;SELECTION SCREEN                                                  *&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;selection-screen begin of block BL1.&lt;/P&gt;&lt;P&gt;parameters: PAY_VAR like BAPI7004-PAYSLIP_VARIANT default 'ESS_PAYSLIPS' obligatory.&lt;/P&gt;&lt;P&gt;selection-screen end of block BL1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  s_ABKRS = PNPXABKR.&lt;/P&gt;&lt;P&gt;  S_PABRP = PNPPABRP.&lt;/P&gt;&lt;P&gt;  s_pabrj = PNPPABRJ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_begda = PN-BEGDA.&lt;/P&gt;&lt;P&gt;  w_endda = PN-ENDDA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;get pernr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                "Check active employees&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  rp-provide-from-last p0000 space pn-begda  pn-endda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK P0000-STAT2 IN PNPSTAT2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                "Check Payslip Mail flag&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  rp-provide-from-last p0655 space pn-begda  pn-endda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK P0655-ESSONLY = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  rp-provide-from-last p0001 space pn-begda  pn-endda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                "Find email address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  RP-PROVIDE-FROM-LAST P0105 '0030' PN-BEGDA PN-ENDDA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if p0105-usrid_LONG ne ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ITAB-PERNR      = P0001-PERNR.&lt;/P&gt;&lt;P&gt;    ITAB-ABKRS      = P0001-ABKRS.&lt;/P&gt;&lt;P&gt;    ITAB-ENAME      = P0001-ENAME.&lt;/P&gt;&lt;P&gt;    ITAB-USRID_LONG = P0105-USRID_LONG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    append itab.&lt;/P&gt;&lt;P&gt;    clear itab.&lt;/P&gt;&lt;P&gt;&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;  "SY-UCOMM ='ONLI'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt; start-of-selection.&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write : / 'Payroll Area        : ', S_ABKRS.&lt;/P&gt;&lt;P&gt;  write : / 'Payroll Period/Year : ',STR_MY_MONTH,'-',STR_MY_YEAR. write : / 'System Date : ', SY-DATUM.&lt;/P&gt;&lt;P&gt;  write : / 'System Time         : ', SY-UZEIT.&lt;/P&gt;&lt;P&gt;  write : / 'User Name           : ', SY-UNAME.&lt;/P&gt;&lt;P&gt;  write : / SY-ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort ITAB by PERNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at ITAB.&lt;/P&gt;&lt;P&gt;    clear : P_INFO, P_FORM, P_INDEX, P_LIST, OBJBIN, DOCDATA, OBJTXT, OBJPACK, RECLIST, TAB_LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    refresh : P_FORM, P_INDEX, P_LIST, OBJBIN, OBJTXT, OBJPACK, RECLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                 Retrieve Payroll results sequence number for this run&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    select single * from HRPY_RGDIR where PERNR eq ITAB-PERNR&lt;/P&gt;&lt;P&gt;                                    and FPBEG ge W_BEGDA&lt;/P&gt;&lt;P&gt;                                    and FPEND le W_ENDDA&lt;/P&gt;&lt;P&gt;                                    and SRTZA eq 'A'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                 Produce payslip for those payroll results&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      call function 'GET_PAYSLIP'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          EMPLOYEE_NUMBER = ITAB-PERNR&lt;/P&gt;&lt;P&gt;          SEQUENCE_NUMBER = HRPY_RGDIR-SEQNR&lt;/P&gt;&lt;P&gt;          PAYSLIP_VARIANT = PAY_VAR&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          RETURN          = RETURN&lt;/P&gt;&lt;P&gt;          P_INFO          = P_INFO&lt;/P&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;          P_FORM          = P_FORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      check RETURN is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                remove linetype from generated payslip&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      loop at p_form.&lt;/P&gt;&lt;P&gt;        objbin = p_form-linda.&lt;/P&gt;&lt;P&gt;        append objbin.&lt;/P&gt;&lt;P&gt;        line_cnt = line_cnt + 1.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      file_length = line_cnt * 1022.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                create spool file of paylsip&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'SLVC_TABLE_PS_TO_SPOOL'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          i_file_length = file_length&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          e_spoolid     = spool_id&lt;/P&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;          it_textdata   = objbin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        WRITE spool_id.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DESCRIBE table objbin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DATA PDF LIKE TLINE OCCURS 100 WITH HEADER LINE.&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                    = spool_id&lt;/P&gt;&lt;P&gt;          NO_DIALOG                      = ' '&lt;/P&gt;&lt;P&gt;          DST_DEVICE                     = 'MAIL'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PDF_DESTINATION                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PDF_BYTECOUNT                  = l_no_of_bytes&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PDF_SPOOLID                    = l_pdf_spoolid&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     LIST_PAGECOUNT                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     BTC_JOBNAME                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     BTC_JOBCOUNT                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;          PDF                            = pdf&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          ERR_NO_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;      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;*Download PDF file C Drive&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      filename = 'C:\itab_to_pdf.pdf'&lt;/P&gt;&lt;P&gt;      filetype = 'BIN'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      data_tab = pdf.&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;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT pdf.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TRANSLATE pdf USING ' ~'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONCATENATE gd_buffer pdf INTO gd_buffer.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&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; TRANSLATE gd_buffer USING '~ '.&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; DO.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   it_mess_att = gd_buffer.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND it_mess_att.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SHIFT gd_buffer LEFT BY 255 PLACES.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF gd_buffer IS INITIAL.&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; ENDDO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      OBJHEAD = 'Objhead'.&lt;/P&gt;&lt;P&gt;      append OBJHEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;preparing email subject&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      concatenate W_ENDDA(6)&lt;/P&gt;&lt;P&gt;                ' Payslip-'&lt;/P&gt;&lt;P&gt;                ITAB-ENAME+0(28)&lt;/P&gt;&lt;P&gt;                '('&lt;/P&gt;&lt;P&gt;                ITAB-PERNR+4(4) ')'&lt;/P&gt;&lt;P&gt;             into DOCDATA-OBJ_DESCR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DOCDATA-OBJ_NAME = 'Pay Slip'.&lt;/P&gt;&lt;P&gt;      DOCDATA-OBJ_LANGU = SY-LANGU.&lt;/P&gt;&lt;P&gt;      OBJTXT = 'Pay Slip.'.&lt;/P&gt;&lt;P&gt;      append OBJTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*prepare email lines&lt;/P&gt;&lt;P&gt;      OBJTXT = DOCDATA-OBJ_DESCR.&lt;/P&gt;&lt;P&gt;      append OBJTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      OBJTXT = 'Please find enclosed your current payslip.'.&lt;/P&gt;&lt;P&gt;      append OBJTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write Attachment(Main)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;3 has been fixed because OBJTXT has fix three lines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      read table OBJTXT index 3.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   DOCDATA-DOC_SIZE = ( 3 - 1 ) * 255 + strlen( OBJTXT ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 = 3.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create Message Attachment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ATT_TYPE = 'PDF'.&lt;/P&gt;&lt;P&gt;      describe table OBJBIN lines TAB_LINES.&lt;/P&gt;&lt;P&gt;      read table OBJBIN index TAB_LINES.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OBJPACK-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + strlen( OBJBIN ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      OBJPACK-TRANSF_BIN = 'X'.&lt;/P&gt;&lt;P&gt;      OBJPACK-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;      OBJPACK-HEAD_NUM = 0.&lt;/P&gt;&lt;P&gt;      OBJPACK-BODY_START = 1.&lt;/P&gt;&lt;P&gt;      OBJPACK-BODY_NUM = TAB_LINES.&lt;/P&gt;&lt;P&gt;      OBJPACK-DOC_TYPE = ATT_TYPE.&lt;/P&gt;&lt;P&gt;      OBJPACK-OBJ_NAME = 'ATTACHMENT'.&lt;/P&gt;&lt;P&gt;      OBJPACK-OBJ_DESCR = 'Payslip'.&lt;/P&gt;&lt;P&gt;      append OBJPACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create receiver list refresh RECLIST.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      clear RECLIST.&lt;/P&gt;&lt;P&gt;      RECLIST-RECEIVER = itab-USRID_long.&lt;/P&gt;&lt;P&gt;      translate RECLIST-RECEIVER to lower case.&lt;/P&gt;&lt;P&gt;      RECLIST-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;      append RECLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Send the document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*SO_NEW_DOCUMENT_ATT_SEND_API1&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 = DOCDATA&lt;/P&gt;&lt;P&gt;          PUT_IN_OUTBOX = 'X'&lt;/P&gt;&lt;P&gt;          COMMIT_WORK = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SENT_TO_ALL =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NEW_OBJECT_ID =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        tables&lt;/P&gt;&lt;P&gt;          PACKING_LIST  = OBJPACK&lt;/P&gt;&lt;P&gt;          OBJECT_HEADER = OBJHEAD&lt;/P&gt;&lt;P&gt;          CONTENTS_BIN  = pdf&lt;/P&gt;&lt;P&gt;          CONTENTS_TXT  = OBJTXT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CONTENTS_HEX =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OBJECT_PARA =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OBJECT_PARB =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          RECEIVERS = RECLIST&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;          TOO_MANY_RECEIVERS = 1&lt;/P&gt;&lt;P&gt;          DOCUMENT_NOT_SENT = 2&lt;/P&gt;&lt;P&gt;          DOCUMENT_TYPE_NOT_EXIST = 3&lt;/P&gt;&lt;P&gt;          OPERATION_NO_AUTHORIZATION = 4&lt;/P&gt;&lt;P&gt;          PARAMETER_ERROR = 5&lt;/P&gt;&lt;P&gt;          X_ERROR = 6&lt;/P&gt;&lt;P&gt;          ENQUEUE_ERROR = 7&lt;/P&gt;&lt;P&gt;          others = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;        ITAB-MTEXT = 'Message Not Sent to : '.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        ITAB-MTEXT = 'Message Sent to : '.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   else.&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;     ITAB-MTEXT = 'Message Not Sent to : '.&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;    else.&lt;/P&gt;&lt;P&gt;      "SY-SUBRC Not = 0&lt;/P&gt;&lt;P&gt;      ITAB-MTEXT = 'Payroll data not found : '.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    "end of SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    modify ITAB.&lt;/P&gt;&lt;P&gt;  endloop. "end loop at ITAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort ITAB by MTEXT PERNR.&lt;/P&gt;&lt;P&gt;  loop at ITAB.&lt;/P&gt;&lt;P&gt;    at new MTEXT.&lt;/P&gt;&lt;P&gt;      uline.&lt;/P&gt;&lt;P&gt;      write : / ITAB-MTEXT color 4 intensified on.&lt;/P&gt;&lt;P&gt;      write : / 'Emp. Code' color 2 intensified on,&lt;/P&gt;&lt;P&gt;             12 'Emp. Name' color 2 intensified on,&lt;/P&gt;&lt;P&gt;             54 'Email ID' color 2 intensified on.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    write : / ITAB-PERNR, 12 ITAB-ENAME, 54 ITAB-USRID_LONG.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 10:52:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220929#M1379087</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-10-08T10:52:20Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220930#M1379088</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;&lt;STRONG&gt;Please Check this =&amp;gt;&lt;/STRONG&gt; &lt;SPAN __jive_macro_name="thread" id="1319756"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Faisal&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 10:53:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220930#M1379088</guid>
      <dc:creator>faisalatsap</dc:creator>
      <dc:date>2009-10-08T10:53:02Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220931#M1379089</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Not answered&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 10:53:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220931#M1379089</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-10-08T10:53:13Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220932#M1379090</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="8095748"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://wiki.sdn.sap.com/wiki/display/Snippets/Convert%20Spool%20request%20to%20PDF%20and%20send%20as%20e-mail" target="test_blank"&gt;https://wiki.sdn.sap.com/wiki/display/Snippets/Convert%20Spool%20request%20to%20PDF%20and%20send%20as%20e-mail&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: krupa jani on Oct 8, 2009 2:13 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 12:12:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220932#M1379090</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-10-08T12:12:00Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220933#M1379091</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the reply guys.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried adding in the print parameters function and I'm checking that I do have data in the spool but I still get the error?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 12:44:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220933#M1379091</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-10-08T12:44:08Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220934#M1379092</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;Try using Function Module,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;JIT03_WRITE_TEXT_TO_SPOOL&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mansi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 12:52:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220934#M1379092</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-10-08T12:52:01Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220935#M1379093</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;Check the below link&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdev.co.uk/reporting/rep_spooltopdf.htm" target="test_blank"&gt;http://www.sapdev.co.uk/reporting/rep_spooltopdf.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Nagaraj&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 12:55:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220935#M1379093</guid>
      <dc:creator>former_member404244</dc:creator>
      <dc:date>2009-10-08T12:55:52Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220936#M1379094</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;why dont you debug and check what is being passed to your FM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 12:57:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220936#M1379094</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-10-08T12:57:42Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220937#M1379095</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have been debugging. The output from the table to spool conversion [objbin] has data in it, and if I check the spool id in sp01 it does have the data, when I pass the spool id to CONVERT_ABAPSPOOLJOB_2_PDF I get the error saying no ABAP list data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried using a write statement to create the spool and that works but I need the data from an internal table...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 13:10:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220937#M1379095</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-10-08T13:10:46Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220938#M1379096</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Rob,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem lies with the FM SLVC_TABLE_PS_TO_SPOOL. The spool generated by this FM is not a ABAP LIST and just a binary document. But for the FM CONVERT_ABAPSPOOLJOB_2_PDF  to convert the spool to pdf, the spool should be in the ABAP List format. Thats the reason why you are getting the error 'No ABAP List Data'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To confirm this, just use a simple write statement in your report and schedule it as a background job. Now pass this spool id to the FM CONVERT_ABAPSPOOLJOB_2_PDF  in SE37 and check. It will work. Thats because the spool generated as a result of the background job is a ABAP list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Vikranth&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 14:08:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220938#M1379096</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-10-08T14:08:14Z</dc:date>
    </item>
    <item>
      <title>Re: Convert internal table to spool</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220939#M1379097</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That's what I thought as well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've got round it by writing out each line from my internal table to a spool manually.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the help all.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2009 14:35:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-internal-table-to-spool/m-p/6220939#M1379097</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-10-08T14:35:06Z</dc:date>
    </item>
  </channel>
</rss>

