SAP DMS: Read document binary data stored in a 3rd party repository

Hi,
I'm totally new regarding SAP DMS and I'm a bit confused about what can or can't do, so maybe the question will be quite generic and unclear.
The scenario in my company is that we have multiple repository servers where we store our documents. When a document is created or modified in one of these repositories a new record is also created/modified in SAP DMS, but this DMS entry only contains the basic metadata information and a URL link to the document, not the content. When the user is in SAP DMS, the only way to access the document content, is via the link that will open the browser outside of SAP GUI and access the repository data using the laptop credentials.
I would like to know if DMS provides some kind of interface to be able to access the document content from SAP. Now we only have this unidirectional interface from the repository that creates the record in DMS with the metadata but there is nothing to retrieve the content.
Our main purpose is that we want to download all the files linked to a user (we have a logic to determine if a DMS file is linked to a user). The content of these files may be stored in different content repositories. So I would like to read the binary data in SAP from the different repositories and then be able to download it.
Thank you in advance for your help.
- Marçal

Hi Sagar,
This FM can't work since there is nothing configured in SAP to access to the file content. The DMS record only has a URL pointing to it.
Actually what I want to know is what do I have to configure in SAP in order to be able to use a FM like the one you mentioned.

Similar Messages

  • Reading the binary data from a http request received via socket connection.

    1. I require to extract the binary data out of a http multipart request,
    2. I have a server socket opened up, which can receive connections over tcp( and therefore http.)
    3. I will require to read the stream, find out the "request boundary identifier", and then extract the different "request body parts".
    4. From there i need to read all of the binary content and put it in a file.
    5. I did some implementation to his effect. but i see that the file that i had uploaded initially if its not a text file, gets corrupted.
    can you please let me know why is that happening, and a probable solution approach.
    please find below the class (with a main method) I have been using to expose a server socket.
    package self.services;
    import java.io.BufferedReader;
    import java.io.ByteArrayOutputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.io.PrintWriter;
    import java.net.ServerSocket;
    import java.net.Socket;
    public class FileServer {
         public static void main(String[] args) throws Exception {
              ServerSocket serverSocket = new ServerSocket(9999);
              String FOLDER_NAME = "uploaded_files";
              while(true) {     
                   try{
                        Socket socket = serverSocket.accept();
                        InputStream is = socket.getInputStream();
                        ByteArrayOutputStream baos = new ByteArrayOutputStream();
                        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
                        String currentLine;
                        int cnt = 0;
                        boolean postRequest = false;
                        String dataBoundary = null;
                        String fileName = null;
                        String yourName = null;
                        while((currentLine = reader.readLine()) != null) {
                             if(currentLine.contains("POST")) {
                                  postRequest = true;
                                  System.out.println("POST REQ AS EXPECTED VERY NICE");
                                  continue;
                             if(!postRequest) {
                                  System.out.println("NO POST REQ THIS BREAKING FLOW");
                                  break;
                             } else {
                                  if(currentLine.contains("Content-Type: multipart/form-data; boundary=")) {
                                       System.out.println("found a boundary value header");
                                       dataBoundary = currentLine.substring((currentLine.indexOf("boundary=") + "boundary=".length()), (currentLine.length() -1));
                                       System.out.println("boundary value = ".concat(dataBoundary));
                                       continue;
                                  if(dataBoundary != null && currentLine.contains(dataBoundary)) {
                                       cnt++;
                                  if(cnt == 1) {
                                       //move 3 lines
                                       if(currentLine.contains("Content-Disposition: form-data; name=\"yourName\"")){
                                            reader.readLine();//skip a line
                                       System.out.println("Your name = ".concat(yourName = reader.readLine()));
                                       continue;
                                  } else if(cnt == 2) {
                                       if(currentLine.contains("Content-Disposition: form-data; name=\"sentFile\"; filename=\"")){
                                            fileName = currentLine.substring(currentLine.indexOf("filename=") + "filename=".length() + 1, currentLine.length() - 1);
                                            System.out.println("File Name = ".concat(fileName));
                                            reader.readLine();//skip a line , this would depict a content type header
                                            reader.readLine();//skip a line, this would indicate a blank line to mark the start of data.
                                            continue;
                                       } else {
                                            // write the content to os
                                            if(currentLine != null && !currentLine.contains(dataBoundary)) {
                                                 baos.write(currentLine.concat("\r").getBytes());
                                  } else if( cnt == 3) {
                                       System.out.println(("cnt [" + cnt).concat( "], current line [").concat(currentLine).concat("]"));
                                       break;
                        if(fileName == null ||yourName == null) {
                             System.out.println("FileServer.main() dont bother about this" );
                        } else {
                             //send a response back
                             PrintWriter pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
                             pw.write(responseMessage(yourName, fileName));
                             pw.flush();
                             //close output stream
                             pw.close();
                             //handle the request bytearray.
                             FileOutputStream fos = new FileOutputStream(FOLDER_NAME + "/" + fileName);
                             fos.write(baos.toByteArray(), 0, baos.toByteArray().length - 1);
                             fos.close();
                        //close input stream
                        reader.close();
                        socket.close();
                        baos.close();
                   } catch(Exception ex) {
                        ex.printStackTrace();
         public static String responseMessage(String yourName, String fileName) {
              String response =
                   "<HTML>" .concat(
                   "<BODY>") .concat(
                   "<P>" ).concat(
                   "Mr. <FONT color=\"red\">") .concat( yourName).concat("</FONT>. Your file named <B>").concat( fileName).concat( "</B> successfully reached us." ).concat(
                   "</P>") .concat(
                   "</BODY>").concat(
                   "</HTML>");
              return response;
    }{code}
    Here is a sample html file which can be used to send multipart requests to the java service.
    <html>
         <body>
              <form action="http://localhost:9999" enctype="multipart/form-data" method="POST">
                   Enter name :<br/>
                   <input type="text" name="yourName"/>
                   Enter file :<br/>
                   <input type="file" name="sentFile"/>
                   <br/>
                   <input type="submit" value="Submit"/>
              </form>
         </body>
    </html>
    *Both the form elements are mandatory*
    *I hope my requirement is clear. Any help regarding this will be highly appreciated.*
    Regards.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    MishraC wrote:
    1. I require to extract the binary data out of a http multipart request,
    2. I have a server socket opened up, which can receive connections over tcp( and therefore http.)
    3. I will require to read the stream, find out the "request boundary identifier", and then extract the different "request body parts".
    4. From there i need to read all of the binary content and put it in a file.
    5. I did some implementation to his effect. but
    i see that the file that i had uploaded initially if its not a text file, gets corrupted.
    can you please let me know why is that happening,Because you are using a Reader (which translates bytes to chars according to the charset encoding specified).
    and a probable solution approach. Use a BufferedInputStream.

  • SAP DMS - HR documents

    We have a reuqirement of uploading employee photos thru CV01n into dms and display these photos in PA30 . How it can be achieved?
    Thanks,
    Ravindra

    Hi,
    Using DMS You can display link to DMS in PA 30 by developing a screen .
    But if client is insisting to get display of employee photo graph seems impossible using std DMS. may be some 3rd party software needs to be used.
    However, here is some interesting stuff, http://www.sap-img.com/human/how-to-upload-employee-photo.htm
    Check if it is useful for you.
    Nitin

  • Store documents in 3rd party repository

    Hello. Is anyone familiar w/ storing documents (text, pdf, etc.) in a Filenet repository? Currently we have users storing docs in the ecc database (oracle). Since our company already has Filenet for other (non-SAP) document management I thought I could somehow configure SAP to store the docs/images there. I see Filenet has some connector product (one for imaging and one for documents) so does that mean I cannot do myself? That I need a license (and extra cost) for the Filenet connector? Was hoping I could do something without a 3rd party product? Any info on how to get started configuring (or even get started with a DMS ) would be greatly appreciated. Thanks in advance and have a nice day.

    I have created a new Repository entry ZDMS and a new entry in tcode OACT... i am  still getting an error...
    here is the error
         Input values must be defined in Table TOAOM. The value or values 'ZED ' are not specified in this table.
    When the users are in the CV01N transaction they type a new name for the document and then the document type in ZED is chosen in the pull down.
    I am familiar with the data in TOAOM for archivelink... I create an OAC0 entry and then an OAC2 entry and then update the OAC3 entry (which is the TOAOM data).... I am not sure which SAP_OBJECT and AR_OBJECT is being used in the CV01N transaction.
    In OAC2 I can create ZED if needed with the document class *dwg? 
    where is documentation to explain the other steps needed?
    thanks for your time.

  • Extraction of data from ECC to 3rd Party systems

    Hi All,
    I want to know all the options available for extracting data from ECC to a 3rd party system (custom datawarehouse like Teradata, hyperion etc). Also, I want know if there is a best practice documentation available for extraction of data from ECC to any 3rd party system?
    Thanks,
    SB.

    Hi SB,
    Check the following link
    http://expertisesapbi.blogspot.com/2010/06/how-to-transfer-data-from-sap-system-to.html
    Ranganath.

  • Creation of master data info object- data coming form a 3rd party system

    Hi All
    i need to create a master data info - object  which connects the customer and the corresponding plant..actually thios data is coming from a third party system and they have maintained 2 tables one for customer and one for the plant details and these 2 tables are connected through some common id which populates unquie id for each customer and is maintained in the plant table with the same id...now both these tables have to be merged together and to be cretaed as a single info object..can any one suggest  me as to how to proceed with it.
    Regards
    Shilpa

    Hi,
    Create a Z-InfoObject with the same format as is used in your 3rd party system for the commonid.
    Add Customer and Plant as navigational Attributes.
    Create an infosource with these three fields.
    Unload (in a CSV-file) the commonid with customer and plant from your 3rd party system.
    Load these data to BI into your newly created Z-commonid InfoObject.
    Success,
    Udo

  • Netweaver Mobile 7.1 Data Orchestration Engine and 3rd party apps...

    Folks,
    I have a third party mobile app that just won't go away (pun intended).
    I will have a XMAM AND a 3rd Party App on 1 mobile device x's 1000's of devices.
    Can I use Netweaver 7.1 DOE to synchronize my devices 3rd party app? I will have to develop new Business Objects of course.
    CP

    Hi Christopher,
    you can use Netweaver Mobile 7.1 to download and deploy so-called mobile components. These mobile components will be always installed into the NW client container. In principle it is possible to create "client installers" which allows you writing a xml script containing installation commands. But as far as I know these commands are restricted to things like copying, deleting, file modification etc. Instaling a CAB-file for example will not be possible. And I guess this is what you are looking for, right?
    In case, you want to deploy 3rd party apps written for Netweaver Mobile 7.1, deployment is definitely possible. You will create your app as mobile components containing business logic, data objects and UI in the designtime. These components you can remotely deploy through the DOE.
    I hope this answer is helpfull for you. In case you have more questions, let me know.
    Regards,
    Stefan

  • Accessing a .csv file in vi while the data is written by 3rd party java applicaito​n

    Hi
    I have a requirement like below explained.
    A java applicaiton reads data from hardware and writes in a .csv file. This java applicaiton is triggered by a button click in Labview VI.
        --> cmd window   -- cmd /C java Client n
    the data will be read from hardware and written to the file per every second.
    In the labview vi, we are reading the .csv file simultaneously and plotting the graph. 
    The above operations need to happen simultaneously. 
    When we tried this, we are geeting the "File Not Found Excpetion(the file is used by other process) in java application.
    Can anyone help me why this might be happening in Labview. I tried this with a "c" applicaiton instead of Labview and it is working fine.
    Problem observed only with labivew.
    Regards
    Kris

    Naah, I said, that will never work.  But to my shock and (pleasant) surprise, it does!  Here is a snippet of a little routine I cobbled together using LabVIEW for both the Writer and the Reader.
    The Writer is on top.  It creates a Temp.txt file on my Temp directory, deletes it if it is already there, then opens it for writing.  There's a boolean "Done" flag that tells me when the Writer finishes, so I clear it before entering the Writing Loop.  Here, every half-second, I write the sequential numbers 0 .. 9, with a New Line to create a Text File of Lines.  When I'm finished, I close the file.
    Below this is the Reader Loop, designed to start after the Writer Loop has opened (and created) the file.  Here we open the same file in Read-Only mode.  The Reader Loop also goes 10 times (I could have built in a Stop condition, but this is only a Proof-of-Concept).  The loop is initialized with the current File Position (0) in a Shift Register.  The inner While Loop is a "Wait for Data to Appear", a loop which checks 10 times a second to see if the File Position has changed, exiting when it does (meaning the Writer has Written Something).  It then reads a line from the File (the Read Text function has its "Read Lines" property set) and displays it.
    When you run this, you will see the Reader's output, Line, count up, 0 .. 9, and then the program stops with no errors.  What fun!
    Bob Schor

  • Writing binary data to ASP file from applet through URLConnection

    Hi Everybody,
    I am facing a proble with HttpURLConnection.I want to write some binary data from applet to an ASP file.The other end ASP file read this binary data and process , Here problem is I have opened URLConnection to the page and Created OutputStream and writing byte by Write() method But other end we are not getting bytes...we are not getting error too at java side..can any body help me..do we need to set any property to URLConnection...here I am giving sample code...
    OutputStream os;
    URL uConnect2;
    HttpURLConnection hucConnect2;
    uConnect2= new URL("http://webserver/vnc/sendtoserver.asp?"); hucConnect2=(HttpURLConnection)uConnect2.openConnection();
    hucConnect2.setDoOutput(true);
    hucConnect2.setRequestMethod("POST")
    os=new DataOutputStream(hucConnect2.getOutputStream());
    os.writeBytes("Hello");
    Thanks in Advance
    Madhav

    Do you remember to flush() and close() the stream?

  • Sending Binary data using ASCII

    Hello All,
    I'm trying to control serial-interface instrument using NI-VISA with a set of ASCII codes, but the instrument reads/sends binary data only. What should I do so that the ASCII codes I send are converted into binary commands for the instrument to read, and that the data I receive is converted back into ASCII?
    Thanks in advance
    M

    Hi M,
    first you should define the words "binary commands/data". Then you should know: ASCII is binary too...
    You may work with an U8 array. You can easily convert strings to U8 arrays and vice-versa!
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • How to return binary data from a servlet?

    This is my problem:
    I have a table (generated from a database), and I would like the user to be able to select a one of the items in the table. When the user clicks the link I would like to transfer a piece of binary data stored in my database.
    I am quite new to Creator and web apps, so I don't really know the best solution to implement this. I have one requirement: I must log the file transfer in the database (the web-servers log is not good enough...)
    Any help would really be appreciated...
    Trond

    Hi Trond,
    Please have a look at the following thread.
    http://swforum.sun.com/jive/thread.jspa?forumID=123&threadID=46410
    It discusses how to display an image stored in the database table. This discussion may provide you with useful information.
    Hope this helps
    Cheers
    Giri :-)
    Creator Team

  • Which class is better for readin binary data?

    Recently I have faced a problem of choosing a proper class from java.io package (my goal is to use standard java.io package). So I had to find an alias of BufferedReader but designed specifically for reading raw binary data. I wonder what could you advice me on that?

    You haven't really supplied enough information about what you're reading to know whether this approach is good or not. The DataInputStream is exactly what you want if the binary file was created using a DataOutputStream, but if not, then it's probably not going to work.
    If you try it and it works, then great. If it doesn't work, then post more details about what kind of file you're trying to read and what you're trying to do with it.

  • FM req to read the text data of the Delivery(TCode-VL02n) In MM

    Hi
    Plz tell me the way to read the text data stored in the TAB->TEXT in the TCODE-VL02n for outbound delivery in MM.
    I need the WMT Quanity filed name & its respective table,plz tell me if any one know or if exots there an FM to fetch this data.
    Regds

    Try it like this:
          call function 'READ_TEXT'
            exporting
              id              = '0001'       "<------This will change for type of text
              language        = sy-langu
              name            = tdname
              object          = 'VBBK'
            importing
              header          = xthead
            tables
              lines           = tlinetab
            exceptions
              id              = 01
              language        = 02
              name            = 03
              not_found       = 04
              object          = 05
              reference_check = 06.
    Also, read the documentation that comes with this function module.
    Cheers,
    Sougata.

  • Some binary data recoreded by labview cannot open by other program

    I have got some binary data which is recorded by a labview program. When I use some other program to open it (e.g. matlab, notepad, MS excel), it become some strange character, but when I use another labview retrieval program to open it, there is no problem. What happen?
    The original data is 32 bit data sets which are separated by a <CRLF>.
    The recording program (HS-Acquis.llb), the retrieval program (Advanced Viewer.llb), original data file (C1010710.480245) and the data file after retrieval (C1010710.480245.txt) was attached
    phy_mechanic
    Attachments:
    attachment.zip ‏1279 KB

    The data seems like it can only be read by LabVIEW because LabVIEW is set up to properly read the binary data and it is simple for a user to do.
    For matlab to read the data, it will have to be properly configured.
    FOPEN     -     Open a file
    FREAD     -     Binary file read
    FWRITE   -     Binary file write
    FTELL      -     Return the current file position
    FSEEK     -     Set file position indicator
    FCLOSE   -     Close a file
    An example is given from http://www.mathworks.com/support/tech-notes/1400/1​403.htm:
    %This m-file is a short example of how to read and write a binary file
    %in MATLAB using low level routines
    %write file
    fid = fopen('square_mat.bin','wb') %open file in binary write mode
    fwrite(fid, 'This is a square matrix', 'char'); %insert a header
    fwrite(fid, [1 2 3; 4 5 6; 7 8 9]', 'int32'); %write data to file
    fclose(fid); %close file
    %read in the same file
    fid = fopen('square_mat.bin','rb') %open file
    bintitle = fread(fid, 23, 'char'); %read in the header
    title = char(bintitle')
    data = fread(fid, [3 inf], 'int32') %read in the data
    data_tranpose = data' %must transpose data after reading in
    fclose(fid) %close file
     As you can see, the data type, size, array size, etc. has to be explicitly defined. In addition, as Dennis alluded to, LabVIEW stores binary data in Big-Endian format, wheras most windows applications use little endian. I assume matlab is one of those applications...but I am not a huge matlab developer. Google may have more information on that. You can use a typecast in matlab to convert big to little and little to big, however, so that may be a great place to start. Please see http://www.mathworks.com/access/helpdesk/help/tech​doc/ref/typecast.html
    Of course, our wonderful applications engineers at National Instruments have already done the above work for you and developed Knowledgebase 11SF83W0: How do I Transfer Data Between The MathWorks, Inc. MATLAB® Software Developm...which is easily searchable from ni.com knowledgebase category using 'matlab binary'
    Rob K
    Measurements Mechanical Engineer (C-Series, USB X-Series)
    National Instruments
    CompactRIO Developers Guide
    CompactRIO Out of the Box Video

  • Does SAP DMS support OCR?

    Dear All
    Does SAP DMS supports OCR or there is need of third party tool like open text.
    Thanx
    Omer Humayun

    SAP DMS does not directly support OCR but there are several 3rd party tools available for this purpose Open text, ReadSoft, Kofax etc.
    hope this helps.
    regards
    N K

Maybe you are looking for

  • Adobe X Standard Crashes Randomly while Scanning

    Good Morning, I am an IT company for a local Accounting firm and they use Adobe to scan small and large documents for archival and sorting reasons. We recently upgraded their machines to Windows 7 x64 and they are having issues with adobe crashing ra

  • My Ipod touch Model A1367 stopped working. Just went blank

    My Ipod touch Model A1367 just went black. It will not turn back on or reset. Any suggestions?

  • PO Agent Determination

    Hi Workflowers! I would like to know 2 things: 1. Is there a standard rule for agent determination for Purchase Orders? I know the standard workflow is WS20000075, but how does it determine the Agent who is supposed to receive mail reminding them to 

  • Problem connecting weblogic OSB with IBM websphere via foreign JMS

    Hi All, I am trying to setup Foreign JMS. My configuration doesn't work. Could you please let me know if I am missing anything . All my configuration details are done as specified in this link http://www.oracle.com/technology/products/integration/ser

  • JZ0R2 -- No result set for this query

    hi, I'm using this code to update records in the database: facsk = myArray[ctr]; query = 'excute dp_autogeo_accept" + facsk; stmt.executeQuery(query); No records are returned so I'm not sending anything to a result set or trying to read the next stri