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
titleFORMATTEDRESULTSET

This web service is similar to the RESULTSET function call, however it returns the raw result set using the formatters from the report. 

 

Request Elements

The following elements will be passed with this request:

Request Element

Data Type

Description

LoginId

String

Yellowfin web services administrator user Id. This can be the user ID or the email address, depending on the Logon ID method.

This Yellowfin 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.

ReportRequest

String

Web services function. Set this to "FORMATTEDRESULTSET".

OrgRef

String

Client Org internal reference ID (optional).

ReportIdIntegerID of the report whose result data is to be viewed.


 

Request Example

The following SOAP example shows the parameters that you can pass to this call:

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:remoteReportCall>
         <arg0>
            <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <reportRequest>FORMATTEDRESULTSET</reportRequest>
            <reportId>58511</reportId>
            </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Elements

The response will contain the following main parameters: (For a more detailed list of response parameters, refer to the Main Report Services object.)

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE
ResultsMain Report Services[]An array of object containing the result of the report's data set.

 

 

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:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <author>System Administrator</author>
            <authoringMode>JAVA</authoringMode>
            <averageRunTime>0</averageRunTime>
            <canDrill>false</canDrill>
            <category>Audit Reports</category>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Yellowfin Configuration Database</datasource>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>5</hitCount>
            <lastModifiedDate>2016-04-13</lastModifiedDate>
            <lastRunDuration>0</lastRunDuration>
            <lastRunStatus>RUN_NOERROR</lastRunStatus>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 58511 Successfully</messages>
            <messages>Returning RAW Resultset</messages>
            <messages>Request Contains No ReportFilter Records.</messages>
            <messages>Report Run Successfully</messages>
            <messages>Web Service Request Complete</messages>
            <private>false</private>
            <reportDescription/>
            <reportId>58511</reportId>
            <reportName>Role Population</reportName>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>00c65743-15f8-4f93-ace1-e3d4d2b956eb</reportUUID>
            <reportUsage>9</reportUsage>
            <results>
               <dataValue>System Administrator</dataValue>
               <dataValue>1</dataValue>
            </results>
            <results>
               <dataValue>Consumer &amp; Collaborator</dataValue>
               <dataValue>5</dataValue>
            </results>
            <sessionId>1e4f0c8ee07d24a5500f952a459b1652</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>User Access</subCategory>
            <tags>No tags</tags>
            <viewName>NEW VIEW</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </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
  • Here's a basic request to perform this call, which includes logging in as the admin user and specifying the web service call to perform:

    Code Block
    languagejava
    ReportServiceRequest rsr = new ReportServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    
    rsr.setReportRequest("FORMATTEDRESULTSET");


  • Specify the report to get its formatted result set:

    Code Block
    languagejava
    rsr.setReportId(60712);



  • You may even specify the report client Reference ID:

    Code Block
    languagejava
    rsr.setReportClientReferenceId("1");


  • Once the request is configured, carry out the call:

    Code Block
    languagejava
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

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

 

  • The response returned will contain the StatusCode and Results parameters, along with other report specific parameters. Refer to the Response Parameter table above for details.

 


Complete Example

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

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

 

Code Block
languagejava
themeEclipse
<%           
/*              ws_resultset.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.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
	
ReportService rsc = new ReportService();   //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
	ReportServiceRequest rsr = new ReportServiceRequest();
	rsr.setLoginId("admin@yellowfin.com.au");
	rsr.setPassword("test");
	rsr.setOrgId(new Integer(1));
	rsr.setReportRequest("FORMATTEDRESULTSET");
	rsr.setOrgRef("1");
	rsr.setReportId(60712);
	rsr.setReportClientReferenceId("1");
	ReportServiceResponse rs=rsc.remoteReportCall(rsr);
	if ("SUCCESS".equals(rs.getStatusCode())) {
		
		  JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
	        Marshaller m = context.createMarshaller();
	        m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML
	        JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs);
	        m.marshal(rootElement,out);    
		//out.write("Success");
	} else {
		out.write("Failure");
		out.write(" Code: " + rs.getErrorCode());
	}
	
%>

 


 

Report Comment Management

The web services in this section are related to user comments on Yellowfin reports.

...

titleGETCOMMENTS

This function retrieves all comments of a particular report, provided it has any.

 

Request Elements

The following elements will be passed with this request:

Request Element

Data Type

Description

LoginId

String

Yellowfin web services administrator user Id. This can be the user ID or the email address, depending on the Logon ID method.

This Yellowfin 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.

ReportRequest

String

Web services function. Set this to "GETCOMMENTS".

OrgRef

String

Client Org Internal Reference Id (optional). Use this to search for the report in the referenced Client Org. If this is not set, then the report will be searched in the default (primary) org.

ReportIdIntegerYou can provide a report ID to retrieve its comments.

 

Request Example

The following SOAP example shows the parameters that you can pass to this call:

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:remoteReportCall>
         <arg0>
            <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <reportRequest>GETCOMMENTS</reportRequest>
            <reportId>70012</reportId>
            </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Elements

The response will contain the following main parameter:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE
CommentsMain Report Services[]Object containing the specified report's comments.

 

 

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:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <author>System Administrator</author>
            <authoringMode>JAVA</authoringMode>
            <averageRunTime>0</averageRunTime>
            <canDrill>false</canDrill>
            <category>Tutorial</category>
            <comments>
               <author>System Administrator</author>
               <authorId>5</authorId>
               <comment>&lt;span>Great info.&lt;/span></comment>
               <commentDate>2018-03-18 17:32:54</commentDate>
               <commentId>2004</commentId>
               <lastActivityDate>2018-03-18 17:33:13</lastActivityDate>
               <parentCommentId>0</parentCommentId>
               <reportId>70012</reportId>
               <statusCode>OPEN</statusCode>
            </comments>
            <comments>
               <author>System Administrator</author>
               <authorId>5</authorId>
               <comment>&lt;span>Want to see more structure.&lt;/span></comment>
               <commentDate>2018-03-18 17:33:13</commentDate>
               <commentId>2005</commentId>
               <lastActivityDate>2018-03-18 17:33:13</lastActivityDate>
               <parentCommentId>2004</parentCommentId>
               <reportId>70012</reportId>
               <statusCode>OPEN</statusCode>
            </comments>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Ski Team</datasource>
            <errorCode>0</errorCode>
            <formatCode>CHART</formatCode>
            <hitCount>3</hitCount>
            <lastModifiedDate>2018-03-07</lastModifiedDate>
            <lastRunDuration>0</lastRunDuration>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 70012 Successfully</messages>
            <messages>Web Service Request Complete</messages>
            <preRunFilterString><![CDATA[<div class="rptFilterLogicText">
<span class="rptFilterLogicIdentifier">Invoiced Date</span>
Between
<span class="rptFilterLogicIdentifier">Current Date - 6 Years And Current Date</span>
</div>
.
.
.
	]]></preRunFilterString>
            <private>false</private>
            <reportDescription>This report provides a high level summary of campaigns</reportDescription>
            <reportId>70012</reportId>
            <reportName>Campaign Summary</reportName>
            <reportTemplate>CHART</reportTemplate>
            <reportUUID>3e842fae-02f7-4ad3-a632-ca267e0078da</reportUUID>
            <reportUsage>100</reportUsage>
            <sessionId>3ab136a400081d88c09526f8bdf9e2e7</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>Marketing &amp; Booking</subCategory>
            <tags>No tags</tags>
            <viewName>New View</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>

 

 

Instructions

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

...

titleStep-by-step instructions

...

Code Block
languagejava
ReportServiceRequest rsr = new ReportServiceRequest();

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

rsr.setReportRequest("GETCOMMENTS");

...

Code Block
languagejava
rsr.setOrgRef("org1");      // search for the report in this client org

...

Code Block
languagejava
rc.setReportId(60712);

...

 

...

Code Block
languagejava
rsr.setReportComment(rc);

...

Code Block
languagejava
ReportServiceResponse rs=rsc.remoteReportCall(rsr);

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

 

...

 

Complete Example

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

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

 

Code Block
languagejava
themeEclipse
<%           
/*              ws_getcomments.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.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
/*
  Create Group
  Using Java generated stubs rather that using the Yellowfin webservices API..
*/

ReportService rsc = new ReportService();   //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
	ReportServiceRequest rsr = new ReportServiceRequest();
	rsr.setLoginId("admin@yellowfin.com.au");
	rsr.setPassword("test");
	rsr.setOrgId(new Integer(1));
	rsr.setReportRequest("GETCOMMENTS");
	rsr.setReportId(56401);
	
	ReportServiceResponse rs=rsc.remoteReportCall(rsr);
	
%>

 

 

...

titleCOMMENTSTATUS

This function is used to set the status of a report comment. The status options include: OPEN, EDITED, RESOLVED and DELETED.

 

Request Elements

The following elements will be passed with this request:

Request Element

Data Type

Description

LoginId

String

Yellowfin web services administrator user Id. This can be the user ID or the email address, depending on the Logon ID method.

This Yellowfin 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.

ReportRequest

String

Web services function. Set this to "COMMENTSTATUS".

ReportComment

Main Report Services

Object containing details of the report comment whose status is to be set. See table below.

OrgRef

String

Client Org Internal Reference Id (optional). Use this to search for the report in the referenced Client Org. If this is not set, then the report will be searched in the default (primary) org.

ReportIdIntegerYou can provide a report ID to search for a particular report.

 

...

These are the mandatory parameters that you need to set in the ReportComment object for this function:

ReportComment Element

Data Type

Description

Retrieval Code

CommentId

Integer

ID of comment

getCommentId()

StatusCode

String

Provide the new status. The status option include: OPEN, EDITED, RESOLVED and DELETED.

getStatusCode()

 

Request Example

The following SOAP example shows the parameters that you can pass to this call:

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:remoteReportCall>
         <arg0>
            <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <reportRequest>COMMENTSTATUS</reportRequest>
            <reportId>60712</reportId>
            <reportComment>
            	<commentId>12345</commentId>
            	<statusCode>OPEN</statusCode>
            </reportComment>
         </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Elements

The response will contain the following main parameter:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

 

 

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:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <canDrill>false</canDrill>
            <dashboardEnabled>false</dashboardEnabled>
            <errorCode>0</errorCode>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Web Service Request Complete</messages>
            <private>false</private>
            <sessionId>6dc344c3e5dee88864998f4acc17d676</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>

 

 

Instructions

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

...

titleStep-by-step instructions

...

Code Block
languagejava
ReportServiceRequest rsr = new ReportServiceRequest();

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

rsr.setReportRequest("COMMENTSTATUS");

 

...

Code Block
languagejava
rsr.setOrgRef("org1");      // search for the report in this client org

...

Code Block
languagejava
ReportComment rc=new ReportComment();

...

Code Block
languagejava
rc.setReportId(60712);

...

Code Block
languagejava
rc.setCommentId(12345);
rc.setStatusCode("OPEN");

...

Code Block
languagejava
rsr.setReportComment(rc);

...

Code Block
languagejava
ReportServiceResponse rs=rsc.remoteReportCall(rsr);

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

 

...

 

Complete Example

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

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

 

Code Block
languagejava
themeEclipse
<%           
/*              ws_commentstatus.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.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
/*
  Create Group
  Using Java generated stubs rather that using the Yellowfin webservices API..
*/

ReportService rsc = new ReportService();   //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
	ReportServiceRequest rsr = new ReportServiceRequest();
	rsr.setLoginId("admin@yellowfin.com.au");
	rsr.setPassword("test");
	rsr.setOrgId(new Integer(1));
	rsr.setReportRequest("COMMENTSTATUS");
	
	ReportComment rc=new ReportComment();
	rc.setReportId(60712);
	rc.setCommentId(12345);
	rc.setStatusCode("OPEN");
	rsr.setReportComment(rc);
	ReportServiceResponse rs=rsc.remoteReportCall(rsr);
	if ("SUCCESS".equals(rs.getStatusCode())) {
		  JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
	        Marshaller m = context.createMarshaller();
	        m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML
	        JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs);
	        m.marshal(rootElement,out);
		//out.write("Success");
	} else {
		out.write("Failure");
		out.write(" Code: " + rs.getErrorCode());
	} 
%>

 

 

Miscellaneous

Anchor
sendtoemail
sendtoemail

Expand
titleSENDTOEMAIL

This function sends a report to a recipient's email address.

 

Request Elements

The following elements will be passed with this request:

Request Element

Data Type

Description

LoginId

String

Yellowfin web services administrator user Id. This can be the user ID or the email address, depending on the Logon ID method.

This Yellowfin 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.

ReportRequest

String

Web services function. Set this to "SENDTOEMAIL".

OrgRef

String

Optional parameter to specify an internal reference ID of a Client Org.

ReportIdIntegerAn internal ID to of the report that is to be emailed.
ReportsOptionString[]A list of email addresses to send the report to.
AlterationCommand  
SessionIdInteger(Optional) To specify a previous session by its ID.
LanguageCode (Optional) To specify a language.


 

Request Example

The following SOAP example shows the parameters that you can pass to this call:

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:remoteReportCall>
         <arg0>
            <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <reportRequest>SENDTOEMAIL</reportRequest>
            <reportId>70012</reportId>
            <alterationCommand>drill-down|70012</alterationCommand>
            <reportOptions>
            	<string>binish.sheikh@yellowfin.com.au</string>
            </reportOptions>
            </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>

 

 

Response Elements

The response will contain these main parameters:

Response ElementData TypeDescription
StatusCodeStringStatus of the web service call. Possible values include:
  • SUCCESS
  • FAILURE

 

 

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:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <author>System Administrator</author>
            <authoringMode>JAVA</authoringMode>
            <averageRunTime>0</averageRunTime>
            <canDrill>false</canDrill>
            <category>Tutorial</category>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Ski Team</datasource>
            <errorCode>0</errorCode>
            <formatCode>CHART</formatCode>
            <hitCount>3</hitCount>
            <lastModifiedDate>2018-03-07</lastModifiedDate>
            <lastRunDuration>0</lastRunDuration>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 70012 Successfully</messages>
            <messages>Web Service Request Complete</messages>
            <preRunFilterString><![CDATA[<div class="rptFilterLogicText">
<span class="rptFilterLogicIdentifier">Invoiced Date</span>
Between
<span class="rptFilterLogicIdentifier">Current Date - 6 Years And Current Date</span>
</div>
.
.
.
]]></preRunFilterString>
            <private>false</private>
            <reportDescription>This report provides a high level summary of campaigns</reportDescription>
            <reportId>70012</reportId>
            <reportName>Campaign Summary</reportName>
            <reportTemplate>CHART</reportTemplate>
            <reportUUID>3e842fae-02f7-4ad3-a632-ca267e0078da</reportUUID>
            <reportUsage>100</reportUsage>
            <sessionId>fa0cc79a9ea229bd5df85b4a7f50c878</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>Marketing &amp; Booking</subCategory>
            <tags>No tags</tags>
            <viewName>New View</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </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
  • Here's a basic request to perform this call, which includes logging in as the admin user and specifying the web service call to perform:

    Code Block
    languagejava
    ReportServiceRequest rsr = new ReportServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    
    rsr.setReportRequest("SENDTOEMAIL");


  • If you need to specify the client org where the report exists, add this to your code:

    Code Block
    languagejava
    rsr.setOrgRef("org1");      // search for the report in this client org



  • Specify the report that is to be emailed, and its alteration command:

    Code Block
    languagejava
    rsr.setReportId(60712);
    rsr.setAlterationCommand("drill-down|60712");



  • Then provide the email address(es) to send the report to:

    Code Block
    languagejava
    rsr.setReportOptions(new String[]{ "dummy@dummy.com"});



  • Once the request is configured, carry out the call:

    Code Block
    languagejava
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

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

 

  • The response returned will contain the following parameters: StatusCode, Dashboard, Subtabs. (See the Response Parameters table above for more details.)


Complete Example

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

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

 

Code Block
languagejava
themeEclipse
/*				ws_sendtoemail.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.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
	

	ReportService rsc = new ReportService();   //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
	ReportServiceRequest rsr = new ReportServiceRequest();
	rsr.setLoginId("admin@yellowfin.com.au");
	rsr.setPassword("test");
	rsr.setOrgId(new Integer(1));
	rsr.setReportRequest("SENDTOEMAIL");
	rsr.setOrgRef("1");
	rsr.setReportId(60712);
	rsr.setAlterationCommand("drill-down|60712");
	rsr.setReportOptions(new String[]{ "dummy@dummy.com"});
	rsr.setReportClientReferenceId("1");
	rsr.setDashboardTabId(70080);
	
	ReportServiceResponse rs=rsc.remoteReportCall(rsr);
	if ("SUCCESS".equals(rs.getStatusCode())) {
		
		 
		  JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
	        Marshaller m = context.createMarshaller();
	        m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML
	        JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs);
	        m.marshal(rootElement,out);    
	       
		//out.write("Success");
	} else {
		out.write("Failure");
		out.write(" Code: " + rs.getErrorCode());
	} 
%>

 


 

Anchor
command
command

Expand
titleCOMMAND

Processes an interaction from a report a web service report. This function is used to interact with a report, such as by changing a report page, performing drill-through, drill-down, drill-anywhere, or changing the series selection.

The AlterationCommand parameter is a text-code that is embedded in a report that can be passed back to the web service to alter the report.


Request Elements

The following elements will be passed with this request:

Request Element

Data Type

Description

LoginId

String

Yellowfin web services administrator user Id. This can be the user ID or the email address, depending on the Logon ID method.

This Yellowfin 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.

ReportRequest

String

Web services function. Set this to "COMMAND".

OrgRef

String

Client Org internal reference ID (optional).

ReportIdIntegerID of the report to be processed.
AlterationCommentStringCommand to be applied to the report. This specifies how the report should be altered. This parameter is a text-code that is embedded in a report; on retrieving the report details, you can pass this value to the web service to alter the report.
CommandHistoryString(Optional) List of piped commands, (Applies the command sequentially if the report has been wiped from the session.)
SessionIDString(Optional) ID of the previous session.
LanguageCodeString(Optional) To specify the language.

 

 

Response Elements

The response returned will contain these parameters:

Response Element

Data Type

Description

StatusCode

String

Status of the web service call. Possible values include:

  • SUCCESS
  • FAILURE

 

 

Instructions

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

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

    Code Block
    languagejava
    ReportServiceRequest rsr = new ReportServiceRequest();
    
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    
    rsr.setReportRequest("COMMAND");


  • If you need to specify the client org where the report exists, add this to your code:

    Code Block
    languagejava
    rsr.setReportClientReferenceId("1");
    


  • Add the command to be applied to the report:

    Code Block
    languagejava
    rsr.setAlterationCommand("DRILLDOWN|60712|53655|RXVyb3Bl");



  • Pass the session ID from the previous request, if required:

    Code Block
    languagejava
    rsr.setSessionId("ce509806176f6a0563767bfb0b2bb36f");


  • Once the request is configured, carry out the call:

    Code Block
    languagejava
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

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

 

  • The response returned will contain the StatusCode parameter, along with other report specific parameters. Refer to the Response Parameter table above for details.

 


Complete Example

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

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

 

Code Block
languagejava
themeEclipse
<%@page import="com.thoughtworks.xstream.io.xml.StaxDriver"%>
<%@ 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.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>


<%

ReportService rsc = new ReportService();   //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
	ReportServiceRequest rsr = new ReportServiceRequest();
	rsr.setLoginId("admin@yellowfin.com.au");
	rsr.setPassword("test");
	rsr.setOrgId(new Integer(1));
	rsr.setReportRequest("COMMAND");
	rsr.setReportId(60712);


	rsr.setAlterationCommand("DRILLDOWN|60712|53655|RXVyb3Bl");

	rsr.setReportClientReferenceId("1");
	rsr.setSessionId("ce509806176f6a0563767bfb0b2bb36f");
	ReportServiceResponse rs=rsc.remoteReportCall(rsr);
	
	if ("SUCCESS".equals(rs.getStatusCode())) {
		
		%> <xmp> <% 
		  JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
	        Marshaller m = context.createMarshaller();
	        m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML
	        JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs);
	        m.marshal(rootElement,out);    
	        %></xmp><%
		//out.write("Success");
	} else {
		out.write("Failure");
		out.write(" Code: " + rs.getErrorCode());
	} 
%>