Get Dimension Security by Segment
  • 1 Minute to read
  • Dark
    Light
  • PDF

Get Dimension Security by Segment

  • Dark
    Light
  • PDF

Article summary

An Admin user can update dimension access security for a user along with all members of the parent or rollup dimension. To see a list of all segment members for a dimension that a user has access to, use the <SegmentMemberSecurityInfo> call.

Format of API String

List<SegmentMemberSecurityInfo> GetDimensionSecurityBySegment(int startIndex = 0, out hasMore, string dimensionName,Model model,string loginName, string password, string tenantCode)

The API will return 5000 rows at a time. When More is true, there are more combinations in the system. The number of rows returned (which is currently 5000) is configurable and can be changed by contacting Support.

Data that needs to be supplied to the API:

  • loginName, password and tenantCode – user credentials to authenticate the API connection

Output

  • Segment ID – in string format

  • Index start value

  • List of values (below)

<GetDimensionSecurityBySegmentResult>
<SegmentMemberSecurityInfo>
<SegmentMemberCode>Internet</SegmentMemberCode>
<UserLogin>benparker@planful.com</UserLogin>
</SegmentMemberSecurityInfo>
<SegmentMemberSecurityInfo>
<SegmentMemberCode>Account1</SegmentMemberCode>
<UserLogin>planfuluser@gmail.com</UserLogin>
</SegmentMemberSecurityInfo>
 	</GetDimensionSecurityBySegmentResult>
<hasMore>true</hasMore>
</GetDimensionSecurityBySegmentResponse>

Sample Request and Response

Sample request and response calls for the Get_Dimension_Security_By_Segment API is provided below. In the request, dimension security is applied at the Account parent level. In the response, all members of the Account rollup are provided starting with member code 1010.

Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:ns="http://www.Planful.com/API/SOAP/StateFree/Common/2009/03/19">
<soapenv:Header/>
<soapenv:Body>
<ns:Get_Dimension_Security_By_Segment>
<!--Optional:-->
<ns:DimensionCode>Account</ns:DimensionCode>
<ns:Model>Financial</ns:Model>
<ns:hasMore>true</ns:hasMore>
<ns:startIndex>200</ns:startIndex>
<!--Optional:-->
<ns:LoginName>benbradley@planful.com</ns:LoginName>
<!--Optional:-->
<ns:Password>password</ns:Password>
<!--Optional:-->
<ns:TenantCode>POV</ns:TenantCode>
</ns:Get_Dimension_Security_By_Segment>
</soapenv:Body>
</soapenv:Envelope>

Response

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<Get_Dimension_Security_By_SegmentResponse 
xmlns="http://www.Planful.com/API/SOAP/StateFree/Common/2009/03/19">
<Get_Dimension_Security_By_SegmentResult>
<SegmentMemberSecurityInfo>
<UserLogin>benparker@planful.com</UserLogin>
<SegmentMemberCode>1010</SegmentMemberCode>
</SegmentMemberSecurityInfo>
<SegmentMemberSecurityInfo>
<UserLogin>benparker@planful.com</UserLogin>
<SegmentMemberCode>1020</SegmentMemberCode>
</SegmentMemberSecurityInfo>
<SegmentMemberSecurityInfo>
<UserLogin>benparker@planful.com</UserLogin>
<SegmentMemberCode>1030</SegmentMemberCode>
</SegmentMemberSecurityInfo>
<SegmentMemberSecurityInfo>
<UserLogin>benparker@planful.com</UserLogin>
<SegmentMemberCode>1040</SegmentMemberCode>
</SegmentMemberSecurityInfo>
<SegmentMemberSecurityInfo>
<UserLogin>benparker@planful.com</UserLogin>
<SegmentMemberCode>1050</SegmentMemberCode>
</SegmentMemberSecurityInfo>
<SegmentMemberSecurityInfo>
<UserLogin>benparker@planful.com</UserLogin>
<SegmentMemberCode>1053</SegmentMemberCode>
</SegmentMemberSecurityInfo>
<SegmentMemberSecurityInfo>
<UserLogin>benparker@planful.com</UserLogin>
<SegmentMemberCode>1210</SegmentMemberCode>
</SegmentMemberSecurityInfo>
<SegmentMemberSecurityInfo>
</Get_Dimension_Security_By_SegmentResult>
 	<hasMore>false</hasMore>
</Get_Dimension_Security_By_SegmentResponse>
</soap:Body>
</soap:Envelope>

Selective Property in the Get_Dimension_Security_By_Segment APl

You can export only selected members using this property. The sample code below shows how selective members are exported in the Dimension Security report.

Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ [schemas.xmlsoap.org]" 
xmlns:ns="http://www.Planful.com/API/SOAP/StateFree/Common/2009/03/19">
<soapenv:Header/>
<soapenv:Body>
<ns:Get_Dimension_Security_By_Segment>
<!--Optional:-->
<ns:DimensionCode>Company</ns:DimensionCode>
<ns:Model>Financial</ns:Model>
<ns:hasMore>true</ns:hasMore>
<ns:startIndex>0</ns:startIndex>
<!--Optional:-->
<ns:LoginName>benparker@planful.com</ns:LoginName>
<!--Optional:-->
<ns:Password>password</ns:Password>
<!--Optional:-->
<ns:TenantCode>DrillthroughHFJuly27</ns:TenantCode>
<ns:Export>Selective</ns:Export>
</ns:Get_Dimension_Security_By_Segment>
</soapenv:Body>
</soapenv:Envelope>

Response

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/ [schemas.xmlsoap.org]" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance [w3.org]" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema [w3.org]">
<soap:Body>
<Get_Dimension_Security_By_SegmentResponse 
xmlns="http://www.Planful.com/API/SOAP/StateFree/Common/2009/03/19">
<Get_Dimension_Security_By_SegmentResult>
<SegmentMemberSecurityInfo>
<UserLogin>benparker@planful.com</UserLogin>
<SegmentMemberCode>HYD</SegmentMemberCode>
</SegmentMemberSecurityInfo>
<SegmentMemberSecurityInfo>
<UserLogin>benbradley@planful.com</UserLogin>
<SegmentMemberCode>Company Main</SegmentMemberCode>
</SegmentMemberSecurityInfo>
</Get_Dimension_Security_By_SegmentResult>
<hasMore>false</hasMore>
</Get_Dimension_Security_By_SegmentResponse>
</soap:Body>
</soap:Envelope>

Dimension Processing

After the dimension security update API call is complete, the dimension processing (ProcessDimension) call needs to take place to update the reporting cube. Processing of dimensions will update the cube with dimension security data for all dimensions.

Format of API String

void ProcessDimension(string dimensionCode, Model model,string loginName, string password, string tenantCode)


Was this article helpful?