[Dynamic Parametric Role]

Hi Guys,
I'm currently trying to implement updating of parameters for a particular participant. I tried to follow the oracle reference code found on this link :
http://download.oracle.com/docs/cd/E13154_01/bpm/docs65/standard_components/index.html?t=Fuego/Fdi/DirHumanParticipant/DirHumanParticipant_component.html
However I get this error message:
Caused by: java.lang.UnsupportedOperationException
     at fuego.directory.provider.UnsupportedParticipantAccessor.updateHumanParticipant(UnsupportedParticipantAccessor.java:190)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
     at java.lang.reflect.Method.invoke(Unknown Source)
     at fuego.directory.provider.DirectorySessionImpl$AccessorProxy.invoke(DirectorySessionImpl.java:739)
     at $Proxy3.updateHumanParticipant(Unknown Source)
     at fuego.directory.DirHumanParticipant.update(DirHumanParticipant.java:1770)
     at fuegoblock.fdi.DirHumanParticipant.update(DirHumanParticipant.java:1951)
     at POSM_3_0_Order_Approval.ParametricRole.Default_1_0.Instance.CIL_createParametricRole(Instance.xcdl:31)
     at POSM_3_0_Order_Approval.ParametricRole.Default_1_0.Instance.CIL_createParametricRole(Instance.xcdl)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
     at java.lang.reflect.Method.invoke(Unknown Source)
     at fuego.component.ExecutionThreadContext.invokeMethod(ExecutionThreadContext.java:499)
Can someone help me out?
Thanks!

Hi Dan,
Yup I'm talking about Parametric roles in oracle BPM. I need to find a way where in the system can generate parameters without any human intervention. This needs to be done by an external application. So basically what I need is a sample implementation of how it is done in BPM.
Regards,
Mr. Clutch

Similar Messages

  • [BPM Dynamic Parametric Role] How to Implement DPR?

    Hi Guys,
    Here again, can someone provide me a link for sample codes on implementing Dynamic Parametric Roles?
    Thanks!

    Hi Dan,
    Yup I'm talking about Parametric roles in oracle BPM. I need to find a way where in the system can generate parameters without any human intervention. This needs to be done by an external application. So basically what I need is a sample implementation of how it is done in BPM.
    Regards,
    Mr. Clutch

  • Problems when creating a new parameter for a parametric role

    I'm trying to create a new parameter for a parametric role, but it seems that it is never updated, because the BPM engine does not return any error.
    The scenario is: I have a process that has the role "Brands_Admin", the brands are populated by Web Service dynamically, then the parameters of the role would be those brands. In this case, if a new brand is registered (WS returns a new brand), I simply create a new parameter for the role through the "process administrator" of the BPM Enterprise.
    I'm trying to create the new parameter as follows:
    dirSession                 = DirectorySession.currentEngineSession;
    dirOrganizationalRole       = DirOrganizationalRole.fetch(session : dirSession, id : "Brands_Admin");
    String[] parametricRoles       = dirOrganizationalRole.parametricValues;
    parametricRolesCount      = parametricRoles.length();
    parametricRoles[parametricRolesCount]      = "NEW_BRAND";
    dirOrganizationalRole.parametricValues      = parametricRoles;
    dirOrganizationalRole.update();
    dirOrganizationalRole.refresh();
    for (int i=0; i<dirOrganizationalRole.parametricValues.length(); i++) {
         logMessage(dirOrganizationalRole.parametricValues);
    In the code above, the BPM Studio will print the new parameter correctly, but in next activity (like a Screenflow) when I try to get the parameters of that role again, there are only the parameters that were registered using the BPM Studio, the parameters that are created programmatically not appear.
    Anyone know the reason?
    An user with the same problem: http://forums.tangosol.com/forums/thread.jspa?threadID=839253&tstart=1

    When a project that contains this logic to create a new parameter for a parametric role programmatically is deployed in BPM Enterprise, some strange behaviours occurs.
    The first is that I cannot see through the process administrator the new parameter that was created for the parametric role.
    The second is that if I create this new parameter through process administrator and associate an user to the role that contains the new parameter I cannot access the deployment process. In workspace (authenticated with user that is associated with the role that contains the new parameter) I cannot see anything about the process.

  • Parametric role and organization

    Hi,
    I´ve read BPM Studio helps and some threads in this forum and I still can't figure out this dynamic role thing.
    As I understand a participant can not normally particapate to process instance which have been started by a participant from different organisational Unit even if role is valid.
    Is it possible to change in which organization Unit's Role is doing the task, I am very sceptic that parametric role will solve this ?
    Is there some where a good presentation of this dynamic role and organization thing ?
    thanks

    You get it perfectly.
    1.- Yes it is different Studio and Enterprise in this thing, in Studio the deployment is equivalent to "the root OU" in Enterprise.
    2.- In Studio you do not manage the OUs.
    3.- In enterprise the OUs are managed in the deployment.
    Things that deals to the directory are usually in the Enterprise side, participants are not exported from studio and the rest of things (OUs, roles, groups...) usually are mapped when you publish. And of course when you publish in Enterprise yo have more options that when you deploy in Studio (for example deploy to specific OUs, you can select the engine qhere you deploy (in studio you only have one engine), and so on...
    Hope it helps
    Edited by: ruben.vidaurre on 03-abr-2009 12:24
    Edited by: ruben.vidaurre on 03-abr-2009 12:25
    Edited by: ruben.vidaurre on 03-abr-2009 12:26

  • SAP MII 14.0 SP5 Patch 11 - Error has occurred while processing data stream Dynamic Query role is not assigned to the Data Server

    Hello All,
    We are using a two tier architecture.
    Our Corp server calls the refinery server.
    Our CORP MII server uses user id abc_user to connect to the refinery data server.
    The user id abc_user has the SAP_xMII_Dynamic_Query role.
    The data server also has the checkbox for allow dynamic query enabled.
    But we are still getting the following error
    Error has occurred while processing data stream
    Dynamic Query role is not assigned to the Data Server; Use query template
    Once we add the SAP_xMII_Dynamic_Query role to the data server everything works fine. Is this feature by design ?
    Thanks,
    Kiran

    Thanks Anushree !!
    I thought that just adding the role to the user and enabling the dynamic query checkbox on the data server should work.
    But we even needed to add the role to the data server.
    Thanks,
    Kiran

  • Grab In A Parametric Role

    Hi All
    I'm using BPM to run a business flow using Oracle BPM Studio.
    One of the roles I'm using in the process is a Parametric Role.
    I need to use a Grab activity in this parametric role, but I got an error that I can't use a Grab activity in a parametric role.
    Does anyone familiar with this problem?
    I need to give some permissions to that role, and I don't want to use the Grab's API.
    Thanks
    Arik

    Guessing I'm just confirming what you already know, but there are a couple activities that cannot be placed in a parametric role. Grab is one and a Global Interactive is the other.
    It's not a bug, but I've never quite understood the rationale for not allowing a Grab in a parametric role either.
    Describe your use case and perhaps we can all brainstorm another design pattern that will work.
    Dan

  • How to use Parametric Roles in BPM 11g ?

    Hi Experts,
    How do I use the "parametric roles" in the Oracle BPM 11g?
    I want to use this concept of subroles but could not do this in the BPM 11g.
    Has anyone used and can help me or pass me an example?
    Thanks.
    Leo.
    Edited by: user13269730 on 07/06/2010 13:21

    Ditto here too... looking for an example of how to set this up.
    Here is a scenario:
    I have multiple application roles setup:
    PM - city a (bunch of users)
    PM - city b (bunch of users)
    PM - city c (bunch of users)
    PM - all (has all 3 PM roles and is used as the security to the swimlane).
    I have a business requirement where the PMs (Project managers) should only be able to see and do work ONLY for their city. I have a metadata of 'city' but don't know how to setup an assignment based on this in the human task.
    How does one setup a complex task?

  • Parametric roles in Oracle BPM 11g

    Hi all!,
    For all of us that was asking how to do the parametric roles in Oracle BPM 11g, here´s how to do it, hope it helps.
    Regards!!
    Z3uV4k
    https://docs.google.com/file/d/0B7YrnfO7h717M2U1MTlmMmEtZjI3Mi00ZTNhLWFhNTQtYzkyZjc5OGI5Y2I4/edit?pli=1

    Might also want to look at a blog post I wrote based on an idea Arun Pareek came up with.  (click here)
    The differences are (1) that this lets you assign parametric roles to groups or application roles instead of individual users making them simpler to maintain and (2) IMO it's a lot easier to do using this technique.
    Dan

  • Dynamic Admin Role Problems - IDM7.1

    Hi Everyone. I'm having problems getting a dynamic admin role to work correctly. No matter what I do I always get the error at logon that the user controls no organizations and has no capabilities. Here is how the admin role is configured.
    General:
    Type = Identity Objects
    Assigners = blank (I have also tried configurator)
    Organizations = Top
    Scope of Control:
    Controlled Organizations = Top
    None for everything else.
    Capabilities:
    All caps assigned, no cap rule.
    Assign to users:
    Has the rule below assigned to it. If I check a user that is in the AD group mentioned in the rule, it gives me a '1', if I check one that doesn't have the group, a '0'
    Rule:
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE Rule PUBLIC 'waveset.dtd' 'waveset.dtd'>
    <!--  MemberObjectGroups="#ID#Top" authType="UserIsAssignedAdminRoleRule" id="#ID#Rule:IAM Admin Admin Role Rule" lastMod="26" lastModifier="Configurator" name="IAM Admin Admin Role Rule"-->
    <Rule authType='UserIsAssignedAdminRoleRule' id='#ID#Rule:IAM Admin Admin Role Rule' name='IAM Admin Admin Role Rule' createDate='1239044336520' lastModifier='Configurator' lastModDate='1248287397906' lastMod='26'>
      <RuleArgument name='context'/>
      <RuleArgument name='runAsUser'/>
      <isTrue>
        <contains>
          <rule name='my_rulelibrary:get_DownCaseList'>
            <argument name='dnlist' value='$(runAsUser.accounts[AD].groups)'/>
          </rule>
          <downcase>
            <rule name='my_Configuration:IAM Admin Group Name'/>
          </downcase>
        </contains>
      </isTrue>
      <MemberObjectGroups>
        <ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/>
      </MemberObjectGroups>
    </Rule>I have also added the item below to the system configuration and reset the app server
    <Attribute name='authz'>
                <Object>
                  <Attribute name='checkDynamicallyAssignedAdminRolesAtLoginTo'>
                    <Object>
                      <Attribute name='Administrator Interface'>
                        <Boolean>true</Boolean>
                      </Attribute>
                      <Attribute name='Service Provider User Interface'>
                        <Boolean>false</Boolean>
                      </Attribute>
                      <Attribute name='User Interface'>
                        <Boolean>true</Boolean>
                      </Attribute>
                    </Object>
                  </Attribute>
                </Object>
              </Attribute>Any ideas?

    Hi,
    the view handed to these kind of rules is created with the noFetch option set to true. As a result the AD groups of the user are not available during rule evaluation.
    You could solve your task by doing a search using the FormUtil class.
    I would however advise you to only do this in a small or demo environment as the usage of usermember rules does not scale at all. This is a pure sales feature that will quickly bring down a production environment with high CPU utilization and horrible response times. Unlike what one might guess these rules are not only evaluated during login but almost all the time, often multiple times for each click. Even if the rule as such only performs cheap operations the AuthCache class hogs more and more CPU time with each rule of this kind you add to the system.
    Regards,
    Patrick

  • Parametric Role

    I read about Parametric Role in OBPM Studio Guide,but did not understand.
    Can any one tell me more about Parametric Role with a good example.
    It will be good if any one share small BPM Project which uses Parametric Role.

    Hi,
    Parametric role is mainly used if company has the different department with same role.
    Will explain in more detail,
    For example there is role called "Accountant Manager". That company has 4 different department, each different has the Accountant Mangager role.
    In that case each user will tagged to Accountant Manager with different department.
    I dont know, whether you understood or not.
    Pls let me know, if you have any queries.
    Regards,
    Anandh P

  • BPM Parametric Role

    Dear all,
    I try to lookup parametric role from JDev and I get this exception.
    effectively the ejb.bpm.services/BPMOrganizationServiceBean context doesn't exists in Foreign JNDI provider list ....
    Error during ejb lookup from bpm services client.
    Error during lookup of remote ejb BPMOrganizationService .
    Contact Oracle support if exception can not be fixed.
    Caused by: javax.naming.NameNotFoundException: While trying to lookup 'ejb.bpm.services/BPMOrganizationServiceBean' didn't find subcontext 'bpm'. Resolved 'ejb' [Root exception is javax.naming.NameNotFoundException: While trying to lookup 'ejb.bpm.services/BPMOrganizationServiceBean' didn't find subcontext 'bpm'. Resolved 'ejb']; remaining name 'bpm/services/BPMOrganizationServiceBean'
         at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234)
         at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
         at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
         at weblogic.jndi.internal.ServerNamingNode_1035_WLStub.lookup(Unknown Source)
         at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:423)
         at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:411)
         at javax.naming.InitialContext.lookup(InitialContext.java:392)
         at oracle.bpm.client.impl.BPMServiceRemoteClient.getBPMOrganizationService(BPMServiceRemoteClient.java:190)
         at oracle.tip.tools.ide.workflow.editor.controls.lpg.LPGLookup.fetchLPG(LPGLookup.java:200)
         at oracle.tip.tools.ide.workflow.editor.controls.lpg.LPGDetailPanel.searchLPG(LPGDetailPanel.java:160)
         at oracle.tip.tools.ide.workflow.editor.controls.lpg.LPGDetailPanel._populateApprovalGroups(LPGDetailPanel.java:234)
         at oracle.tip.tools.ide.workflow.editor.controls.lpg.LPGDetailPanel.access$100(LPGDetailPanel.java:36)
         at oracle.tip.tools.ide.workflow.editor.controls.lpg.LPGDetailPanel$2.run(LPGDetailPanel.java:214)
         at java.lang.Thread.run(Thread.java:662)
    Caused by: javax.naming.NameNotFoundException: While trying to lookup 'ejb.bpm.services/BPMOrganizationServiceBean' didn't find subcontext 'bpm'. Resolved 'ejb'
         at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
         at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:247)
         at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
         at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
         at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
         at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
         at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
         at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Dec 12, 2012 10:10:53 AM oracle.bpm.services.instanceManagement
    SEVERE: Exception
    BPM-70203

    oups ....
    Fixed server was shut down

  • Parametric Role ReAssignment

    Hi,
    We are having one parametric role: Agent which is having 2 values: TS1, TS2.
    We have some users assigned to each of the parametric values say to 5 users to TS1 and 2 users to TS2.
    Now, we want the users who have assigned parametric value "TS1" to move to "TS2" so that BPM Server will now have 7 users to "TS2" and removing them from "TS1".
    Can anyone tell me how we can achieve this case through PBL code.
    Thanks,
    Abhishek

    Here is some code, to add a role to a participant... I haven't done it with a parametric role, but you should be able to figure it out...
    roleName as String = "Admin"
    userId as String = "jsmith"
    session as DirectorySession = DirectorySession.currentEngineSession
    theRole as RoleAssignment = RoleAssignment.create(role : DirOrganizationalRole.fetch(session : session, id : roleName), permissions : 95)
    dirHum as Fuego.Fdi.DirHumanParticipant = DirHumanParticipant.fetch(session : session, id : userId)
    curRoles as RoleAssignment[]
    curRoles = dirHum.rolesAssignment
    if indexOf(curRoles, element : theRole) == -1 then
         curRoles[] = theRole
         dirHum.rolesAssignment = curRoles
         update dirHum
    end HTH
    -Kevin

  • NEED WORKAROUND !!!   Can't Add GLOBAL to parametric Role !!!

    When you try to put a global activity into the swimlane of a parametric role, you get an error message:
    "Global activities are not allowed in Multiple Assignment roles because there is not yet an instance. Therefore, activity (GlobalName) cannot be located in Multiple Assignment role (RoleName)"
    This is contrary to the documentation. According to the documentation about "Global activities", it reads:"Global Activities can be assigned to any user-defined role"
    According to the documentation about "user defined-roles", it reads: "user defined-roles can also be Multiple-Assignment (formerly called Parametric)."
    Any ideas for a workaround?

    There is not a workaround on adding a Global to a Parametric Role.
    Create a non-parametric role, associate the users you want to use the Global's functionality and then add the Global.
    Know this probably seems odd. It did to me also, but here's what helped me understand why you cannot do this. Instances have information that the parametric roles are based on (e.g. "region"). When a user uses an interactive activity, the instance carries with it the value of the region because it was set upstream in the process (e.g. "West"). A global is a different story. Since there are no "upstream" activities and it's not a part of the process, the value that the parametric role is based on is not set. The Global cannot fire because it does not know the value of "region" in this example.
    Hope this helps,
    Dan

  • Dynamic User,Role,Group rather than use jazn.xml

    Hi everyone
    For Jdev 11..
    can anybody tell me how to make application wich can make user,group,role dynamically...
    rather than use jazn.xml...
    I thought if i use jazn.xml for register user and group its very static...
    I cannot make it dinamycally....
    I read OPSS and I cannot found the idea behind it...
    thanks...

    Hi,
    You can achieve this by using a sql authentication provider. It gets the users and their roles & credentials from the db tables which you can configure in WLS. In JSF, you can create a creation form based on the table (which you configured for authentication), which can be used for the users to register.
    Check out this doc for more information.
    Regards,
    Arun

  • Dynamic user/role management

    I'm currently working with WebLogic 6.1 and looking into doing what seems to be
    a standard piece of development work, specifically dynamic user management. I
    need the ability to create/modify a user and define them as members of security
    role(s) from within my application, and not through the Weblogic adminstrative
    console. From what I've read the only option is to create a custom RDBMS
    security realm. Does anyone know of any other available options or is this it?
    If anyone has implemented a custom RDBMS security realm I'd be interested in any
    feedback about your experience doing so. Such as performance issues or
    deficiencies of this security model. Thanks in advance.
    - Rich

    Cameron -
    Thanks for your input. Clearly LDAP will not cut it for what I'm trying to do.
    I really need the ability to manage these user accounts from within the
    application not from a separate administrative tool. A custom RDBMS realm seems
    the only option at this point. I looked at some of the vendors you mentioned,
    but they do not seem to offer the type of solution I'm looking for. These
    vendors seem to manage authorization policies which will keep programatic
    security out of your business logic. I did not see where they would allow you to
    create and manage user accounts/groups/ACL's. If there is one that does I'd
    definitely like to take a look at it. Thanks again.
    - Rich
    Cameron Purdy wrote:
    First, if you are using LDAP then you typically use directory management
    tools, not an application, to manage security.
    Second, there are security products that work with J2EE from vendors such as
    Entegrity, IBM, Netegrity, et al. Basically all of them provide advanced
    features like what you describe.
    Third, if you must manage stuff from within the app, you need to use a
    ManageableRealm implementation. See the Weblogic docs to see what I mean.
    Peace,
    Cameron Purdy
    Tangosol, Inc.
    Clustering Weblogic? You're either using Coherence, or you should be!
    Download a Tangosol Coherence eval today at http://www.tangosol.com/
    "Rich Naylor" <[email protected]> wrote in message
    news:[email protected]...
    I'm currently working with WebLogic 6.1 and looking into doing what seemsto be
    a standard piece of development work, specifically dynamic usermanagement. I
    need the ability to create/modify a user and define them as members ofsecurity
    role(s) from within my application, and not through the Weblogicadminstrative
    console. From what I've read the only option is to create a custom RDBMS
    security realm. Does anyone know of any other available options or is thisit?
    If anyone has implemented a custom RDBMS security realm I'd be interestedin any
    feedback about your experience doing so. Such as performance issues or
    deficiencies of this security model. Thanks in advance.
    - Rich

Maybe you are looking for