Change Variant Created by Another User
Hi,
Is there a way to make changes to a variant created by user ID other than yourself? I want to modify an existing variant that was created by a user ID that is no longer with the company. I don't want to use the user ID that created the variant.
Thanks,
Wes
Yes it does the job, but please take note of the warnings in my above post because RSVARENT will not warn you if you do not use (and protect it) carefully.
If you do not maintain the input parameters for exactly that which you want, it will do more than you intended.... and by default it cannot be excluded that anyone can run it to the selection screen.
The Rolls-Royce approach is to use the S_PROGRAM authorization group to protect the variants of the reports via field p_action = 'VARIANT' to a group of users authorized to maintain them (via transaction VARCH) and therefore also schedule them or change programs scheduled with those variants. The developer can in special cases also determine that the report is submitted in the background only via the parameters set by the variant, without a user being able to influence the selection screen in the foreground.
Take care,
Julius
Edited by: Julius Bussche on Nov 26, 2008 12:50 AM
Similar Messages
-
FRM-40657: Record changed or deleted by another user.
I have a forms module with a module component based on a view.
This view is a simple view with 1 base table.
This view has a 'client derived' primary key with a sequence.
This view has a instead of trigger, which is calling the table API.
There are no server derived columns etc.
When I insert a record via the form and try to update the same record
without requery, I get the message:
FRM-40657: Record changed or deleted by another user.
When I drop the trigger the error is not raised.
Any idea ?
Configuration:
Forms 6.0.5
Designer 6.0.5
Headstart 5.1
Oracle 8.1.7.4.0From Documment : 1236623.1
Cause:
1. Navigation from (Responsibility) System Administrator > Security > User > Define > Query out the responsibility, found responsibility key is <NEW_VALUE>. ..................... This is wrong Navigation
2. Found value <OLD_VALUE> is included in column role_name of the responsibility under the user by sql statement:......................................................................................... Not sure whats the old Value
select * from wf_local_user_roles
where user_name = '<user_name>'
and role_name like '%<OLD_VALUE>%';
Solution :
4. Identify the Role (responsiblity) to be changed, click 'Show' to expand the record, select a date to field 'Active To' to provide an end date to this role assignment. ..... Not sure how to get role for particular responsibility.
From Document : 1273157.1
We have created new responsibility , But now we are getting error while END_DATE old responsibility.
New Responsiblity name : BPC-160 DC Staff-New
Old : BPC-160 DC Staff -
Error FRM-40657:Record Change or deleted by another user
Hi dears
Please HELP ME
I have a form with multiple blocks and relationship between them
I can insert in all of the blocks
but I can not update the exiting rows in ANY block in application.
I can update the rows from outside of the application
it returns me this error:
FRM-40657:Record Change or deleted by another user
the properties about insert allowed,update allowed and so on are all YES in all blocks
Would you please advise me about that?
Need your help
thanks
ShahramThis error occurs because the record as held in the Form is not the same as that held on the database. When Forms locks a record it checks the value of every database item on the Form with that currently stored in the database, and if the two are not the same it issues this error.
This can happen for a number of reasons e.g.
1. You may want to look at date fields and ensure the time component is being taken into account i.e. the LAST_MODIFIED column is stored as '01-JAN-2001 15:34:56' on the database but is stored as '01-JAN-2001 00:00:00' (a truncated date) on the Form.
2. Check to see if there are any database triggers which alter the values of columns.
You may need to go through every database item on the Form and compare it with the value on the database. Having found a discrepancy in values you need to determine why this occurs. -
Cannot open .odc files created by another user - Unexpected error
I have exported an .odc file from Excel into a shared Data Connection Library. The connection file works fine for myself and the data refreshes, however when another user tries to either open the .odc file direct from the Library or refresh
the data from the excel file they receive an error.
I have checked the Sharepoint permissions and all the users attempting to access the connection file have the same as myself. The library has also been saved as a Trusted Location by each user and the Excel Services Authentication when the .odc
file was created was set as the standard Windows Authentication.
I asked a user to create another .odc file for the same data and they were able to save this into the connection library. However the same error occurs when I try to access this new file. The error I recieve is 'An unexpected error has occured. Changes to
your data cannot be saved'. I can open the connection files that I have created but not ones that others have.
I am only an end user so I don't have access to Central Administraion to configure the Unattended Account in the Excel Service Administration page as suggested in another post.
So is there any other way around this issue?
Thanks.Hi,
An ODC file is just a txt file and can be opened with notepad to edit. A Data Connection Library needs to be Trusted via Central Administration, Manage Service Applications, Excel Services Application, Trusted Data Connection Libraries, Click Add Trusted
Data Connection Library. However, you should still be able to open someone else's ODC file unless its been saved as a draft?
-Ivan -
How to change the schema to another user ?
Hi,
I've registerd this schema and it works well,
but I need to change the schema to connect to another User like MYUSER_2.
because I have to migrate the MYUSER_1 to MYUSER_2 and then to delete MYUSER_1
when I register the schema again with this user MYUSER_2
, all xml-entries will become destroyed ?
what can I do ?
it's better , to register the schema without a user ?
Norbert
dbms_xmlschema.registerSchema(
schemaurl => vschemaurl,
schemadoc => xsd_file,
local => FALSE,
gentypes => TRUE,
genbean => FALSE,
gentables => TRUE,
force => FALSE,
owner => MYUSER_1
,CSID => nls_charset_id('AL32UTF8');
);If 2 seperate users need to work witht the same XML Schema then the XML Schema should be registered as a global Schema. If you want to change the owner of an XMLschema, just like if you want to change the owner of a relational; table you will have to export the data and import it again.
-
Errors using queues created by another user
I have created a queue table (payload aq$_jms_stream_message) and queues, but can only enqueue/dequeue messages using the JMS interface when connecting with the queue owner. If I try to connect with another user I receive the following errors:
JMS-204: An error occurred in the AQ JNI layer
Exception breakpoint occurred at line 1747 of AQjmsStreamMessage.java.
oracle.jms.AQjmsException: ORA-01031: insufficient privileges
The user I would like to connect with has been granted the following permissions:
execute dbms_aqadm.grant_system_privilege('ENQUEUE_ANY','MY_USER',FALSE);
execute dbms_aqadm.grant_system_privilege('DEQUEUE_ANY','MY_USER',FALSE);
GRANT EXECUTE ON DBMS_AQ to MY_USER;
GRANT EXECUTE ON DBMS_AQIN to MY_USER;
GRANT EXECUTE ON DBMS_AQJMS to MY_USER;
I have also tried granting AQ_ADMINISTRATOR_ROLE and execute on DBMS_AQADM to my_user with the same behaviour.
While connected with my_user, I have successfully enqueued/dequeued empty stream messages via PLSQL which seems to suggest that I have the correct permissions for the queue, but maybe there is a package I have missed.
Does anyone have any other suggestions of what I can try? Or alternatively, is this behaviour by design - should the queue only be available to its owner?
Thanks in advance,
Davin McGill*** I HAVE FINALLY ... SOLVED THIS PROBLEM ***
refer to following thread for details on my case:
Re: 'Insufficient privileges' enque JMS ObjectMessage to owned by different usr
I had to give following privileges to BLANC_USER:
GRANT EXECUTE ON SYS.AQ$_JMS_OBJECT_MESSAGE TO BLANC_USER;
GRANT EXECUTE ON SYS.AQ$_JMS_MAP_MESSAGE TO BLANC_USER;
GRANT DELETE, INSERT, SELECT, UPDATE ON BLANC_OWNER.CUSTQUEUE TO BLANC_USER:;
GRANT DELETE, INSERT, SELECT, UPDATE ON BLANC_OWNER.FILEQUEUE TO BLANC_USER:;
It is working now. -
Does anyone know how I can edit a site created by another user on my imac?
Hi,
We are a family new to our imac. One of us created a site with iweb. Now I want to get to the site and edit it? I don't see the site when I start iweb...Can someone provide an answer and any recommendations on how to set up multiple sites so that we can share editing privileges?
Thanks!
imac Mac OS X (10.4.10)elegantKB,
Welcome to Apple's Discussions area, and congratulations on your new iMac!
Here's what you need to know about creating/sharing websites with the iWeb application; iWeb stores everything you create with the app in a single file, called Domain.sites. It lives on the hard drive of the computer that created it here. If you duplicate/copy this file and move it to another Mac using the same version of iWeb, that machine will open it and you will be able to edit the site. If you configure the second machine to publish to the same .Mac account (assuming you are using .Mac), you can not only edit the site, but you can also publish the same from two separate machines.
You will need to keep track of the latest version of this Domain file if you share it.
Be careful with this file and back it up often. It contains every single page and/or Site that you create with iWeb.
See these notes for more details on how to edit and publish the same iWeb site from two separate machines.
Mark -
FRM-40657 - Record changed or deleted by another user: HELP!
No matter what I do, any form I create gives me this error when I try to change any field. I've read the other postings and understand that this happens because the data on the form does not match the data on the DB. I've created a form with just a few VARCHAR2 and CHAR fields (no DATEs) and the data displaying is exactly what I get when I SELECT the row with SQL*Plus. What is going on here?
Please help!!! Otherwise this whole app will have to inquiry only!!!!Check that you've not got extra whitespace characters at the end of the varchar2 date in the databse (e.g. ASCII 20, Forms will strip this off automatcially when it's got a varchar2 column and the locking will fail because the stripped value in Forms will not match the DB value.
You can get extra whitespace if this data happens to have been loaded through something other than Forms. -
Problem creating items in a folder owned by another user
Hi
Iam getting an exception when i try to create a folder owned (or shall i say) created by another user.Let me explain what iam doing :
1. I have created a folder "INPRISE" under "/home".I have
created an ACL "MyAcl" having group INPRISEGROUP
as the ACE having all permissions.I have set the ACL "MyAcl" on the folder "INPRISE".
2. I have created two users i1 and i2
and placed them in the group INPRISEGROUP .Both these users have a link under thei home folder to "INPRISE" folder(achieved by using and addItem()).
3. I could successfully login as i1 and create a folder "WebApps" under "INPRISE" and upload a document "A.txt" under "WebApps".
4.But when i log in as "i2" and try to create a document "B.txt" under "WebApps" which was created by user "i1" i get the following exception :
javawebserver: Got the user
javawebserver: got the primary user profile
javawebserver: THE HOME FOLDER IS --> i1
javawebserver: The home folder name is --> i1
javawebserver: home folder
javawebserver: Got the user
javawebserver: got the primary user profile
javawebserver: THE HOME FOLDER IS --> i1
javawebserver: The home folder name is --> i1
javawebserver: home folder
javawebserver: Got the user
javawebserver: got the primary user profile
javawebserver: THE HOME FOLDER IS --> i1
javawebserver: The home folder name is --> i1
javawebserver: home folder
javawebserver: **********Creating document in /home/i1/INPRISE/WebApps
javawebserver: Created document..
javawebserver: Setting permissions for the document....
javawebserver: setting the access level
javawebserver: Got the user
javawebserver: got the primary user profile
javawebserver: THE HOME FOLDER IS --> i2
javawebserver: The home folder name is --> i2
javawebserver: home folder
javawebserver: Got the user
javawebserver: got the primary user profile
javawebserver: THE HOME FOLDER IS --> i2
javawebserver: The home folder name is --> i2
javawebserver: home folder
javawebserver: Got the user
javawebserver: got the primary user profile
javawebserver: THE HOME FOLDER IS --> i2
javawebserver: The home folder name is --> i2
javawebserver: home folder
javawebserver: **********Creating document in /home/i2/INPRISE/WebApps
javawebserver: Error while creating document.....
javawebserver: oracle.ifs.common.IfsException: IFS-30002: Unable to create new
LibraryObject
javawebserver: oracle.ifs.common.IfsException: IFS-30048: Insufficient access t
o add items to a Folder
javawebserver: oracle.ifs.common.IfsException: IFS-30030: Permission not grante
d on specified ACL
javawebserver: at java.lang.Throwable.<init>(Compiled Code)
javawebserver: at java.lang.Exception.<init>(Compiled Code)
javawebserver: at org.omg.CORBA.UserException.<init>(Compiled Code)
javawebserver: at oracle.ifs.common.IfsException.<init>(Compiled Code)
javawebserver: at oracle.ifs.common.IfsException.<init>(Compiled Code)
javawebserver: at oracle.ifs.common.IfsException.<init>(Compiled Code)
javawebserver: at oracle.ifs.server.S_AccessControlList.verifyStandardPermissi
onEnabled(S_AccessControlList.java:602)
javawebserver: at oracle.ifs.server.S_PublicObject.verifyPublicObjectPermissio
n(S_PublicObject.java:2169)
javawebserver: at oracle.ifs.server.S_Folder.verifyCanAddItem(S_Folder.java:10
05)
javawebserver: at oracle.ifs.server.S_Folder.addReference(S_Folder.java:719)
javawebserver: at oracle.ifs.server.S_Folder.addReference(S_Folder.java:697)
javawebserver: at oracle.ifs.server.S_PublicObject.postCreateAddToFolder(S_Pub
licObject.java:2753)
javawebserver: at oracle.ifs.server.S_PublicObject.extendedPostInsert(S_Public
Object.java:995)
javawebserver: at oracle.ifs.server.S_LibraryObject.postInsert(S_LibraryObject
.java:1341)
javawebserver: at oracle.ifs.server.OperationState.executeAtomicOperations(Com
piled Code)
javawebserver: at oracle.ifs.server.S_LibraryObject.createInstance(S_LibraryOb
ject.java:2348)
javawebserver: at oracle.ifs.server.S_LibrarySessio n.newLibraryObject(S_Librar
ySession.java:6596)
javawebserver: at oracle.ifs.server.S_LibrarySession.newPublicObject(S_Library
Session.java:6637)
javawebserver: at oracle.ifs.server.S_LibrarySession.newPublicObject(S_Library
Session.java:6619)
javawebserver: at oracle.ifs.server.S_LibrarySession.DMNewPublicObject(S_Libra
rySession.java:6407)
javawebserver: at oracle.ifs.beans.LibrarySession.DMNewPublicObject(LibrarySes
sion.java:6913)
javawebserver: at oracle.ifs.beans.LibrarySession.NewPublicObject(LibrarySessi
on.java:4564)
javawebserver: at oracle.ifs.beans.LibrarySession.createPublicObject(LibrarySe
ssion.java:2562)
javawebserver: at oracle.ifs.utils.common.PublicObjectUtilities.createDocument
(PublicObjectUtilities.java:537)
javawebserver: at oracle.ifs.utils.common.PublicObjectUtilities.putAsDocumentW
ithVersioning(PublicObjectUtilities.java:163)
javawebserver: at oracle.ifs.adk.filesystem.IfsFileSystem.createDocument(IfsFi
leSystem.java:922)
javawebserver: at dp.DPDocManager.uploadDocument(DPDocManager.java:374)
javawebserver: at ifs.jsp_sbin._dp._dpDoc._jspService(_dpDoc.java:115)
javawebserver: at oracle.ifs.protocols.http.jsp.pagecompile.jsp.runtime.HttpJs
pBase.service(HttpJspBase.java:94)
javawebserver: at javax.servlet.http.HttpServlet.service(Compiled Code)
javawebserver: at oracle.ifs.protocols.http.jsp.IfsJspServlet.runServlet(IfsJs
pServlet.java:865)
javawebserver: at oracle.ifs.protocols.http.jsp.IfsJspServlet.processJspPage(C
ompiled Code)
javawebserver: at oracle.ifs.protocols.http.jsp.IfsJspServlet.service(IfsJspSe
rvlet.java:240)
javawebserver: at javax.servlet.http.HttpServlet.service(Compiled Code)
javawebserver: at com.sun.server.ServletState.callService(ServletState.java:22
6)
javawebserver: at com.sun.server.ServletManager.callServletService(ServletMana
ger.java:936)
javawebserver: at com.sun.server.ProcessingState.invokeTargetServlet(Processin
gState.java:423)
javawebserver: at com.sun.server.http.HttpProcessingState.execute(HttpProcessi
ngState.java:79)
javawebserver: THE ERROR MESSAGE IS IFS-30002: Unable to create new LibraryObje
ct
javawebserver: Setting permissions for the document....
javawebserver: setting the access level
javawebserver: at com.sun.server.http.stages.Runner.process(Runner.java:79)
javawebserver: at com.sun.server.ProcessingSupport.process(Compiled Code)
javawebserver: at com.sun.server.Service.process(Service.java:204)
javawebserver: at com.sun.server.http.HttpServiceHandler.handleRequest(HttpSer
viceHandler.java:374)
javawebserver: at com.sun.server.http.HttpServiceHandler.handleRequest(Compile
d Code)
javawebserver: at com.sun.server.HandlerThread.run(Compiled Code)
javawebserver:
javawebserver:
javawebserver: Error during JSP page processing: /ifs/jsp-bin/dp/dpDoc.jsp
javawebserver: java.lang.NullPointerException
The Code is :
package dp;
import oracle.ifs.beans.*;
import oracle.ifs.common.*;
import oracle.ifs.beans.parsers.*;
import oracle.ifs.adk.security.*;
import oracle.ifs.adk.filesystem.*;
import java.io.*;
import java.util.Locale;
import javax.servlet.http.*;
* The document manager bean for the Deal Planner app.
* <p>
* This class provides a login session/creates a new account in the IFS. The class
* implements the <code>IfsHttpLogin</code> interface so it can share login data with other
* beans.
* @author Srinivas Sampige
* @version 1.0
* @see IfsHttpLogin
public class DPDocManager implements IfsHttpLogin
private String userName = "";
private LibrarySession ifsSession = null;
private FolderPathResolver fPathResolver = null;
private IfsFileSystem ifsFileSystem; // File System object
public DPDocManager()
{//does nothing
*Creates a new account in the IFS for
*a new deal when the deal code is passed in.
*@ param dealCode The deal code of the deal for which an account has to be created
*@ param password A system generate d password for the account being created.
*@ return String Will return "SUCCESS" on creating the account or the reason if an
* error occurrs.
public String createDealFolder(String dealCode)
String result = "SUCCESS";
try
ifsSession = getIfsConnection("system","manager","ServerManager","i5ifs");
ifsSession.setAdministrationMode(true);
//create a new folder for this deal
Folder dealFolder = createFolder("/home",dealCode);
//create a group for this deal;place the group as
//an access control entry in an access control list.
//Set the access control list to the folder.
AccessControlList acl = createDealGroup(dealCode);
dealFolder.setAcl(acl);
ifsSession.setAdministrationMode(false);
}catch(IfsException ie)
int code = ie.getErrorCode();
System.out.println("THE ERROR CODE WHILE CREATING DEAL FOLDER IS -- "+code);
ie.printStackTrace();
result = ie.getMessage();
return result;
}//createDealFolder
public String createUser(String userId,String password,String dealCode)
String result = "SUCCESS";
System.out.println("Creating user and adding to a group "+userId);
try
this.ifsSession = getIfsConnection("system","manager","ServerManager","i5ifs");
ifsSession.setAdministrationMode(true);
System.out.println("Logged in successully");
//form the XML necessary for creating the simple user;
//the new user in the IFS will be the Deal.User id will be the deal code;
//password is fetched from the DEALS table.
String simpleUserString = "<?xml version = '1.0' standalone = 'yes'?>\n"
+ "<SimpleUser>\n"
+ " <UserName>"+userId+"</UserName>\n"
+ " <Password>"+userId+"</Password>\n"
+ " <HomeFolderRoot>/home</HomeFolderRoot>\n"
+ "</SimpleUser>\n";
System.out.println("Parsing "+simpleUserString);
//invoke the XML parser for creating the new user
StringReader userDefinition = new StringReader(simpleUserString);
SimpleXmlParser xmlParser = new SimpleXmlParser(ifsSession);
xmlParser.parse(userDefinition,null,null);
//a valid user for a deal must belong to the deals group;add the user
//to the appropriate group for the deal
String userToGroupString = "<?xml version = '1.0' standalone = 'yes'?>\n"
+ "<DirectoryGroup>\n"
+ " <Update reftype='Name'>" + dealCode+"Group" + "</Update>\n"
+ " <Members>"
+ " <Member reftype='Name'>" + userId + "</Member>"
+ " </Members>"
+ "</DirectoryGroup>\n";
//invoke the XML parser for adding the new user to the group
StringReader groupUpdate = new StringReader(userToGroupString);
xmlParser = new SimpleXmlParser(ifsSession);
LibraryObject lo = xmlParser.parse(groupUpdate,null,null);
System.out.println ("The LO returned by parse is " + lo);
//link this user's home folder to the deal folder
Collection c = ifsSession.getDirectoryUserCollection();
DirectoryUser du = (DirectoryUser) c.getItems(userId);
System.out.println("The DirectoryUser created is " + du.getDistinguishedName());
//Folder homeFolder = (Folder) getIfsFileSystem().findPublicObjectByPath("/home/"+dealCode);
Folder homeFolder = du.getPrimaryUserProfile().getHomeFolder();
System.out.println("Home folder is"+homeFolder);
homeFolder.addItem((Folder)getIfsFileSystem().findPublicObjectByPath("/home/"+dealCode));
System.out.println("Created a link to the deal folder... ");
ifsSession.setAdministrationMode(false);
}catch(IfsException ie)
IfsException.setVerboseMessage(true);
ie.printStackTrace();
return result;
}//public
/* public String addUserToGroup(String groupName)
try
InternetFileSystem ifs = getFileSystem();
ifs.findPublicObjectByPath(goupName);
}catch(IfsException ie)
ie.setVerboseMessage(true);
System.out.println("Problem while adding user to the group "+ie.getMessage());
ie.printStackTrace();
}//addUserToGroup
*This method creates a group that for a particular deal.
*All members having access to this deal must belong to thi s
* group.
public AccessControlList createDealGroup(String dealCode)
AccessControlList acl = null;
try
DirectoryGroupDefinition def = new DirectoryGroupDefinition(ifsSession);
def.setAttribute("NAME",AttributeValue.newAttributeValue(dealCode+"Group"));
DirectoryGroup dealGroup = (DirectoryGroup)ifsSession.createPublicObject(def);
AccessControlListDefinition aclDef = new AccessControlListDefinition(ifsSession);
AccessControlEntryDefinition aceDef = new AccessControlEntryDefinition(ifsSession);
AccessLevel aLevel = new AccessLevel();
aLevel.enableAllStandardPermissions();
aLevel.disableStandardPermission(AccessLevel.ACCESSLEVEL_ADDITEM);
aLevel.disableStandardPermission(AccessLevel.ACCESSLEVEL_CREATE);
aLevel.disableStandardPermission(AccessLevel.ACCESSLEVEL_ALL);
aceDef.setGrantee(dealGroup);
aceDef.setDistinctAccessLevel(aLevel);
aclDef.addAceDefinition(aceDef);
acl = (AccessControlList) ifsSession.createPublicObject(aclDef);
acl.setName(dealCode+"ACL");
}catch(IfsException ie)
System.out.println("error while creating group for deal");
IfsException.setVerboseMessage(true);
ie.printStackTrace();
return acl;
}//createUser
*makes a connection the the IFS and returns the LibrarySession object.
*@param userName user name for a valid IFS account.
*@param password password for a valid IFS account.
*@param serviceName the IFS service name.
*@param schemaPassword the IFS schema password.
private LibrarySession getIfsConnection(String username, String password, String serviceName,
String schemaPassword) throws IfsException
LibraryService service = new LibraryService();
CleartextCredential me = new CleartextCredential(username, password);
ConnectOptions connection = new ConnectOptions();
connection.setLocale(Locale.getDefault());
connection.setServiceName(serviceName);
connection.setServicePassword(schemaPassword);
ifsSession = service.connect(me, connection);
fPathResolver = new FolderPathResolver(ifsSession);
ifsFileSystem = new IfsFileSystem(ifsSession);
return ifsSession;
}//getIfsConnection()
public String loginToIfs(String userName,String password,String serviceName,String schemaPassword)
String result = "SUCCESS";
try
getIfsConnection(userName,password,serviceName,schemaPassword);
this.userName = userName;
//getResolver().setHomeFolder("/home/"+userName);
}catch(IfsException ie)
int code = ie.getErrorCode();
System.out.println("ERROR CODE "+code);
result = "FAILED -- "+code+" -- "+ie.getMessage();
System.out.println("Failed to login "+ie.getMessage());
ie.printStackTrace();
return result;
}//loginToIfs
public LibrarySession getSession()
return ifsSession;
}//getSession()
public FolderPathResolver getResolver()
return fPathResolver;
public IfsFileSystem getIfsFileSystem()
return ifsFileSystem;
public Folder getHomeFolder()
Folder homeFolder = null;
try
DirectoryUser user = ifsSession.getUser();
System.out.println("Got the user");
PrimaryUserProfile primary = user.getPrimaryUserProfile();
System.out.println("got the primary user profile");
homeFolder = primary.getHomeFolder();
System.out.println("THE HOME FOLDER IS --> "+homeFolder);
System.out.println("The home folder name is --> "+homeFolder.getName());
}catch(IfsException ie)
ie.printStackTrace();
System.out.println("home folder");
return homeFolder;
}//getHomeFolderPath()
* Called when this object is bound to the HTTP session object.
* @param event The event when the object is bound to the Http session.
public void valueBound(HttpSessionBindingEvent event)
// do nothing
* Called when this object is unbound from the HTTP session object.
* @param event The event when the object is unbound to the Http session.
public void valueUnbound(HttpSessionBindingEvent event)
//release the reources like the ifsSession etc.
fPathResolver = null;
try
if (ifsSession != null)
ifsSession.di sconnect();
}catch (IfsException e)
e.printStackTrace();
finally
ifsSession = null; // release the resources
}//valueUnbound()
public Folder createFolder(Folder destinationFolder,String theNewFolderPath)
Folder createdFolder = null;
try
System.out.println("<*---*> IN THE FOLDER "+destinationFolder);
IfsFileSystem ifs = getIfsFileSystem();
System.out.println("Creating the folder..");
createdFolder = ifs.createFolder(theNewFolderPath,destinationFolder,true,null);
System.out.println("Created the folder..");
}catch(IfsException ie)
System.out.println("ERROR CREATING A FOLDER IN THE DESTINATION FOLDER");
IfsException.setVerboseMessage(true);
ie.printStackTrace();
return createdFolder;
}//createFolder(String inTheFolder,theNewFolder)
public Folder createFolder(String inTheFolder,String theNewFolderPath)
Folder createdFolder = null;
try
System.out.println("<*---*> IN THE FOLDER "+inTheFolder);
IfsFileSystem ifs = getIfsFileSystem();
System.out.println("Creating ANOTHER folder for test");
Folder destinationFolder = (Folder) ifs.findPublicObjectByPath("/"+inTheFolder);
System.out.println("The destination folder is "+destinationFolder);
/* Folder destinationFolderMyTest = (Folder) ifs.findPublicObjectByPath("/home/c6/COREL/MY-TEST/");
System.out.println("The destination folder my test is "+destinationFolderMyTest);*/
createdFolder = ifs.createFolder(theNewFolderPath,destinationFolder,true,null);
/* System.out.println("Created folder in destination folder ");
createdFolder = ifs.createFolder(theNewFolderPath,(Folder) ifs.findPublicObjectByPath(inTheFolder),true,null);
System.out.println("Created folder in MY-TEST ");*/
}catch(IfsException ie)
System.out.println("ERROR CREATING A FOLDER IN THE DESTINATION FOLDER");
IfsException.setVerboseMessage(true);
ie.printStackTrace();
return createdFolder;
}//createFolder(String inTheFolder,theNewFolder)
*Method creates a folder in the path specified(the path includes the name of the folder
*to be created).If a parent of any of the folders in the path
*is not found then that folder is automatically created.
public String createFolder(String folderPath)
System.out.println("*-*-*-*-* Creating folder *-*-*-*-*");
String result = "SUCCESS";
try
//ifsSession.setAdministrationMode(true);
IfsFileSystem ifs = new IfsFileSystem(ifsSession);
Folder folder = (Folder) ifs.findPublicObjectByPath("home/"+userName);
ifs.createFolder(folderPath,(Folder) folder,true,null);
}catch(IfsException ie)
result = ie.getMessage();
ie.printStackTrace();
return result;
}//createFolder
//Upload a document to the ifs
public Document uploadDocument(String localPath,String destinationPath)
Document document = null;
try
IfsFileSystem ifs = new IfsFileSystem(ifsSession);
FileInputStream fis = new FileInputStream(localPath);
System.out.println("**********Creating document in "+destinationPath);
document = ifs.createDocument("B.txt", fis, destinationPath, null, false, null);
System.out.println("Created document..");
}catch(IfsException e)
System.out.println("Error while creating document.....");
IfsException.setVerboseMessage(true);
e.printStackTrace();
System.out.println("THE ERROR MESSAGE IS "+e.getMessage());
catch(Exception e)
System.out.println("File not found/io exception ");
e.printStackTrace();
return document;
}//uploadDocument
* Adds an access control entry to the public object passed in.
*@param PublicObject the publicObject for which permissions have to be set.
public void setAccessControlOnObject(PublicObject publicObject)
try
System.out.println("Setting permissions for the document....");
AccessControlListDefinition aclDef = new AccessControlListDefinition();
aclDef.setName(publicObject+"ACL");
AccessControlEntryDefinition aceDef = new AccessControlEntryDefinition();
//this sets the acceess control entry's granntee as the "user" who ha s loggen on
aceDef.setGrantee(ifsSession.getDirectoryUser());
aceDef.enableGrantToWorld(false);
String[] permissions = {"ACCESSLEVEL_NONE"};
System.out.println("setting the access level");
AccessLevel accessLevel = new AccessLevel(permissions);
/*PermissionBundleDefinition pbDef = new PermissionBundleDefinition(ifsSession);
PermissionBundle pb = (PermissionBundle) ifsSession.createSystemObject(pbDef);
pbDef.setAccessLevel(accessLevel);
pbDef.setAccessLevel(accessLevel);
aceDef.addPermissionBundle(pb);*/
aceDef.setDistinctAccessLevel(accessLevel);
aclDef.addAceDefinition(aceDef);
AccessControlList acl = (AccessControlList) ifsSession.createPublicObject(aclDef);
publicObject.setAcl(acl);
}catch(IfsException ie)
System.out.println("The error while settin access control is -0> "+ie.getMessage());
ie.setVerboseMessage(true);
ie.printStackTrace();
}//createAccessControlList
}//class DPDocManager
Note : since iam still experimenting with the code please ignore any irrelevant/wrong commenting.Iam using method "CreateDealFolder()" to create the folder "INPRISE" and "CreateUser()" to create users "i1","i2"Iam not able to set the main folder's (i.e INPRISE) acl (MyAcl) on the subfolder "MyFolder" because the owner of MyAcl is "system" whereas the owner of MyFolder is user "i1" .Which is the best way of solving these ownership issue which iam running into ? I want to be able to create different folders ,assign a group of uers to each of the folders who can create as well as modify,delete each other's folders/documents (as i have mentioned in my first post in this thread) ?
thanks
Srinivas -
Is there any transaction to find out variants created by user ID or
How to find out variants created by specific user ID?
It is very difficult to visit each job & check variant.
*It's very very uregent*
Regards,
ChetanHi Chetan,
Check the table VARID.
Regards,
Siva. -
Error when trying to search a sales order created by other user
Hi. I'm running SAP HANA One PL 04. I have a problem when I log on with User1 and try to search for sales orders created by another user. I got an error message. I think the user has enough permissions.. Is there anything else I should consider??
Hope anyone can give an idea why this happens
Thanks -
JBO-25014: Another user has changed the row with primary key oracle.jbo.Key
Hi,
I am developing a Fusion Web Application using Jdeveloper 11.1.2.1.0. I have a home.jspx page that has a ADF table built on efttBilling View Object. . When you click on one of the rows in the table, it will take you to detail.jspx where you can edit the row and save. When 'save' is clicked, stored procedures are executed to update/insert rows into few tables , and then go back to home.jspx where you need to see updated content for that row.
To get down to the exact issue, updates are made to the tables on which the efttBilling View Object is built using a stored procedure. Once this is done, I am trying to requery view object to see new content. But I keep getting JBO-25014: Another user has changed the row with primary key oracle.jbo.Key error. Following are the approaches I followed to query new results:
a. Executed Application Modules Commit Method. Created 'Commit' Action binding and tied it to homePageDef.xml. Called this binding from a view scope bean.
BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
OperationBinding operationBinding = bindings.getOperationBinding("Commit");
Object result = operationBinding.execute();
if (!operationBinding.getErrors().isEmpty())
return null;
b. Marked 'Refresh on Insert' , 'Refresh on Update', 'Change Indicator' checkboxes for all the attributes in the entities associated with efttBilling View Object.
c. Tried to Requery View Object. Created a refreshViewObject method in Application Module Impl.java file, exposed this method to the client interface and created a invokeMethod Action binding in home.jspx
Code in Application Module:
public void refresheftTransactionsforBillingAccountViewObj1View()
System.out.println("In eftTransactionsforBillingAccountViewObj1");
findViewObject("eftTransactionsforBillingAccountViewObj1").executeQuery();
Code in view scope bean
DCBindingContainer bindings =
(DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
OperationBinding operation =
bindings.getOperationBinding("refresheftTransactionsforBillingAccountViewObj1View");
operation.execute();
I have searched web, ADF forums and tried methods suggested in there but no sucess.
Could anyone please provide some insight in this issue. I have been battling with this since quite some time. I can provide you with the log file too.
Thanks!
Shai.What code does your Commit method have .. can you try using the Commit executable from the AM itself instead ?
Also -
Shai wrote:
'Change Indicator' checkboxes for all the attributes in the entities associated with efttBilling View Object.
which all attributes you set this property for . it should just be for History columns as such.
Did you also check if this could be your scenario ?
Decompiling ADF Binaries: Yet another reason for "JBO-25014: Another user has changed the row with primary key orac…
OR
JBO-25014: Another user has changed the row with primary key oracle.jbo.Key
OR
Another user has changed the row with primary key -Table changed externally
Message was edited by: SudiptoDesmukh -
OIM API Code to change the link of the provisioned Account to another User
tcResultSet rset;
HashMap <String, String> map;
try{
userIntf=(tcUserOperationsIntf)utilityFactory.getUtility("Thor.API.Operations.tcUserOperationsIntf");
map = new HashMap <String, String>();
map.put("Users.User ID",toUserLogin);
map.put("Users.Status","Active");
rset=userIntf.findUsers(map);
// Get the User Key for the User given his User ID
rset.goToRow(0);
long toUserKey=rset.getLongValue("Users.Key");
System.out.println(" Key for the ToUser is :" + toUserKey);
map = new HashMap <String, String>();
map.put("Users.User ID",fromUserLogin);
map.put("Users.Status","Active");
rset=userIntf.findUsers(map);
// Get the User Key for the User given his User ID
rset.goToRow(0);
long fromUserKey=rset.getLongValue("Users.Key");
System.out.println(" Key for the FromUser is :" + fromUserKey);
// Now get all the objects thats been provisioned for the user given user's Key
rset=userIntf.getObjects(fromUserKey);
HashMap tmap = new HashMap();
for(int k=0;k<rset.getTotalRowCount(); k++){
rset.goToRow(k);
System.out.println("####################################################");
String targetName=rset.getStringValue("Objects.Name");
System.out.println("targetName :: Objects.Name = "+targetName);
long objInstKey = rset.getLongValue("Users-Object Instance For User.Key");
System.out.println("Users-Object Instance For User.Key = "+objInstKey);
String status =rset.getStringValue("Objects.Object Status.Status");
System.out.println("Objects.Object Status.Status = "+status);
System.out.println("####################################################");
if(status.equalsIgnoreCase("Enabled")&& targetName.equalsIgnoreCase(resorceName) ) {
System.out.println("Changing to service Account..");
userIntf.changeToServiceAccount(objInstKey);
System.out.println("Account changed to service Account");
System.out.println("Linking Account to another User....");
userIntf.moveServiceAccount(objInstKey, toUserKey);
System.out.println("Account Linked");
System.out.println("Changing Account from service......");
userIntf.changeFromServiceAccount(objInstKey);
System.out.println("Account changed to normal");
}catch(Exception exception){
System.out.println("Exception occurred :"+exception.getMessage());
}HI rumesh,
Don't use resource link as you did. Try using normal link and create a component(HTMLB or anyother) from KM reource content, then add that component to the link as below.
comp = ....(should be a component from your Km content resource)
Link link = new Link("Link");
link.setTarget("www.yahoo.com");
link.setReference("www.yahoo.com");
link.addComponent(comp);
finally add that link to your search UI . I hope this will help.
I am sorry if i confused you.
Thanks & regards.
Rumeshbabu -
Another user has changed the row with primary key -Table changed externally
Hello,
I am facing the error: "Another user has changed the row with primary key oracle.jbo.Key[94 ]." during the delete operation.
User case scenario:
1. Added new row in the table.
2. Once new row is added to the the table, another application will update few columns in the newly added row based on some logic.
3. On the same session I am trying to delete the newly added row and getting above mentioned error.
I have added a "Button" in the table to partialRefresh the table to check the new values of the changed columns.
I have checked the forum and found many similar errors and tried the following but nothing helped.
1. By setting "Auto Refresh = True" for the view object.
Issue faced-> It worked fine but after few add and remove my db is getting to inconsistent state after which, I am not able to do any add/delete from my page.
Error: "Too many objects match the primary key oracle.jbo.Key". I have checked this and I am not getting this error when "Auto Refresh = False" even after multiple add and remove actions.
2. By Setting "Auto Refresh" the iterator associated with the page.
Issue -> Did not work at all.
Looking forward inputs from gurus.
Thanks
AbhijeetFinally I found one solution to this problem at: [ http://www.avromroyfaderman.com/2008/05/bring-back-the-hobgoblin-dealing-with-rowinconsistentexception/|http://www.avromroyfaderman.com/2008/05/bring-back-the-hobgoblin-dealing-with-rowinconsistentexception/]
Simply overriding the lock() method in the entity object resolved issue. Kudos to the author.
Code:
public void lock() {
try {
super.lock();
} catch (RowInconsistentException e) {
refresh(REFRESH_WITH_DB_ONLY_IF_UNCHANGED | REFRESH_CONTAINEES);
super.lock();
But, Now my refresh button is not working as depend on the "Auto Refresh = True" to update the table.
Can anyone tell me how can I refresh the VO of my table from the button.
Thanks
Abhijeet.
P.S: I have already added the partial trigger but it is work not working as the data is cached in the VO. Removing the Cached property for the VO is creating other problems. -
Programmatically changing user preferences when creating an InfoView user in code
Post Author: rickp101
CA Forum: .NET
I am very new to BO (using Business Objects 11.5) so bear with me if I am not clear or seem to have no idea what I'm talking about.
As a .NET Developer I have been asked to work on a project that involves creating new BO users and logging them in from an ASP.NET application (in order to mimic a single sign in system from another piece of software). I have found most of the information I require for this in the .NET SDK. However there is one function the client would like that I have not been able to find a solution for, and that is to change the users document viewing preferences.
Within InfoView, if you go into user preferences, under the General tab there is the following option:
For each document, show me ...
descriptionownerdateinstance countactions and description (if selected) initially not hidden
I think by default all of the boxes are checked however the client only wants the description showing for each user when they are set up. Is this something that can be modified within the code when the user is created or is each user going to have to change this themselves manually once logged in?
Any help will be much appreciated.
RichardPost Author: Ted Ueda
CA Forum: .NET
The InfoView settings aren't documented, unfortunately, but with sufficient trial-and-error, you'd be able to determine the correct values.
The settings are stored in the SI_DATA property 'desktopsettings' for a User object - you can have a look by logging onto 'Query Builder', accessible from the admin launchpad, and entering a query of the form: "Select SI_ID, SI_NAME, SI_DATA From CI_SYSTEMOBJECTS Where SI_KIND='User' And SI_NAME='<username here>'".
You'd see that, if you've specified the properties manually in InfoView (the property is not there by default) that it consists of '&'-separated key=value entries.
You'd retrieve the value via Enterprise .NET SDK call User.GetProfileString("desktopsettings"), and set new values via User.SetProfileString("desktopsettings", <new string value here>).
The specific values you're interested in are booleans dv0=1, dv1=1, dv2=1, dv3=1, and dv4=1.
Sincerely,
Ted Ueda
Maybe you are looking for
-
Configuration of Public Key Authentication Policy for SFTP on OAG 11.1.2.2
Hi I'm working on the configuration of an SFTP server over OAG, using both password and public key authentication. This particular listener need 3 policies: - Password Authentication - Public Key Authentication - File upload Both File upload and pass
-
I was prompted to update my Acrobat pro 9 (MAC) this morning and my license ceased working. I dowloaded license repair but cannot proceed since I do not use a password on my computer. I followed the instructions (deleting certain files) to no avail
-
PL/SQL Function Help (
Does anyone know how to pass a table name to a function as a variable so that the function can act dynamically on that table? Here is an example of a very simple function that I can not seem to get to work. create or replace function DATE_TIME_CHECK
-
How do I crop around an image that is not straight (i.e. crop a country out of a map) on pages?, How do I crop around an image that is not straight (i.e. crop a country out of a map) on pages?
-
Hi When We try to release the bugdet error shows budget exceed by amonut. I check IMG setting for budget and amount is also available. But in the cj32 in that table there is filed ASSIGNED what is indicates. see amount the ASSIGNED filed and amount