<?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_OTF_2_PDF - error OTF end command // missing in OTF data in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-otf-2-pdf-error-otf-end-command-missing-in-otf-data/m-p/3706793#M892507</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;this is the code i got executed for convertion to PDF.I think this help full for you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bye.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZMY_SF61.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: FM_NAME TYPE RS38L_FNAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: WA_CTRLOP TYPE SSFCTRLOP,    "Smartform control structure&lt;/P&gt;&lt;P&gt;      WA_OUTOPT TYPE SSFCOMPOP,    "Smart Composer Options&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      T_OTFDATA TYPE SSFCRESCL,    "Return value at end of form printing&lt;/P&gt;&lt;P&gt;      T_PDF_TAB LIKE TLINE OCCURS 0 WITH HEADER LINE.    "SAP Acripts: Text lines&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: T_OTF TYPE ITCOO OCCURS 0 WITH HEADER LINE,    "OTF Structure&lt;/P&gt;&lt;P&gt;      W_FILESIZE TYPE I,&lt;/P&gt;&lt;P&gt;      W_BIN_FILESIZE TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    FORMNAME                 = 'ZMY_FORM6'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VARIANT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DIRECT_CALL              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   FM_NAME                  = FM_NAME&lt;/P&gt;&lt;UL&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;  NO_FORM                  = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_FUNCTION_MODULE       = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                   = 3&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;&lt;/P&gt;&lt;P&gt;WA_CTRLOP-GETOTF = 'X'.    "Return of OTF Table.No printing,display,or faxing&lt;/P&gt;&lt;P&gt;WA_CTRLOP-NO_DIALOG = 'X'.    "SAP Smartform: General indicator&lt;/P&gt;&lt;P&gt;WA_OUTOPT-TDNOPREV = 'X'.    "No print preview&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION FM_NAME                " '/1BCDWB/SF00000699'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX_TAB          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_PARAMETERS         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CONTROL_PARAMETERS         = WA_CTRLOP&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MAIL_APPL_OBJ              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MAIL_RECIPIENT             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MAIL_SENDER                =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   OUTPUT_OPTIONS             = WA_OUTOPT&lt;/P&gt;&lt;P&gt;   USER_SETTINGS              = 'X'&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DOCUMENT_OUTPUT_INFO       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   JOB_OUTPUT_INFO            = T_OTFDATA&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  JOB_OUTPUT_OPTIONS         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;   OTHERS                     = 5&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;&lt;/P&gt;&lt;P&gt;T_OTF[] = T_OTFDATA-OTFDATA[].&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COPYNUMBER                  = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ASCII_BIDI_VIS2LOG          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PDF_DELETE_OTFTAB           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   BIN_FILESIZE                = W_BIN_FILESIZE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BIN_FILE                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    OTF                         = T_OTF&lt;/P&gt;&lt;P&gt;    LINES                       = T_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;   ERR_BAD_OTF                 = 4&lt;/P&gt;&lt;P&gt;   OTHERS                      = 5&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt; MESSAGE ID 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;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'WS_DOWNLOAD'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   BIN_FILESIZE                  = W_BIN_FILESIZE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   FILENAME                      = 'D:\TEST11.PDF'&lt;/P&gt;&lt;P&gt;   FILETYPE                      = 'BIN'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MODE                          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_SIZE                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_SIZE                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECT                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECTMASK                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTH_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   FILELENGTH                    = W_FILESIZE&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DATA_TAB                      = T_PDF_TAB&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELDNAMES                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   FILE_OPEN_ERROR               = 1&lt;/P&gt;&lt;P&gt;   FILE_WRITE_ERROR              = 2&lt;/P&gt;&lt;P&gt;   INVALID_FILESIZE              = 3&lt;/P&gt;&lt;P&gt;   INVALID_TYPE                  = 4&lt;/P&gt;&lt;P&gt;   NO_BATCH                      = 5&lt;/P&gt;&lt;P&gt;   UNKNOWN_ERROR                 = 6&lt;/P&gt;&lt;P&gt;   INVALID_TABLE_WIDTH           = 7&lt;/P&gt;&lt;P&gt;   GUI_REFUSE_FILETRANSFER       = 8&lt;/P&gt;&lt;P&gt;   CUSTOMER_ERROR                = 9&lt;/P&gt;&lt;P&gt;   NO_AUTHORITY                  = 10&lt;/P&gt;&lt;P&gt;   OTHERS                        = 11&lt;/P&gt;&lt;P&gt;          .&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 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; WRITE:/ 'THE PDF FILE IS SUCCESSFULLY CONVERTED'.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 16 Apr 2008 06:43:49 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-04-16T06:43:49Z</dc:date>
    <item>
      <title>CONVERT_OTF_2_PDF - error OTF end command // missing in OTF data</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-otf-2-pdf-error-otf-end-command-missing-in-otf-data/m-p/3706792#M892506</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to convert an internal table to a PDF format. However it appears that what I am passing to the OTF TABLES parameter is incorrect. I have tried to enter the following into the OTF structure:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TDPRINTCOM: //&lt;/P&gt;&lt;P&gt;TDPRINTPAR: test&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But the message "OTF end command // missing in OTF data" keeps appearing. Any folks know what the problem might be?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards, Warren&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Apr 2008 05:51:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-otf-2-pdf-error-otf-end-command-missing-in-otf-data/m-p/3706792#M892506</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-16T05:51:01Z</dc:date>
    </item>
    <item>
      <title>Re: CONVERT_OTF_2_PDF - error OTF end command // missing in OTF data</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-otf-2-pdf-error-otf-end-command-missing-in-otf-data/m-p/3706793#M892507</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;this is the code i got executed for convertion to PDF.I think this help full for you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bye.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZMY_SF61.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: FM_NAME TYPE RS38L_FNAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: WA_CTRLOP TYPE SSFCTRLOP,    "Smartform control structure&lt;/P&gt;&lt;P&gt;      WA_OUTOPT TYPE SSFCOMPOP,    "Smart Composer Options&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      T_OTFDATA TYPE SSFCRESCL,    "Return value at end of form printing&lt;/P&gt;&lt;P&gt;      T_PDF_TAB LIKE TLINE OCCURS 0 WITH HEADER LINE.    "SAP Acripts: Text lines&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: T_OTF TYPE ITCOO OCCURS 0 WITH HEADER LINE,    "OTF Structure&lt;/P&gt;&lt;P&gt;      W_FILESIZE TYPE I,&lt;/P&gt;&lt;P&gt;      W_BIN_FILESIZE TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    FORMNAME                 = 'ZMY_FORM6'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VARIANT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DIRECT_CALL              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   FM_NAME                  = FM_NAME&lt;/P&gt;&lt;UL&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;  NO_FORM                  = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_FUNCTION_MODULE       = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                   = 3&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;&lt;/P&gt;&lt;P&gt;WA_CTRLOP-GETOTF = 'X'.    "Return of OTF Table.No printing,display,or faxing&lt;/P&gt;&lt;P&gt;WA_CTRLOP-NO_DIALOG = 'X'.    "SAP Smartform: General indicator&lt;/P&gt;&lt;P&gt;WA_OUTOPT-TDNOPREV = 'X'.    "No print preview&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION FM_NAME                " '/1BCDWB/SF00000699'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX_TAB          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_PARAMETERS         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CONTROL_PARAMETERS         = WA_CTRLOP&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MAIL_APPL_OBJ              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MAIL_RECIPIENT             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MAIL_SENDER                =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   OUTPUT_OPTIONS             = WA_OUTOPT&lt;/P&gt;&lt;P&gt;   USER_SETTINGS              = 'X'&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DOCUMENT_OUTPUT_INFO       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   JOB_OUTPUT_INFO            = T_OTFDATA&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  JOB_OUTPUT_OPTIONS         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;   OTHERS                     = 5&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;&lt;/P&gt;&lt;P&gt;T_OTF[] = T_OTFDATA-OTFDATA[].&lt;/P&gt;&lt;P&gt;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COPYNUMBER                  = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ASCII_BIDI_VIS2LOG          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PDF_DELETE_OTFTAB           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   BIN_FILESIZE                = W_BIN_FILESIZE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BIN_FILE                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    OTF                         = T_OTF&lt;/P&gt;&lt;P&gt;    LINES                       = T_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;   ERR_BAD_OTF                 = 4&lt;/P&gt;&lt;P&gt;   OTHERS                      = 5&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt; MESSAGE ID 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;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'WS_DOWNLOAD'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   BIN_FILESIZE                  = W_BIN_FILESIZE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   FILENAME                      = 'D:\TEST11.PDF'&lt;/P&gt;&lt;P&gt;   FILETYPE                      = 'BIN'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MODE                          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_SIZE                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_SIZE                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECT                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECTMASK                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTH_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   FILELENGTH                    = W_FILESIZE&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    DATA_TAB                      = T_PDF_TAB&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELDNAMES                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   FILE_OPEN_ERROR               = 1&lt;/P&gt;&lt;P&gt;   FILE_WRITE_ERROR              = 2&lt;/P&gt;&lt;P&gt;   INVALID_FILESIZE              = 3&lt;/P&gt;&lt;P&gt;   INVALID_TYPE                  = 4&lt;/P&gt;&lt;P&gt;   NO_BATCH                      = 5&lt;/P&gt;&lt;P&gt;   UNKNOWN_ERROR                 = 6&lt;/P&gt;&lt;P&gt;   INVALID_TABLE_WIDTH           = 7&lt;/P&gt;&lt;P&gt;   GUI_REFUSE_FILETRANSFER       = 8&lt;/P&gt;&lt;P&gt;   CUSTOMER_ERROR                = 9&lt;/P&gt;&lt;P&gt;   NO_AUTHORITY                  = 10&lt;/P&gt;&lt;P&gt;   OTHERS                        = 11&lt;/P&gt;&lt;P&gt;          .&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 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; WRITE:/ 'THE PDF FILE IS SUCCESSFULLY CONVERTED'.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Apr 2008 06:43:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-otf-2-pdf-error-otf-end-command-missing-in-otf-data/m-p/3706793#M892507</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-16T06:43:49Z</dc:date>
    </item>
    <item>
      <title>Re: CONVERT_OTF_2_PDF - error OTF end command // missing in OTF data</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/convert-otf-2-pdf-error-otf-end-command-missing-in-otf-data/m-p/3706794#M892508</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 this program &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  YMSL_ORDER_ACCEPTANCE
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
 
REPORT  YMSL_ORDER_ACCEPTANCE.
 
*********Variable Declarations *****************************
DATA: GV_FORM_NAME TYPE RS38L_FNAM, " Used to store the function module generated by Smartform
      GV_BIN_FILESIZE TYPE I, " Store the file size
      GV_POS TYPE I,
      GV_LEN TYPE I,
      GV_TAB_LINES TYPE I,
      gv_desc_lines type i.
 
********Constants *******************************************
DATA : GC_TEXT(11) TYPE C VALUE 'Form Output',
       GC_TST(3) TYPE C VALUE 'TST',
       GC_TESTING(20) TYPE C VALUE 'Order Acceptance'.
*********Work Area Declarations *****************************
DATA: GS_DOCDATA TYPE SODOCCHGI1, " Data of an object which can be changed
      GS_CTRLOP TYPE SSFCTRLOP, " Smart Forms: Control structure
      GS_OUTOPT TYPE SSFCOMPOP, " SAP Smart Forms: Smart Composer (transfer) options
      GS_OTFDATA TYPE SSFCRESCL, " Smart Forms: Return value at end of form printing
      GS_RECLIST TYPE SOMLRECI1, " SAPoffice: Structure of the API Recipient List
      GS_PDF_TAB TYPE TLINE, " Workarea for SAP Script Text Lines
      GS_OBJBIN TYPE SOLISTI1, " SAPoffice: Single List with Column Length 255
      GS_OBJPACK TYPE SOPCKLSTI1. " SAPoffice: Description of Imported Object Components
DATA : w_doc_chng typE sodocchgi1.
*********Internal tables Declarations *****************************
DATA : I_OBJTXT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE.
DATA: GT_RECLIST TYPE TABLE OF SOMLRECI1, " SAPoffice: Structure of the API Recipient List
      GT_PDF_TAB TYPE TABLE OF TLINE, " SAPscript: Text Lines
      GT_OTF TYPE TABLE OF ITCOO, " OTF Structure
      GT_OBJBIN TYPE TABLE OF SOLISTI1, " SAPoffice: Single List with Column Length 255
      GT_OBJPACK TYPE TABLE OF SOPCKLSTI1. " SAPoffice: Description of Imported Object Components
 
 
******
DATA : BEGIN OF IT_ADR6 OCCURS 0,
          SMTP_ADDR TYPE ADR6-SMTP_ADDR,
        END OF IT_ADR6.
DATA : W_FILE_NAME TYPE STRING,
      W_FILE_PATH TYPE STRING,
      W_FULL_PATH TYPE STRING.
 
 
 
CLEAR : GV_FORM_NAME,
        GS_CTRLOP,
        GS_OUTOPT,
        GS_OTFDATA,
        GV_BIN_FILESIZE,
        GV_POS,
        GV_LEN,
        GV_TAB_LINES.
 
SELECTION-SCREEN:  BEGIN OF SCREEN 1001 AS WINDOW  TITLE scr_ttl .
 
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TXT_B1 NO INTERVALS.
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN COMMENT 1(15) TX_VBELN.
PARAMETER : P_VBELN TYPE VBAK-VBELN .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.
 
*SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TXT_B2 .
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: R_OUT RADIOBUTTON GROUP R1 DEFAULT 'X' USER-COMMAND RAD11 .
SELECTION-SCREEN COMMENT 5(20) TXT_OUT.  "  roles by t-code
SELECTION-SCREEN END OF LINE.
 
SELECTION-SCREEN BEGIN OF LINE.
PARAMETER R_PDF RADIOBUTTON GROUP R1 .
SELECTION-SCREEN COMMENT 5(20) TXT_PDF.
SELECTION-SCREEN END OF LINE.
 
SELECTION-SCREEN BEGIN OF LINE.
PARAMETER R_MAIL RADIOBUTTON GROUP R1 .
SELECTION-SCREEN COMMENT 5(15) TXT_MAIL.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 20(7) TXT_MAL1.
PARAMETER : P_MAIL TYPE ADR6-SMTP_ADDR MODIF ID M1.
SELECTION-SCREEN END OF LINE.
 
*SELECTION-SCREEN END OF BLOCK B2.
 
SELECTION-SCREEN: END OF SCREEN 1001 .
 
CALL SELECTION-SCREEN 1001 STARTING AT 20 5 ENDING AT 105 10.
 
*SET PF-STATUS 'STATUS'.
 
INITIALIZATION.
 
  TX_VBELN = 'Order'.
  TXT_B1 = 'Selection Criteria '.
*  TXT_B2 = 'Output Criteria '.
  scr_ttl = 'Order Acceptance'.
  TXT_OUT = 'Print Output'.
  TXT_PDF = 'Save To PDF'.
  TXT_MAIL = 'Mail the Output'.
  TXT_MAL1 = 'E-mail'.
 
AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF R_MAIL  'X'.
      IF SCREEN-GROUP1 = 'M1'.
*        SCREEN-INVISIBLE =  1.
        SCREEN-INPUT = 0. " Disable for input.
        MODIFY SCREEN.
      ENDIF.
    ENDIF.
  ENDLOOP.
 
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_MAIL.
  PERFORM TABLE_HELP.
 
START-OF-SELECTION..
 
  IF P_VBELN IS NOT INITIAL.
    PERFORM GET_SF.
    IF R_PDF = 'X' .
      PERFORM CONVERT_OTF.
      PERFORM SAVE_DIALOG.
      PERFORM DOWNLOAD.
    ELSEIF R_MAIL = 'X'.
      IF P_MAIL IS NOT INITIAL.
       PERFORM CONVERT_OTF.
       PERFORM SEND_MAIL.
      ELSE.
        MESSAGE 'Please Enter Email Address' TYPE 'S'.
*         CALL TRANSACTION 'YMSL20'.
*         LEAVE LIST-PROCESSING.
      ENDIF.
    ENDIF.
  ELSE.
    MESSAGE 'Please Enter Order No' TYPE 'S'.
*      CALL TRANSACTION 'YMSL20'.
*      LEAVE LIST-PROCESSING.
 
ENDIF.
END-OF-SELECTION.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  TABLE_HELP
*&amp;amp;---------------------------------------------------------------------*
FORM TABLE_HELP .
  IF R_MAIL = 'X'.
    SELECT SMTP_ADDR FROM ADR6 INTO TABLE IT_ADR6.
 
    SORT IT_ADR6.
    DELETE ADJACENT DUPLICATES FROM IT_ADR6 COMPARING ALL FIELDS.
 
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
      EXPORTING
*     DDIC_STRUCTURE         = ' '
        RETFIELD               = 'IT_ADR6-SMTP_ADDR'
*     PVALKEY                = ' '
       DYNPPROG               = SY-REPID
       DYNPNR                 = SY-DYNNR
       DYNPROFIELD            = 'EMAIL'
*     STEPL                  = 0
       WINDOW_TITLE           = 'SELECT MAIL ADDRESS'
*     VALUE                  = ' '
       VALUE_ORG              = 'S'
*     MULTIPLE_CHOICE        = ' '
*     DISPLAY                = ' '
*     CALLBACK_PROGRAM       = ' '
*     CALLBACK_FORM          = ' '
*     MARK_TAB               =
*   IMPORTING
*     USER_RESET             =
      TABLES
        VALUE_TAB              = IT_ADR6
*     FIELD_TAB              =
*     RETURN_TAB             =
*     DYNPFLD_MAPPING        =
*   EXCEPTIONS
*     PARAMETER_ERROR        = 1
*     NO_VALUES_FOUND        = 2
*     OTHERS                 = 3
              .
    IF SY-SUBRC  0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
 
  ENDIF.
ENDFORM.                    " TABLE_HELP
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  GET_SF
*&amp;amp;---------------------------------------------------------------------*
FORM GET_SF .
*&amp;#149; Generate Function Module name
  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      FORMNAME           = 'YMSL_ORD_ACCEPT'
    IMPORTING
      FM_NAME            = GV_FORM_NAME
    EXCEPTIONS
      NO_FORM            = 1
      NO_FUNCTION_MODULE = 2
      OTHERS             = 3.
  IF SY-SUBRC   0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
*&amp;#149; Assigning values to Form Control Structure and Form Composer
  IF R_OUT  'X'.
    GS_CTRLOP-GETOTF = 'X'.
    GS_CTRLOP-NO_DIALOG = 'X'.
    GS_OUTOPT-TDNOPREV = 'X'.
  ENDIF.
 
  CALL FUNCTION GV_FORM_NAME
    EXPORTING
*   ARCHIVE_INDEX              =
*   ARCHIVE_INDEX_TAB          =
*   ARCHIVE_PARAMETERS         =
      CONTROL_PARAMETERS         = GS_CTRLOP
*   MAIL_APPL_OBJ              =
*   MAIL_RECIPIENT             =
*   MAIL_SENDER                =
      OUTPUT_OPTIONS             = GS_OUTOPT
      USER_SETTINGS              = 'X'
      TEMP_VBELN                 =  P_VBELN
   IMPORTING
*   DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            = GS_OTFDATA
*   JOB_OUTPUT_OPTIONS         =
   EXCEPTIONS
     FORMATTING_ERROR           = 1
     INTERNAL_ERROR             = 2
     SEND_ERROR                 = 3
     USER_CANCELED              = 4
     OTHERS                     = 5
            .
  IF SY-SUBRC  0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
 
ENDFORM.                    " GET_SF
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CONVERT_OTF
*&amp;amp;---------------------------------------------------------------------*
FORM CONVERT_OTF .
*&amp;#149; Assigning the OTFDATA to OTF Structure table
  CLEAR GT_OTF.
  GT_OTF[] = GS_OTFDATA-OTFDATA[].
*&amp;#149; Convert the OTF DATA to SAP Script Text lines
  CLEAR GT_PDF_TAB.
 
  CALL FUNCTION 'CONVERT_OTF'
   EXPORTING
     FORMAT                      = 'PDF'
     MAX_LINEWIDTH               = 132
*   ARCHIVE_INDEX               = ' '
*   COPYNUMBER                  = 0
*   ASCII_BIDI_VIS2LOG          = ' '
*   PDF_DELETE_OTFTAB           = ' '
   IMPORTING
     BIN_FILESIZE                = GV_BIN_FILESIZE
*   BIN_FILE                    =
    TABLES
      OTF                         = GT_OTF
      LINES                       = GT_PDF_TAB
   EXCEPTIONS
     ERR_MAX_LINEWIDTH           = 1
     ERR_FORMAT                  = 2
     ERR_CONV_NOT_POSSIBLE       = 3
     ERR_BAD_OTF                 = 4
     OTHERS                      = 5
            .
  IF SY-SUBRC  0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
*
*t_otf[] = t_otf_from_fm-otfdata[].
*
** Function Module CONVERT_OTF is used to convert the OTF format to PDF
*
*CALL FUNCTION 'CONVERT_OTF'
*EXPORTING
*FORMAT = 'PDF'
*MAX_LINEWIDTH = 132
** ARCHIVE_INDEX = ' '
** COPYNUMBER = 0
** ASCII_BIDI_VIS2LOG = ' '
** PDF_DELETE_OTFTAB = ' '
*IMPORTING
*BIN_FILESIZE = W_bin_filesize
** BIN_FILE =
*TABLES
*otf = T_OTF
*lines = T_pdf_tab
*EXCEPTIONS
*ERR_MAX_LINEWIDTH = 1
*ERR_FORMAT = 2
*ERR_CONV_NOT_POSSIBLE = 3
*ERR_BAD_OTF = 4
*OTHERS = 5
*.
*IF sy-subrc  0.
*MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
 
 
ENDFORM.                    " CONVERT_OTF
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SAVE_DIALOG
*&amp;amp;---------------------------------------------------------------------*
FORM SAVE_DIALOG .
* To display File SAVE dialog window
  CALL METHOD CL_GUI_FRONTEND_SERVICES=&amp;gt;FILE_SAVE_DIALOG
   EXPORTING
   WINDOW_TITLE = 'Download to PDF '
* DEFAULT_EXTENSION = '(*.PDF)'
   DEFAULT_FILE_NAME = 'file.pdf'
   FILE_FILTER = 'PDF Format(*.PDF)'
   INITIAL_DIRECTORY = 'C:Documents and SettingsAdministratorDesktop'
* WITH_ENCODING =
   PROMPT_ON_OVERWRITE = 'X'
  CHANGING
  FILENAME = W_FILE_NAME
  PATH = W_FILE_PATH
  FULLPATH = W_FULL_PATH
* USER_ACTION =
* FILE_ENCODING =
  EXCEPTIONS
  CNTL_ERROR = 1
  ERROR_NO_GUI = 2
  NOT_SUPPORTED_BY_GUI = 3
  OTHERS = 4
  .
  IF SY-SUBRC  0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
 
 
ENDFORM.                    " SAVE_DIALOG
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  DOWNLOAD
*&amp;amp;---------------------------------------------------------------------*
FORM DOWNLOAD .
* Use the FM GUI_DOWNLOAD to download the generated PDF file onto the
* presentation server
 
  CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
  BIN_FILESIZE = GV_BIN_FILESIZE
  FILENAME = W_FULL_PATH
  FILETYPE = 'BIN'
* APPEND = ' '
* WRITE_FIELD_SEPARATOR = ' '
* HEADER = '00'
* TRUNC_TRAILING_BLANKS = ' '
* WRITE_LF = 'X'
* COL_SELECT = ' '
* COL_SELECT_MASK = ' '
* DAT_MODE = ' '
* CONFIRM_OVERWRITE = ' '
* NO_AUTH_CHECK = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* WRITE_BOM = ' '
* TRUNC_TRAILING_BLANKS_EOL = 'X'
* WK1_N_FORMAT = ' '
* WK1_N_SIZE = ' '
* WK1_T_FORMAT = ' '
* WK1_T_SIZE = ' '
* IMPORTING
* FILELENGTH =
  TABLES
  DATA_TAB = GT_PDF_TAB
* FIELDNAMES =
* EXCEPTIONS
* FILE_WRITE_ERROR = 1
* NO_BATCH = 2
* GUI_REFUSE_FILETRANSFER = 3
* INVALID_TYPE = 4
* NO_AUTHORITY = 5
* UNKNOWN_ERROR = 6
* HEADER_NOT_ALLOWED = 7
* SEPARATOR_NOT_ALLOWED = 8
* FILESIZE_NOT_ALLOWED = 9
* HEADER_TOO_LONG = 10
* DP_ERROR_CREATE = 11
* DP_ERROR_SEND = 12
* DP_ERROR_WRITE = 13
* UNKNOWN_DP_ERROR = 14
* ACCESS_DENIED = 15
* DP_OUT_OF_MEMORY = 16
* DISK_FULL = 17
* DP_TIMEOUT = 18
* FILE_NOT_FOUND = 19
* DATAPROVIDER_EXCEPTION = 20
* CONTROL_FLUSH_ERROR = 21
* OTHERS = 22
  .
  IF SY-SUBRC  0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
 
 
ENDFORM.                    " DOWNLOAD
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SEND_MAIL
*&amp;amp;---------------------------------------------------------------------*
 
FORM SEND_MAIL .
DATA : v_first TYPE USER_ADDR-NAME_FIRST,
      V_LAST   TYPE USER_ADDR-NAME_LAST.
DATA : detail TYPE STRING.
SELECT SINGLE NAME_FIRST NAME_LAST FROM
  USER_ADDR INTO (V_FIRST,V_LAST)
  WHERE BNAME = syst-UNAME.
 
  CONCATENATE v_first V_LAST INTO detail SEPARATED BY space.
**&amp;#149; Assigning the Description of the object sent in the mail
*  CLEAR GS_DOCDATA.
*  GS_DOCDATA-OBJ_NAME = GC_TST.
*  GS_DOCDATA-OBJ_DESCR = GC_TESTING.
 
*&amp;#149; Assigning the email id to Structure of the API Recipient List table
  CLEAR : GT_RECLIST, GS_RECLIST.
  GS_RECLIST-RECEIVER =  P_MAIL.       
  GS_RECLIST-REC_TYPE = 'U'.
  APPEND GS_RECLIST TO GT_RECLIST.
****  mail body rajan
  I_OBJTXT = 'Find attached output of the Order Acceptance.'.
  APPEND I_OBJTXT.
  I_OBJTXT = 'Regards,'.
  APPEND I_OBJTXT.
  I_OBJTXT = detail.
  APPEND I_OBJTXT.
  DESCRIBE TABLE i_objtxt LINES gv_desc_lines.
*DESCRIBE TABLE i_objtxt LINES v_lines_txt.
  CLEAR I_OBJTXT.
  READ TABLE I_OBJTXT INDEX gv_desc_lines.
  if sy-subrc = 0.
* Document information.
 
GS_DOCDATA-obj_name = 'ord_accept'.
GS_DOCDATA-expiry_dat = sy-datum + 10.
GS_DOCDATA-obj_descr = 'Order Acceptance'.
GS_DOCDATA-sensitivty = 'F'. "Functional object
GS_DOCDATA-doc_size = gv_desc_lines * 255.
CLEAR Gs_OBJPACK-transf_bin.
* Start line of object header in transport packet
 
*    GS_OBJPACK-TRANSF_BIN = 'X'.
    GS_OBJPACK-doc_size = gv_desc_lines * 255.
    GS_OBJPACK-HEAD_START = 1.
    GS_OBJPACK-HEAD_NUM = 0.
    GS_OBJPACK-BODY_START = 1.
    GS_OBJPACK-BODY_NUM = gv_desc_lines.
    GS_OBJPACK-DOC_TYPE = 'RAW'.
*    GS_OBJPACK-OBJ_NAME = 'ORDER_ACCEPTANCE'.
*    GS_OBJPACK-OBJ_DESCR = 'ORDER_ACCEPTANCE.PDF'.
    APPEND GS_OBJPACK TO GT_OBJPACK.
 
*  GS_OBJPACK-HEAD_START = 1.
*    GS_OBJPACK-HEAD_NUM = 0.
*    GS_OBJPACK-BODY_START = 1.
*  GS_OBJPACK-doc_type = 'RAW'.
*APPEND GS_OBJPACK TO GT_OBJPACK.
 
  ENDIF.
*&amp;#149; Passing the SAP Script text lines to SAPoffice: Single List with Column Length 255 table
  CLEAR : GS_OBJBIN, GS_PDF_TAB.
 
  LOOP AT GT_PDF_TAB INTO GS_PDF_TAB.
    GV_POS = 255 - GV_LEN.
    IF GV_POS &amp;gt; 134. "length of pdf_table
      GV_POS = 134.
    ENDIF.
    GS_OBJBIN+GV_LEN = GS_PDF_TAB(GV_POS).
    GV_LEN = GV_LEN + GV_POS.
    IF GV_LEN = 255. "length of out (contents_bin)
      APPEND GS_OBJBIN TO GT_OBJBIN.
      CLEAR: GS_OBJBIN, GV_LEN.
      IF GV_POS &amp;lt; 134.
        GS_OBJBIN = GS_PDF_TAB+GV_POS.
        GV_LEN = 134 - GV_POS.
      ENDIF.
    ENDIF.
  ENDLOOP.
  IF GV_LEN &amp;gt; 0.
    APPEND GS_OBJBIN TO GT_OBJBIN.
  ENDIF.
*&amp;#149; Filling the details in SAPoffice: Description of Imported Object Components table
  DESCRIBE TABLE GT_OBJBIN LINES GV_TAB_LINES.
 
  CLEAR GS_OBJBIN.
  READ TABLE GT_OBJBIN INTO GS_OBJBIN INDEX GV_TAB_LINES.
    IF SY-SUBRC = 0.
    GS_OBJPACK-DOC_SIZE = ( GV_TAB_LINES - 1 ) * 255 + STRLEN( GS_OBJBIN ).
    GS_OBJPACK-TRANSF_BIN = 'X'.
    GS_OBJPACK-HEAD_START = 1.
    GS_OBJPACK-HEAD_NUM = 0.
    GS_OBJPACK-BODY_START = 1.
    GS_OBJPACK-BODY_NUM = GV_TAB_LINES.
    GS_OBJPACK-DOC_TYPE = 'PDF'.
    GS_OBJPACK-OBJ_NAME = 'ORDER_ACCEPTANCE'.
    GS_OBJPACK-OBJ_DESCR = 'Order Acceptance'.
    APPEND GS_OBJPACK TO GT_OBJPACK.
  ENDIF.
  CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
      DOCUMENT_DATA                    = GS_DOCDATA
     PUT_IN_OUTBOX                    = 'X'
     COMMIT_WORK                      = 'X'
* IMPORTING
*   SENT_TO_ALL                      =
*   NEW_OBJECT_ID                    =
    TABLES
      PACKING_LIST                     = GT_OBJPACK
*   OBJECT_HEADER                    =  I_OBJTXT
     CONTENTS_BIN                     = GT_OBJBIN
     CONTENTS_TXT                     = I_OBJTXT
*   CONTENTS_HEX                     =
*   OBJECT_PARA                      =
*   OBJECT_PARB                      =
      RECEIVERS                        = GT_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  0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ELSE.
*    WRITE 'Sent Successfully'.
    MESSAGE 'Sent Successfully' TYPE 'I'.
*      CALL TRANSACTION 'YMSL20'.
*      LEAVE LIST-PROCESSING.
 
  ENDIF.
 
  SUBMIT RSCONN01
  WITH MODE EQ 'INT'
  AND RETURN.
ENDFORM.                    " SEND_MAIL&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;reward if helpful&lt;/P&gt;&lt;P&gt;raam&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Apr 2008 07:13:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/convert-otf-2-pdf-error-otf-end-command-missing-in-otf-data/m-p/3706794#M892508</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-16T07:13:19Z</dc:date>
    </item>
  </channel>
</rss>

