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')                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Similar Messages

  • 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

  • Disabling resources via OIM API. Which appKey?

    Hi gurus!
    I'm developing my own scheduler tasks that use the OIM API to manage users and their resources. I'm working with OIM version 9.0.3
    One of these tasks has to disable a provisioned resource for an user, by using the tcUserOperationsIntf.enableAppForUser() method. This method has two parameters: the user key and the app key. So, before the invokation, I have to find them.
    I know how to get the user key, but I don't know which object key must I choose between the OBI_KEY, ORC_KEY and OIU_KEY.
    I've tried to do it with obi_key and oiu_key, and sometimes works with obi_key and sometimes with oiu_key. What is the difference between these two keys?
    This is my code:
         tcResultSet users = findUser(userLogin); //this method uses the tcUserOperationsIntf.findUsers() api method
         if (users != null) {
    tcResultSet resources = findResource("resource_name"); // this method uses the tcObjectOperationsIntf.findProvisionableObjects() api method
    long userKey = users.getLongValue("Users.Key");
    long resourceKey = resources.getLongValue("Objects.Key");
         tcResultSet resource = findResourceByUser(userKey, resourceKey, "Objects.Key"); //this method uses the tcUserOperationsIntf.getObjects() api method
    if (resource != null) {
    long obiKey = resource .getLongValue("Object Instance.Key");
    String status = resource .getStringValue("Objects.Object Status.Status");
    long oiuKey = recurso.getLongValue("Users-Object Instance For User.Key");
    if ("Disabled".equals(status)) {
    userUtil.enableAppForUser(userKey, oiuKey); //userUtil is an instance of tcUserOperationsIntf
    Edited by: bucle on 25-nov-2008 4:49

    What these are is roughly explained in the API Usage Guide for Meta Data mapping.
    OBI = Object Instance : There are lots of object instances including users.
    OIU = Object Instance for User : These are the object instances that actually belong to a user, for example a provisioned resource.
    You want the OIU which is returned by the getObjects method as the first value.
    Edited by: user809225 on 25-Nov-2008 14:09

  • Using JMX to get status information about NetWeaver cluster

    Hi everybody,
    We are trying to use JMX to get some status information about NetWeaver cluster.
    For example, using the MBean with the name u201Ccom.sap.default:name=EL1,j2eeType=SAP_J2EEClusteru201D we can obtain the list of all instances running in cluster. Here an instance is a u201CJava instanceu201D in the NetWeaver terminology.
    The method u201CgetInstanceNodeIDsu201D provides us with a list of all nodes of an instance.
    Concretely, calling this method for a cluster running on one machine with two java processes, we get the following list of node Ids: u201C0, 1476420, 1476450, 1476451u201D where the last two correspond to the two java processes.
    What are the first two node Ids from the list?
    How can the last two node Ids be identified as java processes?
    How can we obtain status information about each java process (node id) ?
    Thanks for all ideas,
    Radu

    As there seems to be a lot of interest in this subject, and since I found some form of solution, I thought I'd share it with you.
    In the es-cli interface, there is a thing called browse mode. Activate it by typing browse after logging in.
    Now you can easily browse your network and all of the managed objects. Use getattributes at the end of each branch to see the properties of objects. So far, I've indexed all of the kernel reader module, the health monitor module, the common config reader and the config reader for workgroup servers. If my employer allows, I will post results to http://tille.garrels.be/training/sunmc/ - check later this week.
    Machtelt.

  • OIM 11g - Reconciliation of Target Resource Status

    Hi,
    We're working with OIM 11.1.1.5.2 and connectors DBUM 9.1.0.4 and MSAD 9.1.1.7.
    Provisioning and reconciliation seem to be working correctly, but we found that the status of the resource is not getting reconciled on OIM console.
    For example, if we provision an user with an Oracle Database account, and then lock the account on the database, when we run reconciliation the event is generated and finished with "update succeded", we go to the UD_DB_ORA_U table and find that the field UD_DB_ORA_U_LOCK has a "LOCKED" value, then if we check the logs we can see that the connector is correctly mapping the resource status with the OIM object status:
    prepareTargetUsersRecordInOIMFormat : record value : LOCKED
    prepareTargetUsersRecordInOIMFormat : map : {OPEN=Enabled, 1=Disabled, YES=Disabled, 0=Enabled, EXPIRED & LOCKED=Disabled, NO=Enabled, LOCKED=Disabled}
    prepareTargetUsersRecordInOIMFormat : roValue : TEMPORARY_TABLESPACE_QUOTA
    prepareTargetUsersRecordInOIMFormat : Temp RO value : null
    prepareTargetUsersRecordInOIMFormat : reconData : [{Default Tablespace=27~USERS, Authentication Type=PASSWORD, Password=Dummy, Default Tablespace=27~USERS, Authentication Type=PASSWORD, Password=Dummy, Default Tablespace Quota=, Profile Name=27~USUARIOS, IT Resource=Oracle, User Name=USPRUEBA65, Temporary Tablespace=27~TEMP, Account Status=LOCKED, Status=Disabled, Global DN=, Privilege List=[], Role List=[{Role Admin Option=NO, Role Name=}], Temporary Tablespace Quota=}]
    prepareTargetUsersRecordInOIMFormat:: FINISHED
    But, even though the reconciliation has succeded the administrative console shows the account on "Enabled" status, and when I check the OIU table i can see that the OIM object status is still enabled.
    I found some threads related to this issue, the most similar was this one: Reconciliation for the deleted user accounts on Target Resource but everything there do not seem to be of much help because all tasks described are already done by the connector installation (at least in msad and dbum connectors).
    This problem is happening both for Active Directory and Oracle Database Users, maybe we're missing something but based on the documentation for both connectors we thought it was an OOTB functionality. Is there some system property or connector parameter we need to configure to make this work?
    Thanks.
    Edited by: fmc on Jul 26, 2012 12:53 PM

    Hi Pallavi,
    Well, you were right after all, we were mixing 2 totally different problems here and it got us confused.
    The problem with the DBUM connector was exactly what you said, a bug in the connector, just needed to modify the connector task object to status mapping. We were checking the Reconciliation Update Received task on AD and we thought it would be the same, and it was obviously not. Well, in this case teh recon event was being generated but nothing happened, after we changed the process task it worked like a charm.
    On the other hand, the problem with the AD reconciliation was that our search filter on the recon job was configured to ommit accounts with the disabled status (!(userAccountControl=66050)), it was certainly a silly problem, never thought we had that in the filter (it's a huge filter and we didn't pay attention to that clause the first time around) but everything is working now, thanks!

  • How to Create Resource Object in OIM through SQL queries or OIM APIs

    Hello,
    I have to create few (100) resource Objects in OIM. I was creating manually through Design console one by one. In future we might need to create many more Resource Objects .It takes lot of time if we do it through Manually.
    Is there any possiblity we can create Resource Objects through SQL query or OIM APIs ???
    Thanks!!

    Yes. I do it all the time.
    If you are using 11G 11.1.1.3
    Go here
    http://fredforester.org/code/xmlstarters/
    Download the files.
    RESCFORM.xml is an example resource built from the template
    buildtemplate.sh is a shell script that creates a resource from the template
    index.php - you dont need this
    templateresource.xml - this is the template resource. it was created by building a simple resource with all its basic tasks and components then editing it and renaming things so I can find them with sed
    to create Resource C you would
    ./buildtemplate.sh RESCFORM "Resc Resource" "Resc Process"
    you would end up with a file called RESCFORM.xml where when imported would have
    UD_RESCFORM
    Resc Resource Resouce Defintion
    Resc Process Process Defition with basic tasks pointing to a dummy adapter.
    You can optionally create your own prepop so it will get assigned to the form when you import.
    Good luck

  • Diskutil and SDK APIs give conflicting disk-status information

    I have a new USB CDROM device. When I run "diskutil info /dev/disk1s2", it shows the device status information properly, including Ejectable status Yes. Please see the details below. But when I tried to retrive the "ejectable" status programatically using Mac OS X functions - "[NSWorkspace sharedWorkspace] getFileSystemInfoForPath",  "FSGetVolumeParms(info.volume, &params, sizeof(params)" or  "DADiskCopyDescription( disk )", I always get ejectable status NO or FALSE. I have some old USB CDROM devices - in this case, diskutil and Mac OS X functions show same results. What can it be? I tested it on many Mac OSs, everywhere it shows the same problem.
    Thanks!
    my-mac:Desktop sreekanthgeorge$ diskutil info /dev/disk1s2
       Device Identifier:        disk1s2
       Device Node:              /dev/disk1s2
       Part of Whole:            disk1
       File System Personality:       HFS+
       Type (Bundle):                      hfs
       Name (User Visible):                Mac OS Extended
       Owners:                   Disabled
       Partition Type:           Apple_HFS
       OS Can Be Installed:      No
       Media Type:              
       Protocol:                 USB
       SMART Status:             Not Supported
       Volume UUID:              BA5E769E-3CE0-33BA-9963-EBD55A11A176
       Total Size:               68.3 MB (68302848 Bytes) (exactly 133404 512-Byte-Blocks)
       Volume Free Space:        0 B (0 Bytes) (exactly 0 512-Byte-Blocks)
       Device Block Size:        2048 Bytes
       Read-Only Media:          Yes
       Read-Only Volume:         Yes
      Ejectable:                Yes
       Whole:                    No
       Internal:                 No
       Optical Drive Type:       CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-R, DVD-RW, DVD+R, DVD+R DL, DVD+RW
       Optical Media Type:       DVD-ROM
       Optical Media Erasable:   No

    Thanks for your reply.
    If you are talking about diskutil, diskutil always returns the same results for /dev (device) and /Volumes/xxxx (mounted) path. Please see my code snippet below, all code look good and all Mac OS X function calls succeeded with proper results. But when I check the device/volume status, it always give "not-ejectable", "not-unmountable" and "not-removable". Read-only status is always NO (thats correct).
    Thanks again!
    Method 1 with "[NSWorkspace sharedWorkspace] getFileSystemInfoForPath"
        NSString *path = @"/Volumes/xxxx";
        BOOL isRemovable = NO;
        BOOL isUnmountable = NO;
        BOOL isWritable  = NO;
        BOOL ret =[[NSWorkspace sharedWorkspace] getFileSystemInfoForPath:path isRemovable:&isRemovable isWritable:&isWritable isUnmountable:&isUnmountable description:nil type:nil];
        if ( ret )
            std::cout << "Removable " << (int)isRemovable  << "\n";
            std::cout << "Writable " << (int)isWritable << "\n";
            std::cout << "Unmountable " << (int)isUnmountable << "\n";
        else
            std::cout << "Failed" << "\n";
    Method 2 with "FSGetVolumeParms"
        CFStringRef mobiKEYVolumeName = CFStringCreateWithCString(kCFAllocatorDefault, "xxxx", kCFStringEncodingUTF8);
        OSStatus result = noErr;
        for (ItemCount volumeIndex = 1; result == noErr; ++volumeIndex)
            HFSUniStr255    volumeName;
            FSVolumeInfo    volumeInfo;
            FSRef           ref;
            bzero((void *) &volumeInfo, sizeof(volumeInfo));
            result = FSGetVolumeInfo(kFSInvalidVolumeRefNum, volumeIndex, &actualVolume, kFSVolInfoFSInfo, &volumeInfo, &volumeName, &ref);
            if (result == noErr)
                CFStringRef name = CFStringCreateWithCharacters(kCFAllocatorDefault, volumeName.unicode, volumeName.length);
                if (name != NULL && (CFStringCompare(name, mobiKEYVolumeName, 0) == kCFCompareEqualTo))
                    FSCatalogInfo info = {0};
                    if (FSGetCatalogInfo(&ref, kFSCatInfoVolume, &info, NULL, NULL, NULL) == noErr)
                        GetVolParmsInfoBuffer params;
                        if (FSGetVolumeParms(info.volume, &params, sizeof(params)) == noErr)
                            std::cout << "Removable " << (int)((params.vMExtendedAttributes & (1 << bIsRemovable)) != 0)  << "\n";
                            std::cout << "Ejectable " << (int)((params.vMExtendedAttributes & (1 << bIsEjectable)) != 0) << "\n";
    Method 3 with "DADiskCopyDescription"
        DASessionRef daSession = DASessionCreate( kCFAllocatorDefault );
        if ( daSession )
            DADiskRef disk = DADiskCreateFromBSDName( kCFAllocatorDefault, daSession,  "disk1s2");
            if ( disk )
                CFDictionaryRef desc = DADiskCopyDescription( disk );
                if ( desc )
                    CFBooleanRef ejectable = (CFBooleanRef)CFDictionaryGetValue( desc, kDADiskDescriptionMediaEjectableKey );
                    CFBooleanRef removable = (CFBooleanRef)CFDictionaryGetValue( desc, kDADiskDescriptionMediaRemovableKey );
                    CFBooleanRef writable = (CFBooleanRef)CFDictionaryGetValue( desc, kDADiskDescriptionMediaWritableKey );
                    std::cout << "Ejectable " << (int)(ejectable == kCFBooleanTrue)  << "\n";
                    std::cout << "Writable " << (int)(writable == kCFBooleanTrue)<< "\n";
                    std::cout << "Removable " << (int)(removable == kCFBooleanTrue)<< "\n";

  • 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

  • Is there a BAPI that gives the status information (and possibly more) of a

    Hi All,
    We are using an external document image system where we scan and code vendor invoices. They are send to our SAP system via a BAPI.
    We want to update the status of the invoice in the document image system from the status in the SAP system, so whether it is still open or has been paid and cleared. Is there a BAPI that gives the status information (and possibly more) of a specific vendor open item?
    Regards,
    Gerrit

    Are you sure about that? Several highly regarded, widely downloaded apps, e.g., eReader, have an option to hide the status bar. The developer forums are awash in discussions about the commands to hide the status bar-- it's built in to the SDK.
    I figure someone will have put out a small program that does nothing but hide the status bar or allow its tweaking... much like StatusBar does on the Palm OS 5 PDAs...

  • Is there a way to remove the changes to the URL Bar, specifically the status information and the target URL?

    To begin, I utterly despise the changes to the URL Bar and the removal of the Status bar. In order to stay with the latest version of Firefox I am attempting to recreate the look and feel as best I can.
    I have already installed the Status-4-Evar extension. The only thing that remains is to remove the status information and the target URL from the bar.
    Are there any settings in about:config that will allow me to make these changes?
    EDIT: Status information can be removed by toggling. status4evar.statusInUrlBar. Still looking for a way to remove the target URL...

    This code in [http://kb.mozillazine.org/UserChrome.css userChrome.css] below the @namespace line seems to remove the links that appear on hover.
    <pre><nowiki>@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* only needed once */
    .urlbar-textbox-container {color: inherit !important;}
    .urlbar-textbox-container-children {opacity: 1 !important;}
    .urlbar-over-link-box {opacity: 0 !important;}
    </nowiki></pre>
    See http://kb.mozillazine.org/Editing_configuration#How_to_edit_configuration_files

  • 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

  • Recon Events and Resource Status

    I have GTC reconciliation set up to auto-provision accounts to AD and Lotus Notes. As a System Administrator I want a way to see the status of the inbound user from GTC and the outcome of the resource provisioning. If there is an error in one of them I then want to be able to restart the process once the error is resolved. Is there any easy way to do this or do I need to use the database and APIs directly.
    Pete

    For inbound, you can track recon events and the state of event. If the event is matched, then it is completed.
    For resource status, if the resource does not provision properly, the status will start as "Provisioning" state. There should be OOTB reports, or you can go to Manage Resources through the Web UI and choose the user's associated option. Then set the status to provisioning to see the users whose status did not complete.
    Database queries will be the quickest way though, and turning those into reports.
    -Kevin

  • Creating form using OIM API

    Hi
    can anyone help me in creatig a form and assigning it to a resource object.
    please tell what all should i mention in the map which is to be passed to createForm() method.
    Thank you

    Hi all
    what attributes i need to to map to create a from using OIM API
    createForm Method?
    I have tried with this but did not work:The form is getting created , i.e I am seeing an entry in DB.
    At the same time I am aslo getting an exception which is whown below:
    formMap.put("Structure Utility.Table Name", "SAM");
              formMap.put("Structure Utility.Description", "TESTING API USAGE FOR FORM");
    The Exceptions I get are :
    Thor.API.Exceptions.tcInvalidNameException
         at com.thortech.xl.ejb.beansimpl.tcFormDefinitionOperationsBean.createForm(Unknown Source)
         at com.thortech.xl.ejb.beansimpl.tcFormDefinitionOperationsBean.createForm(Unknown Source)
         at com.thortech.xl.ejb.beans.tcFormDefinitionOperationsSession.createForm(Unknown Source)
    09:05:13,772 ERROR [DATABASE] Class/Method: tcDataBase/writeStatement encounter
    some problems: ORA-02089: COMMIT is not allowed in a subordinate session
    java.sql.SQLException: ORA-02089: COMMIT is not allowed in a subordinate session
    09:05:13,819 ERROR [ADAPTERS] Event: Adding Columns to SDC. has encountered an error.
    09:05:13,819 ERROR [SERVER] Class/Method: tcDataObj/runEvent Error :EVT Fatal Rejection Occured
    09:05:13,819 ERROR [APIS] Class/Method: tcFormDefinitionOperationsBean/createForm encounter some problems: maoErrors:Error Adding Column.
    How can i resolve this?
    When and where can I view the form that I have created?
    Thank you

  • Transaction Management - OIM API

    We wanted to know how to handle transaction from OIMClient, when we make OIM API call.
    eg:
    from a java client, we invoke create organization and provision resource to that organization.
    i.e we end up calling two OIM api calls
    1)
        organizationManager.create(organizationObj);
    2)
    tcOrganizationOperationsIntf.provisionObject(orgKey,resourceKey);
    Now, if 2nd one fails, then transaction should be rolled back and organization create should be rolled back. we wanted single unit of work to be achieved.
    how can this be achieved?
    how do we control transaction from OIMClient/API?
    public String createOrganization(OrganizationVO ovo) {
      String result = "";
      OrganizationManager omgr = null; // OIMClient API
      Organization org = null; // OIMClient API
      try { 
      omgr=ULMServiceLocator.getInstance().getOrganizationManager();
      org = new Organization();
      org.setAttribute("Organization Name", ovo.getOrgName());
      org.setAttribute("Organization Customer Type", ovo.getOrgType());
      result = omgr.create(org);
      tcUtilityFactory ioutilityFactory = ULMServiceLocator.getInstance().getcUtilityFactory();
      //TODO
      tcOrganizationOperationsIntf utilityFactory1 = (tcOrganizationOperationsIntf) ioutilityFactory
      .getUtility("Thor.API.Operations.tcOrganizationOperationsIntf");
      long l1 = utilityFactory1.provisionObject(Long.parseLong(result),
      123l);
      } catch (oracle.jrf.UnknownPlatformException e) {
      e.printStackTrace();
      } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      return result;

    Hi Abhay,
    <b>If there is another way to add a record to Main table and Lookup/Qualified/Hierarchy table simultaneously then there is no need of Transaction.</b>
    There are no direct methods currently(as of MDM 5.5SP3) available in MDM API.
    You have to build your own logic to implement.
    Regarding the Transaction management, I guess you are talking aboout two phase commit scenarios. I would say you can achieve this using EJB's in which u write the business logic (In this case the MDM API code).
    For Example:
    Adding a record to Main table,
    Let say 2 fields
    1. Free text field.
    Its straight forward method, use A2iFiled object and assign some value to it.
    2. Lookup field.
    For this.
    First get the Record id for the value, which you are trying to add, from the lookup table.
    If the lookup table does not find the value in the table, it return zero or some negative value(which I am not sure).
    Based on the return value you can add the value into the lookup table and then into the main table.
    Just putting a sample scenario. Hope this helps.
    Thanks and regards
    Subbu

  • User Resource Status Change through Database

    hi,
    i need to know which table stores the status of the recource instance assigned to user.
    i tried querying upa_resource table based on oiu_key but oiu_key corresponding to usr_key in oiu table do not match.
    please help wth your inputs.
    thanks

    2. Updating Resource Status to Revoked for a given resource:
    ==========================================================
    update oiu set ost_key = (select ost_key from ost where obj_key in ( select obj_key from obj where obj_name like 'RESOURCENAME' ) and ost_status like 'Revoked') where ORC_KEY = 'Process Instance Key'
    update orc set orc_status='X' where orc_key = 'Process Instance Key'
    Source: http://rajnishbhatia19.blogspot.com/2008/10/oim-backdoor-queries.html
    Although you can do it directly, I agree 100% with Kevin.
    Renato.
    Edited by: Renato.Guimaraes on 27/08/2009 06:00

Maybe you are looking for

  • How Install Oracle 8.1.7 on RedHat 7.3

    Hello! I want install Oracle 8.1.7 on RedHat 7.3. I follow the steps in book InstallGuid, but when I run runInstaller, I get the error: map failed. How can I install Oracle 8.1.7 on RedHat 7.3. My email is: [email protected] Thanks, David Lin

  • How do I blend two parts of the same image in PS CS5?

    Hi there! I'm hoping someone can help me with this, as I'm still relatively new to Photoshop...I'm a bit stuck. I'm trying to construct a part of the image that wasn't there to begin with, using parts of the dress that are there. This is a screenshot

  • Heap Memory Issue in weblogic 9.2 for a JSF 1.1 web application

    Hi, We are running a JSF application (Myfaces, facelets, tomahawk, richfaces & iBATIS) in weblogic 9.2 server on Solaris 10. This application is deployed in production and works fine under normal circumstances. But when there is a heavy user load we

  • Organizing TV shows on ipod touch

    I have an ipod touch. I am trying to add 4 seasons of a tv show. I have managed to get them grouping under the TV shows sections, and under the Show name. However, when I go into the show folder, the episodes are listed like this: 1x01 2x01 3x01 4x01

  • New Exchange 2013 CAS server in existing Exchange 2007 Organization

    Dear Friends, We have exchange 2007 SP3 with CU13 installed with single copy cluster for database and 1 OWA server for CAS/HT. We will migrate from current to Exchange 2013SP1. As we want to have HA, we have installed 2 new Exchange 2013 SP1 CAS serv