Uploading & Downloading Files into DMS Server using Web Dynpro Java

Hello Friends,
      I want to Upload a file from Portal to Document Management Server and to Download a file from Document Management Server to Portal,  In short, I want to give the user the facility to Upload a File into DMS Sever via Portal and also to download the file from DMS Sever via Portal.
  Can anybody give me a Input for the same from Both Java Development End as well as ABAP End, more inputs are required from ABAP end, since i have a very less ABAP Experience on working with DMS. Few Questions i have in my mind?
1. How to actually access the file contents with the help of Document Number?
2. With the help of Doc-Number we can extract the file from DMS sever but to provide a option for downloading in portal, the   RFC should convert the File Contents into X-String or is there some other way?
+3. While Uploading the Data should be given in Which format to RFC? Are there any limitation with respect to size or formats. Is there any Standard RFC i can use directly in WD4 Java application to upload the file into DMS Server and which will return me the Document Number? +
Please give me your valuable inputs.
Thank You.
Edited by: TusharShinde on Feb 21, 2011 11:13 AM
Now, I am able to download the File in Portal via my WD4 Java Application from DMS Server by passing the Document Number, but I am facing the problem in downloading the PDF files, Its not working for PDF files. Please give me inputs for the same.
Thank You.
Edited by: TusharShinde on Feb 22, 2011 10:13 AM

HI,
Thanks for reply.
I am able to download the file From DMS server but I am still not able to Upload the File to DMS Server via Portal. For Download also it is working for all file formats but not for PDF any specific reason for the same.
function zhrf_rfc_dms_download_document.
*"*"Local Interface:
*"  IMPORTING
*"     VALUE(LV_DOCUMENT) TYPE  DOKNR
*"  EXPORTING
*"     VALUE(LV_FADA) TYPE  XSTRING
*"  TABLES
*"      LT_DOC STRUCTURE  BAPI_DOC_FILES2
*"      LT_OUT STRUCTURE  ZST_DMS_FILE_XSTRING
data: ls_docfiles type bapi_doc_files2,
         ls_dms type dms_doc_files,
         lt_docfiles type standard table of bapi_doc_files2.
*      data: LT_OUT  type table of  ZST_DMS_FILE_XSTRING.
  data :wa_out like line of lt_out.
  select single * from dms_doc_files
    into ls_dms
    where doknr = lv_document."Retrieve file
  if sy-subrc = 0.
    ls_docfiles-documenttype = ls_dms-dokar.
    ls_docfiles-documentnumber = lv_document.
    ls_docfiles-documentpart = ls_dms-doktl.
    ls_docfiles-documentversion = ls_dms-dokvr.
*    ls_docfiles-documenttype = '321'.
*    ls_docfiles-documentnumber = LV_DOCUMENT.
*    ls_docfiles-documentpart = '000'.
*    ls_docfiles-documentversion = 'A0'.
  endif.
  call function 'BAPI_DOCUMENT_CHECKOUTVIEW2'
    exporting
      documenttype    = ls_docfiles-documenttype
      documentnumber  = ls_docfiles-documentnumber
      documentpart    = ls_docfiles-documentpart
      documentversion = ls_docfiles-documentversion
      documentfile    = ls_docfiles
      getstructure    = '1'
      getcomponents   = 'X'
      getheader       = 'X'
*      pf_http_dest    = 'SAPHTTPA'
      pf_ftp_dest     = 'SAPFTPA'
    tables
      documentfiles   = lt_docfiles.
  data: i_bin type standard table of sdokcntbin,
        i_info type standard table of scms_acinf,
        v_info type scms_acinf,
        v_id type sdok_phid,
        v_cat type sdok_stcat.
  if sy-subrc = 0.
    loop at lt_docfiles into ls_docfiles.
      v_id = ls_docfiles-docfile.
      v_cat = ls_docfiles-storagecategory.
      call function 'SCMS_DOC_READ'
        exporting
          stor_cat              = v_cat
          doc_id                = v_id
          phio_id               = ls_docfiles-file_id
        tables
          access_info           = i_info
          content_bin           = i_bin
        exceptions
          bad_storage_type      = 1
          bad_request           = 2
          unauthorized          = 3
          comp_not_found        = 4
          not_found             = 5
          forbidden             = 6
          conflict              = 7
          internal_server_error = 8
          error_http            = 9
          error_signature       = 10
          error_config          = 11
          error_format          = 12
          error_parameter       = 13
          error                 = 14
          others                = 15.
    endloop.
    if sy-subrc <> 0.
    else.
      data: v_xstring type xstring.
      read table i_info into v_info index 1.
      call function 'SCMS_BINARY_TO_XSTRING'
        exporting
          input_length = v_info-comp_size
        importing
          buffer       = v_xstring
        tables
          binary_tab   = i_bin
        exceptions
          failed       = 1
          others       = 2.
      if sy-subrc <> 0.
      endif.
    endif.
    wa_out-file_name =  ls_docfiles-docfile.
    wa_out-binary = v_xstring.
    lv_fada = v_xstring.
    append wa_out to lt_out.
  endif.
endfunction.
The above is the RFC Code,  I am using in my WD4Java app for downloading the file From DMS Server, Is there any Improvement suggested for above RFC to make it work in more efficient way. Please give me input for my Upload RFC.
Thank You.

Similar Messages

  • How to upload/download file to/from server using FiledownloadUI ?

    Hi experts,
    I don't have much experience of WDABAP. I have to upload a file  to server and then download it again. I have implemented  this functionality but I am unable to view contents of .xls/.doc/.docx/.msg file only  txt file contents are properly visible. I have used  following command to upload the file:-
    OPEN DATASET fname FOR OUTPUT IN BINARY MODE.
    I had  also tried this but it is throwing  exception that it can be used only for character type data.
    OPEN DATASET fname FOR OUTPUT IN TEXT MODE  ENCODING UTF-8    WITH SMART LINEFEED.  
    Thanks in advance.
    Problem Solved!
    Regards,
    Vishesh
    Edited by: Vishesh@1986 on Sep 26, 2011 7:37 AM

    I have resolved the issue myself!!!

  • Problem in upload flat file into bw-bps using web browser

    Hi All,
    I have follwed the steps as per the how to guide to upload flat file,its seems to be fine but when try to upload by running the URL its giving error "Value of variable Data Slice Global ( ZFIE0ALL ) cannot be determined " and warning "Errors occurred when executing planning function TUPLOAD(EXIT FOR UPLOAD DATA)/T0000000(WEB UPLOAD".
    Since i am new to BW/BPS , also let me know, how test it , when i run file_upload URL directly its giving follwing error.
    SAP Note
         The following error text was processed in the system:
         An exception with the type CX_SY_REF_IS_INITIAL occurred, but was neither      handled locally, nor declared in a RAISING clause
    When i run page1 url and if i file_load url, then its prompt me to see upload function, path for flat file. But when enter path of flat file and press upload function button ts giving error "Value of variable Data Slice Global ( ZFIE0ALL ) cannot be determined " and warning "Errors occurred when executing planning function TUPLOAD(EXIT FOR UPLOAD DATA)/T0000000(WEB UPLOAD".
    FYI..i am using new design HTMLB option in how-to-doc.
    Please help me to resolve this. Thanks in advance.
    Also pls let me know can i debug this application?How ?
    Vishal
    Message was edited by:
            vishal kashyap
    Message was edited by:
            vishal kashyap

    Hi Vishal
    Can u guide me , by what condition the data is selected in XTH_data ( Hashed table ) before the data is written by flat file function module .
    Reply me ASAP ,
    Thanks
    Anup Singh

  • Overwriting a File in the KM using web dynpro

    Hello,
    im using the createresource method to upload files into the km using web dynpro.
    (using the following tutorial: https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/70a60afe-d576-2a10-68bf-9ce3988dc39e )
    however, if i try to upload a file which is already there, it doesnt overwrite it, instead it throws an exception without any additiona info.
    is there any way of doing this?
    many thanks,
    Eli.
    Edited by: Eli Eren on Nov 24, 2008 11:22 PM

    Hi,
    first check, if the resource exists, then decide to create or update content:
        IResource resource = (ResourceFactory.getInstance().getResource(rid, ctx));
        ICollection aCollection=(ICollection)resource;
        // get new resource RID
        RID newResRid = RID.getRID(repository+RID.PATH_SEPARATOR+resourceName);
        // try to find the resource
        IResource newResource = (ResourceFactory.getInstance().getResource(newResRid, ctx));
        if(newResource!=null)  {
          // does exist - update content
          newResource.updateContent(content);
        else  {
          // does not exist - create
          newResource = aCollection.createResource(resourceName, null, content);
    Hope that helps,
    Romano

  • Upload a file in KM repository with Web dynpro for abap

    Hi gurus, i´m trying to create a KM repository and then upload a file into this repository with Web dynpro for abap , but i can´t find any info. Can anyone help me with this problem, i have to solve it ASAP...
    Thanks for all....
    Regards,
    Diego.

    Please referr to the ideas on this thread.
    Install Problems withe the NW04s ABAP Trial verssion
    You have installed the loopback adapter and made the propriate entries in the hosts file, right?
    Regards,
    Rich Heilman

  • File Visibility in uploading the file using web DynPro java

    hello,
    i have gone through the tutorial " uploading & downloading the file using web DynPro java".
    the upload functionalty is working fine. but i need to know thw path where these files are getting uploaded ??
    Waiting for the reply..
    Regards,
    Viren Gupta

    Hi Viren,
    Are you are refering to the below tutorial for upload and download:
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b0e10426-77ca-2910-7eb5-d7d8982cb83f?QuickLink=index&overridelayout=true
    If yes, then answer is that the file is stored in the context of the application only as "com.sap.ide.webdynpro.uielement-definitions.Resource" object. Please read through the tutorial to understand the full process.
    WD doesn't really upload to server automatically unless there is any explicit code written. All it does is to store the file in a temp context which you can access and write your own code to store it in a particular location.
    Regards,
    Mahesh

  • Help Required:How Upload Excel file Into Oracle Table Using PLSQL Procedure

    Please Help , Urgent Help Needed.
    Requirement is to Upload Excel file Into Oracle Table Using PLSQL Procedure/Package.
    Case's are :
    1. Excel File is On Users/ Client PC.
    2. Application is on Remote Server(Oracle Forms D2k).
    3. User Is Using Application Using Terminal Server LogIn.
    4. So If User Will Use to GET_FILE_NAME() function of D2K to Get Excel File , D2k Will Try to pick File from That Remote Server(Bcs User Logind from Terminal Server Option).
    5. Cannot Use Util_File Package Or Oracle Directory to Place That File on Server.
    6. we are Using Oracle 8.7
    So Need Some PL/SQL Package or Fuction/ Procedure to Upload Excel file on User's Pc to Oracle Table.
    Please Guide me wd some Code. or with Some Pl/SQL Package, or With SOme Hint. Or any Link ....
    Jus help to Sort This Issue ........
    you can also write me on :
    [email protected], [email protected]

    TEXT_IO is a PL/SQL package available only in Forms (you'll want to post in the Forms forum for more information). It is not available in a stored procedure in the database (where the equivalent package is UTL_FILE).
    If the Terminal Server machine and the database machine do not have access to the file system on the client machine, no application running on either machine will have access to the file. Barring exceptional setups (like the FTP server on the client machine), your applications are not going to have more access to the client machine than the operating system does.
    If you map the client drives from the Terminal Server box, there is the potential for your Forms application to access those files. If you want the files to be accessible to a stored procedure in the database, you'll need to move the files somewhere the database can access them.
    Justin

  • Uregnt - How to Load Flat File into BW-BPS using Web Browser

    Hello,
    We have followed the 'How to Load Flat File into BW-BPS using Web Browser' guide to build BSP web front-end to upload flat file.  Everything works great but we have a requirement to populate the Planning Area Variables based on BSP drop down list with values.  Does anyone know how to do this?  We have the BSP coded with drop down list all we need to do now is populate variables.  We can populate the variables through the planning level (hardcoded) but we need to populate them through the web interface.
    Thanks,
    Gary

    Hello Gary,
    We have acheived the desired result by not too a clean method but it works for us.
    What we have done is, we have the link to load file in a page where the variables can be input. The user would then have the option to choose the link to load a file for the layout in that page.
    By entering the variable values in the page, we are able to read the variables for the file input directly in the load program.
    Maybe this approach might help.
    Sunil

  • How to create a user in UME Database using web dynpro java custom application

    Hi,
    Can you please suggest me how to create a user in UME Database using web dynpro java custom application.
    My Requirement is user can register his/her user id in SAP Portal 7.3 UME database.
    Please suggest me.
    Thanks and Regards,
    Amit

    Hi Amit,
    Generated Documentation (Untitled)
    This is what you're looking for, there's no real cook-book -- though Amey mentioned there might be some material on SDN, perhaps some tutorials.
    You should be looking into com.sap.security.api.IUserFactory, methods newUser(String) which gives you and IUserMaint and commitUser(IUserMaint, IUserAccount) -- IUserAccount can be obtained using com.sap.security.api.IUserAccountFactory, method newUserAccount(String)
    Hope it helps,
    D.

  • How to set a variable in portal session using web dynpro java.

    Hi,
    I have created a web dynpro application, which is running inside portal. I have created a role called "R1". Inside role R1, i have created 3 workset W1, W2 and W3. and inside each workset i have some pages and iviews.
    My requirement is when user logins to the portal , and when he clicks on role R1 for the first time, a login page should come (so that we can do revalidation), and when he enters his password again in that login page , then only workset W1, W2 and W3 should be visible/accessible to him and after successful revalidation, if he clicks again on role R1, in that particular portal session, than that login page should not come.
    for this, i thought i will set a variable in portal session, whenever user successfully revalidated himself, and if after successful revalidation he clicks again on role R1, i will check in doinit method of webdynpro whether variable is set or not (which i already set on successful revalidation), and if it is set then i will do Donavigation else i will present login page to the user.
    Can anyone tells me how to set a variable in portal session using web dynpro java.
    thanks
    Arush

    Hi,
    Try this:
    WDScopeUtil.put(WDScopeType.CLIENTSESSION_SCOPE, key, value)
    WDScopeUtil.get(WDScopeType.CLIENTSESSION_SCOPE, key)
    Ex:
    WDScopeUtil.put(WDScopeType.CLIENTSESSION_SCOPE,"Key1","Value1");
    String value1=WDScopeUtil.get(WDScopeType.CLIENTSESSION_SCOPE,"Key1").toString();
    /people/william.cui/blog/2007/02/12/sharing-session-context-between-parent-and-external-windows-running-on-same-host
    Regards,
    Charan

  • How to implement Captcha using Web Dynpro Java

    Hi Experts,
    Can you please provide any information on CaptchaImplementation using Web Dynpro Java. We are using NWDS 7.01.
    Regards,
    Suvankar

    Hello Suvankar,
    maybe this blog will help. But haven't tryed it myself.
    http://scn.sap.com/blogs/balab/2006/09/25/bid-adieu-to-bots--using-captchas
    Regards,
    Tobi

  • Reusable objects using web dynpro java...any suggestions ?

    Hello All,
    I want to create few Reusable objects using web dynpro java. Please suggest some scenarios.
    regards
    Mrinalini.

    Hi,
    I can suggest especially this one:
    http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/30d56578-f7e5-2a10-5ab5-8afc55d2e0e8
    Some other hits you may find useful:
    This guide mentions some tutorials about reusability:
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/ba2db0e5-0601-0010-9790-e271902f2c38?quicklink=index&overridelayout=true
    Here
    Web Dynpro Java [original link is broken]
    and here
    SAP NetWeaver Composition Environment Samples Center [original link is broken]
    you'll find other tutorials as well.
    Best Regards,
    Ervin

  • Problem in completing the TASK when using Web Dynpro Java and BPM

    Hi,
    I am using Web Dynpro Java and BPM.
    i see my Web Dynpro View when i run the process.
    Just that the task is not completing.
    when i click on the Web Dynpro button to signal the completion of the event, nothing happens.
    i have appropriately created events in both Component controller and Interface Controller and used the same in creating the Task.
    a method in Component controller fires the event and a button click in the view calls this method.
    i have successfully completed Donka Dimitrova's "SAP Netweaver Business Process Management-End-to-End Process Implementation Sample " but when i tried my own with slight modifications, it is not working !!!
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/d07f3e88-554f-2b10-3cbf-ab8afea51b9f
    regards,
    -Amol Gupta

    Hi Amol,
    The way you described the things, I dont see any problems. Just to make sure that you are triggering the right event that you mapped as completion event for the task, try to cross check once again and see if the correct event is getting triggered. Also try to put some messages for debugging to see till where the control goes.
    Regards,
    Arafat

  • Create  PCD folder using web dynpro Java

    Hi All ,
    I would like to create pcd folder structure using web dynpro java
    i.e. My folder at top level and under this there will be iviews , roles , worksets  etc.
    Is it possible using WDJ ?
    I have checked the below link , but for folders I did not get anything.
    http://help.sap.com/saphelp_nw04/helpdata/en/44/6aaf92f5a23672e10000000a114a6b/frameset.htm
    Can you please help me ?
    Thanks,
    Sandip

    Hi,
    Please refer to the following document
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/508baf88-9335-2d10-efa6-c6ad61e5fc4b?quicklink=index&overridelayout=true
    The same can be implemented in webdynpro also.
    Regards,
    Raju Bonagiri
    Edited by: Raju Bonagiri on Sep 3, 2010 8:36 AM

  • Upload xml file from aplication server using read dataset, parser error.

    Hi,
    I would like to upload xml file from app. server but parser failed. If I upload this xml file from workstation (using ws_upload) it is correct. For uploading xml file from app. server I use open dataset... read dataset. In loop section I remove '#' char. How do You upload xml file from app server? What Could be incorrect.
    I try to open dataset in binary mode, text mode...
    TYPES: BEGIN OF xml_line,
            data(255) TYPE c,
          END OF xml_line.
    DATA: gt_xml_table TYPE TABLE OF xml_line,
          gs_xml_structure TYPE  xml_line,
          gv_xml_table_size TYPE i.
    OPEN DATASET s FOR INPUT IN BINARY MODE.
      IF sy-subrc <> 0.
        MESSAGE e001(zet) WITH '....'.
      ENDIF.
      DO.
        READ DATASET s INTO gs_xml_structure.
        IF sy-subrc <> 0.
          EXIT.
        ELSE.
         len = STRLEN( gs_xml_structure ).
         len = len - 1.
         check len > 0.
         WRITE gs_xml_structure(len) TO gs_xml_structure.
          APPEND gs_xml_structure TO gt_xml_table.
        ENDIF.
      ENDDO.

    You Can do this too
    parameters: p_file like rlgrap-filename.
    data: subrc like sy-subrc.
      create object me.
      REFRESH t_data.
    *  Open XML File
      CALL METHOD me->CREATE_WITH_FILE
        EXPORTING
          filename = p_file
        RECEIVING
          retcode  = subrc.
    * Saves Data in an itab from XML File.
      CALL METHOD me->get_data
        IMPORTING
          retcode    = subrc
        CHANGING
          dataobject = t_data[].
    Regards,
    Claudio.

Maybe you are looking for

  • One ID for apps and one id for match

    Hey Since I have my phone throug work I have a small problem. I use one work account (for buying apps for work) but I want to use my personal account for iTunes match. Is this possible, since I don't want my work to have to pay for my match and my mu

  • Will  an iPhoto slideshow with music work on all computers in China?

    I am making a promotional DVD for an education program in the US, and taking it to China to education fairs. If it is an iPhoto slideshow with music, will it work on all Chinese computers? I assume so, because since it is not video, I should not have

  • MacBook + 19" TFT DVI = Mouse problem

    Hi, I'd like to use my MacBook 2,16GHz (Mid 2007) with my external 19" TFT Dell Display. When connecting it via DVI it's almost impossible to use the MacBook trackpad or an external mouse. The mouse pointer reacts with a slight lag and then jumps, so

  • Adapter USB (type A) to RCA (red white yellow) what now?

    Hello All, My question to all of you is, I recently inherited a USB to RCA cable, I was hoping to plug it into one of the new digital tv's that has an extra auxiliary set of rca ports to video-mirror from my iBook to the digital TV... 1.1 Is there an

  • What is the best way to update a pre-CSS website to CSS compliance?

    I have been charged with maintaining a pre_CSS website. I would like to know the least time consuming method of updating the site to CSS compliance and eventually make it a dynamic site.