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

Similar Messages

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

  • 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

  • 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

  • [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

  • 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

  • [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

  • 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

  • Adding parametric value to role programmatically

    I would like to add a large number of parametric values to a parametric role and I have tried the following code to do so:
    String sql = "Select distinct majorcode from GS_Contacts";
    Fuego.Lib.Role rl = Role.find(name:"GS_Department");
    if(rl != null){
              foreach(row in DynamicSQL.executeQuery(sql, externalResource))
                   String param = row[1]+"";
                   logMessage(param);
                   rl.addParameter(param);
    }In studio I get an error: Role 'GS_Department' could not be updated to this server. Reason: 'Invalid process definition. Trying to add a role (organization:GSE, commonName:GS_Department:180001GC) and the field Identification Number cannot be null.
    And in Weblogic, I get no error, but the values are not added.
    I need to do a one-time load of 260 values, and then make the editable later (adding and deleting from this initial list).
    Thanks in advance.

    Hi Shannon,
    The Fuego.Fdi.DirOrganizationalRole has an array parametricValues that you have to manipulate in order to add or remove parameters to that role, after manipulating it call the methos update().
    The Fuego.Fdi.DirHumanParticipant has an array rolesAssignment of type Fuego.Fdi.RoleAssignment that you have to manipulate to add or remove role assignments to a participant, the after call update() for the DirHumanParticipant.
    HTH

  • Does BPM 11.1.1.7 support parameter roles properties in LDAP?

    Dear Expert:
               I know the BPM 11.1.1.5 support paramter roles,but it seems we must extent user properties then using these as parameter,I want to know
    can I using properties in user's LDAP properties then using as parameter in 11.1.1.7?
              Thanks a lot.

    Here's a blog post that describes how you can get parametric role functionality in any release of Oracle BPM 11g and I believe is far simpler than the out of the box parametric role functionality:  http://avioconsulting.com/blog/creating-parametric-roles-using-business-rules.
    The out of the box official Parametric roles feature came in on a second version of 11.1.1.5 called the PS4 "feature pack".  Unless you have  the 11.1.1.5 feature pack or are on 11.1.1.6 or 11.1.1.7, you won't be able to use the out of the box Parametric role feature.
    In 11.1.1.7 (PS6) parametric roles started supporting custom LDAP attributes.  There are a lot of moving parts to getting this to work and it takes quite a bit of configuration from (1) the Enterprise Manager, (2) the Workspace, (3) LDAP administrator perspective, (4) the human task, and (5) the WebLogic Administration Console.  On Enterprise Manager, you're editing the JPS provider in the MBean Browser, editing the “addSearchableUserAttributeMap” operation setting and the "SearchableUserAttributeMap" property.  In the Workspace you're adding the parametric roles based on the custom LDAP attributes,  Each human task has to have its assignment set to use the parametric roles.  Your LDAP administrator needs to create the custom attributes and then assign them to users.  I think it's going to be tough finding an LDAP administrator who is willing to add additional attributes to LDAP and then to assign specific people to use them with various settings.  Once people have been assigned to the various attributes, the LDAP admin would then have to maintain them at the attribute level as well.  Guessing there is a way to do it, but I don't believe it is trivial to determine what people have an LDAP custom user property set to a specific value.  If you're using the embedded LDAP that comes with WebLogic, you'll need to also change the adapters.prop to support searching on custom attributes and the new custom attributes will have to be added to the orderingndex and presenceIndex properties.
    As you can probably tell, I'm not a huge fan of the out of the box parametric role feature.  The rules based approach described in the above blog:
    Works with any release of 11g,
    Uses either LDAP groups or the Application Roles defined in the Workspace for the assignments,
    It's easy in LDAP to see who the people are who are assigned to an LDAP group and it's easy to assign people to Application Roles and
    It is far easier to configure.

  • Layout and role assignment

    Hi,
    one question regarding layouts. When you create a new layout you have to assign it to the roles, for which the new layout should be visible. And I have seen for parametric roles you have to/can choose the parametric value as well. But I would like to assign it to a complete parametric role, not just some values of it. Is there an easier way than just assign it to all values? Especially since the values for my parametric role will change quite frequently, it would be a little bit annoying.
    Regards
    Matthias

    Hi,
    one question regarding layouts. When you create a new layout you have to assign it to the roles, for which the new layout should be visible. And I have seen for parametric roles you have to/can choose the parametric value as well. But I would like to assign it to a complete parametric role, not just some values of it. Is there an easier way than just assign it to all values? Especially since the values for my parametric role will change quite frequently, it would be a little bit annoying.
    Regards
    Matthias

  • Dynamic roles in ALBPM

    Hi,
    How to user parameter roles? Any code samples are appreciated. We have a role like RM for a country. so we specifiy RM as parametric for each country. But some of the participants are global that means when they login they should get access to all the countries. How to implement this in parametric roles?

    You need to create one instance variable say countryName which will hold the country name. And make your countryName as parameter for the role say "CountryManager"
    Suppose you want to make particpiant A handle instance of country "ABC", then open the organization structure window. Open the Participant A dialog box. Then in that you can add Roles which this participant belongs to. So add the role CountryManager and add the parameter value as "ABC" . So now participant A will only get the instance which has country as "ABC".
    No code is required. This needs to be done through Organization Structure window in Studio.
    Hope this helps.
    Regards
    Right Chord

Maybe you are looking for