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.comHi 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
ThomasThomas,
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.
ThanksWith 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/SAPSorry 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
KishoreYou 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 -
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 Ive 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 Im 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 Ive set the set_systemproperties flag of the user in question and I dont 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 Im 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,
ThomasHi,
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 VieiraHi 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! -
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
VBHi 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.
nullThis is probably the wrong forum for this question - I would try the 9iAS Portal forum.
-
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
MichaelHi 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 AMHi 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
-
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