AddResponsibleParty

Short Description

Creates a ResponsibleParty object for the specified identity in the repository that contains the identity's metadata definition.

Category

User interface helper methods

Syntax

rc=DoRequest("<AddResponsibleParty>...</AddResponsibleParty>",outMetadata);

Parameters

Method Parameters
Parameter
Type
Direction
Description
<ResponsibleParty/>
C
in
Metadata property string that creates a ResponsibleParty object. See the "Details" section for information about the format of the metadata property string.

Details

SAS Management Console and SAS Data Integration Studio allow users to define a set of responsibilities for an object. These product's frameworks support two types of responsibilities — Owner and Administrator. The AddResponsibleParty method enables a user to easily create a ResponsibleParty object. (For example, a ResponsibleParty object can be created that defines a user named “John Smith” as the owner of a particular stored process.) A ResponsibleParty object can be defined for any object in metadata.
ResponsibleParty objects must be created in the same SAS Metadata Repository as the metadata definition of the identity that they describe. Metadata definitions for individual users (Person objects) are always created in the foundation repository. Metadata definitions for groups (IdentityGroup objects) can be created in the foundation repository or a custom repository. The AddMetadata method, which is provided to add objects to a repository, requires a requestor to have WriteMetadata permission to a repository to create an object. The AddResponsibleParty method is provided to allow users to create ResponsibleParty objects in the appropriate repository, even if they do not have WriteMetadata permission to that repository.
The AddResponsibleParty method is available in the DoRequest interface only. The method and its parameters are specified in an XML input string within the INMETADATA parameter of the DoRequest method. The method's output is returned in the DoRequest method's OUTMETADATA parameter.
The XML input string consists of an <ADDRESPONSIBLEPARTY> element that passes a metadata property string that defines a ResponsibleParty object in the following form:
<ResponsibleParty IdentityName='name' Responsibility='role'/>
IDENTITYNAME='name'
specifies the name, up to 60 characters, of a Person or IdentityGroup object that is defined on the SAS Metadata Server. The SAS Metadata Server normalizes the value before storing it in the ResponsibleParty object's Name attribute. A null value implies the connected user. If the specified identity or connected user is Public, an error is returned. If the specified identity is not found in the SAS Metadata Server, an error stating that the object was not found is returned.
RESPONSIBILITY='role'
specifies a value, up to 100 characters, that is valid for the client. If the RESPONSIBILITY parameter is omitted or passes a null value, the SAS Metadata Server returns an error.
If you enter a value that is greater than the maximum character length for either the IDENTITYNAME or RESPONSIBILITY parameters, the value is truncated.
Before creating the requested ResponsibleParty object, the AddResponsibleParty method verifies that an object does not exist that meets the criteria. This causes additional locks on the repository, so the AddResponsibleParty method should be called by a client only after verifying the need to add an object with the GetResponsibleParty method.
The output of the AddResponsibleParty method mirrors the input, except the object identifier of the new object is returned.

Example

The following is an example of a DoRequest method call that issues an AddResponsibleParty request.
outMetadata=""
inMetadata =
"<AddResponsibleParty>
   <ResponsibleParty IdentityName=' ' Responsibility='Owner'/>
</AddResponsibleParty>";

rc=DoRequest(inMetadata,outMetadata);
In this example, which does not specify an IDENTITYNAME value, the ResponsibleParty object is created for the caller.