Like what you see? Have a play with our trial version.

Error rendering macro 'rw-search'

null

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleTABSFROMPARENTGROUPID

Returns the metadata of user's dashboard tabs with their sub tab's IDs. You may provide the ID of a particular tab or sub tab to retrieve its details. Specify the user by using the AdministrationPerson object.

 

Request Parameters

The following parameters should be passed with this request:

Request Element

Data Type

Description

LoginId

String

An admin account to connect to Yellowfin web services. This can be the user ID or the email address, depending on the Logon ID method.

This account must have the “web services” role enabled, and must belong to the default (i.e. primary) org.

Password

String

Password of the above account.

OrgId

Integer

Default (i.e. primary) organization ID within Yellowfin. Always set this to 1.

Function

String

Web service function. Set this to "TABSFROMPARENTGROUPID".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringAn optional parameter to specify a client organization reference ID to search for the dashboard tab within a particular client org, instead of the default organization.
DashboardTabIdIntegerThis optional parameter can be used to retrieve details of a specific dashboard tab. Note, however, that this tab should already exist in Yellowfin.

 

Anchor
getgrouptabsap
getgrouptabsap

These are the main parameters that you must set in the AdministrationPerson object for this web service call:

AdministrationPerson Element

Data Type

Description

UserId

String

To identify the user for whom to retrieve the dashboard tab. This could be the user ID or email address, depending on the Logon ID method.

 

 

Request Example

Below is a SOAP XML example for this request:

Code Block
languagexml
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteAdministrationCall>
         <arg0>
 		  <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <function>TABSFROMPARENTGROUPID</function>
            <person>
                <userId>admin@yellowfin.com.au</userId>              
            </person>       
         </arg0>
      </web:remoteAdministrationCall>
   </soapenv:Body>
</soapenv:Envelope>

 

Response Parameters

The returned response will contain these parameters:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

ParentDashboards

ParentDashboard[]

An array object containing the dashboard's metadata including elements listed in the table below.

 

Each element of the ParentDashboard will contain the following elements:

Response Element

Data Type

Description

DashboardName

String

 Name of the dashboard.

DashboardGroupId

Integer

 

TabIds

String[]

Array of the sub tabs id’s

TabNames

String[]

Array of the sub tabs names

statusCodes

String[]

Array of the sub tabs statuses

 

 

Response Example

The service will return the below response, according to our SOAP example:

Code Block
languagexml
 <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <errorCode>0</errorCode>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Getting user information...</messages>
            <messages>Getting user information...</messages>
            <messages>Web Service Request Complete</messages>
            <parentDashboards>
               <dashboardGroupId>61250</dashboardGroupId>
               <dashboardName>Sales Performance</dashboardName>
               <statusCodes>OPEN</statusCodes>
               <tabIds>61251</tabIds>
               <tabNames>New Tab</tabNames>
            </parentDashboards>
            <parentDashboards>
               <dashboardGroupId>61209</dashboardGroupId>
               <dashboardName>Campaign Analysis</dashboardName>
               <statusCodes>OPEN</statusCodes>
               <statusCodes>OPEN</statusCodes>
               <tabIds>61210</tabIds>
               <tabIds>61243</tabIds>
               <tabNames>Campaigns</tabNames>
               <tabNames>Marketing</tabNames>
            </parentDashboards>
            <person>
               <emailAddress>admin@yellowfin.com.au</emailAddress>
               <firstName>System</firstName>
               <initial/>
               <ipId>5</ipId>
               <languageCode>EN</languageCode>
               <lastName>Administrator</lastName>
               <roleCode>YFADMIN</roleCode>
               <salutationCode/>
               <status>ACTIVE</status>
               <timeZoneCode>AUSTRALIA/SYDNEY</timeZoneCode>
               <userId>admin@yellowfin.com.au</userId>
            </person>
            <sessionId>1b1898c42b69302ce9b3426b5a17e5a0</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteAdministrationCallResponse>
   </S:Body>
</S:Envelope>

 

Instructions

See below for step-by-step instructions on how to perform this call, using a Java example:

Expand
titleStep-by-step instructions
  • Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:

    Code Block
    languagejava
    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    
    rsr.setFunction("TABSFROMPARENTGROUPID");
  • You may even identify a specific client organization:

    Code Block
    languagejava
    rsr.setOrgRef("org1");



  • Specify the user for whom to retrieve the dashboard:

    Code Block
    languagejava
    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
  • Provide a dashboard ID to view only that dashboard's details:

    Code Block
    languagejava
    rsr.setDashboardTabId(61209);  				// dashboard Id (ReportGroup.GroupId field of Yellowfin's database)
    



  • Once the request is configured, perform the call:

    Code Block
    languagejava
    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    

    Initialize the Administration web service. Click here to learn how to do this. 

 

  • The response returned will contain these parameters: StatusCode and ParentDashboard array. See the response parameter chart above for details on these.

 

 

 

Complete Example

Below is a full example of this web service call. To use it for yourself, carry out the following the steps:

  1. Copy the code and save it as ws_tabsfromparentgroupid.jsp.
  2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
  3. Adjust the host, port, and admin user according to your environment.
  4. Run http://<host>:<port>/ws_tabsfromparentgroupid.jsp from your Internet browser.

 

Code Block
languagejava
themeEclipse
<%            
/*              ws_tabsfromparentgroupid.jsp              */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %> 
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%
AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false);        // adjust host and port number
AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService();
AdministrationServiceRequest rsr = new AdministrationServiceRequest();

rsr.setLoginId("admin@yellowfin.com.au");          // provide your Yellowfin web services admin account
rsr.setPassword("test");                           // set to the password of the above account
rsr.setOrgId(1);

rsr.setFunction("TABSFROMPARENTGROUPID");

//rsr.setDashboardTabId(61209);  					// add this to get subtabs for a particular dashboard tab.

 
rsr.setOrgRef("org1");
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");  			
rsr.setPerson(ap);

AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);

if ("SUCCESS".equals(rs.getStatusCode()) ) {
	
	//out.write("Success<br>" + rs.getReportGroups().length + " tabs retrieved");
	// get the tabs details:
	ParentDashboard[] tabs = rs.getParentDashboards();
	if (tabs != null) 
	for (ParentDashboard tab: tabs){
		out.write("<br><br>Dashboard Name: " + tab.getDashboardName());
		out.write("<br>DashboardId: " + tab.getDashboardGroupId());
		out.write("<br>tabIds (N): " + tab.getTabIds().length);
	}
} else {
		out.write("Failure");
		out.write(" Code: " + rs.getErrorCode());
}
%>

 


 

Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:
Expand
titleLOADTABSLOADTABREPORTS

This call is used to load metadata of dashboard tab reports for a specific user. The user is to be specified through the AdministrationPerson object. You can provide a dashboard tab ID via the AdministrationReportGroup object to get report details of a specific tab.Returns the metadata of all published dashboards’ parent tabs, along with details of the dashboard reports. In case of multiple sub tabs within the dashboard, only the details of the parent tab are retrieved, however this call will return metadata of the entire dashboard's reports, including those in the sub tabs. Use the AdministrationPerson object to specify the user for this call.

 

Request Parameters

The following parameters should be passed with this request:

Request Element

Data Type

Description

LoginId

String

An admin account to connect to Yellowfin web services. This can be the user ID or the email address, depending on the Logon ID method.

This account must have the “web services” role enabled, and must belong to the default (i.e. primary) org.

Password

String

Password of the above account.

OrgId

Integer

Default (i.e. primary) organization ID within Yellowfin. Always set this to 1.

Function

String

Web service function. Set this to "GETUSERTABSWITHREPORTSLOADTABREPORTS".

PersonAdministrationPersonObject containing details of the user. See table below.
OrgRefStringAn optional parameter to specify a client organization reference ID to search for the dashboard tab within a particular client orgit, instead of the default organization.
DashboardTabIdReportGroupIntegerAdministrationReportGroupThis optional parameter can be used to retrieve details of specify a specific dashboard tab and its reports. Note, however, that this tab should already exist in Yellowfin. See table below.

 

Anchor
getusertabrepaploadtabreportapgetusertabrepap
loadtabreportap

These are the main parameters that you must set in the AdministrationPerson the AdministrationPerson object for this web service call:

AdministrationPerson Element

Data Type

Description

UserId

String

To identify the user for whom to retrieve the dashboard. This could be the user ID or email address, depending on the Logon ID method.

 

Anchor
loadtabreprg
loadtabreprg

These are the main parameters that you must set in the AdministrationReportGroup object for this web service call:

AdministrationReportGroup Element

Data Type

Description

ReportGroupId

Integer

The ID of the dashboard tab.

 

 

Request Example

Below is a SOAP XML example for this request:

Code Block
languagexml
 

 

 

Response Parameters

The returned response will contain these parameters:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

ReportGroupsparentReportGroups

AdministrationReportGroupParentReportGroup[]

An array object containing the dashaboard metadata along with the elements listed in the table belowof the dashboard tabs with subtabs. See below table.

Person

AdministrationPerson

Full details of the user.

 

Each element of the ReportGroups ParentReportGroup will contain the following elements:

Response Element

Data Type

Description

GroupReportsAdministrationReport[]An array object containing the metadata of all of the dashboard's reports.

 

 

Response Example

reportGroupId

Integer

Dashboard tab ID

reportGroupUUID

String

Dashboard tab published UUID

displayOrder

Integer

Display order of a dashboard tab in a user dashboard.

reportGroup

AdministrationReportGroup

Dashboard tab

reportGroupSubTabs

AdministrationReportGroup[]

Sub tabs with a dashboard.

 

 

Response Example

The service will return the below response, according to our SOAP example:

Code Block
languagexml
 

 

Instructions

See below for step-by-step instructions on how to perform this call, using a Java example:

Expand
titleStep-by-step instructions
Code Block
languagejava
AdministrationServiceRequest rsr = new AdministrationServiceRequest();

rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(1);

rsr.setFunction("GETUSERTABSWITHREPORTS");

You may even identify a specific client organization:

Code Block
languagejava
rsr.setOrgRef("org1");
  • Specify the user for whom to retrieve the report:

    Code Block
    languagejava
    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");
    
    rsr.setPerson(ap);
    • Once the request is configured, perform the call:

      Code Block
      languagejava
      AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
      

      Initialize the Administration web service. Click here to learn how to do this. 

     

    The response returned will contain these parameters:

    The returned response will contain these parameters:

    Response Element

    Data Type

    Description

    StatusCode

    String

    Status of the web service call. Possible values include:

    • SUCCESS
    • FAILURE

    ReportGroups

    AdministrationReportGroup[]

    An array object containing the dashaboard metadata along with the elements listed in the table below.

     

    Each element of the ReportGroups will contain the following elements:

    Response Element

    Data Type

    Description

    GroupReportsAdministrationReport[]An array object containing the metadata of all of the dashboard's reports.
    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
       <S:Body>
          <ns2:remoteAdministrationCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
             <return>
                <errorCode>0</errorCode>
                <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
                <messages>Getting user information...</messages>
                <messages>Getting user information...</messages>
                <messages>Web Service Request Complete</messages>
                <parentReportGroups>
                   <reportGroup>
                      <publishUUID>e7409ff2-f846-44e1-a603-b78ec51b20b9</publishUUID>
                      <reportGroupId>61250</reportGroupId>
                      <reportGroupName>Sales Performance</reportGroupName>
                      <reportGroupStatus>OPEN</reportGroupStatus>
                      <reportGroupType>ANALYTIC</reportGroupType>
                   </reportGroup>
                   <reportGroupId>61250</reportGroupId>
                   <reportGroupSubTabs>
                      <publishUUID>02fec2d8-6b09-48a1-8c6a-54adbb2eb9b6</publishUUID>
                      <reportGroupId>61251</reportGroupId>
                      <reportGroupName>New Tab</reportGroupName>
                      <reportGroupStatus>OPEN</reportGroupStatus>
                      <reportGroupType>SUBTAB</reportGroupType>
                   </reportGroupSubTabs>
                </parentReportGroups>
                <parentReportGroups>
                   <reportGroup>
                      <publishUUID>1e68d9cc-fa5a-44e2-816d-782aa40ceeae</publishUUID>
                      <reportGroupId>61209</reportGroupId>
                      <reportGroupName>Campaign Analysis</reportGroupName>
                      <reportGroupStatus>OPEN</reportGroupStatus>
                      <reportGroupType>ANALYTIC</reportGroupType>
                   </reportGroup>
                   <reportGroupId>61209</reportGroupId>
                   <reportGroupSubTabs>
                      <publishUUID>2e2fb9f6-d43e-4de2-977e-a646b01abc4b</publishUUID>
                      <reportGroupId>61210</reportGroupId>
                      <reportGroupName>Campaigns</reportGroupName>
                      <reportGroupStatus>OPEN</reportGroupStatus>
                      <reportGroupType>SUBTAB</reportGroupType>
                   </reportGroupSubTabs>
                   <reportGroupSubTabs>
                      <publishUUID>1a387957-564b-40ad-9fc1-4167ddd61f33</publishUUID>
                      <reportGroupId>61243</reportGroupId>
                      <reportGroupName>Marketing</reportGroupName>
                      <reportGroupStatus>OPEN</reportGroupStatus>
                      <reportGroupType>SUBTAB</reportGroupType>
                   </reportGroupSubTabs>
                </parentReportGroups>
                <person>
                   <emailAddress>admin@yellowfin.com.au</emailAddress>
                   <firstName>System</firstName>
                   <initial/>
                   <ipId>5</ipId>
                   <languageCode>EN</languageCode>
                   <lastName>Administrator</lastName>
                   <roleCode>YFADMIN</roleCode>
                   <salutationCode/>
                   <status>ACTIVE</status>
                   <timeZoneCode>AUSTRALIA/SYDNEY</timeZoneCode>
                   <userId>admin@yellowfin.com.au</userId>
                </person>
                <sessionId>59ff828c9f26cbe0fdfd281a951d3ec9</sessionId>
                <statusCode>SUCCESS</statusCode>
             </return>
          </ns2:remoteAdministrationCallResponse>
       </S:Body>
    </S:Envelope>

     

    Instructions

    See below for step-by-step instructions on how to perform this call, using a Java example:

    Expand
    titleStep-by-step instructions
    • Start with a basic request for this function, which includes logging in as the admin user and specifying the web service call to perform:

      Code Block
      languagejava
      AdministrationServiceRequest rsr = new AdministrationServiceRequest();
      
      rsr.setLoginId("admin@yellowfin.com.au");
      rsr.setPassword("test");
      rsr.setOrgId(1);
      
      rsr.setFunction("GETUSERPARENTREPORTGROUPS");
    • You may even identify a specific client organization:

      Code Block
      languagejava
      rsr.setOrgRef("org1");



    • Specify the user for whom to retrieve the report:

      Code Block
      languagejava
      AdministrationPerson ap = new AdministrationPerson();
      ap.setUserId("admin@yellowfin.com.au");
      
      rsr.setPerson(ap);
    • You may provide a dashboard tab or sub tab ID:

      Code Block
      languagejava
      rsr.setDashboardTabId(61210);



    • Once the request is configured, perform the call:

      Code Block
      languagejava
      AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
      

      Initialize the Administration web service. Click here to learn how to do this. 

     

    • The response will contain these parameters: StatusCode, ReportGroups and GroupReports. (See the Response Parameter section above for details on these.)

    • To get details of the sub tabs for the first dashboard tab returned, use the following line:

      Code Block
      languagejava
      AdministrationReportGroup[] subtabs = response.getParentReportGroups()[0].getReportGroupSubTabs();
      
    • To get details of the parent dashboard tab of the first dashboard:

      Code Block
      languagejava
      AdministrationReport[] rpts =  response.getReportGroups()[0].getGroupReports();
    • To get the ID number of a dashbaord tab, use this:

      Code Block
      languagejava
      Integer tabId= response.getParentReportGroups()[0].getReportGroupId();
      

     

     

     

    Complete Example

    Below is a full example of this web service call. To use it for yourself, carry out the following the steps:

    1. Copy the code and save it as ws_ getuserparentreportgroups.jsp.
    2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
    3. Adjust the host, port, and admin user according to your environment.
    4. Run http://<host>:<port>/ws_ getuserparentreportgroups.jsp from your Internet browser.

     

    Code Block
    languagexml
    themeEclipse
    <%
    You can then retrieve the reports of the first dashboard tab:
    Code Block
    languagejava
    AdministrationReport[] rpts =  response.getReportGroups()[0].getGroupReports();

     

     

     

    Complete Example

    Below is a full example of this web service call. To use it for yourself, carry out the following the steps:

    1. Copy the code and save it as ws_ getusertabswithreports.jsp.
    2. Put the file in the root folder: Yellowfin/appserver/webapps/ROOT.
    3. Adjust the host, port, and admin user according to your environment.
    4. Run http://<host>:<port>/ws_ getusertabswithreports.jsp from your Internet browser.

     

    Code Block
    languagexml
    themeEclipse
    <%            
    /*              ws_getusertabswithreports.jsp              */
    %>
    <%@ page language="java" contentType="text/html; charset=UTF-8" %>
    <%@ page import="com.hof.util.*, java.util.*, java.text.*" %> 
    <%@ page import="com.hof.web.form.*" %>
    <%@ page import="com.hof.mi.web.service.*" %>
    <%
    AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false);        // adjust host and port number
    AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService();
    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");          // provide your Yellowfin web services admin account
    rsr.setPassword("test");                           // set to the password of the above account
    rsr.setOrgId(1);
    
    rsr.setFunction("GETUSERTABSWITHREPORTS");
    rsr.setOrgRef("org1");
    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");  			
    rsr.setPerson(ap);
    
    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    
    if ("SUCCESS".equals(rs.getStatusCode()) ) {
    	out.write("Success<br>" + rs.getReportGroups().length + " tabs retrieved");
    	
    	// get the tabs details:
    	AdministrationReportGroup[] tabs = rs.getReportGroups();
    	for (AdministrationReportGroup tab: tabs){
    		out.write("<br><br><h1>Dashboard Name: " + tab.getReportGroupName() + "</h1>");
    		AdministrationReport[] rpts = tab.getGroupReports();
    		if (rpts != null)
    			for (AdministrationReport r: rpts){ 
    				out.write("Report Name: " + r.getReportName());
    				out.write("<br>Description: " + r.getReportDescription());
    				out.write("<br>ReportId: " + r.getReportId());
    				out.write("<br>ReportUUID: " + r.getReportUUID());
    				out.write("<br>ExecutionObject: " + r.getExecutionObject());
    				out.write("<br>ReportCategory: " + r.getReportCategory());
    				out.write("<br>SubCategory: " + r.getReportSubCategory());
    				out.write("<br>BirtData: " + r.getBirtData());
    				out.write("<br>SourceName: " + r.getSourceName());
    				out.write("<br>SourceId: " + r.getSourceId());
    				out.write("<br>AuthoringMode: " + r.getAuthoringMode());
    				out.write("<br>ReportTemplate: " + r.getReportTemplate());
    				out.write("<br>DataOutput: " + r.getDataOutput());
    				out.write("<br>DashboardEnabled: " + r.isDashboardEnabled());
    				out.write("<br>ViewId: " + r.getViewId());
    				out.write("<br>ViewName: " + r.getViewName());
    				out.write("<br>ViewDescription: " + r.getViewDescription());
    				out.write("<br>LastModifierName: " + r.getLastModifierName());
    				out.write("<br>LastModifierId: " + r.getLastModifierId());
    				out.write("<br>LastModifiedDate: " + r.getLastModifiedDate());
    				out.write("<br>PublishDate: " + r.getPublishDate());
    				out.write("<br>DeliveryMode: " + r.getDeliveryMode());
    				out.write("<br>LastRunTime: " + r.getLastRunTime());
    				out.write("<br>AverageRunTime: " + r.getAverageRunTime());
    				out.write("<br>RoleCode: " + r.getRoleCode());
    				out.write("<br>ChartTypeCode: " + r.getChartTypeCode());
    				out.write("<br>Usage: " + r.getUsage());
    				out.write("<br><br>");
    	
    /*              ws_getuserparentreportgroups.jsp              */
    %>
    <%@ page language="java" contentType="text/html; charset=UTF-8" %>
    <%@ page import="com.hof.util.*, java.util.*, java.text.*" %> 
    <%@ page import="com.hof.web.form.*" %>
    <%@ page import="com.hof.mi.web.service.*" %>
    <%
    AdministrationServiceService s_adm = new AdministrationServiceServiceLocator("localhost",8080, "/services/AdministrationService", false);        // adjust host and port number
    AdministrationServiceSoapBindingStub adminService = (AdministrationServiceSoapBindingStub) s_adm.getAdministrationService();
    AdministrationServiceRequest rsr = new AdministrationServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");          // provide your Yellowfin web services admin account
    rsr.setPassword("test");                           // set to the password of the above account
    rsr.setOrgId(1);
    
    rsr.setFunction("GETUSERPARENTREPORTGROUPS");
    rsr.setOrgRef("org1");
    AdministrationPerson ap = new AdministrationPerson();
    ap.setUserId("admin@yellowfin.com.au");  			
    rsr.setPerson(ap);
    
    rsr.setDashboardTabId(61210); 						// provide this dashboard sub tab id to get its parent dashboard tab details (optional)
    
    AdministrationServiceResponse rs = adminService.remoteAdministrationCall(rsr);
    
    if ("SUCCESS".equals(rs.getStatusCode()) ) {
    
    	ParentReportGroups[] tabs = rs.getParentReportGroups();
    
    	if (tabs != null) 
    	for (AdministrationReportGroup tab: tabs){
    		out.write("<br><br>Tab Name: " + tab.getReportGroupName());
    		out.write("<br>Number of subtabs: " + tab.getReportGroup().length));
    		AdministrationReportGroup[] groups = tab.getReportGroup();
    		for (AdministrationReportGroup gr: groups){
    			out.write("<br>Subtab Name: " + gr.getReportGroupName());
    		}
    	}
    } else {
    		out.write("Failure");
    		out.write(" Code: " + rs.getErrorCode());
    }
    %>