Download PDF File to SAP Application Server

Hi,
I need to download the PDF file to SAP Application Server. Can any one please help me to Solve this Issue?
Thanks in Advance,
Kannan

You can read and upload the file to the PC:
report ztest.
data: begin of itab occurs 0,
        field(256),
      end   of itab.
data: dsn(100) value '/usr/sap/xfr/FIS/testpdf',
      length  like sy-tabix,
      lengthn like sy-tabix.
call function 'GUI_UPLOAD'
     exporting
          filename   = 'c:temptest.pdf'
          filetype   = 'BIN'
     importing
          filelength = length
     tables
          data_tab   = itab.
open dataset dsn for output in binary mode.
loop at itab.
  transfer itab-field to dsn.
endloop.
close dataset dsn.
clear   itab.
refresh itab.
open dataset dsn for input in binary mode.
do.
  read dataset dsn into itab-field.
  if sy-subrc = 0.
    append itab.
  else.
    exit.
  endif.
enddo.
call function 'GUI_DOWNLOAD'
     exporting
          filename     = 'c:temptestn.pdf'
          filetype     = 'BIN'
          bin_filesize = length
     importing
          filelength   = lengthn
     tables
          data_tab     = itab.
Rob

Similar Messages

  • Save PDF-file on the application server

    Hello experts,
    I convert my Smartform to a PDF-File. I copied the code from  Suresh Kumar Parvathaneni (REPORT zsuresh_test). At first, thank you Suresh Kumar for that!
    Now, I would like to save the PDF-File on the application server and not local.
    Could you tell me how to do this. Especially, where do I have to put the abap-code in the given code from Suresh Kumar.
    I thank you very much for your help in advance.
    With kind regards.
    gokselin

    Hi,
    You can use the OPEN DATASET statment.
    Probably you must be having an output table which you are downloading to the local machine.You can use the same and loop at it. and if the OPEN dataset returned sy-subrc 0, use the TRANSFER statment.
    Remember the data will be binary for pdf. So you have to open the dataset in binary mode.
    regards,
    Advait

  • Regarding the uploading the pdf file to the application server

    hi,
    iam getting this error while uploading the pdf file to the applicatioin server.
    "There was an error while trying to parse an image"
    to convert smartform into PDF file we ll use convert_otf FM.
    If see that FM data ll be stored in it_tline structure ok.
    For sending to application server we ll use
    OPEN DATASET p_arch for OUTPUT IN TEXT MODE ENCODING DEFAULT IGNORING CONVERSION ERRORS.
      LOOP AT it_tline.
      TRANSFER it_tline to p_arch.
      ENDLOOP.
      CLOSE DATASET p_arch.
    Ok
    For getting data from internal table we ll use
    OPEN DATASET p_arch FOR INPUT IN TEXT MODE ENCODING DEFAULT IGNORING CONVERSION ERRORS
    do.
      READ DATASET p_arch INTO it_tline.
      if sy-subrc = 0.
        APPEND it_tline.
        ELSE .
          exit.
          endif.
      enddo.
    CLOSE DATASET p_arch.
          LOOP AT it_tline.
        TRANSLATE it_tline USING '~'.
        CONCATENATE wa_buffer it_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 = 'COMMERCIAL INVOICE'.
      APPEND i_objtxt.
      DESCRIBE TABLE i_objtxt LINES v_lines_txt.
      READ TABLE i_objtxt INDEX v_lines_txt.
      wa_doc_chng-obj_name   = 'COMMERCIAL INVOICE'.
      wa_doc_chng-expiry_dat = sy-datum + 10.
      wa_doc_chng-obj_descr  = 'COMMERCIAL INVOICE'.
      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.
      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  = 'COMMERCIAL INVOICE'.
      i_objpack-obj_descr = 'COMMERCIAL INVOICE'.
      APPEND i_objpack.
    BREAK-POINT.
      IF it_adr6[] IS NOT INITIAL.
        LOOP AT it_adr6 INTO wa_adr6.
          CLEAR i_reclist.
          i_reclist-receiver = wa_adr6-smtp_addr.
          i_reclist-rec_type = 'U'.
          i_reclist-com_type = 'INT'.
          APPEND i_reclist.
        ENDLOOP.
        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.
      ENDIF.
    The above error I am getting.
    Please give your suggestions
    Thanks in advance

    U can use this code
    Reward if useful
    REPORT  ZMN_PDF_UPLOAD.
    data: begin of itab occurs 0,
    field(256),
    end of itab.
    data: dsn(100) value '\usr\sap\DEV\DVEBMGS00\work\testpdf',
    length like sy-tabix,
    lengthn like sy-tabix.
    call function 'GUI_UPLOAD'
    exporting
    filename = 'c:\temp\test.pdf'
    filetype = 'BIN'
    importing
    filelength = length
    tables
    data_tab = itab.
    open dataset dsn for output in binary mode.
    loop at itab.
    transfer itab-field to dsn.
    endloop.
    close dataset dsn.
    clear itab.
    refresh itab.
    *To crosscheck if it went well
    open dataset dsn for input in binary mode.
    do.
    read dataset dsn into itab-field.
    if sy-subrc = 0.
    append itab.
    else.
    exit.
    endif.
    enddo.
    call function 'GUI_DOWNLOAD'
    exporting
    filename = 'c:\temp\testn.pdf'
    filetype = 'BIN'
    bin_filesize = length
    importing
    filelength = lengthn
    tables
    data_tab = itab.
    *Or
    *Use the TCode
    *CG3Z or CG3Y
    *for downloading to Application Server.

  • Limit on the size of the flat file in SAP Application Server

    Hi Gurus,
    My requirement is to upload the account payable data to the SAP Application Server.
    The requirement say's like if the size of the file exceeds the limit(is there any limit on file size in SAP?) of SAP then I should upload another file with the remaining records.
    Is there any limit on the file size uploaded into SAP Application Server?If there is limit on file size then what is the value of the limit?
    I guess the file size will depend on the basis configuration and the free size of the Application Server Folder.
    How to check free space in the Application Server folder and proceed further for placing the file in that folder?
    Thanks & Regards,
    Kiran Kumar K

    The limitation (if any) will be on the OS level. Nothing to do with SAP as such. Asking your basis team to provide you with an area with plenty of room will be the easiest option. How big are your files - most OSs can handle files of many GB. Sounds to me like the "requirement" has been written by someone without technical knowledge...

  • How to get pdf file from sap presentation server using java connector

    Hi Friends,
    with the below code i am able to get po details in pdf in presentation server.
    DATA : w_url TYPE string
           VALUE 'C:\Documents and Settings\1011\Solutions\web\files\podet.pdf'.
    CALL FUNCTION 'ECP_PDF_DISPLAY'
            EXPORTING
              purchase_order       = i_ponum
           IMPORTING
      PDF_BYTECOUNT        =
             pdf                  = file  " data in Xsting format
    *Converting Xstring to binary_tab
          CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
            EXPORTING
              buffer                = file
      APPEND_TO_TABLE       = ' '
    IMPORTING
      OUTPUT_LENGTH         =
            TABLES
              binary_tab            = it_bin " data in binary format
    **Downloading into PDF file
          CALL FUNCTION 'GUI_DOWNLOAD'
            EXPORTING
      BIN_FILESIZE                    =
              filename                        = w_url
              filetype                        = 'BIN'
             TABLES
              data_tab                        = it_bin
    when i am using java connector , to retirve the file from presentation server , the follwoing error i am getting...
    init:
    deps-jar:
    compile-single:
    run-single:
    com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: Error in Control Framework
            at com.sap.mw.jco.rfc.MiddlewareRFC$Client.nativeExecute(Native Method)
            at com.sap.mw.jco.rfc.MiddlewareRFC$Client.execute(MiddlewareRFC.java:1244)
            at com.sap.mw.jco.JCO$Client.execute(JCO.java:3842)
            at com.sap.mw.jco.JCO$Client.execute(JCO.java:3287)
            at PdfGen.<init>(PdfGen.java:35)
            at PdfGen.main(PdfGen.java:78)
    Java Result: 1
    BUILD SUCCESSFUL (total time: 1 second)
    i debugged too, problem with <b>gui_download......</b>
    I am very glad to all with your suggestions!!
    Regards,
    Madhu..!!

    Hi
    You can try to create an external command (transaction SM69).......sorry I've forgotten,,,,they works on application
    How do you call CL_GUI_FRONTEND_SERVICES=>EXECUTE?
    Max
    Edited by: max bianchi on Oct 13, 2011 10:27 AM

  • PDF file write to application server

    Hi All,
    I want to write PDF file to application server while downloading its writing but in this manner
    %PDF-1.6#%####
    108 0 obj#<</First 17/Length 108/Filter/FlateDecode/N 3/Type/ObjStm>>stream
    xڲT0P04Q07W05#2,#ll##K#J*#R#C####Sbq#[^##GjNYjIfr##SN##kr~Jf#~xf#c^q&##Ҧ##agG#a####X###T##XR### ##b#
    Please let me know where i am doing wrong.
    Please see below my code .
    (the scenario is when i download the pdf file i want to write the same file in to app server )
      call function fm_name
        exporting
          /1bcdwb/docparams  = fp_docparams "
          ls_header          = ls_waste
          lt_item            = gt_rkpf
          aufnr              = lv_aufnr
        importing
          /1bcdwb/formoutput = fp_formoutput
        exceptions
          usage_error        = 1
          system_error       = 2
          internal_error     = 3
          others             = 4.
    concatenate 'D:\temp\PROCESSORDER_' ls_waste-rsnum   '.PDF' into lv_file.
        pr_file = lv_file.
      open dataset pr_file for output in binary mode."text mode encoding  NON-UNICODE.
      if sy-subrc  0.
        exit.
      endif.
      transfer fp_formoutput-pdf  to pr_file.
      close dataset pr_file.
      clear :fp_formoutput-pdf,lv_file.
    Please any one help me thanks,
    Thanks,
    Kumar

    You can't tranfer the whole PDF data with just one transfer statement, instead you have to loop that table and transfer the data to the file until you reach the last row.
      open dataset pr_file for output in binary mode."text mode encoding  NON-UNICODE.
      if sy-subrc  0.
        exit.
      endif.
      loop at fp_formoutput-pdf  *****************
        transfer fp_formoutput-pdf  to pr_file.
      endloop.
      close dataset pr_file.
      clear :fp_formoutput-pdf,lv_file.

  • How can I upload a pdf file into the application server?

    Hi,
    I have the otf data, which i have converted into pdf using the funcation module "Convert_otf". Is it possible to upload the pdf file in application server?

    Dear Srishti,
    Use OPEN DATASET in BINARY MODE.
    following link will help you.
    http://scn.sap.com/thread/1480434
    thanks,
    vidyasagar

  • Open a pdf file located on Application Server from forms 10g

    Dear all,
    I want to open a pdf file which is stored in a folder on Application Server.
    I have the following codes but could not be able to open the file.
    1. host('rundll32 url.dll,FileProtocolHandler C:\REP012.pdf');
    in this code I mentioned the path on local machine which is okey.
    but the question is that how to open the file which is located in a folder on application server?
    the following code don't show and file or error:
    host('rundll32 url.dll,FileProtocolHandler /EMS/MANUALS/ACC001.PDF');
    This is the file on Application Server not on local machine.
    2. web.show_document('//EMS/MANUALS/ACC001.PDF/','_blank');
    This give HTTP 404 NOT FOUND error
    I think the problem is in path, how to mention the path of my Application Server file?
    Regards:
    Muhammad Nadeem

    Hi,
    Did you find a solution to this?
    We are running into the same problem where we need to open a file present on the application server (path /opt/webapps/applications/ISL/)
    When we try this from the local machine it works (path D:/forms) however it does not work while trying to open it from the application server.
    Regards,
    Pooja

  • Upload the doc , pdf  file presentation to application server

    When upload file from presentaion to application server other then text
    file data is corruption in wed dynpro application using the UI element
    of UPLOAD. we used the code in custom application when we checked in
    T.Code : 'AL11'. only text file is showing file other then text file
    data is showing as corrupt.
    code:
    elem_sel_opt_1->get_attribute(
    EXPORTING
    name = 'DATASOURCE'
    IMPORTING
    value = gd_data ).
    CALL FUNCTION 'HR_KR_XSTRING_TO_STRING'
    EXPORTING
    in_xstring = gd_data
    IMPORTING
    out_string = gd_filedata.
    SPLIT gd_filedata AT cl_abap_char_utilities=>newline INTO TABLE
    ist_data.
    Opening the File
    OPEN DATASET gd_file_appl IN TEXT MODE FOR OUTPUT ENCODING DEFAULT. IF sy-subrc NE 0.
    WRITE: 'File cannot be opened. Reason:', D_MSG_TEXT.
    EXIT.
    ENDIF.
    Transferring Data
    LOOP AT ist_data INTO wa_data.
    TRANSFER wa_data TO gd_file_appl.
    ENDLOOP.
    Closing the File
    CLOSE DATASET gd_file_appl.
    is it problem with my code. is it problem with UI element.
    for file uploading the prasentation server to appliation.
    we try with binary mode also
    Regards
    Praveen Chetpally.

    You can't tranfer the whole PDF data with just one transfer statement, instead you have to loop that table and transfer the data to the file until you reach the last row.
      open dataset pr_file for output in binary mode."text mode encoding  NON-UNICODE.
      if sy-subrc  0.
        exit.
      endif.
      loop at fp_formoutput-pdf  *****************
        transfer fp_formoutput-pdf  to pr_file.
      endloop.
      close dataset pr_file.
      clear :fp_formoutput-pdf,lv_file.

  • Unale to print pdf files in oracle application server using oracle forms

    Hi
    We are using oracle developer suite 10g(10.1.2.3.0) in Windows vista. (test environment)
    Oracle application server 10g(10.1.2.3.0) in Hp-UX 11iv3 (production environment)
    We are able to print pdf files in test environment from oracle forms using the below command:
    host('/usr/bin/lp -d p9775hplaser '||'/ashome/output/'||:print_file);
    But while declaring to the live environment it is not working
    host('cat '||:pdf_print_file||' | acroread -toPostScript | /usr/bin/lp -dp9775hplaser');
    but when the above command is put in hp-ux cmd prompt it is workinh"'cat '||:pdf_print_file||' | acroread -toPostScript | /usr/bin/lp -dp9775hplaser'";
    Kind ly tell me whether the problem i with the host command and some other command is available for printing files from forms.

    Here is my guess:
    declare
    AppID PLS_INTEGER;
    begin
    AppID := DDE.App_Begin('acroread -toPostScript '||file name,DDE.APP_MODE_MINIMIZED);
    end;

  • Downloading a file into an Application Server

    Hi All,
    I had a requirement to create a file in application server with last field as filler(8spaces).
    But while creating a file using 'open dataset' we are not able to get the last 8spaces.
    I will be grateful if anyone could help me out in solving this issue.
    Thanks,
    Anil.

    Hi Anil,
    Define your filler like this.
    DATA BEGIN OF ITAB,
    V_FILLER(8).
    END OF ITAB.
    V_FILLER+0(7) = '#'.
    Before using TRANSFER statement, use a REPLACE statement like below.
    LOOP AT ITAB.
    ITAB-FILLER+O(7) = '#'.
    REPLACE '#' WITH SPACE IN ITAB-FILLER.
    MODIFY ITAB.
    TRANSFER ITAB TO DATASET.
    CLEAR ITAB.
    ENDLOOP.
    Thanks,
    Vinay

  • Menu button to download Pdf file on the application

    Hi,
    I have a AM method that takes in some parameters and generates xml data and then calls the BI Publisher report service and generates a PDF providing the xml data as input. The method needs to have a file download action listener so that the Pdf file returned would be saved. The triggering point for the AM method can be in several UI pages and the triggering methods can also be different. It can be a action command button, a link or even a menu. Where and how can I provide this method so that it is kind of generic and there is not much of a configuration things that need to be done to invoke this method from the UI pages.
    Thanks,
    Rakesh

    Hello there,
    This assumes you are using Flash CS3 with the default
    Actionscript 3.0 settings.
    1) Create a button and in the Properties panel give it an
    instance name. This example is called 'pdfButton'.
    2) Create a new layer in your timeline and name it "Actions".
    3) Click on Frame 1 of this layer and press F9 to open the
    Actions panel.
    4) Copy and paste the following code.
    NOTE: If you have Script Assist on, click on it to turn it
    off.

  • Looking for file in the application server.

    Hello expert,
              I want to download a file from SAP application server, but when I get into file system for application server by AL11 , I can't find out the folder for my file, why?  is that authority issue or I did the wrong way to get into the system?  appreciate very much for your help.
    Many Thanks,

    Hi,
    At AL11, if you have the proper authorizations, you should see a Configure button.  After that, enter:
    - Directory Name:
    server-name\directory
    - Param. Name: Z_<directory>
    - ServerName: all
    Then, click on Save.
    Take into account that SAPServiceSID user should have read access to the share.
    Regards,
    Maximiliano

  • Download PDF file from Application Server in BSP

    Hello,
    We have a requirement on which we want to download a PDF file stored in Application server using BSP application. I have used function module  ARCHIVFILE_SERVER_TO_CLIENT but this FM will help only if i want to download file from GUI it won't work in BSP application.
    Further i have used class CL_BSP_UTILITY and download method to download file from application server but it is not working in desired manner.
    I am attaching my code for your reference:
    DATA: BUTTON_EVENT TYPE REF TO CL_HTMLB_EVENT_BUTTON ,
               EVENT TYPE REF TO IF_HTMLB_DATA.
    DATA: LS_HOURS LIKE LINE OF GT_HOURS.
    DATA STR TYPE STRING.
    DATA: OUTPUT TYPE STRING ,
              L_XSTRING TYPE XSTRING ,
               APP_TYPE TYPE STRING. 
    EVENT = CL_HTMLB_MANAGER=>GET_EVENT( REQUEST ).
    DATA PHY_NAME_OUT     TYPE SAPB-SAPPFAD.
    IF EVENT IS NOT INITIAL AND EVENT->EVENT_NAME = HTMLB_EVENTS=>BUTTON .
      BUTTON_EVENT ?= EVENT .
      CASE EVENT->EVENT_SERVER_NAME.
        WHEN 'test' .
          IF GT_HOURS IS NOT INITIAL.
            PHY_NAME_OUT = '/usr/sap/put/form16//01000200_2007.PDF'.
          OPEN DATASET PHY_NAME_OUT FOR INPUT IN TEXT MODE ENCODING DEFAULT.
            IF SY-SUBRC IS INITIAL.
              DO.
                READ DATASET PHY_NAME_OUT INTO STR.
                IF SY-SUBRC IS INITIAL.
                CONCATENATE
                    OUTPUT
                    str
                    cl_abap_char_utilities=>cr_lf
    INTO output SEPARATED BY space. "cl_abap_char_utilities=>horizontal_tab
                ELSE.
                  EXIT.
                ENDIF.
              ENDDO.
            ENDIF.
    *LOOP AT gt_hours INTO ls_hours.
    *CONCATENATE
    *OUTPUT
    *ls_hours-hour
    *cl_abap_char_utilities=>cr_lf
    *INTO output SEPARATED BY space. "cl_abap_char_utilities=>horizontal_tab
    *ENDLOOP.
            APP_TYPE = 'APPLICATION/PDF;charset=utf-16le'.
            CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
              EXPORTING
                TEXT     = OUTPUT
                MIMETYPE = 'APPLICATION/PDF;charset=utf-16le'
              IMPORTING
                BUFFER   = L_XSTRING.
            CONCATENATE CL_ABAP_CHAR_UTILITIES=>BYTE_ORDER_MARK_LITTLE
            L_XSTRING
            INTO L_XSTRING IN BYTE MODE.
            CALL METHOD CL_BSP_UTILITY=>DOWNLOAD
            EXPORTING
            OBJECT_S = L_XSTRING
            CONTENT_TYPE = APP_TYPE
            CONTENT_DISPOSITION = 'attachment;filename=webforms.pdf'
            RESPONSE = _M_RESPONSE
            NAVIGATION = NAVIGATION.
          ENDIF.
      ENDCASE.
    ENDIF.
    From this code i am able to download PDF file but it is not opening in local machine.
    If any other way to download file then please suggest.
    waiting for ur reply.
    Regards,
    Gagan

    Hi,
    you do the file reading wrong:
    have a look at:
    Local declarations.
      data:
        components          type stringtab,
        component           type string,
        path                type text255,
        file                type text255,
        line_length         type i,
       filecontent_binary type sdokcntbin,
        rows                type sytabix,
        content             type sdokcntbin,
        exception           type ref to cx_sy_file_access_error,
        exception_tmf       type ref to cx_sy_too_many_files ,
        block_size          type i value 1022,
        length              type i.
      field-symbols:
        <hex_container>     type x.
      constants:
        c_dms_blk_size      type i value 2550.
      clear file_size.
      try.
          open dataset file_name  for input in binary mode message message.
        catch cx_sy_file_open  into exception.
          case exception->textid.
            when '4182174D03030063000000000A1551B1'. raise access_error.
            when '41825AD355C3005E000000000A1551B1'. raise open_error.
            when '47E8B03AECE5BA07E10000000A114829'. raise already_open.
            when others.
          endcase.
        catch cx_sy_file_authority into exception.
          case exception->textid.
            when '4182174D03030063000000000A1551B1'. raise access_error.
            when 'A70BB8396F051547E10000000A11447B'. raise authority_error.
            when others.
          endcase.
        catch cx_sy_too_many_files into exception_tmf.
          case exception_tmf->textid.
            when '8708B73915F6B645E10000000A11447B'. raise too_many_files.
            when others.
          endcase.
      endtry.
      do.
        try.
            read dataset file_name into filecontent_binary-line.
            if sy-subrc <> 0.
              add  line_length to file_size.
              append filecontent_binary to file_content_binary.
              exit.
            else.
              add  line_length to file_size.
              append filecontent_binary to file_content_binary.
            endif.
          catch cx_sy_file_open_mode into exception.
            case exception->textid.
              when '9207B73915F6B645E10000000A11447B'. raise cx_sy_file_open_mode.
              when '9807B73915F6B645E10000000A11447B'. raise read_only.
              when '9E07B73915F6B645E10000000A11447B'. raise not_open.
              when '409D273A2D824360E10000000A11447B'. raise incompatible_mode.
              when others.
            endcase.
        endtry.
      enddo.
      try.
          close dataset file_name.
        catch cx_sy_file_close into exception.
          case exception->textid.
            when '4182174D03030063000000000A1551B1'. raise access_error.
            when 'C10BB8396F051547E10000000A11447B'. raise close_error.
            when others.
          endcase.
        catch cx_sy_file_access_error into exception.
          case exception->textid.
            when '4182174D03030063000000000A1551B1'. raise access_error.
            when others.
          endcase.
      endtry.
    Get file size.
      split file_name at '/' into table components.
      describe table components lines sy-tfill.
      read table components into component index sy-tfill.
      path = file_name.
      replace component in path with ''.
      file = component.
      call function '/EUH/MMS_GET_FILE_SIZE'
        exporting
          dir_name  = path
          file_name = file
        importing
          file_size = file_size.
    and function /euh/mms_get_file_size.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(DIR_NAME) TYPE  TEXT255
    *"     VALUE(FILE_NAME) TYPE  TEXT255
    *"  EXPORTING
    *"     VALUE(FILE_SIZE) TYPE  SDOK_FSIZE
    *"  EXCEPTIONS
    *"      NO_AUTHORITY
    *"      ACTIVITY_UNKNOWN
    *"      NOT_A_DIRECTORY
    *"      NO_MEDIA_IN_DRIVE
    *"      TOO_MANY_ERRORS
    *"      TOO_MANY_FILES
    *"      BRACKET_ERROR_IN_FILENAME
    *"      NO_SUCH_PARAMETER
      types: begin of files,
               line like ocs_file,
             end of files.
      data: file type files,
         f_subrc like sy-subrc value 0,
         errno(3)    type c,
         errmsg(40)  type c,
         pos                        type i,
         len                        type i,
         parameter(120)             type c,
         help1(120)                 type c,
         help2(120)                 type c,
         error_counter              type i.
      data:
        dir_list  like  ocs_file occurs 0 with header line.
    CASE sy-subrc.
       WHEN 1. f_subrc = 64.
       WHEN 2. f_subrc = 65.
       WHEN 0.
      search dir_name for 'SY-HOST'.    "Is SY-HOST used in directory name?
      if sy-subrc = 0.
        pos = sy-fdpos + 7.
        move dir_name(sy-fdpos) to help1.
        move dir_name+pos to help2.
        concatenate help1 sy-host help2 into dir_name.
      endif.
      do 12 times.                                 " To avoid endless loop
        if dir_name cs '$('.           " Replace parameter by their value
          pos = sy-fdpos + 2.
          if dir_name cs ')'.
            len = sy-fdpos - pos.
            if len le 0.
              f_subrc = 4. exit.
            else.
              parameter = dir_name+pos(len).
              call 'C_SAPGPARAM' id 'NAME'  field parameter
                               id 'VALUE' field parameter.
              if sy-subrc = 0.
                len = pos + len + 1.
                pos = pos - 2.
                if pos > 0.
                  move dir_name(pos) to help1.
                else.
                  help1 = ''.
                endif.
                pos = strlen( dir_name ).
                if pos > len.
                  move dir_name+len to help2.
                else.
                  help2 = ''.
                endif.
                concatenate help1 parameter help2 into dir_name.
              else.
                f_subrc = 8. exit.
              endif.
            endif.
          else.
            exit.
          endif.
        else.
          exit.
        endif.
      enddo.
      shift dir_name right deleting trailing '/\ '.
      shift dir_name left deleting leading space.
      call 'C_DIR_READ_FINISH'                      " this is from RSWATCH0
            id 'ERRNO'  field errno
            id 'ERRMSG' field errmsg.
      call 'C_DIR_READ_START'
            id 'DIR'    field dir_name
            id 'FILE'   field file_name
            id 'ERRNO'  field errno
            id 'ERRMSG' field errmsg.
      case sy-subrc.
        when 1.
          case errno.
            when 2 or 20.  f_subrc = f_subrc + 66.
            when ' '. f_subrc = f_subrc + 67.
          endcase.
        when 0.
          clear error_counter.
          do.
            clear file.
            clear dir_list.
            call 'C_DIR_READ_NEXT'
                id 'TYPE'   field file-line-type
                id 'NAME'   field file-line-name
                id 'LEN'    field file-line-len
                id 'OWNER'  field file-line-owner
                id 'MTIME'  field file-line-mtime
                id 'MODE'   field file-line-acc_mode
                id 'ERRNO'  field errno
                id 'ERRMSG' field errmsg.   "sy-subrc = 3 is e.g. if return
            if sy-subrc = 0 or sy-subrc = 3."data do not fit into variables
              perform p6_to_date_time_tz(rstr0400) using
                    file-line-mtime
                    file-line-mod_time
                    file-line-mod_date.
              file_size = file-line-len.
              dir_list = file-line.
              append dir_list.
            elseif sy-subrc = 1.                 " nothing (more) found
              exit.
            else.
              if error_counter > 50.
                call 'C_DIR_READ_FINISH'
                    id 'ERRNO'  field errno
                    id 'ERRMSG' field errmsg.
                pos =  f_subrc mod 2.
                if pos = 0. f_subrc = f_subrc + 1. endif.
                exit.
              endif.
              add 1 to error_counter.
            endif.
            if sy-index > 1000.
              pos =  f_subrc mod 4.
              if pos = 0. f_subrc = f_subrc + 2. endif.
              exit.
            endif.
          enddo.
          call 'C_DIR_READ_FINISH'
               id 'ERRNO'  field errno
               id 'ERRMSG' field errmsg.
          if sy-opsys(3) = 'Win' and not ( file_name cs '*' ).
            describe table dir_list lines len.
            if len = 0.
              help1 = file_name.
              translate help1 to upper case.
              translate help1 using
                   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.
              call 'C_DIR_READ_START'
                    id 'DIR'    field dir_name
                    id 'FILE'   field help1.
              if sy-subrc = 0.
                clear error_counter.
                do.
                  clear file.
                  clear dir_list.
                  call 'C_DIR_READ_NEXT'
                      id 'TYPE'   field file-line-type
                      id 'NAME'   field file-line-name
                      id 'LEN'    field file-line-len
                      id 'OWNER'  field file-line-owner
                      id 'MTIME'  field file-line-mtime
                      id 'MODE'   field file-line-acc_mode
                      id 'ERRNO'  field errno
                      id 'ERRMSG' field errmsg.
                  if sy-subrc = 0 or sy-subrc = 3.
                    help2 = file_name.
                    translate help2 to upper case.
                    help1 = file-line-name.
                    translate help1 to upper case.
                    if help1 = help2.
                      perform p6_to_date_time_tz(rstr0400) using
                         file-line-mtime
                         file-line-mod_time
                         file-line-mod_date.
                      dir_list = file-line.
                      append dir_list.
                    endif.
                  elseif sy-subrc = 1.
                    exit.
                  else.
                    if error_counter > 50.
                      call 'C_DIR_READ_FINISH'
                          id 'ERRNO'  field errno
                          id 'ERRMSG' field errmsg.
                      pos =  f_subrc mod 2.
                      if pos = 0. f_subrc = f_subrc + 1. endif.
                      exit.
                    endif.
                    add 1 to error_counter.
                  endif.
                  if sy-index > 1000.
                    pos =  f_subrc mod 4.
                    if pos = 0. f_subrc = f_subrc + 2. endif.
                    exit.
                  endif.
                enddo.
                call 'C_DIR_READ_FINISH'
                     id 'ERRNO'  field errno
                     id 'ERRMSG' field errmsg.
              endif.
            endif.
          endif.
      endcase.
    ENDCASE.
    CASE f_subrc.
       WHEN 1 OR 3.             RAISE too_many_errors.
       WHEN 2.                  RAISE too_many_files.
       WHEN 4 OR 5 OR 6 OR 7 OR 70 OR 71.
         RAISE bracket_error_in_filename.
       WHEN 8 OR 9 OR 10 OR 11 OR 74 OR 75.
         RAISE no_such_parameter.
       WHEN 64.                 RAISE no_authority.
       WHEN 65.                 RAISE activity_unknown.
       WHEN 66.                 RAISE not_a_directory.
       WHEN 67.                 RAISE no_media_in_drive.
    ENDCASE.
    endfunction.
    Now you will be able to get the filesize and the file in SDOK format sdokbin.
    Okay.
    You have to build an request and push the content to the user like:
      call method server->response->set_header_field( name = 'Content-Type' value = value ).
      describe field file_content_binary-line length line_length in byte mode.
      bytes_rest = file-size.
      loop at file_content_binaries assigning <file_content_binary>.
        move <file_content_binary>-line to data.
        if bytes_rest <= 0. "mismatch between line values and size
          exit.
        endif.
        if bytes_rest >= line_length.
          call method server->response->append_data( data = data
            length = line_length ).
        else.
          call method server->response->append_data( data = data
            length = bytes_rest ).
        endif.
        bytes_rest = bytes_rest - line_length.
      endloop.
    This will work.
    You can set the header fields like you want. Have also a look at sicf node contentserver
    and its handler: CL_HTTP_EXT_CSIF

  • Reading of File from legacy system into SAP Application Server using SAP XI

    Hi All,
      I have a file in <b>Legacy System with Exchange rates information data</b> i have to read that file using SAP XI process and put that file in SAP Application Server in SAP Specific Format and latter i have to use program RFTBFF00 to upload the file in the Application Server into SAP Tables.
      Can anybody tell me how can i do this with some example of same scenario.
      It would be better if anybody provides code example as i am new to SAP XI.
    Thanks in advance.
    Warm Regards,
    Rayeez.

    Hi Shaik,
    You need the access to the file system of ur legacy application and then you can follow this link for the required ifnormation
    File & Header
    Regards
    Vishnu

Maybe you are looking for

  • How can we send multiple attachments in a mail from iPad 2

    Hi, I am using a ipad2. I want to know how we can send multiple attachments through mail from iPad. I did not find any option of doing this. Is there a way to do this. Regards, Satyabrat

  • External Hard Drive Grayed Out?

    External hard drive (Lacie) will not mount on finder. It shows up in Disc Utility, but the name is grayed out and when I click on "mount" nothing happens. Is there any hope of getting that data back? Thanks!

  • ISE Feed Service can not update EndPoint Policy

    I've started to get "Failed to apply feed policy" messages. The OUI updates are working fine. Just the Updates to EndPointPolicy are failing. Looking at the log in ISE, it appears to be a permissions issue. Feedservice is the username for updates but

  • New iPhone 4 bought for full price but locked!

    Hi there, I have a kinda complicated problem. I bought an iPhone 4 in Mexico from a reseller called iShop. They sold me the phone with a prepaid sim card from Telcel. They told me that the sim included 1 month free internet so I decided to use it the

  • Report with user and group

    Hi. I'm looking for the way to make a report from the BO 6.5 repository that has the user and the group where he is registered. Have someone done a query like this? Thanks in advanced