Arabic in Smartform as a PDF output

Hi !
I am trying to create a .pdf file of a Smartform containing Arabic characters. I tried the code given in thread 'SX_OBJECT_CONVERT_OTF_PDF' but couldn't proceed much. Any help would be appreciated.
Cheers,
Ashok.

Hi Nkil,
This can be related to the FlateDecode compression described in SAP Note #843480.
The option 'FLATE_COMPR_OFF' needs to be set to 'On' via reprto RSTXPDF3 to turn off the FlateDecode compression.
After switching off the FlateDecode compression, create another PDF and see if the problem is resolved?
Regards,
Aidan

Similar Messages

  • Arabic language Smartform given Wrong Output format.

    Hi,
    I have developed Arabic Language smartform and tested in  Print Privew  mode working fine .
    Problem with smartform Converted into PDF format and downloded to PC given wrong format.
    Pl let me know any changes required.

    Sorry I do not have answer to your question. But can you share with me how you managed to display Arabic language in Smartform?

  • Change Email subject line for PDF output through smartforms

    Dear all,
    Currently i am working in Client ECC6.and we are useing The Smartform for Sending PDF document to the Customer.
    Since recently email was setup so these invoices can be mailed directly to the customers, but we face the problem that when invoices are sent via email, the subject is like this.
    From: Ramesh Babu mailto:ramesh_babu@abc
    Sent: Wednesday, August 27, 2008 10:40 AM
    To: Babu, Ramesh
    Subject: New Invoice (mail/prnt).
    Now the customer Requirement is that ,they dont want to disclose the Email address of the sender.
    so they want to change the Form line and one hard codeed line always send to the customer like Ex below.
    From: "Help Me Please'' .
    This will aplicable for all sender ,if he send it by foreground or background as well.
    so could you please sugest me how can i do that coding,or is there a user-exit to overrule the Standard SAP behaviour.
    My Print program name: ZLB_BIL_INVOICE .
    Regards,
    Moni

    Hi,
    refer this,
    you can change the subject line.
    FORM docu_send_email USING pv_otfdata  TYPE tsfotf
                               pv_emailid  TYPE any
                               pv_formname TYPE any.
      DATA: lv_filesize    TYPE i,
            lv_buffer      TYPE string,
            lv_attachment  TYPE i,
            lv_testo       TYPE i.
      DATA: li_pdfdata  TYPE STANDARD TABLE OF tline,
            li_mess_att TYPE STANDARD TABLE OF solisti1,
            li_mtab_pdf TYPE STANDARD TABLE OF tline,
            li_objpack  TYPE STANDARD TABLE OF sopcklsti1,
            li_objtxt   TYPE STANDARD TABLE OF solisti1,
            li_objbin   TYPE STANDARD TABLE OF solisti1,
            li_reclist  TYPE STANDARD TABLE OF somlreci1,
            li_objhead  TYPE soli_tab.
      DATA: lwa_pdfdata  TYPE tline,
            lwa_objpack  TYPE sopcklsti1,
            lwa_mess_att TYPE solisti1,
            lwa_objtxt   TYPE solisti1,
            lwa_objbin   TYPE solisti1,
            lwa_reclist  TYPE somlreci1,
            lwa_doc_chng TYPE  sodocchgi1.
      CONSTANTS: lc_u           TYPE char1  VALUE 'U',
                 lc_0           TYPE char1  VALUE '0',
                 lc_1           TYPE char1  VALUE '1',
                 lc_pdf         TYPE char3  VALUE 'PDF',
                 lc_raw         TYPE char3  VALUE 'RAW',
                 lc_ordform     TYPE char15 VALUE 'ZORDCONFIRM_01',
                 lc_attachment  TYPE char10 VALUE 'ATTACHMENT'.
      CALL FUNCTION 'CONVERT_OTF'
        EXPORTING
          format                = lc_pdf
          max_linewidth         = 132
        IMPORTING
          bin_filesize          = lv_filesize
        TABLES
          otf                   = pv_otfdata
          lines                 = li_pdfdata
        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.
      LOOP AT li_pdfdata INTO lwa_pdfdata.
        TRANSLATE lwa_pdfdata USING ' ~'.
        CONCATENATE lv_buffer lwa_pdfdata INTO lv_buffer.
        CLEAR lwa_pdfdata.
      ENDLOOP.
      TRANSLATE lv_buffer USING '~ '.
      DO.
        lwa_mess_att = lv_buffer.
        APPEND lwa_mess_att TO li_mess_att.
        CLEAR lwa_mess_att.
        SHIFT lv_buffer LEFT BY 255 PLACES.
        IF lv_buffer IS INITIAL.
          EXIT.
        ENDIF.
      ENDDO.
    Object with PDF.
      REFRESH li_objbin.
      li_objbin[] = li_mess_att[].
      DESCRIBE TABLE li_objbin LINES lv_attachment.
    Object with main text of the mail.
      lwa_objtxt = space.
      APPEND lwa_objtxt TO li_objtxt.
      CLEAR lwa_objtxt.
      DESCRIBE TABLE li_objtxt LINES lv_testo.
    Create the document which is to be sent
      lwa_doc_chng-obj_name  = text-008.
      lwa_doc_chng-obj_descr = text-008.
      lwa_doc_chng-sensitivty = lc_0.
      lwa_doc_chng-obj_prio = lc_1.
      lwa_doc_chng-doc_size = lv_testo * 225.
    Pack to main body.
      CLEAR lwa_objpack-transf_bin.
    header
      lwa_objpack-head_start = 1.
    The document needs no header (head_num = 0)
      lwa_objpack-head_num   = 0.
    body
      lwa_objpack-body_start = 1.
      lwa_objpack-body_num   = lv_testo.
      lwa_objpack-doc_type   = lc_raw.
      APPEND lwa_objpack TO li_objpack.
      CLEAR lwa_objpack.
    Create the attachment.
    Fill the fields of the packing_list for the attachment:
      lwa_objpack-transf_bin = gc_x .
    header
      lwa_objpack-head_start = 1.
      lwa_objpack-head_num   = 1.
    body
      lwa_objpack-body_start = 1.
      lwa_objpack-body_num   = lv_attachment.
      lwa_objpack-doc_type   = lc_pdf.
      lwa_objpack-obj_name   = lc_attachment.
      lwa_objpack-obj_descr  = text-008.
      lwa_objpack-doc_size =  lv_attachment * 255.
      APPEND lwa_objpack TO li_objpack.
      CLEAR lwa_objpack.
      lwa_reclist-receiver   = pv_emailid.
      lwa_reclist-rec_type   = lc_u.
      lwa_reclist-notif_del  = gc_x.
      lwa_reclist-notif_ndel = gc_x.
      APPEND lwa_reclist TO li_reclist.
      IF li_reclist IS NOT INITIAL.
        CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
          EXPORTING
            document_data              = lwa_doc_chng
            put_in_outbox              = gc_x
          TABLES
            packing_list               = li_objpack
            object_header              = li_objhead
            contents_bin               = li_objbin
            contents_txt               = li_objtxt
            receivers                  = li_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 'I' NUMBER sy-msgno
                     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
      ENDIF.
    ENDFORM.                    " DOCU_SEND_EMAIL

  • How to download PDF output forms to presentation server without display

    Hi All,
    My requirement is to download the Sales Order forms and save it in local system.
    I have created a custom program where I am passing a range of Sales Order no, Partner Function, Output type and Application as my input in selection screen.
    Logic:
    I am calling my Sales Order Abodeform using the FM: 'FP_FUNCTION_MODULE_NAME' and thereby I got the function module name of my form.
    Then I am calling the FM:
    Input to the FM:  
      ls_outputparams-nodialog = abap_true.
      ls_outputparams-authority = 'X'.
      ls_outputparams-getpdf = 'X'.
      ls_outputparams-dest = 'LP03'.
      ls_outputparams-nopreview = abap_true.
      ls_outputparams-reqimm = abap_true.
      CALL FUNCTION 'FP_JOB_OPEN' 
        CHANGING
          ie_outputparams = ls_outputparams
        EXCEPTIONS
          cancel          = 1
          usage_error     = 2
          system_error    = 3
          internal_error  = 4
          OTHERS          = 5.
    followed by,  CALL FUNCTION (FM name)
         EXPORTING
          archive_index        = toa_dara
          archive_parameters   = arc_params
          control_parameters   = ls_control_param
          mail_recipient       = ls_recipient
          mail_sender          = ls_sender
          output_options       = ls_output_param
          user_settings         = ' '
          is_nast                 = nast
          is_vbdka               = vbdka
          is_addres             = addr_key
        IMPORTING
          document_output_info = document_output_info
          job_output_info      = job_output_info
          job_output_options   = job_output_options
        TABLES
          it_vbdpa             = tvbdpa    "Item information
          it_vbdpau            = tvbdpau   "Subitem numbers
          it_vedpa             = tkomservp  "Contract Item Validity
          it_vedka             = tkomservh  "Contract Header Validity
          it_vedpn             = tkomservpn "Contract Item Cancellation Data
          it_vedkn             = tkomservhn "Contract Header Cancellation DA
        EXCEPTIONS
          formatting_error     = 1
          internal_error       = 2
          send_error           = 3
          user_canceled        = 4
          OTHERS               = 5.
    then ,  CALL FUNCTION 'FP_JOB_CLOSE'
        IMPORTING
          e_result       = ls_result
        EXCEPTIONS
          usage_error    = 1
          system_error   = 2
          internal_error = 3
          OTHERS         = 4.
    then i am using the below FM to get the OTF data if any available.
    CALL FUNCTION 'CONVERT_OTF'
        EXPORTING
          format                = 'PDF'
        IMPORTING
          bin_filesize          = lv_binfilesize
          bin_file              = lv_bin_file
        TABLES
          otf                   = ls_output_info-otfdata-> i am not sure which data to pass here. i am getting sy-subrc value as 4.
          lines                 = lt_lines
        EXCEPTIONS
          err_max_linewidth     = 1
          err_format            = 2
          err_conv_not_possible = 3
          err_bad_otf           = 4
          OTHERS                = 5.
    Now I dont no how to link the PDF forms to below method.
    CALL METHOD cl_gui_frontend_services=>gui_download
        EXPORTING
          bin_filesize = v_size
          filename     = D://x.pdf
          filetype     =   'BIN'
        CHANGING
          data_tab     = lt_pdf.
    Because in smartforms, we will convert the OTF output to PDF and that value is passed to GUI_DOWNLOAD FM as input (lt_pdf) , whereas in adobeforms the output itself is in PDF so i dont how to retreive the values from adobeforms and pass it to the above FM, so that I can save 'N' no. of sales order outputs in one PDF file.
    Kindly help me out in this.
    Thanks & Regards,
    Karthikeyan G.

    Hi Vishnu,
    I read the GUI_DOWNLOAD FM documentation, if I am trying to download binary type of file, It is mandatory to pass file size.
    In my case, since I am having PDF file, so i don't no how to get the size of the pdf file.
    As you said, if i use Convert_OTF FM, i don't have data to pass to the OTF and LINES tables.
    I am having values of PDF in xstring format in ls_output1-pdf, which i got using the below FM.
    CALL FUNCTION lv_funcname (FM name)
        EXPORTING
          /1bcdwb/docparams  = ls_docparams
          is_vbdka           = vbdka
        IMPORTING
          /1bcdwb/formoutput = ls_output1
        EXCEPTIONS
          usage_error        = 1
          system_error       = 2
          internal_error     = 3
          OTHERS             = 4.
    Kindly tell me what values i need to pass to the FM you mentioned in order to get the size of the file.
    Thanks & Regards,
    Karthikeyan G.
    But still I am not sure, how the pdf output is coming for single input whereas if i give in a range, its failing. In single input, i am not giving binary file size still the output is coming.. but for range its not. Kindly help me out in this.

  • Handling Non English language characters in PDF output

    Hi All,
    We have a requirement wherein we have to display an existing Smartform output in a PDF format.
    We have used OTF to PDF conversion and displayed the PDF output in a container.
    The issue is if certain characters are of non english language then the PDF is displaying these characters as special symbols.
    The following string is getting dispalyed in the SmartForm as follows:
    ОРЕНБУРГАВТОРЕМСЕРВИС_ 
    The same string is displayed as follows in the PDF form :
    Any pointers on how to handle such cases would be highly appreciated.
    Thanks in advance.
    regards
    Chaitanya
    9703019495

    Before calling the smartform, use the FM 'SSF_GET_DEVICE_TYPE' and get  the device type based on the language.
    For eg:
      CALL FUNCTION 'SSF_GET_DEVICE_TYPE'
        EXPORTING
          i_language = l_langu
        IMPORTING
          e_devtype  = lwa_output_options-tdprinter.
    Then you need to build the other control parameters like this:
    Build control parameters.
      lwa_control_parameters-getotf  = c_charx.
      lwa_control_parameters-device = 'PRINTER'.
      lwa_control_parameters-preview = ''.
      lwa_control_parameters-no_dialog = c_charx.
      lwa_output_options-tddest = 'LOCL'.
    Pass this lwa_output_options & lwa_control_parameters to output_options & control_parameters respectively in the Smartform FM.
    This should ideally solve this issue.
    Regards,
    Amirth

  • Pdf output of web dynpro does not display in cProjects

    Hi,
    We created a custom web dynpro which calls a smartform and gives a pdf output. This pdf output is seen on the cProjects portal under a customized tab.
    The issue is, some users are able to see this pdf output on teh portal without any issues but others cannot view it in their system.
    When the first time the users try to view this they get a prompt for downloading activex from adobe ag and on accepting this they are able to view the pdf. This prompt does not come up for other users and hence they are not able to view the pdf output of the web dynpro.
    I checked the activex control settings in the IE options and they are all enabled. Still I do not get this pop up prompting for activex download.
    Are there any settings in the internet explorer or the system which have to be done to view the pdf on the portal?
    Any thougths on this will be extremely helpful.
    Thanks,
    SImmi
    Edited by: Simmi Balakrishnan on Aug 12, 2008 8:22 PM
    Edited by: Simmi Balakrishnan on Aug 12, 2008 8:24 PM

    Hi Simmi,
    two links might be useful to you:
    My struggles with the Adobe Document Services  
    In this SDN blog, Consultant Achim Hauck provides tips for installing Interactive Forms.
    My struggles with the Adobe Document Services in WAS6.40
    SAP Interactive Forms by Adobe - Configuration Guides
    SAP Interactive Forms by Adobe - Configuration Guides
    Kind regards,
    Angelika

  • Converting Smartform spool to PDF results in loss of formatting

    A smart form contains texts which is printed in bold.
    This is clearly visible in both the preveiw and the prionout.
    When we convert the output of a smartform into a PDF form the bold text is converted into a normal text for that font.
    We are using a custom ZARIAL font in the smartstyle, and cannot tell if it is this Z font which the PDF conversion cannot support or if there is some setting which needs to be tweaked.
    Kindly advice.

    Hi
    ZARIAL font which you have created in the smartstyle and used in the smartform is no supporting while converting from OTF TO PDF.
    [Output in PDF Format|http://help.sap.com/saphelp_nw70/helpdata/en/27/67443cc0063415e10000000a11405a/content.htm]
    Regards,
    Sravanthi

  • Problem  in PDF output in Chinese

    Moved to correct forum.  Please select the correct forum for your questions in future.
    Hi,
    My smartform contains english as well as chinese words.
    Im tring to get PDF output from RSTXPDFT4 with spool request.Now  if I login in ZH or EN and use RSTXPDFT4  to generate o/p in PDF, its not working, PDF is generating blank page with error. This is a unicode systems.
    If my smarforms contailns only english then its OK.
    So what to do  please suggest.
    Regards,
    Kaushik
    Edited by: Matt on Mar 12, 2009 10:52 AM

    Moved to correct forum.  Please select the correct forum for your questions in future.

  • How to print an email with link on a pdf output

    Hi,
    I have requirement to print an email with link like mailto: ...at...com
    I created a hyper link in my text element which created a <%W> ... </> tag. this message in this text element will be sent as a body of an email. I want to know to do the link like I mentioned above. Please let me know this is not clear.
    Thanks,
    Surya.

    Srinivas, Thanks for your quick reply.
    This is smartform, and sending the output as pdf, except the the first page on which I have the text to be printed on the email body. In this email body text I have to display an email.
    when user clicks on the email should open an outlook with the email id in the TO. Hope this helps.
    Thank you,
    Surya

  • Smartform Printing in PDF format

    Hi all,
    I am looking to print standard SmartForms in PDF output.
    I have printed a standard SmartForm to the spool.  I convert the spool job to PDF using function module CONVERT_OTFSPOOLJOB_2_PDF.   From this I get a new spool request titled "#####(original spool no) converted to PDF format".
    My Basis team has create a new printer with device type PDF1 which I have used during this function module.
    However this PDF spool shows up as odd characters.  It also does not print as expected, again it prints the odd characters.
    Obviously I'm missing something - does anyone have any suggestions?
    Thanks-

    Within SP01, viewing the spool request, I see the following characters:
    &#9552;&#17478;&#11569;&#11827;&#3338;&#9698;&#58319;&#54029;&#2610;‰&#8303;&#25194;
    &#31088;&#25888;&#12116;&#31088;&#25905;&#3338;>
    &#12336;&#8241;&#12336;&#12320;&#12592;&#12336;&#8245;>
    &#8241;&#12336;&#12320;&#12320;&#12320;&#12320;>
    &#12848;&#8247;&#12848;&#8247;&#13872;&#8247;&#13872;>
    &#12097;&#29539;&#25966;&#29728;&#14130;>
    &#2607;&#19553;&#29556;&#17256;&#24946;&#8242;>
    &#13619;&#14368;&#13619;&#14368;&#14389;>    Etc.... 
    EDIT: I note that when I submit this post, the characters change.  I'm seeing 'symbols' mainly, some Asian characters (the form should be in English).
    When printing, it comes out with something like:
    %PDF-1.3
    %aDuE
    2 0 objtype /Type1
    /BaseFont /H00 1000 1000 520 1000 74 1000 0 0 0 0
    /CapHeight
         /LastChar 255
    %Charwid8 592 779 650 650.   etc
    /F002 6 0 R
    Date=(0000000)
    @SAP_OB    End TOA_DARA
    >>
    endob00327 00000 n
    and so on...
    For now we would like to validate the PDF printing before modifying any new print programs to automate the process.
    Thanks-
    Message was edited by: Chad Carter
    Message was edited by: Chad Carter

  • Smartform (otf) as pdf and sending as email-attachment

    Hello everybody,
    when trying to convert a smartform to pdf and sending it with the FM 'SO_NEW_DOCUMENT_ATT_SEND_API1' i get an error when opening the pdf-file. It says ' a non identified Token w62.10 was found' and the pdf is all empty.
    The problem seems to be somewhere between getting the pdf output data from the FM 'convert_otf' and trying to create a bin-object for the attachment.
    Here is the code:
      call function 'CONVERT_OTF'
           EXPORTING
                format                = 'PDF'
    *            max_linewidth         = 132
           IMPORTING
                bin_filesize          = v_len_in
           TABLES
                otf                   = i_otf
                lines                 = i_tline
           EXCEPTIONS
                err_max_linewidth     = 1
                err_format            = 2
                err_conv_not_possible = 3
                others                = 4.
    *   Fehlerhandling
      if sy-subrc <> 0.
      endif.
      loop at i_tline.
        translate i_tline using '~'.
        concatenate wa_buffer i_tline into wa_buffer.
      endloop.
      translate wa_buffer using '~'.
      do.
        i_record = wa_buffer.
        append i_record.
        shift wa_buffer left by 255 places.
        if wa_buffer is initial.
          exit.
        endif.
      enddo.
    * Attachment
      refresh:
        i_reclist,
        i_objtxt,
        i_objbin,
        i_objpack.
      clear wa_objhead.
      i_objbin[] = i_record[].
    ******* Create Message Body
    **** Title and Description
      wa_doc_chng-obj_name = 'smartform'.
      wa_doc_chng-expiry_dat = sy-datum + 10.
      wa_doc_chng-obj_descr = 'smartform'.
      wa_doc_chng-sensitivty = 'F'.
    *  wa_doc_chng-doc_size = v_lines_txt * 255.
    **** Main Text
      i_objtxt = 'test with pdf-Attachment!'.
      append i_objtxt.
      describe table i_objtxt lines v_lines_txt.
      read table i_objtxt index v_lines_txt.
      wa_doc_chng-doc_size = ( v_lines_txt - 1 ) * 255 + strlen( i_objtxt ).
      clear i_objpack-transf_bin.
      i_objpack-head_start = 1.
      i_objpack-head_num = 0.
      i_objpack-body_start = 1.
      i_objpack-body_num = v_lines_txt.
      i_objpack-doc_type = 'RAW'.
      append i_objpack.
    **** Attachment
    * (pdf-Attachment)
      i_objpack-transf_bin = 'X'.
      i_objpack-head_start = 1.
      i_objpack-head_num = 0.
      i_objpack-body_start = 1.
    * Länge des Attachment ermitteln
      describe table i_objbin lines v_lines_bin.
      read table i_objbin index v_lines_bin.
      i_objpack-doc_size = ( v_lines_bin - 1 ) * 255 + strlen( i_objbin ).
      i_objpack-body_num = v_lines_bin.
      i_objpack-doc_type = 'PDF'.
      i_objpack-obj_name = 'smart'.
      i_objpack-obj_descr = 'test'.
      append i_objpack.
      clear i_reclist.
      i_reclist-receiver = receiver.
      i_reclist-rec_type = RECEIVER_TYPE.
      append i_reclist.
      if not receiver is initial.
        call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
             EXPORTING
                  document_data              = wa_doc_chng
                  put_in_outbox              = 'X'
             TABLES
                  packing_list               = i_objpack
                  object_header              = wa_objhead
                  CONTENTS_BIN               = i_objbin
                  contents_txt               = i_objtxt
                  receivers                  = i_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.

    Hi,
    I just observed the following.
    call function 'CONVERT_OTF'
           EXPORTING
                format                = 'PDF'
    max_linewidth = 132 IMPORTING
    bin_filesize = v_len_in
    TABLES
    otf = i_otf
    lines = i_tline
    EXCEPTIONS
    err_max_linewidth = 1
    err_format = 2
    err_conv_not_possible = 3
    others = 4.
    i_objtxt = 'test with pdf-Attachment!'.
    append i_objtxt.
    describe table i_objtxt lines v_lines_txt.
    read table i_objtxt index v_lines_txt.
    wa_doc_chng-obj_name = 'smartform'.
    wa_doc_chng-expiry_dat = sy-datum + 10.
    wa_doc_chng-obj_descr = 'smartform'.
    wa_doc_chng-sensitivty = 'F'.
    wa_doc_chng-doc_size = v_lines_txt * 255.
      clear i_objpack-transf_bin.
      i_objpack-head_start = 1.
      i_objpack-head_num = 0.
      i_objpack-body_start = 1.
      i_objpack-body_num = v_lines_txt.
      i_objpack-doc_type = 'RAW'.
      append i_objpack.
    Attachment
    (pdf-Attachment)
      i_objpack-transf_bin = 'X'.
      i_objpack-head_start = 1.
      i_objpack-head_num = 0.
      i_objpack-body_start = 1.
    Länge des Attachment ermitteln
      describe table i_objbin lines v_lines_bin.
      read table i_objbin index v_lines_bin.
    i_objpack-doc_size = v_lines_bin * 255 .
    I just tried with your coding and then changed to the below coding.Now I am able to open the PDF in mail.
    * Internal Table declarations
    DATA: i_otf TYPE itcoo OCCURS 0 WITH HEADER LINE,
          i_tline TYPE TABLE OF tline WITH HEADER LINE,
          i_receivers TYPE TABLE OF somlreci1 WITH HEADER LINE,
          i_record LIKE solisti1 OCCURS 0 WITH HEADER LINE,
    * Objects to send mail.
          i_objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
          i_objtxt LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          i_objbin LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          i_reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
    * Work Area declarations
          wa_objhead TYPE soli_tab,
          w_ctrlop TYPE ssfctrlop,
          w_compop TYPE ssfcompop,
          w_return TYPE ssfcrescl,
          wa_doc_chng typE sodocchgi1,
          w_data TYPE sodocchgi1,
          wa_buffer TYPE string,"To convert from 132 to 255
    * Variables declarations
          v_form_name TYPE rs38l_fnam,
          v_len_in LIKE sood-objlen,
          v_len_out LIKE sood-objlen,
          v_len_outn TYPE i,
          v_lines_txt TYPE i,
          v_lines_bin TYPE i.
    call function 'SSF_FUNCTION_MODULE_NAME'
         exporting
              formname           = 'ZZZ_TEST1'
         importing
              fm_name            = v_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.
    w_ctrlop-getotf = 'X'.
    w_ctrlop-no_dialog = 'X'.
    w_compop-tdnoprev = 'X'.
    CALL FUNCTION v_form_name
         EXPORTING
              control_parameters = w_ctrlop
              output_options     = w_compop
              user_settings      = 'X'
         IMPORTING
              job_output_info    = w_return
         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.
    i_otf[] = w_return-otfdata[].
    call function 'CONVERT_OTF'
           EXPORTING
                format                = 'PDF'
                max_linewidth         = 132
           IMPORTING
                bin_filesize          = v_len_in
           TABLES
                otf                   = i_otf
                lines                 = i_tline
           EXCEPTIONS
                err_max_linewidth     = 1
                err_format            = 2
                err_conv_not_possible = 3
                others                = 4.
    *   Fehlerhandling
      if sy-subrc <> 0.
      endif.
      loop at i_tline.
        translate i_tline using '~'.
        concatenate wa_buffer i_tline into wa_buffer.
      endloop.
      translate wa_buffer using '~'.
      do.
        i_record = wa_buffer.
        append i_record.
        shift wa_buffer left by 255 places.
        if wa_buffer is initial.
          exit.
        endif.
      enddo.
    * Attachment
      refresh:
        i_reclist,
        i_objtxt,
        i_objbin,
        i_objpack.
      clear wa_objhead.
      i_objbin[] = i_record[].
    ******* Create Message Body
    **** Title and Description
      i_objtxt = 'test with pdf-Attachment!'.
      append i_objtxt.
      describe table i_objtxt lines v_lines_txt.
      read table i_objtxt index v_lines_txt.
      wa_doc_chng-obj_name = 'smartform'.
      wa_doc_chng-expiry_dat = sy-datum + 10.
      wa_doc_chng-obj_descr = 'smartform'.
      wa_doc_chng-sensitivty = 'F'.
      wa_doc_chng-doc_size = v_lines_txt * 255.
    **** Main Text
    *  wa_doc_chng-doc_size = ( v_lines_txt - 1 ) * 255 + strlen( i_objtxt )
      clear i_objpack-transf_bin.
      i_objpack-head_start = 1.
      i_objpack-head_num = 0.
      i_objpack-body_start = 1.
      i_objpack-body_num = v_lines_txt.
      i_objpack-doc_type = 'RAW'.
      append i_objpack.
    **** Attachment
    * (pdf-Attachment)
      i_objpack-transf_bin = 'X'.
      i_objpack-head_start = 1.
      i_objpack-head_num = 0.
      i_objpack-body_start = 1.
    * Länge des Attachment ermitteln
      describe table i_objbin lines v_lines_bin.
      read table i_objbin index v_lines_bin.
      i_objpack-doc_size =  v_lines_bin * 255 .
      i_objpack-body_num = v_lines_bin.
      i_objpack-doc_type = 'PDF'.
      i_objpack-obj_name = 'smart'.
      i_objpack-obj_descr = 'test'.
      append i_objpack.
      clear i_reclist.
      i_reclist-receiver = '[email protected]'.
      i_reclist-rec_type = 'U'.
      append i_reclist.
        call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
             EXPORTING
                  document_data              = wa_doc_chng
                  put_in_outbox              = 'X'
             TABLES
                  packing_list               = i_objpack
                  object_header              = wa_objhead
                  CONTENTS_BIN               = i_objbin
                  contents_txt               = i_objtxt
                  receivers                  = i_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 your problem is solved,kindly close the thread and reward points.If you need clarifications,get back.

  • Pdf output to be save on database

    Hi
    My requirement  is to store pdf output from smartform or adobe form in database table.
    what i did was
    1. I have extracted OTF format of form.
    2.Then converted it to PDF using function module Convert_OTF then i got binary data in the structure TLINE.
    3.Now i am converting it into xstring to save it in data base table
        but the problem is i am getting problem while converting xstring to binary(to get pdf from xstring ) ,i am not getting the original binary data in the   structure TLINE only Column TDFORMAT got retrived i want TDLINE column also to be filled with respective data.
    i am using function modules SCMS_BINARY_TO_XSTRING  SCMS_XSTRING_TO_BINARY
    any suggestions how to resolve problem.
    Thanks
    janakiram.

    I have a similar problem.
    I created an abap report using adobe print form.
    The result needs to be save into the DMS (document manager system)
    What would be the steps to do it?
    Actually the report is asking the user if he want it as preview or print to  a report.
    Here are the step I did so far:
    1. FM 'FP_FUNCTION_MODULE_NAME'
    2. FM 'FP_JOB_OPEN'
          ie_outputparams = <to an empty structure>
    3. FM fm_name <provided by the 'FP_FUNCTION_MODULE_NAME'
    4. FM 'FP_JOB_CLOSE'
    With those steps, I can see the report using preview button and print it.
    But what I need is to save the report into the DMS.
    Is there an easy way to do it or the following steps need to be done:
    1. Save the report on disk ( I don't know how to do it )
    2. Load it into the DMS
    Il fact, if I can have an example on how to save an abap report using adobe print form into a network shared drive, that would solve my problem.
    All suggestions would be highly appreciated.
    Regards
    dstj

  • To convert smartform spool to pdf

    Hi all,
    I need to convert smartfom spool to pdf..
    When i executed the smartform it is generating a spool number and
    tsp01-rqdoctype =  'SMART'.
    To convert Spool to PDF Iam using the following function module
    'CONVERT_ABAPSPOOLJOB_2_PDF'
    It is converting to pdf only if the document type is 'LIST'.
    can any one suggest me how to convert smartform spool to pdf?
    Regards
    cnu

    Hi
    Refer to this link :
    Re: smartform output to mail
    Reward if useful
    Thanks
    Krushna

  • Smartforms  to file  .PDF and download  in Background

    Hi
    Actually  i´m converting  a smartforms in PDF file and doing a download in line , but i need to do the same in background.
    How can i do it??
    Regards
    Gregory

    *& Report  ZSMARTFORM_SPOOL_G
    REPORT  zsmartform_spool_g.
    *************Types Declaration ****************************
    TYPES : BEGIN OF gty_tab,                          " Spool Requests
            rqident   TYPE tsp01-rqident,              " Spool request number
            rqdoctype TYPE tsp01-rqdoctype,            " Spool: document type
            rqo1name  TYPE tsp01-rqo1name,             " TemSe object name
           END OF gty_tab.
    *********Work Area ****************************************
    DATA: form_name TYPE rs38l_fnam,      " Used to get the function module of Smartform
          wa_outopt TYPE ssfcompop,       " SAP Smart Forms: Smart Composer (transfer) options
          gs_tab    TYPE gty_tab.         " Spool Requests
    *******Internal Table Declarations ************************
    DATA: gt_tab TYPE STANDARD TABLE OF gty_tab,       " Spool Requests
          gt_pdf TYPE STANDARD TABLE OF tline,         " SAPscript: Text Lines
          gt_spoolid TYPE tsfspoolid,                  " Table with Spool IDs
          gt_otfdata TYPE ssfcrescl.                 " Smart Forms: Return value at end of form prnt
    *********Variable Declarations ****************************
    DATA: gv_bytecount   TYPE i,               "#EC NEEDED " PDF Byte Count
          gv_file_name   TYPE string,                    " File name
          gv_file_path   TYPE string,                    " File Path
          gv_full_path   TYPE string,                    " Path
          gv_binfilesize TYPE i,                         " Bin File size
          gv_rqident   TYPE tsp01-rqident,               " Spool request number
          gv_name TYPE tst01-dname,                      " TemSe object name
          gv_objtype TYPE rststype-type,                 " TemSe: Object type name
          gv_type TYPE rststype-type.                    " TemSe: Object type name
    START-OF-SELECTION.
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          formname           = 'ZPDF_G'
        IMPORTING
          fm_name            = 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.
    *Get Spool IDs
      wa_outopt-tdnewid = 'X'.
      wa_outopt-tddest = 'LP01'.
      CALL FUNCTION form_name
        EXPORTING
          output_options   = wa_outopt
          user_settings    = 'X'
        IMPORTING
          job_output_info  = gt_otfdata
        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.
    *Assign the spool id
      gt_spoolid = gt_otfdata-spoolids.
    Generate spool and pdf for the output of the form
      PERFORM sub_generate_spool_pdf.
    END-OF-SELECTION.
    *&      Form  sub_generate_spool_pdf
          Generate Spool and PDF output
    FORM sub_generate_spool_pdf .
      DATA: ls_spoolid LIKE LINE OF gt_spoolid.
    *----Get the Spool Number
      CLEAR ls_spoolid.
      READ TABLE gt_spoolid INTO ls_spoolid INDEX 1.
      IF sy-subrc = 0.
        gv_rqident = ls_spoolid.
      ENDIF.
      CLEAR gt_tab.
      SELECT  rqident rqdoctype rqo1name INTO TABLE gt_tab
               FROM tsp01 WHERE rqident = gv_rqident.
      IF sy-subrc = 0.
        CLEAR gs_tab.
    Get the TemSe: Object name into variable gv_name
        READ TABLE gt_tab INTO gs_tab INDEX 1.
        IF sy-subrc = 0.
          gv_name = gs_tab-rqo1name.
        ENDIF.
      ENDIF.
      CALL FUNCTION 'RSTS_GET_ATTRIBUTES'
        EXPORTING
          authority     = 'SP01'
          client        = sy-mandt
          name          = gv_name
          part          = 1
        IMPORTING
          type          = gv_type
          objtype       = gv_objtype
        EXCEPTIONS
          fb_error      = 1
          fb_rsts_other = 2
          no_object     = 3
          no_permission = 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.
    Check if temse object name type is 'OTF' or 'LIST'
      IF gv_objtype(3) = 'OTF'.
        PERFORM get_otf_spool_in_pdf.
      ELSE.
        PERFORM get_abap_spool_in_pdf.
      ENDIF.
    Generate F4 functionality from spool to pdf
      PERFORM write_pdf_spool_to_pc.
    ENDFORM.                    " sub_generate_spool_pdf
    *&      Form  get_abap_spool_in_pdf
          Generate the Spool number
    FORM get_abap_spool_in_pdf .
      REFRESH gt_pdf.
      CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
        EXPORTING
          src_spoolid              = gv_rqident
        IMPORTING
          pdf_bytecount            = gv_bytecount
        TABLES
          pdf                      = gt_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 NE 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " get_abap_spool_in_pdf
    *&      Form  get_otf_spool_in_pdf
          Generate OTF data from the Spool Number
    FORM get_otf_spool_in_pdf .
      REFRESH gt_pdf.
      CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
        EXPORTING
          src_spoolid              = gv_rqident
        IMPORTING
          pdf_bytecount            = gv_bytecount
        TABLES
          pdf                      = gt_pdf
        EXCEPTIONS
          err_no_otf_spooljob      = 1
          err_no_spooljob          = 2
          err_no_permission        = 3
          err_conv_not_possible    = 4
          err_bad_dstdevice        = 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 <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " get_otf_spool_in_pdf
    *&      Form  write_pdf_spool_to_pc
          Generate PDF format
    FORM write_pdf_spool_to_pc .
      CALL METHOD cl_gui_frontend_services=>file_save_dialog
        CHANGING
          filename             = gv_file_name
          path                 = gv_file_path
          fullpath             = gv_full_path
        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.
    ----DOWNLOADING THE PDF DATA***
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          bin_filesize            = gv_binfilesize
          filename                = gv_full_path
          filetype                = 'BIN'
        TABLES
          data_tab                = gt_pdf
        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.                    " write_pdf_spool_to_pc
    Rewards if useful..............
    Minal

  • Layout to be generated as PDF output in a Spool

    Hi ,
    I am generating a layout using smartform. My requirement is layout has to be generated as PDF output in a Spool.
    Please let me know how to write the code  in my driver program to generate the spool or any FMs related to this. 
    Thanks in advance.
    Regards,
    Jyothi
    <MOVED BY MODERATOR TO THE CORRECT FORUM>
    Edited by: Alvaro Tejada Galindo on Jul 14, 2009 12:44 PM

    hi
    use  below sample code  hope this may help u out
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    IMPORTING
              fm_name            = fname
    CALL FUNCTION fname
      IMPORTING
              job_output_info    = impdata..
    i_itcoo[] = impdata-otfdata[].
    CALL FUNCTION 'CONVERT_OTF_2_PDF'
            EXPORTING
              use_otf_mc_cmd         = 'X'
            IMPORTING
              bin_filesize           = binsize
            TABLES
              otf                    = i_itcoo
              doctab_archive         = idocs
              lines                  = t_pdf
            EXCEPTIONS
              err_conv_not_possible  = 1
              err_otf_mc_noendmarker = 2
              OTHERS                 = 3.
    CALL METHOD cl_gui_frontend_services=>file_save_dialog
              CHANGING
                filename = filename
                path     = path
                fullpath = fullpath.
    CALL FUNCTION 'GUI_DOWNLOAD'
              EXPORTING
                bin_filesize = bin
                filename     = fullpath
                filetype     = 'BIN'
              TABLES
                data_tab     = t_pdf 
              EXCEPTIONS
                OTHERS       = 99.
    thank you
    surya

Maybe you are looking for

  • How to avoid the selection of a Parent node and its child node at a time?

    Example: consider the below JTree. Parent1 ---->Parent2 -------->Child3 Parent3 ---->Parent4 My requirement : Parent1 and Parent3 can be selected at a time(using ctrl keys) Parent2 and Parent4 can be selected at a time Parent1 and Parent2 should not

  • Default Mail, Contacts, Calendars options

    What are the default Mail, Contacts, Calendar options? Nephew was playing with phone and changed a bunch of settings. Curious what are the default settings since I liked it the way it was.

  • Open .lvm file while program is running

    How do I open a .lvm file within my program? I've tried using the Open/Create/Replace File dialog with File Dialog specifying the path and I can get to the point to select the path, and it doesn't open the file. Solved! Go to Solution.

  • What adobe setting do I use?

    I am having problems with recipients opening my scanned adobe files. When a recipient opens my file, the print is huge and it prints exactly as viewed. If they attempt to print a one page document, it prints a portion of the document and ends of bein

  • Why can't I download Adobe Flasher?

    Why can't I download Adobe Flasher?