<?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: Damaged PDF attachment in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/damaged-pdf-attachment/m-p/8030211#M1609811</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Nilesh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try this by increasing doc size as:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gs_objpack-doc_size = ( ( gv_tab_lines - 1 ) * 255 + STRLEN( gs_objbin ) ) * 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ram&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 09 Aug 2011 07:58:47 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2011-08-09T07:58:47Z</dc:date>
    <item>
      <title>Damaged PDF attachment</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/damaged-pdf-attachment/m-p/8030210#M1609810</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;lt;&amp;lt;Please repost with ONLY the relevant part of the ABAP, surrounded with  tags.&amp;gt;&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi I'm using the following code, I want the email bosdy along with the attachment but attachment is coming as damaged. Please help me on this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gv_form_name TYPE rs38l_fnam, " Used to store the function module generated by Smartform&lt;/P&gt;&lt;P&gt;gv_bin_filesize TYPE i, " Store the file size&lt;/P&gt;&lt;P&gt;gv_pos TYPE i,&lt;/P&gt;&lt;P&gt;gv_len TYPE i,&lt;/P&gt;&lt;P&gt;gv_tab_lines TYPE i.&lt;/P&gt;&lt;P&gt;*******Constants ******************************************&lt;/P&gt;&lt;P&gt;DATA : gc_text(11) TYPE c VALUE 'Form Output',&lt;/P&gt;&lt;P&gt;gc_tst(3) TYPE c VALUE 'TST',&lt;/P&gt;&lt;P&gt;gc_testing(7) TYPE c VALUE 'Testing'.&lt;/P&gt;&lt;P&gt;********Work Area Declarations ****************************&lt;/P&gt;&lt;P&gt;DATA: gs_docdata TYPE sodocchgi1, " Data of an object which can be changed&lt;/P&gt;&lt;P&gt;gs_ctrlop TYPE ssfctrlop, " Smart Forms: Control structure&lt;/P&gt;&lt;P&gt;gs_outopt TYPE ssfcompop, " SAP Smart Forms: Smart Composer (transfer) options&lt;/P&gt;&lt;P&gt;gs_otfdata TYPE ssfcrescl, " Smart Forms: Return value at end of form printing&lt;/P&gt;&lt;P&gt;gs_reclist TYPE somlreci1, " SAPoffice: Structure of the API Recipient List&lt;/P&gt;&lt;P&gt;gs_pdf_tab TYPE tline, " Workarea for SAP Script Text Lines&lt;/P&gt;&lt;P&gt;gs_objbin TYPE solisti1, " SAPoffice: Single List with Column Length 255&lt;/P&gt;&lt;P&gt;gs_objpack TYPE sopcklsti1. " SAPoffice: Description of Imported Object Components&lt;/P&gt;&lt;P&gt;********Internal tables Declarations ****************************&lt;/P&gt;&lt;P&gt;DATA: gt_reclist TYPE TABLE OF somlreci1, " SAPoffice: Structure of the API Recipient List&lt;/P&gt;&lt;P&gt;gt_pdf_tab TYPE TABLE OF tline, " SAPscript: Text Lines&lt;/P&gt;&lt;P&gt;gt_otf TYPE TABLE OF itcoo, " OTF Structure&lt;/P&gt;&lt;P&gt;gt_objbin TYPE TABLE OF solisti1, " SAPoffice: Single List with Column Length 255&lt;/P&gt;&lt;P&gt;gt_objpack TYPE TABLE OF sopcklsti1. " SAPoffice: Description of Imported Object Components&lt;/P&gt;&lt;P&gt;DATA: customer TYPE scustom,&lt;/P&gt;&lt;P&gt;      bookings TYPE ty_bookings,&lt;/P&gt;&lt;P&gt;      connections TYPE ty_connections.&lt;/P&gt;&lt;P&gt;***************************************************************&lt;/P&gt;&lt;P&gt;DATA: objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;***************************************************************&lt;/P&gt;&lt;P&gt;CLEAR : gv_form_name,&lt;/P&gt;&lt;P&gt;gs_ctrlop,&lt;/P&gt;&lt;P&gt;gs_outopt,&lt;/P&gt;&lt;P&gt;gs_otfdata,&lt;/P&gt;&lt;P&gt;gv_bin_filesize,&lt;/P&gt;&lt;P&gt;gv_pos,&lt;/P&gt;&lt;P&gt;gv_len,&lt;/P&gt;&lt;P&gt;gv_tab_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Generate Function Module name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      formname           = 'SF_EXAMPLE_01'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      fm_name            = gv_form_name&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      no_form            = 1&lt;/P&gt;&lt;P&gt;      no_function_module = 2&lt;/P&gt;&lt;P&gt;      OTHERS             = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Assigning values to Form Control Structure and Form Composer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_ctrlop-getotf = 'X'.&lt;/P&gt;&lt;P&gt;  gs_ctrlop-device = 'PRINTER'.&lt;/P&gt;&lt;P&gt;  gs_ctrlop-preview = ''.&lt;/P&gt;&lt;P&gt;  gs_ctrlop-no_dialog = 'X'.&lt;/P&gt;&lt;P&gt;  gs_outopt-tddest = 'LOCL'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getting the OTFDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION gv_form_name&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      control_parameters = gs_ctrlop&lt;/P&gt;&lt;P&gt;      output_options     = gs_outopt&lt;/P&gt;&lt;P&gt;      user_settings      = ' '&lt;/P&gt;&lt;P&gt;      customer           = customer&lt;/P&gt;&lt;P&gt;      bookings           = bookings&lt;/P&gt;&lt;P&gt;      connections        = connections&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      job_output_info    = gs_otfdata&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      formatting_error   = 1&lt;/P&gt;&lt;P&gt;      internal_error     = 2&lt;/P&gt;&lt;P&gt;      send_error         = 3&lt;/P&gt;&lt;P&gt;      user_canceled      = 4.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Assigning the OTFDATA to OTF Structure table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR gt_otf.&lt;/P&gt;&lt;P&gt;  gt_otf[] = gs_otfdata-otfdata[].&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert the OTF DATA to SAP Script Text lines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR gt_pdf_tab.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERT_OTF'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      format                = 'PDF'&lt;/P&gt;&lt;P&gt;      max_linewidth         = 132&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      bin_filesize          = gv_bin_filesize&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      otf                   = gt_otf&lt;/P&gt;&lt;P&gt;      lines                 = gt_pdf_tab&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      err_max_linewidth     = 1&lt;/P&gt;&lt;P&gt;      err_format            = 2&lt;/P&gt;&lt;P&gt;      err_conv_not_possible = 3&lt;/P&gt;&lt;P&gt;      OTHERS                = 4.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Assigning the Description of the object sent in the mail&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR gs_docdata.&lt;/P&gt;&lt;P&gt;  gs_docdata-obj_name = gc_tst.&lt;/P&gt;&lt;P&gt;  gs_docdata-obj_descr = gc_testing.&lt;/P&gt;&lt;P&gt;****************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  objtxt = 'Please the message to be displayed on the body of mail'.&lt;/P&gt;&lt;P&gt;  APPEND objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE objtxt LINES gv_tab_lines.&lt;/P&gt;&lt;P&gt;  READ TABLE objtxt INDEX gv_tab_lines.&lt;/P&gt;&lt;P&gt;  gs_docdata-doc_size = ( gv_tab_lines - 1 ) * 255 + STRLEN( objtxt ).&lt;/P&gt;&lt;P&gt;  CLEAR gs_objpack-transf_bin.&lt;/P&gt;&lt;P&gt;  gs_objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;  gs_objpack-head_num = 0.&lt;/P&gt;&lt;P&gt;  gs_objpack-body_start = 1.&lt;/P&gt;&lt;P&gt;  gs_objpack-body_num = gv_tab_lines.&lt;/P&gt;&lt;P&gt;  gs_objpack-doc_type = 'RAW'.&lt;/P&gt;&lt;P&gt;  APPEND gs_objpack TO gt_objpack.&lt;/P&gt;&lt;P&gt;****************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Assigning the email id to Structure of the API Recipient List table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR : gt_reclist, gs_reclist.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF internal mail id&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  gs_reclist-receiver = sy-uname.&lt;/P&gt;&lt;P&gt;  gs_reclist-rec_type = 'B'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if external mail id&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gs_reclist-rec_type = 'U'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND gs_reclist TO gt_reclist.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Passing the SAP Script text lines to SAPoffice: Single List with Column Length 255 table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR : gs_objbin, gs_pdf_tab.&lt;/P&gt;&lt;P&gt;  LOOP AT gt_pdf_tab INTO gs_pdf_tab.&lt;/P&gt;&lt;P&gt;    gv_pos = 255 - gv_len.&lt;/P&gt;&lt;P&gt;    IF gv_pos &amp;gt; 134. "length of pdf_table&lt;/P&gt;&lt;P&gt;      gv_pos = 134.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    gs_objbin+gv_len = gs_pdf_tab(gv_pos).&lt;/P&gt;&lt;P&gt;    gv_len = gv_len + gv_pos.&lt;/P&gt;&lt;P&gt;    IF gv_len = 255. "length of out (contents_bin)&lt;/P&gt;&lt;P&gt;      APPEND gs_objbin TO gt_objbin.&lt;/P&gt;&lt;P&gt;      CLEAR: gs_objbin, gv_len.&lt;/P&gt;&lt;P&gt;      IF gv_pos &amp;lt; 134.&lt;/P&gt;&lt;P&gt;        gs_objbin = gs_pdf_tab+gv_pos.&lt;/P&gt;&lt;P&gt;        gv_len = 134 - gv_pos.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  IF gv_len &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    APPEND gs_objbin TO gt_objbin.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filling the details in SAPoffice: Description of Imported Object Components table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DESCRIBE TABLE gt_objbin LINES gv_tab_lines.&lt;/P&gt;&lt;P&gt;  CLEAR gs_objbin.&lt;/P&gt;&lt;P&gt;  READ TABLE gt_objbin INTO gs_objbin INDEX gv_tab_lines.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    clear gs_objpack.&lt;/P&gt;&lt;P&gt;    gs_objpack-doc_size = ( gv_tab_lines - 1 ) * 255 + STRLEN( gs_objbin ).&lt;/P&gt;&lt;P&gt;    gs_objpack-transf_bin = 'X'.&lt;/P&gt;&lt;P&gt;    gs_objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;    gs_objpack-head_num = 1.&lt;/P&gt;&lt;P&gt;    gs_objpack-body_start = 1.&lt;/P&gt;&lt;P&gt;    gs_objpack-body_num = gv_tab_lines.&lt;/P&gt;&lt;P&gt;    gs_objpack-doc_type = 'PDF'.&lt;/P&gt;&lt;P&gt;    gs_objpack-obj_name = 'ATTACHMENT'.&lt;/P&gt;&lt;P&gt;    gs_objpack-obj_descr = 'test'.&lt;/P&gt;&lt;P&gt;    APPEND gs_objpack TO gt_objpack.&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;Sending the Form Output in the PDF format to email&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      document_data              = gs_docdata&lt;/P&gt;&lt;P&gt;      put_in_outbox              = 'X'&lt;/P&gt;&lt;P&gt;      commit_work                = 'X'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      packing_list               = gt_objpack&lt;/P&gt;&lt;P&gt;      contents_bin               = gt_objbin&lt;/P&gt;&lt;P&gt;      contents_txt               = objtxt&lt;/P&gt;&lt;P&gt;      receivers                  = gt_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;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WRITE 'Sent Successfully'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  SUBMIT rsconn01&lt;/P&gt;&lt;P&gt;  WITH mode EQ 'INT'&lt;/P&gt;&lt;P&gt;  AND RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Matt on Aug 9, 2011 10:02 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Aug 2011 07:02:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/damaged-pdf-attachment/m-p/8030210#M1609810</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-08-09T07:02:24Z</dc:date>
    </item>
    <item>
      <title>Re: Damaged PDF attachment</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/damaged-pdf-attachment/m-p/8030211#M1609811</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Nilesh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try this by increasing doc size as:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gs_objpack-doc_size = ( ( gv_tab_lines - 1 ) * 255 + STRLEN( gs_objbin ) ) * 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ram&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Aug 2011 07:58:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/damaged-pdf-attachment/m-p/8030211#M1609811</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-08-09T07:58:47Z</dc:date>
    </item>
  </channel>
</rss>

