Bi publisher repository via api

Hi,
using BI Publisher 10.1.3.4.0, I have 4 reports that are basically the same but each one is getting data from different database,
is it possible to create only one report and then dynamically call it and send database connection through url, also is it possible to send username & password for protected reports through url.

There has been some succes in what I'm trying to accomplish,
when I create Report in BI Publisher only two files are created (can be found on server) .xdo and .rtf. So I've manually downloaded them and I'm able to extract sql query & params from .xdo file run it throught data processor with desired jdbc connection (which is the most important thing for me) to create .xml file, then I run .rtf through rtf processor to get .xsl, and finally I use fo processor to create report from .xml and .xsl and everything works as expected.
Now the only thing that I don't know is how to access the files on server through api, there's nothing in documentation regarding this, I don't want to use web services bpel wsdl or anything similar, I just want to be able to download them from my app.
Ok just to sum up, I need to manage following somehow:
FileInputStream fiS = new FileInputStream("http://ias.test.hr:7787/xmlpserver/~administrator/TEST/Z/Z.rtf");
RTFProcessor rtfP = new RTFProcessor(fiS);
or
InputStream input = new FileInputStream(new File("http://ias.test.hr:7787/xmlpserver/~administrator/TEST/Z/Z.xdo"));
I think this is not possible since I should be passing username & password, so just to make sure, is it anyhow possible to get to bi publisher repository via api or not.
If anyone has any suggestions or advices I would be very thankful,
thanks in advance,
Tomislav.

Similar Messages

  • Locally publish detectoids via API

    Hi all,
    I'm trying to publish my own detectoids by using Wsus API. I'm trying for several months now, without success.
    Even, if I use the MSDN's example (http://msdn.microsoft.com/en-us/library/bb902474(v=vs.85).aspx). The Publish() method didn't throw any exception. But if I try to publish an update
    that declare this detectoid as a prerequisite, then an exception is throw, saying that the prerequisite has not been published yet.
    I have, also, try to publish some detectoids from Manafacturer's Catalog (DELL), whitout success.
    Does anyone already succeed with detectoids publication ? If so, please contact me.
    David COURTEL
    IT Technician
    Wsus Third-Party Softwares Publishing :
    http://wsuspackagepublisher.codeplex.com

    Hi Lawrence, thanks for your reply.
    * I don't know of anybody who uses detectoids : Dell's Catalog makes an extensive use of detectoids.:
    But, you are right, I never seen detectoids anywhere else :-)
    * There's a metadata attribute UpdateType that takes one of three values {Software | Driver | Detectoid }. Did that value get specified correctly in the detectoid you published? :
    Yes, this property is properly set in the SDP that DELL have made.
    * Also I note that SchemaVersion must be set to 1.2 : I have try with 1.1 and 1.2. Because in the article you mentioned it is clearly said that Schema Version must be set to "1.2", but in this MSDN article
    Detectoid Example , the given example use schema version "1.1" :-)
    Those Catalogs are used to publish drivers/bios/firmwares updates into Wsus via SCUP and SCCM. So it should be possible to do it with Wsus API.
    SolarWinds Patch Manager does not use Detectoids?
    David COURTEL
    IT Technician
    Wsus Third-Party Softwares Publishing :
    http://wsuspackagepublisher.codeplex.com

  • How to populate Values in Value Set via API or Interface

    Dear frds:
    i need to know is there any API or interface available to load thousands of values in particular valueset via API or Interface. I know Dataload is the alternative but i don't want to use that as the data is too much so its not feasible.
    waiting for your response
    Thanks.

    There is no API for fnd_flex_values.
    You will have to do a direct table insert (or call FND_FLEX_VALUES_PKG which does nothing but a direct table insert).
    Sandeep Gandhi

  • Run XML Publisher Report  via URL (like Oracle Reports)

    Hi All,
    Is it possible to run xml-publisher report via URL?
    In Oracle Reports works this fine:
    http://test:7777/reports/rwservlet?server=test_bihome1&report=test1.rdf&userid=test/testv@db&desformat=pdf&destype=cache
    We need this for public reports without user login.
    Thanks
    Thomas

    Thomas,
    I was waiting to get home before Tim replied... He got the better of me this time :-)
    You say you want to let your users run reports using XMLP just by clicking on an URL same way you do with reports and without having to login. If I got the question right and assuming that:
    1.Your company is not overly concerned on who runs what reports
    2.Who sees what data
    3.Your XMLP installation is on your intranet and firewalled from the outside
    What you can do is:
    On the main page of your XMLP Enterprise installation you should see a folder called "Guest". Any report you create under this folder is run as user "guest" which means you don't have to authenticate yourself as you would normally do.
    I have tested this on my home server and this is what I've done:
    1.Logged in as admin or any other user you've created with admin privileges created a report under the "Guest" folder.
    2.Copied the URL, on my server it is "http://samba.private.net:15101/xmlpserver/Guest/People/People.xdo"
    4.Logged off as admin and pasted the URL to a new browser window
    5.Hit return and Voila, my report runs without the need to login to XMLP.
    Hope this helps. Let us know how you got on.
    Cheers,
    Joao
    PS: If you want to see the report for yourself here's the URL from the outside: http://medeiros.homelinux.net:15101/xmlpserver/Guest/People/People.xdo
    I'll keep the link alive for a couple of days.

  • Error while loading the runtime repository via HTTP

    Hi Experts,
    I am trying to delete an enhancement and when I enter the component name and the enhancement set in BSP_WD_CMPWB. I get the following error when right click the enhanced view and select delete : Error while loading the runtime repository via HTTP. How do I delete this enhancement?
    Regards
    Abdullah Ismail.

    if for some reason the runtime repository is not coherent, you get an error each time you try to read it (and this is the case when you open a component using the transaction BSP_WD_CMPWB)
    this is because the XML file is interpreted by a CALL TRANSFORMATION statement, and any incorrect node will raise an uncaught exception
    solution:
    enhanced view is contained into BSP application you have created the first time you enhanced the component
    go to SE80 and enter the BSP application where your objects are stored (the name you provided the first time)
    there you can modify directly the objects, including the runtime repository which is stored under node "Pages with flow Logic"
    once the correction is done, you can access again your component through transaction BSP_WD_CMPWB (and delete it properly if this is what you want to do)

  • Supplying username and password to repository via code

    Hi There,
    Is there a way to supply the username and password to the webdav repository via code or in the address line? We have an ActiveX object accessing files and would like to avoid the repository prompting.
    Thanks

    With Script I can do it as follows.. See VerifyConnection
    Option Explicit
    Const iTimeOutInSecs = 60
    Const ForWriting = 2
    Rem ************** MAIN *****************
    main
    Wscript.quit
    Sub Main
      Dim WShell, FileSystem
      Dim davControl
      Dim objArgs, targetPath, serverURL, username, password, rootFolder, filter
      Dim fileUploadList, result
      Dim folderList, filelist
      Dim status
      Dim spoolFile
      Set wShell     = WScript.CreateObject("WScript.Shell")
      Set fileSystem = WScript.CreateObject("Scripting.FileSystemObject")
      Set spoolFile = fileSystem.OpenTextFile("httpUploadLoad.log", ForWriting, True)
      Set objArgs = WScript.Arguments
      targetPath  = objArgs(0)
      serverUrl   = objArgs(1)
      username    = objArgs(2)
      password    = objArgs(3)
      rootFolder  = objArgs(4)
      If objArgs.length = 6 Then
        filter    = objArgs(5)
      Else
        filter = Empty
      End If
      Set fileUploadList = CreateObject("Msxml2.DOMDocument.4.0")
      fileUploadList.async = False
      result = fileUploadList.load(targetPath)
      If (result = False) Then
        MsgBox "Failure while loading or parsing file : " & targetPath,vbCritical
        Wscript.quit
      End If
      Set davControl = new DavControlClass
      davControl.setServer serverURL, username, password
      davControl.setSpoofile(spoolfile)
      status = verifyHttpConnection(davControl, username)
      Set folderList =  fileUploadList.documentElement.selectNodes("/Upload/directories/directory")
      createFolders davControl, rootFolder, folderList, username, password, filter
      Set fileList =  fileUploadList.documentElement.selectNodes("/Upload/files/file")
      uploadFiles davControl, rootFolder, fileList, username, password, filter
      spoolfile.close()
    End Sub
    Function verifyHttpConnection(davControl,username)
      Dim status, targetFolder
      targetFolder = "/home/" & username
      status = davControl.verifyConnection(targetFolder)
      verifyHttpConnection = status
    End Function
    Sub createFolders(davControl, rootFolder, folderList, username, password, filter)
      Dim i, targetFolder, targetFolderPath
      For i = 0 to folderList.length - 1
        Set targetFolder = folderList.item(i)
        targetFolderPath = rootFolder & targetFolder.text
        If IsNull(filter) or (InStr(targetFolder.text,filter) = 1) Then
          'wscript.echo "Making " & targetFolderPath
          davControl.makeDir targetFolderPath,true
        End If
      Next
    End Sub
    Sub uploadFiles(davControl, rootFolder, fileList, username, password, filter)
      Dim i, targetFile, targetFilename, localFilename
      For i = 0 to fileList.length - 1
        Set targetFile = fileList.item(i)
        targetFilename = rootFolder & targetFile.text
        localFilename = Right(replace(targetFile.text,"/","\"),Len(targetFile.text)-1)
        If IsNull(filter) or (InStr(targetFile.text,filter) = 1) Then
          'wscript.echo "Uploading " &localFilename & " as " & targetFilename
          davControl.uploadFile localFIlename, targetFileName, "FORCE"
        End If
      Next
    End Sub
    Class DavControlClass
      Private HTTPUser
      Private HTTPPassword
      Private HTTPServer
      Private installParameters
      Private windowsShell
      Private XMLHTTP_CLASS_ID
      Private HttpObject
      Private spoolFile
      Dim     folderStatusList
      Private Sub Class_Initialize()
        XMLHTTP_CLASS_ID = "Msxml2.XMLHTTP.6.0"
        Set HttpObject = CreateObject(XMLHTTP_CLASS_ID)
        folderStatusList = Empty
      End Sub  
      Public Sub setSpoofile(file)
        Set spoolFile = file
      End Sub
      Public Sub setParameters(wshell, params)
        Set installParameters = params
        Set windowsShell = wShell
        setServer params.getServerURL(), params.getUser(), params.getPassword()
      End Sub
      Public Sub setServer(serverURL,serverUser,serverPassword)
        HTTPServer   = serverURL
        HTTPUser     = serverUser
        HTTPPassword = serverPassword
      End Sub
      Public Function getServerURL
        getServerURL= HTTPServer
      End Function       
      Public Function verifyConnection(target)
        On Error Resume Next
        HttpObject.Open "HEAD", HTTPServer & target, false, HTTPUser, HTTPPassword
        If Err.Number <> 0 Then
          WScript.echo "verifyConnection() - Fatal Error encountered accessing : " & HTTPServer & target & ". Status (" & Hex(Err.number)  & ") " & Err.Description
          Wscript.quit         
        End If
        On Error GoTo 0 
        HttpObject.setRequestHeader "Content-type", "text/xml"
        HttpObject.setRequestHeader "Depth", "1"
        On Error Resume Next
        HttpObject.send ("")
        If Err.Number <> 0 Then
          WScript.echo "resetConnection() - Fatal Error encountered accessing : " & HTTPServer & target & ". Status (" & Hex(Err.number)  & ") " & Err.Description
          Wscript.quit         
        End If
        On Error GoTo 0 
        If HTTPObject.status <> 200 Then
          MsgBox "Unable to access " & getServerURL() & target & ". HTTP Status = " & HTTPObject.status & ". Please correct installParameters.xml and restart Installation",vbCritical
          Wscript.quit
        End If
        spoolfile.writeline "HTTP Successfully Connected to '" & getServerURL() & target
        verifyConnection = HTTPObject.status
      End Function
      Public Function uploadFile (local, remote, mode)
        Dim returnCode, rc
        returnCode = doHead(remote)
        If returnCode = 401 Then
          MsgBox "uploadFile() - Unauthorized (Status (" & returnCode & "). Unable to upload '" & local & "' into '" & remote & "'.  Please check installParameters.xml and log files.",vbCritical
          Wscript.quit         
        End If
        If returnCode = 200 Then
          If mode = "ERROR" Then
            MsgBox "uploadFile() - Installation Failed. Resource Exists : '" & remote & "'. Please check installParameters.xml and restart Installation",vbCritical
            Wscript.quit
          End If
          If mode = "SKIP" Then
            uploadFile = returnCode
            Exit Function
          End If
          If mode = "FORCE" Then
            rc = doDelete(remote)
          End If
        End If
        uploadFile = doPut (local, remote, null)
        If uploadFile = 500 Then
          MsgBox "UploadFile() - Upload Failed (Status (" & uploadFile & "). Unable to upload '" & local & "' into '" & remote & "'.  Retry in Progress.",vbCritical
          uploadFile = doPut (local, remote, null, user, password)
          If uploadFile = 500 Then
            MsgBox "UploadFile() -  Installation Failed (Status (" & uploadFile & "). Unable to upload '" & local & "' into '" & remote & "'.  Please check installParameters.xml and log files.",vbCritical
            Wscript.quit         
          End If
        End If
        If uploadFile = 401 Then
          MsgBox "UploadFile() - Unauthorized (Status (" & uploadFile & "). Unable to upload '" & local & "' into '" & remote & "'.  Please check installParameters.xml and log files.",vbCritical
          Wscript.quit         
        End If
      End Function
      Public Function makeDir(targetFolder,force)
        Dim Status, ParentFolder
        status = doHEAD(targetFolder)
        If not IsEmpty(folderStatusList) Then
          folderStatusList.add targetFolder, status
        End If
        If (status = 404 or status = 409) and force Then
          parentFolder = Mid(targetFolder,1,InStrRev(targetFolder,"/")-1)
          makeDir parentFolder,true
          status = doMKCOL(targetFolder)
        End If
        makeDir = status   
        If status = 401 Then
          MsgBox "doMKCOL() - Unauthorized (Status (" & status & "). Unable to create '" & targetFolder & "'.  Please check installParameters.xml and log files.",vbCritical
          Wscript.quit         
        End If
      End Function
      Public Function doHEAD(remote)
        ' Dim HttpObject
        ' Set HttpObject = CreateObject(XMLHTTP_CLASS_ID)
        ' HttpObject.Open "HEAD", HTTPServer & remote, false, user, password
        HttpObject.Open "HEAD", HTTPServer & remote, false
        HttpObject.setRequestHeader "Content-type", "text/xml"
        HttpObject.setRequestHeader "Depth", "1"
        On Error Resume Next
        HttpObject.send ("")
        If Err.Number <> 0 Then
          WScript.echo "doHEAD() - Fatal Error encountered accessing : " & HTTPServer & remote & ". Status (" & Hex(Err.number)  & ") " & Err.Description
          Wscript.quit         
        End If
        On Error GoTo 0 
        doHead = HttpObject.status
      End Function
      Public Function doPUT(local,remote,contentType)
        Dim tmStart
        Dim tmCurr
        Dim iTimeTaken
        Dim currentStatus
        Dim ado_stream
        Dim uploadCount, uploadStatus
        Set ado_stream = CreateObject("ADODB.Stream")
        ado_stream.Type = 1
        ado_stream.Open()
        On Error Resume Next
        ado_stream.LoadFromFile(local)
        If Err.Number <> 0 Then
          WScript.echo "doPUT() - Fatal Error encountered reading File : " & local & ". Status (" & Hex(Err.number)  & ") " & Err.Description
          Wscript.quit         
        End If
        On Error GoTo 0 
        HttpObject.Open "PUT", HTTPServer & remote, false
        If not IsNull(contentType) Then
          HttpObject.setRequestHeader "Content-type", contentType
        End If
        tmStart = Now
        On Error Resume Next
        HTTPObject.send(ado_stream.Read(-1))
        If Err.number <> 0 Then
          '  Unexpected errors can occur as a result of the HTTP request being passed to wrong database instance
          '  when multiple databases are using the same listener.
          WScript.echo "doPUT() - Fatal Error encountered uploading File : " & local & ". Status (" & Hex(Err.number)  & ") " & Err.Description
          WScript.quit
       Else
          currentStatus = HTTPObject.status
        End If
        On Error GoTo 0 
        uploadCount = 1
        uploadStatus = doHead(remote)
        Do While uploadStatus <> 200 and uploadCount < 6
          '  Unexpected errors can occur as a result of the HTTP request being passed to wrong database instance
          '  when multiple databases are using the same listener.
          spoolfile.writeline "Http Error encountered uploading " & local & " to " & HTTPServer & remote &". Status=" & currentStatus
          currentStatus = retryPUT(local,remote,contentType)
          uploadCount = uploadCount + 1
          uploadStatus = doHead(remote)
        Loop
        If uploadStatus = 200 Then
          tmCurr = Now
          spoolFile.writeLine "Uploaded File " & local & ". Elapsed Time = " & CInt(DateDiff("s", tmStart, tmCurr)) & " seconds."
        Else
          WScript.echo "doPUT - Fatal Error uploading file (" & HTTPServer & remote & ") : Status=" & HTTPObject.status
          WScript.quit
        End If
        doPut = currentStatus
        ado_stream.Close()
      End Function
      Public Function retryPUT(local,remote,contentType)
        Dim ado_stream
        Set ado_stream = CreateObject("ADODB.Stream")
        ado_stream.Type = 1
        ado_stream.Open()
        On Error Resume Next
        ado_stream.LoadFromFile(local)
        If Err.number <> 0 Then
          WScript.echo "doPUT() - Fatal Error encountered reading File : " & local & ". Status (" & Hex(Err.number)  & ") " & Err.Description
          Wscript.quit         
        End If
        On Error GoTo 0 
        HttpObject.Open "PUT", HTTPServer & remote, true
        If not IsNull(contentType) Then
          HttpObject.setRequestHeader "Content-type", contentType
        End If
        On Error Resume Next
        HTTPObject.send(ado_stream.Read(-1))
        If Err.Number <> 0 Then
          ado_stream.Close()
          WScript.echo "doPUT() - Fatal Error encountered sending File : " & local & " to " & HTTPServer & remote &". Status (" & Hex(Err.number)  & ") " & Err.Description & ". Retrying ...."
          Wscript.quit         
        Else   
          Do While HTTPObject.readyState <> 4
            WScript.Sleep(1000)
          Loop
        End If
        On Error GoTo 0 
        ado_stream.Close()
        retryPut =  HTTPObject.status         
      End Function
      Public Function doMKCOL(remote)
        ' wscript.echo "doMKCOL (" & HTTPServer & remote & ")"
        Dim currentStatus
        HttpObject.Open "MKCOL", HTTPServer & remote, false
        HttpObject.setRequestHeader "Content-type", "text/xml"
        On Error Resume Next
        HttpObject.send("")
        If Err.Number <> 0 Then
          WScript.echo "doMKCOL() - Fatal Error encountered making Folder : " & HTTPServer & remote &". Status (" & Hex(Err.number)  & ") " & Err.Description
          Wscript.quit         
        End If
        On Error GoTo 0 
        If  HTTPObject.status <> 201 Then
          WScript.echo "doMKCOL() - Fatal Error encountered making Folder : " & HTTPServer & remote &". Status (" & HTTPObject.status & ")."
          Wscript.quit         
        End If
        doMKCOL = HTTPObject.status
      End Function
      Public Function doDELETE(remote)
        HttpObject.Open "DELETE", HTTPServer & remote, false
        HttpObject.setRequestHeader "Content-type", "text/xml"
        On Error Resume Next
        HttpObject.send("")
        If Err.Number <> 0 Then
          WScript.echo "doMKCOL() - Fatal Error deleting : " & HTTPServer & remote &". Status (" & Hex(Err.number)  & ") " & Err.Description
          Wscript.quit         
        End If
        On Error GoTo 0 
        doDELETE = HTTPObject.status
        If HTTPObject.status <> 201  and HTTPObject.status <> 204 and HTTPObject.status <> 207 and HTTPObject.status <> 404 Then
          wscript.echo "doDELETE (" & HTTPServer & remote & ") : Status=" & HTTPObject.status
        End If
      End Function
    End Class

  • Open saved draft report via API/UI

    How could I open an saved Draft report via API/UI.
    I have draft an report via API/UI and now I would show this report on Desktop/SAP

    Sorry for my mismatched formulation of this problem
    I would open it via code
    z.B. application.forms.items("")
    because I get the Docnum of my before safed draft but It wouldn´t shown at the SAP now so I have to open it via code gg
    but also thx to you

  • In which table the initial balances will be stored when loading via api

    Hi all,
    I am doing initial balances migration...
    In which table the initial balances will be stored when loading though an api.. (pay_balance_upload.process).
    First I have loaded data in to pay_balance_batch_headers and pay_balance_batch_lines tables..
    Then called the api pay_balance_upload.process. and the data was reflecting correctly in front end.
    But we need to reconcile the loaded data.. for that, can anyone please tell me in which the loaded balances would be stored..
    I have identified two tables, pay_assignment_latest_balances
    and pay_latest_balances
    when I try to create a balance from frontend I can see the data in pay_latest_balances table..
    But when I load via api I am not able to find it in any of these tables..
    In addition to that can anyone please tell me when the data will be populated in pay_assignment_latest_balances and pay_latest_balances tables.
    Awaiting for your help and quick response..
    Thanks and Regards
    Kishore

    You have followed the correct process..As Vignesh said, you can use pay_balance_pkg.get_value to make sure you have the correct values uploaded but otherwise if you are able to see the values in the front end I wouldn't worry about the latest balances tables. These tables, as the name indicate, hold only the latest values and if a payroll (ran post the initial balance upload) has been rolled back, these are deleted since they are no longer available.
    You can refer the below Metalink notes for a detailed explanation:
    The Secret Life of Initial Balance Upload with Screenshots Example [ID 60057.1]

  • Re-using Segments Created via API or Re-creating Every Time?

    Hi All,
    Wanted to get your thoughts on this...
    We have been able to create Segments via the API, however, which way to go:
    OPTION 1: Re-use Segment if there are no additions or deletions (changes) to the list? or
    OPTION 2: Re-create the Segment every time via API.
    In Option 1, we will still need to compare the existing list to the new list before deciding to re-use. However, the comparison will be done outside of Eloqua.
    In Option 2, we may create a new list even though there are no changes but we will have the historical data and it will be easier to identify lists.
    In both scenarios, data processing may affect performance.
    For those who have done this or are familiar, what would you recommend?
    Hope it's clear.
    Pinging: TJ Fields-Oracle, 1065474, freejung
    Thanks!!

    In simpler terms of creating assets and storage, creating new segments each time should not be a problem. That said, the asset choosers might end up being slow if you're blowing past 100k which will ultimately result in a poor user experience for the marketers. Please see:
    Eloqua Product Thresholds
    Beyond that, you should also consider:
    - Developers creating a process where segments and campaigns are being created automatically, and the campaigns being left active for a long time with segments are set to run every hour. For static lists, it wouldn't really result in heavy calculating but you can run into delayed contact entry into campaigns if you have hundreds of segments feeding hundreds of campaigns - each with heavy filtering. At best it would be pointless to run segments (on the canvas) hourly if the lists are static, and at worst you're making everything slower. That doesn't sound like a major concern here but something to keep in mind.
    - API tools automatically updating segments which are currently referenced in live campaigns (again, running hourly segments). This means if you re-use assets for new campaigns there is a risk that they're being referenced by a currently live campaign and you end up adding the wrong contacts to the wrong flow. Since segments share a relationship to campaigns as their primary contact feeder, the API tools should only be updating the same segment asset with new contacts if the intent is to add those contacts to an existing campaign.
    - Although keeping shared lists or segments untouched gives you some historical tracking, do not assume the contacts in those assets are exactly the same ones which were used when the campaign was launched. For example, if you delete the bouncebacks and unsubscribes after the campaign has run and go back to your segment, even if it is a simple segment with a local list, it will not contain the deleted contacts. For any serious auditing task, let the API tool archive what contacts were added to what segment. Then you can use Bulk 2.0 activity exports to keep a list of what contacts received what emails from various campaigns.
    Regards,
    Bojan

  • KM transports via API

    Hello All,
    I have a requirement to transport KM content (such as folders, files and their properties) from one portal to another. AFAIK, the two supported methodologies that do just that, i.e. ICE and WebDav, only transport the current version, but not the version history. One of the requirements of this project is to create an exact copy of the content and that includes version history as well as properties such lastModifiedBy. I therefore tried to use the repository framework API as described in <a href="https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5d0ab890-0201-0010-849d-98d70bd1d5f0">this</a> document.
    Also, in order to be able to set live properties, such as lastModifiedBy and lastModifiedDate, I ticked the „set_systemproperties“ flag of the system role in question as described in <a href="https://www.sdn.sap.com/irj/sdn/thread?threadID=86224">this</a> thread.
    All this works in principle, but I came across the following two problems and would be very grateful for any help:
    1) When I create version 1 of a resource in the target portal, I can successfully set live properties such as lastModifiedBy. However, in the portal when I look at the version details of the created resource, only the current version has the lastModifiedBy property as set by me and revision 1 (which should be identical to the current version as I’ve only created one version so far) has as lastModifiedBy the name of the user who executed the code. Why is that and is there a way to set lastModifiedBy on revision number 1 as well? This is the code I’m using:
    RID rid = RID.getRID("/documents/foobar");
    ICollection parent = (ICollection)ResourceFactory
        .getInstance()
        .getResource(rid, resourceContext);  
    IContent newContent = ...;
    MutablePropertyMap properties = new MutablePropertyMap();
    properties.put(Property.createLastModifiedByProp("bondj"));     
    IResource newResource = parent.createResource("test.txt", properties, newContent);
    2) The second problem I come across is when I try to update a resource and create version 2 of it. This time, I get a com.sapportals.wcm.repository.PropertyReadOnlyException when I try to set the lastModifiedBy property. This is a bit surprising as I’ve set the „set_systemproperties“ flag of the user in question and I don’t get the PropertyReadOnlyException when I create the resource as described under 1) even though I set the lastModifiedBy property there as well. This is he code I’m using:
    RID rid = RID.getRID("/documents/foobar/test.txt");
    IResource resource = ResourceFactory
        .getInstance()
        .getResource(rid, resourceContext);  
    IContent newContent = ...;
    MutablePropertyMap properties = new MutablePropertyMap();
    properties.put(Property.createLastModifiedByProp("bondj"));
    resource.checkOut();
    resource.checkIn(newContent, properties);
    Thanks in advance,
    Thomas

    Hi,
    will be something like this:
    IResourceContext context = new ResourceContext((com.sapportals.portal.security.usermanagement.IUser) request.getUser().getUser());
    ICollection col = (ICollection) ResourceFactory.getInstance().getResource(RID.getRID("public/documents"),context);
    col.createCollection("newSubfolder",null);
    However, you'll need to reference some km services to get it working.
    Regards,
    Armin
    Not to forget, you'll find numerous examples on this in the KM section of SDN.

  • How to Get a Resource Id via API

    Hi,
    Is there any way to get the short id associated with a resource via API??
    I need to get an Id from a resource that it's unique for every one, so I can show an identifier for every document in a custom report...
    Thank you,
    Felipe Vieira

    Hi Valery,
    I mean a Portal Resource..
    Inside portal, when a go to properties  of a specific document, in tab "Access Link" it shows a "Short Id".
    I'd like to know via API how to get this Id, or any other Code that it's unique for every resource or document in portal.
    Thank you!

  • Process AR Receipts via API

    Dear Friends,
    I have below few querys related to AR Receipts process via API.
    1)     Can we change the receipt status (APPROVED  CONFIRMED REMITTED  REVERSED/ CLEARED) through any API? Any one can explain how it is happening in real world?
    2)     Can we change the receipts accounting through any API. I want to mean here, the receipts GL accounts are defaulted from Receipt Method & MISC receipt activity (in case of MISC receipt). Can we change those defaulted accounts through any API?
    3)     In case of MISC receipt can we populate the “Paid By” field thought the MISC receipt creation API?
    Thanks & Regards
    VB

    Hi Muktech,
    Currently there is no API for BPM 11g. There is an API for the human task but this will not be sufficient for completing a process activity.
    Hope this helps.
    Kind Regards,
    Nils

  • Accessing the password store (PSTORE) via API

    After having created portal users via API srcipt, we now would like to register users
    for an external application programmatically.
    I.e. we have a portal user and we know his account info ( user / passwd ) for the external application. Portal seems to store account infos for external applications in a "Password Store". So i am looking for an API to register portal users for external applications providing the known acount info,
    i.e. sth. like
    PSTORE.InsertExtAccount( PortalUser, ApplicationName, ExtUser, Extpasswd).
    I had a look at http://www-sso.us.oracle.com/
    but could not find API description or any hints when an API like that will go production.
    Can anyone help me with that issue ?
    Thanks a lot.
    null

    This is probably the wrong forum for this question - I would try the 9iAS Portal forum.

  • Creating worksets via API

    Hi all!
    Is it possible to create and change worksets dynamically via API? I have found documentation how to read pcd objects and their properties but not how to edit pcd objects:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/6112ecb7-0a01-0010-ef90-941c70c9e401
    best regards
    Michael

    Hi Michael,
    (1) To change workset attributes, get the IPcdContext object for the workset, then do something like this:
    ModificationItem[] mods = new ModificationItem[1];
    mods[0] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE,new BasicAttribute("com.sap.portal.navigation.MergePriority", new Double("75")));
    myPcdContext.modifyAttributes("",mods);
    (2) To create, you could simply bind a new context to the folder you want to place the workset, and set all the attributes (most important, object class and name). This is a little tricky, and there may be side effects I haven;t thought of.
    For iView, you would use the IiViews semantic object to create the iView, and this object would take care of almost everything for you. But there is no workset object.
    Hope this helps.
    Daniel

  • Got error message when store XML documents into XML DB repository, via WebD

    Hi experts,
    I am in I am in Oracle Enterprise Manager 11g 11.2.0.1.0.
    SQL*Plus: Release 11.2.0.1.0 Production on Tue Feb 22 11:40:23 2011
    I got error message when store XML documents into XML DB repository, via WebDAV.
    I have successfully registered 5 related schemas and generated 1 table.
    I have inserted 40 .xml files into this auto generated table.
    using these data I created relational view successfully.
    but since I couldn't store XML documents into XML DB repository, via WebDAV
    when I query using below code:
    SELECT rv.res.getClobVal()
    FROM resource_view rv
    WHERE rv.any_path = '/home/DEV/messages/4fe1-865d-da0db9212f34.xml';
    I got nothing.
    My ftp code is listed below:
    ftp> open localhost 2100
    Connected to I0025B368E2F9.
    220- C0025B368E2F9
    Unauthorised use of this FTP server is prohibited and may be subject to civil and criminal prosecution.
    220 I0025B368E2F9 FTP Server (Oracle XML DB/Oracle Database) ready.
    User (I0025B368E2F9:(none)): fda_xml
    331 pass required for FDA_XML
    Password:
    230 FDA_XML logged in
    ftp> cd /home/DEV/message
    250 CWD Command successful
    ftp> pwd
    257 "/home/DEV/message" is current directory.
    ftp> ls -la
    200 PORT Command successful
    150 ASCII Data Connection
    drw-r--r-- 2 FDA_XML oracle 0 DEC 17 19:19 .
    drw-r--r-- 2 FDA_XML oracle 0 DEC 17 19:19 ..
    226 ASCII Transfer Complete
    ftp: 115 bytes received in 0.00Seconds 115000.00Kbytes/sec.
    250 SET_CHARSET Command Successful
    ftp> put C:\ED\SPL\E_Reon_Data\loaded\4fe1-865d-da0db9212f34.xml
    200 PORT Command successful
    150 ASCII Data Connection
    550- Error Response
    ORA-00600: internal error code, arguments: [qmxConvUnkType], [], [], [], [], [], [], [], [], [], [], []
    550 End Error Response
    ftp: 3394 bytes sent in 0.00Seconds 3394000.00Kbytes/sec.
    I have tried all suggestion from another thread such as:
    alter system set events ='31150 trace name context forever, level 0x4000'
    SQL> alter system set shared_servers = 1;
    but failed.
    is there anyone can help?
    Thanks.
    Edited by: Cow on Mar 29, 2011 12:58 AM

    Hi experts,
    I am in I am in Oracle Enterprise Manager 11g 11.2.0.1.0.
    SQL*Plus: Release 11.2.0.1.0 Production on Tue Feb 22 11:40:23 2011
    I got error message when store XML documents into XML DB repository, via WebDAV.
    I have successfully registered 5 related schemas and generated 1 table.
    I have inserted 40 .xml files into this auto generated table.
    using these data I created relational view successfully.
    but since I couldn't store XML documents into XML DB repository, via WebDAV
    when I query using below code:
    SELECT rv.res.getClobVal()
    FROM resource_view rv
    WHERE rv.any_path = '/home/DEV/messages/4fe1-865d-da0db9212f34.xml';
    I got nothing.
    My ftp code is listed below:
    ftp> open localhost 2100
    Connected to I0025B368E2F9.
    220- C0025B368E2F9
    Unauthorised use of this FTP server is prohibited and may be subject to civil and criminal prosecution.
    220 I0025B368E2F9 FTP Server (Oracle XML DB/Oracle Database) ready.
    User (I0025B368E2F9:(none)): fda_xml
    331 pass required for FDA_XML
    Password:
    230 FDA_XML logged in
    ftp> cd /home/DEV/message
    250 CWD Command successful
    ftp> pwd
    257 "/home/DEV/message" is current directory.
    ftp> ls -la
    200 PORT Command successful
    150 ASCII Data Connection
    drw-r--r-- 2 FDA_XML oracle 0 DEC 17 19:19 .
    drw-r--r-- 2 FDA_XML oracle 0 DEC 17 19:19 ..
    226 ASCII Transfer Complete
    ftp: 115 bytes received in 0.00Seconds 115000.00Kbytes/sec.
    250 SET_CHARSET Command Successful
    ftp> put C:\ED\SPL\E_Reon_Data\loaded\4fe1-865d-da0db9212f34.xml
    200 PORT Command successful
    150 ASCII Data Connection
    550- Error Response
    ORA-00600: internal error code, arguments: [qmxConvUnkType], [], [], [], [], [], [], [], [], [], [], []
    550 End Error Response
    ftp: 3394 bytes sent in 0.00Seconds 3394000.00Kbytes/sec.
    I have tried all suggestion from another thread such as:
    alter system set events ='31150 trace name context forever, level 0x4000'
    SQL> alter system set shared_servers = 1;
    but failed.
    is there anyone can help?
    Thanks.
    Edited by: Cow on Mar 29, 2011 12:58 AM

Maybe you are looking for

  • Best Practice for Multiple iTunes and One Account?

    My wife and I share our account for our iPhone Applications and Songs in iTunes. Can someone point me to a topic that covers a best practice for multiple iTunes syncing? I travel a lot and keep my iPhone synced to my Macbook Pro while she uses the wo

  • Problem with data saving into text file

    Hi, The problem I am facing wihile saving the data into text file is that everytime when I am slecting the path from front panel, the data which is being saved is appended with the previous data, i.e. not only in the new text file, the new set of dat

  • Missing external hard drive

    Hi. I've been using my external HD for the last few days but since this morning it doesn't show up on my macbook pro. Not on finder nor on the desktop. Neither on Disk Utility. It's not a problem of showing the hard drive, it's more like the computer

  • Skype Me Buttons - Possible in iWeb?

    I've gathered from other posts here custom HTML is impossible in iWeb. I'd like to a 'skype me' button to my site and the nornal route would be to download the HTML from skype. As this isn't an option, is there any other way to insert the skype butto

  • WL Builder 8.1 opening existing descriptor

    Hello, I have an existing weblogic-cmp-rdbms-jar.xml that is being generated by xdoclet. Is there any way to open the exploded ejb-jar folder and include the existing weblogic-cmp-rdbms-jar.xml when WL Builder opens the exploded folder, but doesn't i