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.0

    From 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
    Shahram

    This 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

  • Variants created by user ID

    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,
    Chetan

    Hi 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 &quot;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
    Abhijeet

    Finally 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.
    Richard

    Post 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