CA Service Management

  • 1.  assigning request Manager role

    Posted Feb 23, 2017 12:01 PM

    Hi Team

     

    I have a little question, is it possible to assign the role request manager to many user with an upload by data base?

     

    Thank you.



  • 2.  Re: assigning request Manager role

    Broadcom Employee
    Posted Feb 23, 2017 01:53 PM

    We do not recommend or support direct manipulation of CA SDM data via DB queries/tools.

     

    You will need to use the pdm_extract and pdm_load utilities.

     

    As always, we recommend testing any changes in a non-PROD environment first.

    From a high level, here are the steps you will need to do:

    1. Take backup of MDB database
    2. Using the pdm_extract utility, extract the records of the users that you want to change 

    3. Edit the file with a text editor to change the Access Type to the Request Manager role (c_acctyp_id=xxxxx)

    4. Save the changes to the modified file (i.e. usp_new.txt)

    5. Load the modified file

    pdm_load -f usp_new.txt

    6. Do the same changes to the ca_contact table

    7. Restart CA SDM services



  • 3.  Re: assigning request Manager role

    Posted Feb 23, 2017 02:12 PM

    Hi Paul,

     

    Thank you for the comment but I forget say that I need do the assigning of the role of Request Manager on Service Catalog not Service Desk.

     

    For Example, I need to assign this role to many user (approx 200 users)

     



  • 4.  Re: assigning request Manager role
    Best Answer

    Posted Feb 23, 2017 03:08 PM

    As Paul mentioned, we generally advise against any direct database manipulation for a number of reasons. That being said you could update or insert into usm_contact_domain_role table however this does fall outside the scope of CA Support and I would highly recommend backing up the mdb in addition to testing in a dev environment should you choose to do this. Following is a sample update:

     

    update usm_contact_domain_role
    set role_id='requestmanager'
    where user_id='jadams'

     

    The supported method would be to leverage the editUser web service method (Administration > Tools > Links > Web Services API > User Web Service) in a loop from something like a Java program or PAM process. For this you could first call the getUser method to get the user bean, update businessUnitRoles and defaultRole parameters and then pass the same for the userObj parameter of editUser. Following is an example of editUser:

     

    <ser:editUser soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <sessionID xsi:type="soapenc:string">cb07d673-c83a-4948-9be5-8c090f3fc8e2</sessionID>
    <userObj xsi:type="urn:User" xmlns:urn="urn:usmUserService">
    <address soapenc:arrayType="xsd:string[6]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
    <address xsi:type="xsd:string"/>
    <address xsi:type="xsd:string"/>
    <address xsi:type="xsd:string"/>
    <address xsi:type="xsd:string"/>
    <address xsi:type="xsd:string"/>
    <address xsi:type="xsd:string"/>
    </address>
    <alias xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <businessUnitLevels soapenc:arrayType="xsd:string[1]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
    <businessUnitLevels xsi:type="xsd:string">ca=0</businessUnitLevels>
    </businessUnitLevels>
    <businessUnitRoles soapenc:arrayType="xsd:string[1]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
    <businessUnitRoles xsi:type="xsd:string">ca=requestmanager</businessUnitRoles>
    </businessUnitRoles>
    <city xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <comment xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <country xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <county xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <data1 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <data2 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <data3 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <data4 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <data5 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <data6 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <data7 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <defaultBusinessUnit xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">ca</defaultBusinessUnit>
    <defaultRole xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">requestmanager</defaultRole>
    <delegate xsi:type="soapenc:string" xsi:nil="true" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <email xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <fax xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <firstName xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">jane</firstName>
    <groups soapenc:arrayType="xsd:string[0]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <lastName xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">adams</lastName>
    <locationComment xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <locationFax xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <locationName xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <locationPhone xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <locationUuid xsi:type="soapenc:string" xsi:nil="true" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <manager xsi:type="soapenc:string" xsi:nil="true" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <middleName xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <mobile xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <pager xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <postalCode xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <primaryPhone xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <secondaryPhone xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <serviceDelegatesId soapenc:arrayType="xsd:string[0]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <state xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <status xsi:type="xsd:int">0</status>
    <telephone xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <timeZone xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">GMT-05:00 America/New_York</timeZone>
    <title xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>
    <userID xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">jadams</userID>
    <userUUID xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">72AEA2EAD35BEB428210362B8B33B2B7</userUUID>
    </userObj>
    </ser:editUser>


  • 5.  Re: assigning request Manager role

    Posted Feb 23, 2017 03:31 PM

    Hi Jason,

     

    Thank you, whit this information I have one idea to assign the role requestmanager to all user that i need. 



  • 6.  Re: assigning request Manager role

    Posted Feb 23, 2017 02:15 PM

    Hi Wincer,

    Typically roles are controlled via Access Types, meaning, most customers assign roles to access types and then just give users the appropriate access type that has the roles they need.  This way you dont have to individually manage what users have which roles, but instead, you manage it from the access type.  If all of the users that need this role have the same access type, then simply add that role to the access type and then they will have it.   

    If you are managing roles on a per-user basis, unfortunately the only supported way to add a role to a user is via the GUI as the relationship is complex because users can have multiple roles.  For more info about how this all works, please take a look at this section in the documentation:

    Security and Role Management - CA Service Management - 14.1 - CA Technologies Documentation 

     

    Hope this helps,

    Jon I.