Convert TIF Binary data to PDF Binary data

Hi All,
I have uploaded TIF file into table in system in Binary format.
I need to create a spool from this Binary data, the spool should open in TIF format or PDF format.
Can you help me in doing this.
As I knw how to convert PDF to Spool, it would be even helpful, if you tell me how to convert TIF binary data into PDF binay data.
Thanks in advance.
Abhay

Hi Sandra,
Below is the requirement from Client:
1. PDF and Tif files will be attached to order (transaction CRMD_ORDER).
2. I have to pick the PDF and TIF attachments mentioned above using a batch report.
3. Then this batch report will create a spool for the PDF file and TIF file attachements.
4. Then the spool will be picked by another program and print them together in night.
I hope it is clear now?
Things I have done:
1. Created report ZPDF_TIF which is copy of RSPO0023.
1. Used the report ZPDF_TIF to pick up the PDF and TIF file in binary format from the order (transaction CRMD_ORDER).
2. Able to Convert PDF to spool.
I hve problem for:
1. I want to use the program ZPDF_TIF to work for both PDF and TIF file.
2. I have the TIF data in Binary (1022) into internal table picked using the report ZPDF_TIF.
2. I want to convert TIF to spool which is problem child for me as of now.
I hope the details are clear now.

Similar Messages

  • Convert itab data into PDF & Grouping data in PDF

    1. How to convert data in internal table into PDF
    2. I need to group this data in pdf as below.
    Assume, i have storage location & ebeln in my itab. So my pdf should haves recs as:
    001         1000000000
                  1000000001
                  1000000002
                  1000000003
    002         1000000004
                   1000000005
    so on.... i.e. i should not repeat the value of LGORT in all the recs, if it is same.
    Thanks
    Kiran
    Edited by: kiran dasari on Jun 13, 2009 11:07 AM

    While writing the data to spool, using FM "RSPO_WRITE_SPOOLREQUEST"; clear the storage location..
    Sort itab by lgort ebeln.
    loop at itab into wa_itab.
      wa_itab1 = wa_itab.
      clear wa_itab1-lgort.
    at new lgort.
       wa_itab1-lgort  = wa_itab-lgort.
    endat.
    call FM "RSPO_WRITE_SPOOLREQUEST" using WA_ITAB1.
    endif.
    Hope this will help.

  • Converting binary data into pdf and placing into application server

    Hi Friends,
    I am able to get PO details in binary format and then using GUI_DOWNLOAD  with file type with 'bin' and file name with 'sample.pdf' extension , got  PO in pdf  format.
    But i need to get with pdf extension in application server without using GUI_DOWNLOAD.
    Is there any functional modules for it?
    With Warm Regards,
    Madhu!!!

    Hi Madhu,
    Check this code.
    *& Report  ZSPOOLTOPDF                                                 *
    *& Converts spool request into PDF document and emails it to           *
    *& recipicant.                                                         *
    *& Execution                                                           *
    *& This program must be run as a background job in-order for the write *
    *& commands to create a Spool request rather than be displayed on      *
    *& screen                                                              *
    REPORT  zspooltopdf.
    PARAMETER: p_email1 LIKE somlreci1-receiver
                                        DEFAULT '[email protected]',
               p_sender LIKE somlreci1-receiver
                                        DEFAULT '[email protected]',
               p_delspl  AS CHECKBOX.
    *DATA DECLARATION
    DATA: gd_recsize TYPE i.
    Spool IDs
    TYPES: BEGIN OF t_tbtcp.
            INCLUDE STRUCTURE tbtcp.
    TYPES: END OF t_tbtcp.
    DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
          wa_tbtcp TYPE t_tbtcp.
    Job Runtime Parameters
    DATA: gd_eventid LIKE tbtcm-eventid,
          gd_eventparm LIKE tbtcm-eventparm,
          gd_external_program_active LIKE tbtcm-xpgactive,
          gd_jobcount LIKE tbtcm-jobcount,
          gd_jobname LIKE tbtcm-jobname,
          gd_stepcount LIKE tbtcm-stepcount,
          gd_error    TYPE sy-subrc,
          gd_reciever TYPE sy-subrc.
    DATA:  w_recsize TYPE i.
    DATA: gd_subject   LIKE sodocchgi1-obj_descr,
          it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          gd_sender_type     LIKE soextreci1-adr_typ,
          gd_attachment_desc TYPE so_obj_nam,
          gd_attachment_name TYPE so_obj_des.
    Spool to PDF conversions
    DATA: gd_spool_nr LIKE tsp01-rqident,
          gd_destination LIKE rlgrap-filename,
          gd_bytecount LIKE tst01-dsize,
          gd_buffer TYPE string.
    Binary store for PDF
    DATA: BEGIN OF it_pdf_output OCCURS 0.
            INCLUDE STRUCTURE tline.
    DATA: END OF it_pdf_output.
    CONSTANTS: c_dev LIKE  sy-sysid VALUE 'DEV',
               c_no(1)     TYPE c   VALUE ' ',
               c_device(4) TYPE c   VALUE 'LOCL'.
    *START-OF-SELECTION.
    START-OF-SELECTION.
    Write statement to represent report output. Spool request is created
    if write statement is executed in background. This could also be an
    ALV grid which would be converted to PDF without any extra effort
      WRITE 'Hello World'.
      new-page.
      commit work.
      new-page print off.
      IF sy-batch EQ 'X'.
        PERFORM get_job_details.
        PERFORM obtain_spool_id.
    Alternative way could be to submit another program and store spool
    id into memory, will be stored in sy-spono.
    *submit ZSPOOLTOPDF2
           to sap-spool
           spool parameters   %_print
           archive parameters %_print
           without spool dynpro
           and return.
    Get spool id from program called above
    IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.
        PERFORM convert_spool_to_pdf.
        PERFORM process_email.
        if p_delspl EQ 'X'.
          PERFORM delete_spool.
        endif.
        IF sy-sysid = c_dev.
          wait up to 5 seconds.
          SUBMIT rsconn01 WITH mode   = 'INT'
                          WITH output = 'X'
                          AND RETURN.
        ENDIF.
      ELSE.
        SKIP.
        WRITE:/ 'Program must be executed in background in-order for spool',
                'request to be created.'.
      ENDIF.
          FORM obtain_spool_id                                          *
    FORM obtain_spool_id.
      CHECK NOT ( gd_jobname IS INITIAL ).
      CHECK NOT ( gd_jobcount IS INITIAL ).
      SELECT * FROM  tbtcp
                     INTO TABLE it_tbtcp
                     WHERE      jobname     = gd_jobname
                     AND        jobcount    = gd_jobcount
                     AND        stepcount   = gd_stepcount
                     AND        listident   <> '0000000000'
                     ORDER BY   jobname
                                jobcount
                                stepcount.
      READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
      IF sy-subrc = 0.
        message s004(zdd) with gd_spool_nr.
        gd_spool_nr = wa_tbtcp-listident.
        MESSAGE s004(zdd) WITH gd_spool_nr.
      ELSE.
        MESSAGE s005(zdd).
      ENDIF.
    ENDFORM.
          FORM get_job_details                                          *
    FORM get_job_details.
    Get current job details
      CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
           IMPORTING
                eventid                 = gd_eventid
                eventparm               = gd_eventparm
                external_program_active = gd_external_program_active
                jobcount                = gd_jobcount
                jobname                 = gd_jobname
                stepcount               = gd_stepcount
           EXCEPTIONS
                no_runtime_info         = 1
                OTHERS                  = 2.
    ENDFORM.
          FORM convert_spool_to_pdf                                     *
    FORM convert_spool_to_pdf.
      CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
           EXPORTING
                src_spoolid              = gd_spool_nr
                no_dialog                = c_no
                dst_device               = c_device
           IMPORTING
                pdf_bytecount            = gd_bytecount
           TABLES
                pdf                      = it_pdf_output
           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.
      CHECK sy-subrc = 0.
    Transfer the 132-long strings to 255-long strings
      LOOP AT it_pdf_output.
        TRANSLATE it_pdf_output USING ' ~'.
        CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
      ENDLOOP.
      TRANSLATE gd_buffer USING '~ '.
      DO.
        it_mess_att = gd_buffer.
        APPEND it_mess_att.
        SHIFT gd_buffer LEFT BY 255 PLACES.
        IF gd_buffer IS INITIAL.
          EXIT.
        ENDIF.
      ENDDO.
    ENDFORM.
          FORM process_email                                            *
    FORM process_email.
      DESCRIBE TABLE it_mess_att LINES gd_recsize.
      CHECK gd_recsize > 0.
      PERFORM send_email USING p_email1.
    perform send_email using p_email2.
    ENDFORM.
          FORM send_email                                               *
    -->  p_email                                                       *
    FORM send_email USING p_email.
      CHECK NOT ( p_email IS INITIAL ).
      REFRESH it_mess_bod.
    Default subject matter
      gd_subject         = 'Subject'.
      gd_attachment_desc = 'Attachname'.
    CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
      it_mess_bod        = 'Message Body text, line 1'.
      APPEND it_mess_bod.
      it_mess_bod        = 'Message Body text, line 2...'.
      APPEND it_mess_bod.
    If no sender specified - default blank
      IF p_sender EQ space.
        gd_sender_type  = space.
      ELSE.
        gd_sender_type  = 'INT'.
      ENDIF.
    Send file by email as .xls speadsheet
      PERFORM send_file_as_email_attachment
                                   tables it_mess_bod
                                          it_mess_att
                                    using p_email
                                          'Example .xls documnet attachment'
                                          'PDF'
                                          gd_attachment_name
                                          gd_attachment_desc
                                          p_sender
                                          gd_sender_type
                                 changing gd_error
                                          gd_reciever.
    ENDFORM.
          FORM delete_spool                                             *
    FORM delete_spool.
      DATA: ld_spool_nr TYPE tsp01_sp0r-rqid_char.
      ld_spool_nr = gd_spool_nr.
      CHECK p_delspl <> c_no.
      CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'
           EXPORTING
                spoolid = ld_spool_nr.
    ENDFORM.
    *&      Form  SEND_FILE_AS_EMAIL_ATTACHMENT
          Send email
    FORM send_file_as_email_attachment tables it_message
                                              it_attach
                                        using p_email
                                              p_mtitle
                                              p_format
                                              p_filename
                                              p_attdescription
                                              p_sender_address
                                              p_sender_addres_type
                                     changing p_error
                                              p_reciever.
      DATA: ld_error    TYPE sy-subrc,
            ld_reciever TYPE sy-subrc,
            ld_mtitle LIKE sodocchgi1-obj_descr,
            ld_email LIKE  somlreci1-receiver,
            ld_format TYPE  so_obj_tp ,
            ld_attdescription TYPE  so_obj_nam ,
            ld_attfilename TYPE  so_obj_des ,
            ld_sender_address LIKE  soextreci1-receiver,
            ld_sender_address_type LIKE  soextreci1-adr_typ,
            ld_receiver LIKE  sy-subrc.
    data:   t_packing_list like sopcklsti1 occurs 0 with header line,
            t_contents like solisti1 occurs 0 with header line,
            t_receivers like somlreci1 occurs 0 with header line,
            t_attachment like solisti1 occurs 0 with header line,
            t_object_header like solisti1 occurs 0 with header line,
            w_cnt type i,
            w_sent_all(1) type c,
            w_doc_data like sodocchgi1.
      ld_email   = p_email.
      ld_mtitle = p_mtitle.
      ld_format              = p_format.
      ld_attdescription      = p_attdescription.
      ld_attfilename         = p_filename.
      ld_sender_address      = p_sender_address.
      ld_sender_address_type = p_sender_addres_type.
    Fill the document data.
      w_doc_data-doc_size = 1.
    Populate the subject/generic message attributes
      w_doc_data-obj_langu = sy-langu.
      w_doc_data-obj_name  = 'SAPRPT'.
      w_doc_data-obj_descr = ld_mtitle .
      w_doc_data-sensitivty = 'F'.
    Fill the document data and get size of attachment
      CLEAR w_doc_data.
      READ TABLE it_attach INDEX w_cnt.
      w_doc_data-doc_size =
         ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
      w_doc_data-obj_langu  = sy-langu.
      w_doc_data-obj_name   = 'SAPRPT'.
      w_doc_data-obj_descr  = ld_mtitle.
      w_doc_data-sensitivty = 'F'.
      CLEAR t_attachment.
      REFRESH t_attachment.
      t_attachment[] = it_attach[].
    Describe the body of the message
      CLEAR t_packing_list.
      REFRESH t_packing_list.
      t_packing_list-transf_bin = space.
      t_packing_list-head_start = 1.
      t_packing_list-head_num = 0.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE it_message LINES t_packing_list-body_num.
      t_packing_list-doc_type = 'RAW'.
      APPEND t_packing_list.
    Create attachment notification
      t_packing_list-transf_bin = 'X'.
      t_packing_list-head_start = 1.
      t_packing_list-head_num   = 1.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
      t_packing_list-doc_type   =  ld_format.
      t_packing_list-obj_descr  =  ld_attdescription.
      t_packing_list-obj_name   =  ld_attfilename.
      t_packing_list-doc_size   =  t_packing_list-body_num * 255.
      APPEND t_packing_list.
    Add the recipients email address
      CLEAR t_receivers.
      REFRESH t_receivers.
      t_receivers-receiver = ld_email.
      t_receivers-rec_type = 'U'.
      t_receivers-com_type = 'INT'.
      t_receivers-notif_del = 'X'.
      t_receivers-notif_ndel = 'X'.
      APPEND t_receivers.
      CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
           EXPORTING
                document_data              = w_doc_data
                put_in_outbox              = 'X'
                sender_address             = ld_sender_address
                sender_address_type        = ld_sender_address_type
                commit_work                = 'X'
           IMPORTING
                sent_to_all                = w_sent_all
           TABLES
                packing_list               = t_packing_list
                contents_bin               = t_attachment
                contents_txt               = it_message
                receivers                  = t_receivers
           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.
    Populate zerror return code
      ld_error = sy-subrc.
    Populate zreceiver return code
      LOOP AT t_receivers.
        ld_receiver = t_receivers-retrn_code.
      ENDLOOP.
    ENDFORM.
    Hope this resolves your query.
    <b>Reward all the helpful answers.</b>
    Regards

  • How to convert binary data to PDF and attach to the particular po

    our client wants to attach the pdf coming from portal as attachment to that particular PO. From portal the pdf will come in binary format. Find how will we convert that binary data back to pdf and attach to the PO in R/3?

    Hi,
    You can downlaod Binary data into PDF using GUI_DOWNLOAD...pass the binary data and the BINSIZE...
    santhosh

  • Convert Binary Data into Pdf & send it as attachment in a mail in Workflow

    Hi,
    Scenario:
    The interactive form saved in WebDynpro Application is sent to R/3 in binary format. It has to be converted into pdf and sent it as an attachment in mail to the respective person in workflow.
    Kindly help on these issues :
    1. How to receive the binary data in R/3 sent by the WebDynpro Application ?
    To my knowledge we can receive the binary in XSTRING data type. Plz correct me if am wrong.
    2. How do i convert the received binary data into pdf ?
    Thanks,
    Bharath Kaushik

    Hi Bharath,
    I think you should try to write dat being sent to R/3 to spool first, as in R/3 there is FM <i>CONVERT_ABAPSPOOLJOB_2_PDF</i> , with the help of which you will be able to convert Binary data to PDF format.
    Pls find one of the threads related to this , and see if this is useful to you.
    Problem in CONVERT_ABAPSPOOLJOB_2_PDF.
    Hope this atleast helps to start off.
    Regds,
    Akshay Bhagwat
    PS: Some points would be nice if it helps:)

  • Convert Binary Data into Pdf & send it as attachment in a mail

    Hi Friends,
    Scenario :
    The interactive form saved in WebDynpro Application is sent to R/3 in binary format. It has to be converted into pdf and sent it as an attachment in mail to the respective person.
    Kindly help on these issues :
    1. How to receive the binary data in R/3 sent by the WebDynpro Application ?
    2. How do i convert the received binary data into pdf ?
    Regards & Thanks,
    Bharath Kaushik Krishnan

    Check thread Data Conversion
    if it is useful for you.

  • Convert Binary Data into Pdf & send it as attachment in a mail from R/3

    Hi,
    Scenario:
    The interactive form saved in WebDynpro Application is sent to R/3 in binary format. It has to be converted into pdf and sent it as an attachment in mail to the respective person in workflow.
    Kindly help on these issues :
    1. How to receive the binary data in R/3 sent by the WebDynpro Application ?
    To my knowledge we can receive the binary in XSTRING data type. Plz correct me if am wrong.
    2. How do i convert the received binary data into pdf ?
    Thanks,
    Bharath Kaushik Krishnan

    HI Bharath,
    I think You can reuse teh XString for binary data.there are certain function modules in R/3 for creating pdf/for sending it as pdf attatchment.please search in abap forums you will find more information
    With Regards
    Naidu

  • Smart forms convert to pdf binary data

    Dear All,
    I'm working on smart forms integrations with .net and  I need to send the smart forms PDF binary data though custom rfc .
    For that i'm  converting smart forms otf  data  to pdf in and pass this data  through rfc but this idata is is not wokring on .net guys when they are converting this on pdf..
    so is there any need of decoded smart forms otf data before passing through or i'm missing some basic step?
    Please guide me?
    Rg
    Anuj

    hi,
    Have a look on this wiki:
    [http://wiki.sdn.sap.com/wiki/display/Snippets/SmartformoutputtoPDFformat]
    And maybe this one could also interest you:
    [|http://wiki.sdn.sap.com/wiki/display/Snippets/SmartformtoMailasPDF+attachment]
    regards
    mickael

  • Binary Data to PDF

    Dear All,
    I need some assistance in here. There is another system that changes the PDF file into Binary format (RAW) into a table in a field called LRAW. How do I convert the Binary Data which is stored in LRAW format back into PDF?
    Any clues or hints would be helpful and if you do have some sample codes I could refer to would even be better.
    Thank you in advance.

    Hi Durairaj,
    I have a FM "CVALE_CHECKOUT_TO_TABLE" which returns a table with data type LRAW.
    I need to convert this data into PDF.
    How will I able to convert this into binary ??
    I need a PDF output.
    regards,
    Vaibhav

  • Printing binary data in PDF format

    HI all,
      Any idea on how to print Binary content in a PDF format
    I have read a PDF format from application server in a Binary format, I need to print the binary content on a printer in PDF format
    Any help on this is appreciated <REMOVED BY MODERATOR>
    Thanks
    Aakash
    Edited by: Alvaro Tejada Galindo on Jun 9, 2008 3:15 PM

    Hi papick,
    this may be easier than expected for a million dollar erp system:
    You need a PDF printer.
    When I played around with adobe interactive forms our basis guys created a new printer in SPAD with
    Device Attributes
    Device Type PDF1
    Device Class Stabdard Printer
    location PDF-Frontend printer = Standard printer for workstation
    Access Method
    Host Spool Access Method FF
    Host printer                          PDF
    Then need some expremimenting with Functions
    RSPO_OUTPUT_DEVICEDATA Spool Output Control of an Internal Table with Formatted Data
    or something alike (see function group SPOD)
    Then you should be able to create an entry in spooler (SP01) with spool request type adobe pdf document.
    Sorry, I don't have this problem, thus I did not check out the details yet.
    But I'm convinced it should work that way because the ADS server creates a complete PDF binary and it can be printed using the above described printer - actually a HP Laserjet V was configured as frontend printer and it can print the pdf.
    Regards,
    Clemens

  • How to convert raw data into pdf ?

    Hi everyone,
    I have a requirement where I have to print the document present in application server.
    I used below code to do this
    * Open the file in binary mode
       OPEN DATASET gv_filepath FOR INPUT IN TEXT MODE ENCODING DEFAULT IGNORING CONVERSION ERRORS.
       DO.
         TRY.
    * Since the file is opened in Binary mode, the entire contents of the
    * file is read in one go!
             READ DATASET gv_filepath INTO gv_filedata.
             IF sy-subrc <> 0.
               EXIT.
             ENDIF.
           CATCH cx_sy_conversion_codepage.
         ENDTRY.
         APPEND gv_filedata TO gt_file_table.
         CLEAR gv_filedata.
       ENDDO.
       CLOSE DATASET gv_filepath.
    DESCRIBE TABLE gt_file_table LINES lv_lines.
      lv_pages = lv_lines.
      lv_dest = 'LP01'.
      lv_spoolname = 'LOCW'.
      CALL FUNCTION 'RSPO_SX_OUTPUT_TEXTDATA'
        EXPORTING
    *     NAME           = lv_spoolname
          DEST           = lv_dest
          ROWS           = lv_lines
          STARTROW       = 1
          PAGES          = 99
          RQTITLE        = 'Print Spool'
          RQCOPIES       = 1
          RQOWNER        = sy-uname
          IMMEDIATELY    = ' '
        IMPORTING
          RQID           = lv_spoolid
        TABLES
          TEXT_DATA      = gt_file_table
        EXCEPTIONS
          NAME_MISSING   = 1
          NAME_TWICE     = 2
          NOT_FOUND      = 3
          ILLEGAL_LAYOUT = 4
          INTERNAL_ERROR = 5
          SIZE_MISMATCH  = 6
          OTHERS         = 7.
      IF SY-SUBRC <> 0.
    * Implement suitable error handling here
      ENDIF.
    Passed the spool id generated to below FM but it is not converting into pdf
    CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
        EXPORTING
          SRC_SPOOLID                    = lv_spoolid
         NO_DIALOG                      = ' '
         DST_DEVICE                     = 'LOCW'
         PDF_DESTINATION                = 'X'
    *     NO_BACKGROUND                  =
    *     GET_SIZE_FROM_FORMAT           =
    *     USE_CASCADING                  = ' '
    *   IMPORTING
    *     PDF_BYTECOUNT                  = lv_bytecount
    *     PDF_SPOOLID                    = lv_pdf1
    *     LIST_PAGECOUNT                 =
    *     BTC_JOBNAME                    =
    *     BTC_JOBCOUNT                   =
    *     BIN_FILE                       = lv_pdf
       TABLES
         PDF                            = lt_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 <> 0.
    * Implement suitable error handling here
      ENDIF.
    When I go to SP01 and check the spool generated it is in raw document type.
    How can I convert this raw document to pdf type ??
    Please help me to resolve this.
    Regards,
    Krishna

    Ok, since I can't edit the post anymore, here the new version of code, without the use of SCMS_XSTRING_TO_BINARY for intermediate table. Reasons: effectively doubles the memory use and I don't want to check if the kernel is cutting off the hexdecimal nulls when the last spool line is written, or to relay of that behaviour.
    Matthew Billingham, and other mods: it would be really nice if you could hide the old version please (this post here). The number of google results for that FM is scary and I really don't want to contribute to promoting its use...
    REPORT zjbtst2.
    PARAMETERS: p_file TYPE string
       LOWER CASE
       DEFAULT '/usr/sap/....'
       OBLIGATORY.
    PARAMETERS: p_dest TYPE rspopname
      DEFAULT 'LP01'
      OBLIGATORY .
    PERFORM main USING p_file p_dest.
    *&      Form  main
    FORM main
      USING
        i_file TYPE string
        i_dest TYPE  rspopname.
      DATA: lo_handle TYPE REF TO cl_rspo_spool_handle .
      DATA: l_spoolid TYPE rspoid.
      DATA: l_content TYPE xstring .
      DATA: l_message_text TYPE string .
      PERFORM get_file USING i_file CHANGING l_content .
      PERFORM new_spool USING i_dest CHANGING lo_handle l_spoolid.
      PERFORM write_spool USING lo_handle l_spoolid l_content .
      l_message_text = |Spool { l_spoolid } created| .
      MESSAGE l_message_text TYPE 'I' .
    ENDFORM .                  "main
    *&      Form  get_file
    FORM get_file
       USING i_file TYPE string
       CHANGING c_content TYPE xstring.
      DATA: l_message_text TYPE string .
      CLEAR c_content .
      OPEN DATASET i_file FOR INPUT IN BINARY MODE
        MESSAGE l_message_text.
      IF sy-subrc NE 0 .
        MESSAGE l_message_text TYPE 'E' .
      ELSE.
        READ DATASET i_file INTO c_content .
        CLOSE DATASET i_file.
      ENDIF .
    ENDFORM .                   "get_file
    *&      Form  new_spool
    FORM new_spool
       USING
         i_destination TYPE rspopname
       CHANGING
         co_handle TYPE REF TO cl_rspo_spool_handle
         c_spoolid TYPE rspoid .
      cl_rspo_spool_handle=>open(
        EXPORTING
          dest           = i_destination
          name           = 'Test'
          layout         = 'G_RAW'
          doctype        = 'BIN'
        IMPORTING
          ref            = co_handle
          spoolid        = c_spoolid
        EXCEPTIONS
          device_missing = 1
          name_twice     = 2
          no_such_device = 3
          operation_failed = 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 .                    "new_spool
    *&      Form  WRITE_SPOOL
    FORM write_spool
      USING
        io_handle TYPE REF TO cl_rspo_spool_handle
        i_spoolid TYPE rspoid
        i_content TYPE xstring .
      DATA: l_buffer(128) TYPE x ."Hmm, 128 does work, 4096 doesn't...
      DATA: l_buffer_length TYPE i .
      DATA: l_full_buffers_count TYPE i .
      DATA: l_part_buffer_length TYPE i .
      DATA: l_offset TYPE i .
      DATA: l_length TYPE i .
      l_buffer_length = xstrlen( l_buffer ) .
      l_full_buffers_count = xstrlen( i_content ) DIV l_buffer_length .
      l_part_buffer_length = xstrlen( i_content ) MOD l_buffer_length .
      DO l_full_buffers_count + 1 TIMES .
        IF sy-index LE l_full_buffers_count .
          l_length = l_buffer_length .
        ELSEIF l_part_buffer_length GT 0 .
          l_length = l_part_buffer_length .
        ELSE.
          EXIT .
        ENDIF .
        l_buffer = i_content+l_offset(l_length) .
        ADD l_length TO l_offset .
        io_handle->write_binary(
          EXPORTING
            data           = l_buffer
            length         = l_length
          EXCEPTIONS
            not_open       = 1
            operation_failed = 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.
      ENDDO .
      io_handle->close(
        EXPORTING
          final          = 'X'
        EXCEPTIONS
          operation_failed = 1
          already_closed = 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.
    ENDFORM .                    "write_spool

  • How to convert the alv list data into pdf format

    Hi Expersts,
                      Is it possible to convert the alv list output data into PDF format? if yes, then please help me with this issue.
    thanks in advance,
    Regards,
    Samad

    hii samad,
    you can go through these link.i hope it ll solve your purpose
    How to convert list output to PDF
    Display ALV list output in PDF format
    regards,
    Shweta

  • Importing data in obscure binary format into diadem

    Hi all,
    Lets assume that I have some data in a binary format which DIAdem can not automatically import into the data portal. One method I am aware of and used is to create a dataplugin in vbs which will then allow me to import this data. Recently I came across something called the "TDM header writer" which gives me the impression that it is capable of creating a header file for my binary data and as a result will be able to import this data into DIAdem without creating a dataplugin. Is this actually the case? If the answer is yes which method is actually easiest to use dataplugin or TDM header writer?
    Thanks for reading and your assistance in advance.
    Matthew

    Hi,
    your impression is correct. With the TDM Header Writer you can write a TDM header file for your binary data, so it can be imported in DIAdem as TDM file.
    However, you will need to create a TDM Header for each of your binary files. There are several ways to use the TDM Header Writer:
    - C API
    - JAVA API
    - LabVIEW VIs
    But please let me ask, if you are not satisfied with the DataPlugin you created. It should enable you to read all of your binary files without any extra work. You can export DataPlugins and distribute them. So once created, it should feel like a native file format for DIAdem.
    For an overview of DataPlugins provided by National Instruments, please have a look here:
    DataPlugins

  • How to convert internal table data to PDF format

    HI,
         I have an internal table data having one field with 255 chars. length.I want to send that intenal table data as attachemnt with external mail. i am thinking of converting that data into PDF format and use the FM to send the mail. How to convert internal table data to PDF format.
    Kishore

    In which format is your data in the internal table currently. Is it returned by a smartform/script or its just data fetched from some database table into an internal table. Since its obvious that the data should appear in the PDF with some Layout, you should be using smartform to format the data properly. See the Link
    Smartform to PDF to EMAIL
    This shows convertion of smartform to pdf and send it through email
    Regards,
    Abhishek

  • How to convert TIF image to Binary internal table.

    How to convert TIF image to Binary internal table

    Hi,
    this forum is for the SAP Integration Kit.
    I would first of all suggest you describe your problem in more details as you are not even describing which products you are using and second I would suggest you post it into the correct forum.
    regards
    Ingo Hilgefort

Maybe you are looking for

  • When I try to open iTunes, it asks me if I want to report my error..?

    I dont understand. I erased iTunes and Quicktime from my copmputer and then added it again..that didn't work. Then, I re-installed my CD that came with my iPod..and THAT didn't work. And then today, I opened my control panel and I opened my Quicktime

  • HP 7310xi officejet all-in-one-printer Solution Center Windows7 64bit unable to install

    Windows 7 64bit system doesn't have any downloaded HP in Programs Files folder but it has some folders downloaded on the 64bit Program Files (x86) folder, none of these folders have the HP Solution Center download, I've found the complete folder down

  • Error in Viewing the report in InfoView and CMC  error #UNAVAILABLE

    Hi, I am using BO XI 3.1 Edge series server with latest fix packs. My problem is i created a webi report with Administrator account using the webi rich client tool and after creating the report i exported  to CMS . when i am trying to view the data i

  • VB to Oracle migration

    I want to migrate customised Application developed in Visdual Basic 5.0 currently running on windows platform to Oracle under Linux. current applications are developed using following tools:- a. VB 5.0 b. Crystal report 8.5 c. Sherdion controls ( SSD

  • Can't read UDP packets

    Hi everyone. I'm triying to read the UDP packets that a board with a CPU and ethernet module is sending me via ethernet connection. In the board I've just implemented a static IP+UDP packet that only needs to change the data in order to send a temper