FormData Information updation with OIM APIs

Hey Guys,
I try to use the OIM APIs to update a custom field that is present on a formdata.
e.e: in the web base ui, you search for a user, go to resource profile, and then I have my OID provisioned resource, when I click on view, I have the a formdata that popups with fields taht I want to update.
I've done the following until now:
- search the user with the findUsersFiltered API to retreive the User.key
- search the object associated to the user by using getObjects with the User.Key retreived
This search return a list of objects AND I can identify my provisioned Object:
The informations that seems usefull are:
* Users-Object Instance For User.Key-value
* Object Instance.Key-value
* Objects.Key-value
* Process Definition.Process Form Key-value
I'm block there, I'm not sure the different options for:
- reading the form data field for this resource
- updating some form data for this resource
Any help would be great !

I've done it,
For information it was with using Process Definition.Process Form Key-value

Similar Messages

  • Create Access Policy with OIM API: can't fill child form

    Hi!
    I'm having a problem with creating OIM Access Policy with API. I'm doing the following:
    1. Create a new access policy via AccessPolicyIntf
    2. Add a resource object which will be provisioned to all users who are within policy scope
    3. Get Resource Object (Parent) Form Definition via FormDefinitionIntf
    4. Add data to parent form (AccessPolicyIntf setFormData(FormDefinitionKey))
    5. Now I want to add data to the child form, for that purpose I need to know child form definition key, but I can' get one, because there's no method like 'getChildFormDefinitionKey' in FormDefinitionIntf interface.
    Please, help me to get child form definition key, knowing parent form definition key and version

    See if this code helps:
    public String addChildTableValue(long userKey, String group, String objectName, String fieldName tcDataProvider ioDatabase) {
    log.debug("addChildTableValue() Parameter Variables passed are:" +
    "userKey=[" + userKey + "]" +
    "group=[" + group + "]" +
    "fieldName=[" + fieldName + "]" +
    "objectName=[" + objectName + "]");
    try{
    tcUserOperationsIntf userIntf = (tcUserOperationsIntf)tcUtilityFactory.getUtility(ioDatabase, "Thor.API.Operations.tcUserOperationsIntf");
    tcFormInstanceOperationsIntf formIntf = (tcFormInstanceOperationsIntf)tcUtilityFactory.getUtility(ioDatabase, "Thor.API.Operations.tcFormInstanceOperationsIntf");
    boolean roleExists = false;
    //Result set of all Object for user
    tcResultSet obResultSet = userIntf.getObjects(userKey);
    if (obResultSet.isEmpty()){
    log.error("User has no provisioned objects");
    return "NO_OBJECTS_EXIST";
    }else{
    for (int ii=0; ii<obResultSet.getRowCount(); ii++){
    obResultSet.goToRow(ii);
    if ((obResultSet.getStringValue("Objects.Name").equals(objectName)) &&
    (!(obResultSet.getStringValue("Objects.Object Status.Status").equals("Revoked")) &&
    !(obResultSet.getStringValue("Objects.Object Status.Status").equals("Provisioning")))){
    log.debug("Resource object found: " + objectName);
    //Process Instance Key of the object
    long plProcessInstanceKey = obResultSet.getLongValue("Process Instance.Key");
    log.debug("Process instance key: " + plProcessInstanceKey);
    //Process Key for the parent for
    long plParentFormDefinitionKey = obResultSet.getLongValue("Process.Process Definition.Process Form Key");
    log.debug("Parent form definition key: " + plParentFormDefinitionKey);
    //Form version of the parent form
    int pnParentFormVersion = formIntf.getProcessFormVersion(plProcessInstanceKey);
    log.debug("Parent form version: " + pnParentFormVersion);
    //Result set of Child Form information
    tcResultSet childFormResultSet = formIntf.getChildFormDefinition(plParentFormDefinitionKey, pnParentFormVersion);
    //Child form definition key
    long plChildFormDefinitionKey = childFormResultSet.getLongValue("Structure Utility.Child Tables.Child Key");
    String plChildTableName = childFormResultSet.getStringValue("Structure Utility.Table Name");
    log.debug("Child form definition key: " + plChildFormDefinitionKey);
    log.debug("Child table name: " + plChildTableName);
    tcResultSet childFormData = formIntf.getProcessFormChildData(plChildFormDefinitionKey, plProcessInstanceKey);
    if (!(childFormData.isEmpty())){
    log.debug("Searching child table current values");
    for (int iii=0; iii<childFormData.getRowCount();iii++){
    childFormData.goToRow(iii);
    String fieldValue = childFormData.getStringValue(fieldName);
    log.debug("Child table entry: " + iii + " | value: " + fieldValue);
    if (fieldValue.equals(group)){
    roleExists = true;
    log.debug("Value already exists in child table");
    return "DUPLICATE_VALUE";
    log.debug("Value not found in child table");
    if (!roleExists){
    Hashtable childFormHash = new Hashtable();
    childFormHash.put(fieldName, group);
    formIntf.addProcessFormChildData(plChildFormDefinitionKey, plProcessInstanceKey, childFormHash);
    log.debug("Value successfully added to table");
    return "VALUE_ADDED";
    log.debug("Provisioned resource " + objectName + " object not found");
    return "OBJECT_NOT_FOUND";
    catch(Exception ex){
    ex.printStackTrace();
    return "ERROR";

  • Create approval request  for Delete User operati with oim api -11g Release2

    Hi,
    How I can create an approval request for a User Delete operation usin API? Can anyone quide me? Any help is strongly appreciated..
    BR,
    Aliye

    You can use the exact same technique for any of the other requests submissions through APIs that have been posted on this message forum. Just supply the template name for your request template you plan to use.
    Here is a page of sample code for requests. http://java.net/projects/openptk/sources/svn/show/branches/Oracle/OIM11g/examples/java/OIMClient/src/oim/client/request?rev=1402
    -Kevin

  • Getting started with OIM API'S using ECLIPSE

    Dear All,
    i got this error messages :
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
         at com.thortech.util.logging.Logger.createAndRegisterLogger(Unknown Source)
         at com.thortech.util.logging.Logger.getLogger(Unknown Source)
         at com.thortech.xl.util.config.ConfigurationFormatter.<clinit>(Unknown Source)
    somebody help me.
    Thanks.

    In general Add all the jar files present in the xlclient lib folder into your classpath before using any of the Thor API's as these jars are needed.
    In your case i guess the classpath is missing the log4j jar file required.
    You are using com.thortech.util.logging.Logger which references to xlLogger.jar.
    When you decompile this xlLogger.jar present in the lib folder you will be able to see the following import statements.
    import com.thortech.util.logging.helpers.ConfigFileWatchDog;
    import com.thortech.xl.util.logging.FilePrintStream;
    import com.thortech.xl.util.logging.PropertyConfigurator;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.Serializable;
    import java.util.Hashtable;
    import org.apache.log4j.Category;
    import org.apache.log4j.ConsoleAppender;
    import org.apache.log4j.Level;
    import org.apache.log4j.PatternLayout;
    So during runtime it is searching for the log4j jar which is not present in the classpath. usually it is present in the xlclient ext folder. Please ensure that you add this jar into your classpath. The problem will be solved. Let me know if you still face any issue.
    Edited by: Durgaprasad on Dec 4, 2011 4:03 AM

  • Getting started with OIM API

    Hi,
    Need help
    I try to creates an instance of the utility factory. Using Eclipse IDE and added all jar from customclient.zip.
    I am getting this exception:
    java.security.AccessControlException: access denied (java.util.PropertyPermission XL.HomeDir write)
    java code:
    public void init() {
              try {
                   System.out.println("Entered====");
                   System.setProperty("XL.HomeDir","D:\\OIMServer\\xellerate");
                   System.setProperty("java.security.policy","D:\\CustomClient\\config");
                   System.setProperty("java.security.auth.login.config", "D:\\CustomClient\\config\\authwl.conf");
                   System.setProperty("java.naming.provider.url", "t3://ps5014:7001");
                   ConfigurationClient.ComplexSetting configClient = ConfigurationClient
                             .getComplexSettingByPath("Discovery.CoreServer");
                   final Hashtable env = configClient.getAllSettings();
                   System.out.println("env=="+env);
                   tcUtilityFactory ioUtilityFactory = new tcUtilityFactory(env,
                             "xelsysadm", "abcd1234");
              } catch (Exception e) {
                   e.printStackTrace();
         }

    Copy config folder from D drive to under project folder inside Eclipse Workspace and then giv ethe new path.

  • Call OIM APIs

    Hello,
    I am writing a java program to call the OIM APIs to reset a user's password and set up security questions.
    First in my java program I need to make a connection to OIM URL. Example of my URL is: http://lenovo-d0446ff6.:7778/xlWebApp/
    What API in OIM may I use to establish the connection or is there another way to connect to OIM via some java code.
    Thanks

    I followed the OIM API Usage Guide and the Getting started with OIM API's using Eclipse.
    When I ran FirstAPITest, I got the following error message:
    Startup...
    Getting configuration...
    Login...
    log4j:WARN No appenders could be found for logger (XELLERATE.ACCOUNTMANAGEMENT).
    log4j:WARN Please initialize the log4j system properly.
    Exception in thread "main" java.lang.NoClassDefFoundError: javax/ejb/EJBHome
         at java.lang.ClassLoader.defineClass1(Native Method)
         at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
         at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
         at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
         at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:164)
         at com.thortech.xl.ejb.interfaces.tcUnauthenticatedOperationsUtil.class$(Unknown Source)
         at com.thortech.xl.ejb.interfaces.tcUnauthenticatedOperationsUtil.getHome(Unknown Source)
         at Thor.API.Security.LoginHandler.oracleLoginHandler.handleOracleClientLogin(Unknown Source)
         at Thor.API.Security.LoginHandler.oracleLoginHandler.login(Unknown Source)
         at Thor.API.Security.ClientLoginUtility.login(Unknown Source)
         at Thor.API.tcUtilityFactory.<init>(Unknown Source)
         at FirstAPITest.main(FirstAPITest.java:16)
    I tried to search the forum for javax/ejb/EJBHome without success. Did I miss another jar?
    Thanks

  • OIM APIs about Resource STATUS information

    Is there any OIM API that provides developers with the information of resource status which is related to 'PROVISIONED', 'PROVISIONING', 'ENABLED', 'REVOKED'?

    use below query for this
    select usr.usr_login, usr.usr_status, obj.obj_name, ost.ost_status
    from oiu, usr, ost, obj, usg, act
    where oiu.usr_key=usr.usr_key
    and oiu.ost_key=ost.ost_key
    and ost.obj_key=obj.obj_key
    and usr.act_key=act.act_key
    and obj.obj_name in ('Resource Name')
    --and ost.ost_status in ('Enabled','Provisioned')                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • I connected my external hard drive to my new imac to put all of the information from my macbook onto it. i have been working on the macbook now and want to reconnect the external hard drive so my imac is updated with the work. How is that done?

    I connected my external hard drive to my new imac to put all of the information from my macbook onto it. I have been working on the macbook now and want to reconnect the external hard drive so my imac is updated with the work. How is that done? or is it possible?

    As I said, I don't use Time Machine, so it'd be best to wait for an "expert" answer, but, with my very limited knowledge, I'd say: probably not - so, for now, I'd suggest you read up on Time Machine:
    http://web.me.com/pondini/Time_Machine/Home.html
    http://support.apple.com/kb/index?page=search&src=support_site.home.search&local e=en_US&q=time%20machine
    And, you might be attracting more knowledgeable answers if you were to post this question in the Time Machine Forum (part of the Snow Leopard forums).

  • OIM API portablity issue  with OIM 9.1 / Weblogic 10.3

    Hi , We have a existing piece of code which does some User Mutation through OIM API.
    [I am not well versed with OIM ]
    The code was running fine with Weblogic 8.3 and previous OIM version.
    Here is the piece of code.
    logger.info("Initializing OIM Params from config location:" oimConfigFileUtil.getOIMConfigBase());+*
    +          System.setProperty("XL.HomeDir", oimConfigFileUtil.getOIMConfigBase().getAbsolutePath());+
    +          System.setProperty("java.security.auth.login.config", oimConfigFileUtil.getOIMAuthWLFile().getAbsolutePath());+
    +          ConfigurationClient.ComplexSetting configClient = ConfigurationClient.getComplexSettingByPath("Discovery.CoreServer");+
    +          env = configClient.getAllSettings();+
    *+          try {+*
    +               oimAccessFactory = new tcUtilityFactory(env, oimConfigFileUtil.getUserID(), oimConfigFileUtil.getPassword());+
    I traced all the dependecy's for this piece of code.
    If I run this with Weblogic.jar[8.1] it gives me
    java.io.InvalidClassException: com.thortech.xl.dataaccess.tcDataSet; local class incompatible: stream classdesc serialVersionUID = -5446056666465114187, local class serialVersionUID = -8857647322544023100*
    With the compatablity issue I substituted with weblogic.jar:10.3 , now its giving me all classpath issues.
    Can someone layout the exact jars that are required for this to work?
    Thanks
    Vignesh

    Installl a Design Console. Copy any files that are required. Then take the class paths that are listed in the classpath and basecp files and put those into your application classpath files.
    -Kevin

  • How to Integrate OIM API with the Application in NetBeans

    Hi All,
    I'm Facing problems to Integrate OIM API with the Application. I'm using Netbeans IDE. Can anyone please let me know the steps to do so?? any documents will also help me.
    Thanks

    Hey,
    Helpful links for you:
    1- http://www.youtube.com/watch?v=Yccl0HqfA3o
    2- http://www.youtube.com/watch?v=ZdMTLRF7P_4
    Let me know if it helps you. I hope so.
    Thiago Leoncio Guimaraes

  • SOAP API integration problem with OIM 11g R1

    Hi,
    We're facing a problem when we are attempting to provision for a third party Web Service application in OIM 11g R1.
    During development and test running in an IDE environment, JDeveloper, the soap wsdl requests are triggered and a response is received successfully. However, when we shift the work and integrate it with OIM using design console, there seems to be an error indicating an invalid wsdl location. We have used the super class Exception, in try-catch block for handling of the exceptions. Please see the log message.
    Xl Home Dir :/oracle/Middleware/Oracle_IDM1/server
    Running CREATEUSERTASK
    Target Class = org.identityconnectors.Provisioning.QuickShareUserProvisioning
    URL : XXXXX
    User ID : XXXX
    Password : XXXX
    ERROR: Invalid wsdl location robi/XXXX_saved_wsdl.wsdl
    When we simply run the jar file from the command line, it gives us, java.lang.NoClassDefFoundError: javax/xml/rpc/Service
    [oracle@idmlab JavaTasks]$ java -jar archive1.jar
    URL : XXXXX
    User ID : XXXX
    Password : XXXX
    Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/rpc/Service
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at org.identityconnectors.Provisioning.QuickShareUserProvisioning.createUser(QuickShareUserProvisioning.java:41)
    at org.identityconnectors.Provisioning.QuickShareUserProvisioning.main(QuickShareUserProvisioning.java:215)
    Caused by: java.lang.ClassNotFoundException: javax.xml.rpc.Service
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 14 more
    Any help or suggestion, appreciated!
    Thanks
    Tamim Khan

    Hi Kevin,
    Thanks a lot for the response. But, when i deployed the composite SAR in to the server from Jdeveloper, i checked the option to "Overwrite any existing composite with same revision ID". SO, i used the same revision ID (Say 1.0), will this also need to be disabled?
    Thanks,
    Srini

  • How to create a Connection to UDB Database through OIM APIs.?

    Hi,
    In our OIM (9.1.0.2) implementation, there is a need to connect to a UDB database to execute some select queries and get the data. Is there any way in which I can do this?
    I tried creating an ITResource to have all static database related information, but I was not able to use that ITResource and create an actual database connection in the java code.
    As far as possible, I don't want to use any JDBC code to create the connection but want to know if there are any inbuilt OIM APIs which can help me in creating a database connection to point to the UDB database.
    (We don't have the DBUM connector deployed.)
    Please get back with your views/info on this.
    Thanks,
    Kulesh...

    Here is a constructor code for connecting to a database:
         public DatabaseConnection(String hostname, String port, String driver, String sid, String admin, String password) throws ClassNotFoundException, SQLException{
              log.info(CLASS_NAME + " -----> inputs=hostname[" + hostname +
                        "]port[" + port +
                        "]driver[" + driver +
                        "]sid[" + sid +
                        "]admin[" + admin +
                        "]password[********]");
              Properties connectionProps=new Properties();
         connectionProps.setProperty("user", admin);
         connectionProps.setProperty("password", password);     
         String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=" + hostname +
              ")(PORT=" + port +
              "))(CONNECT_DATA=(SID=" + sid + ")))";
         Class.forName(driver);
              con = null;     
         con = DriverManager.getConnection(url, connectionProps);
    If you want to use SSL, you will want to configure tcps for jdbc connection to the database, or any other form of connection and update your URL string for it.
    -Kevin

  • Creating self registration request using OIM API

    Hi guys,
    When we try to create a self regisrtation request using OIM API , we ge the following exception:
    We get this error when we set the following in Design console.
    Does user have to provide challenge information during registration = FALSE
    and passed an blank object in place of challenge question parameter in createSelfRegistrationRequest method in tcUtilityBaseClass.
    19:22:17,218 ERROR [REQUESTS] Error: Failed to save REQ_CONSOLIDATED_DATA_VALUE
    data for Create Entity.
    java.lang.NullPointerException
    at org.apache.xml.serializer.TreeWalker.dispatachChars(TreeWalker.java:2
    44)
    at org.apache.xml.serializer.TreeWalker.startNode(TreeWalker.java:414)
    at org.apache.xml.serializer.TreeWalker.traverse(TreeWalker.java:143)
    at org.apache.xalan.transformer.TransformerIdentityImpl.transform(Transf
    ormerIdentityImpl.java:389)
    at com.thortech.xl.dataobj.util.RequestDataConsolidator.convertNodeToXML
    (Unknown Source)
    at com.thortech.xl.dataobj.util.RequestDataConsolidator.addUser(Unknown
    Source)
    at com.thortech.xl.dataobj.tcDataBase.createRequestForCreateEntity(Unkno
    wn Source)
    at com.thortech.xl.dataobj.tcDataBase.createRegistrationRequest(Unknown
    Source)
    at com.thortech.xl.dataobj.tcDataBase.createRegistrationRequest(Unknown
    Source)
    at com.thortech.xl.ejb.beansimpl.tcUnauthenticatedOperationsBean.createR
    egistrationRequest(Unknown Source)
    at com.thortech.xl.ejb.beans.tcUnauthenticatedOperationsSession.createRe
    gistrationRequest(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
    at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
    tatelessSessionContainer.java:237)
    at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
    ke(CachedConnectionInterceptor.java:158)
    at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
    elessSessionInstanceInterceptor.java:169)
    at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidation
    Interceptor.java:63)
    at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
    rceptor.java:121)
    How do we create a self registration request , using OIM API , with and without challenge questions?

    Well try this piece of code. This might be similar to yours but it worked perfectly for me. For you the error might be the attribute names which you are passing, it should be the one dfined in the FormMetaData xml as below.
         import Thor.API.tcUtilityFactory;
         // define you class below
         ConfigurationClient.ComplexSetting config = ConfigurationClient.getComplexSettingByPath("Discovery.CoreServer");
         final Hashtable env = config.getAllSettings();
         Hashtable quesAns = new Hashtable();
         HashMap user = new HashMap();
         user.put("Users.User ID", "SelfTesting");
         user.put("Users.First Name", "SelfTesting");
         user.put("Users.Last Name", "SelfTesting");
         user.put("Users.Email", "[email protected]");
         user.put("Users.Password", "SelfTesting");
         user.put("ConfirmPassword", "SelfTesting");
         tcUtilityFactory.createRegistrationRequest(env, user, quesAns);
    And for the query of challenge QnA, these are the following combinations possible:
    1) Property Does user have to provide challenge information during registration set to TRUE
    - During self-registration from web console, it will show you Challenge Questions section on the right. If you do not select any questions, it will thow you an error there itself.
    - Doing it from API will create no difference(even if you pass a blank HashTable). The request will be created successfully and on completion when the user tries to login, it will ask for Security QnA.
    2) Property Does user have to provide challenge information during registration set to FALSE
    - During self-registration from web console, it doesn't show you Challenge Questions section on the right. The request will be created successfully and on completion when the user tries to login, it will ask for Security QnA.
    - Doing it from API, you will have to pass a blank HashTable as in above code. The request will be created successfully and on completion when the user tries to login, it will ask for Security QnA.
    Hope it works.
    Thanks
    Sunny

  • Request Approval using OIM API

    Hi all
    Which API I need to use to approve a resouce request using OIM API?
    I have tried with the following:
    tcReqOp.setRequestResponse(85, 1 , "java.lang.String psResponse");
    i do not know what to pass in place of java.lang.String psResponse.
    I aslo tried passing "C","Completed"
    can anyone correct what I am doing?
    Thank u
    sas

    I assume you want to run a scheduled task for this. Try this approach. Run this query to retrieve specific approval tasks that are in a pending state:
    select oti.sch_key, mil.mil_name, to_char(oti.oti_update, 'dd-mon-yyyy hh24:mi:ss')
    from oti, mil, obj, pkg, orc, sch
    where oti.mil_key=mil.mil_key
    and oti.pkg_key=pkg.pkg_key
    and pkg.obj_key=obj.obj_key
    and oti.orc_key=orc.orc_key
    and oti.sch_key=sch.sch_key
    and oti.sch_status='P'
    and obj.obj_name='Test Object'
    and pkg.pkg_type='Approval'
    You can modify the obj.obj_name or remove, or do any changes you want. When you grab the time of the oti.oti_update, compare it against the sysdate to determine the time difference. If the update did not occur within that time, use this code:
    provIntf = (tcProvisioningOperationsIntf)getUtilityOps("Thor.API.Operations.tcProvisioningOperationsIntf");
    Hashtable taskHash = new Hashtable();
    taskHash.put("Process Instance.Task Details.Data", "<Insert Response Value Here>");
    provIntf.updateTask(key, taskHash) ; //---> Key is the same as the oti.sch_key field
    I have not tried this, but give it a shot.
    -Kevin

  • The notifications aren't update using the API of universal work list

    We use in the portal home a development iview  that works with de API of Universal Work List. This iview shows the number of notifications and tasks. While the number of tasks are updated correctly, the number of notifications are not refreshed. The only way to update the number of notifications is going and refreshing the Universal Work List iView provided by SAP.
    The API that we are using not support this case? Any suggestion?
    We haven’t found information about this.
    Our system version is 7.00 SP14
    We attachment the call that we‘ve used.
          try {
            notificaciones = tareas = 0;
            IUWLService uwlService =
              (IUWLService)PortalRuntime.getRuntimeResources().getService(
                IUWLService.ALIAS_KEY);
            UWLContext uwlContext = new UWLContext();
            IUser user = componentRequest.getUser();
            uwlContext.setUser(user);
            uwlContext.setAllowBackEndConnections(true);
            uwlService.beginSession(uwlContext, -1);
            IUWLItemManager itemManager = uwlService.getItemManager(uwlContext);
            QueryResult result =
              itemManager.refreshCacheAndGetItems(uwlContext, null, null, null);
            ItemCollection collection = result.getItems();
            for (int i = 0; i < collection.size(); i++) {
              Item item = collection.get(i);
              if ((item.isUnRead() || item.isNew())
                && item.getItemType().startsWith("uwl.notification")) {
                notificaciones++;
              } else if (
                (item.isUnRead() || item.isNew())
                  && item.getItemType().startsWith("uwl.task")) {
                tareas++;
            uwlService.endSession(uwlContext);
          } catch (UWLException e) {
            e.printStackTrace();
    Regards

    Thank you very much for your quick answer...
    But I think that you don't understand me. We can read notifications number but not in real time because they are not updated until we go to the UWL and we force there an update. We want to show in real time the number of notifications that a user has.
    Does anybody how to update/refresh this using the API?
    Thanks for your suggestions

Maybe you are looking for

  • Too many Cursors open error

    I have been getting this error in my Jdeveloper App. ORA-01000 : maximum open cursors exceeded. We have open cursors set at 220. I am using straight JDBC thin to call the database (8.1.5) and have been closing ResultSets the best I can. It happens af

  • Desktop manager problem with upgrade software

    Hi There, When i connect to the desktop manager it says that my device should be updated with the new software but then it runs through the program then says that it does not need to. I have the Pearl 8120 and its running on version 4.5.0.174. is thi

  • IPhoto Book Delivery Time

    Can anyone tell me the average delivery time for an iPhoto book. I'm doing one for a class project that is due in one week. If I submit it now, will I receive it in time? I've never done a book before, so I have no idea.

  • BI 7 Upgrades Components

    What are the components/steps that form part of a BI 7 upgrade?  For example do you need to carry out a PI upgrade etc? Thanks

  • Applet resource URL loading

    Hello Sir/Madam, I am trying to load a resource from Applet using the following code snippet via HTTPS protocol: url = new URL(..., ...); URLConnection con = url.openConnection(); DataInputStream bin = new DataInputStream(con.getInputStream()); int l