on 07-27-2016 1:43 PM
Hi,
I need to create a prompts for the webi report in 4.2 using restful which has no predefined prompts.
1 . PUT method
/biprws/raylight/v1/documents/xxxx/parameters/
<parameters>
<parameter optional="false" type="prompt" dpId="DP0">
<id>0</id>
<technicalName>Value >=</technicalName>
<name>Value >=</name>
<answer constrained="false" type="Numeric">
<info cardinality="Single" keepLastValues="true">
<previous>
<value>0</value>
</previous>
</info>
<values>
<value>0</value>
</values>
</answer>
</parameter>
</parameters>
2. response
<error>
<error_code>RWS 00057</error_code>
<message>Method not allowed; method specified in the Request-Line is not allowed for the resource identified by the Request-URI (RWS 00057)</message>
</error>
Hi Nirmal,
If your report does not have a prompt yet, that would explain the error. You cannot add a parameter using the parameters api. This API is for getting and answering prompts.
You will need to add the prompt to the queryspec of the dataprovider.
for example, if I have a report with no parameters and the following specification:
GET /biprws/raylight/v1/documents/<docId>/dataproviders/DP0/specification
Accept: text/xml
<?xml version="1.0" encoding="UTF-8"?>
<queryspec:QuerySpec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:queryspec="http://com.sap.sl.queryspec" version="17" dataProviderId="DP0">
<queryParameters>
<duplicatedRowsProperty activated="true" value="true"/>
<maxRetrievalTimeInSecondsProperty value="0"/>
<maxRowsRetrievedProperty value="0"/>
<removeEmptyRowsProperty activated="true" value="true"/>
<allowOtherUserToEditQueryProperty activated="true" value="true"/>
<resetContextOnRefreshProperty activated="true" value="true"/>
<stripQueryProperty/>
<useBexQueryDefaultValue activated="true" value="true"/>
</queryParameters>
<queriesTree xsi:type="queryspec:QueryDataNode">
<bOQuery name="Query 1" identifier="_KQQi4FQHEeaLlv5x6uBraQ">
<resultObjects identifier="OBJ_376" name="Store name"/>
<resultObjects identifier="OBJ_166" name="City"/>
<resultObjects identifier="OBJ_218" name="State"/>
<conditionPart/>
</bOQuery>
</queriesTree>
</queryspec:QuerySpec>
In order to add a prompt for "State" I would need to add the <conditionPart> to the query:
PUT /biprws/raylight/v1/documents/<docId>/dataproviders/DP0/specification
Content-Type: text/xml
<?xml version="1.0" encoding="UTF-8"?>
<queryspec:QuerySpec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:queryspec="http://com.sap.sl.queryspec" version="17" dataProviderId="DP0">
<queryParameters>
<duplicatedRowsProperty activated="true" value="true"/>
<maxRetrievalTimeInSecondsProperty value="0"/>
<maxRowsRetrievedProperty value="0"/>
<removeEmptyRowsProperty activated="true" value="true"/>
<allowOtherUserToEditQueryProperty activated="true" value="true"/>
<resetContextOnRefreshProperty activated="true" value="true"/>
<stripQueryProperty/>
<useBexQueryDefaultValue activated="true" value="true"/>
</queryParameters>
<queriesTree xsi:type="queryspec:QueryDataNode">
<bOQuery name="Query 1" identifier="_IN0mgFQGEeaLlv5x6uBraQ">
<resultObjects identifier="OBJ_376" name="Store name"/>
<resultObjects identifier="OBJ_166" name="City"/>
<resultObjects identifier="OBJ_218" name="State"/>
<conditionPart>
<conditionTree xsi:type="queryspec:ConditionDataNode" logicalOperator="Null">
<condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemIdentifier="OBJ_218" itemName="State" comparisonOperator="InList">
<operands xsi:type="queryspec:QueryPromptOperand" optional="false" free="true" userPosition="0" persistent="true" question="Enter value(s) for State" lovIdentifier="OBJ_218"/>
</condition>
</conditionTree>
</conditionPart>
</bOQuery>
</queriesTree>
</queryspec:QuerySpec>
Now I can get the prompt and provide values:
GET /biprws/raylight/v1/documents/<docId>/parameters
Dan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I tried by adding the following query specification . It is successfully saving but not returning any parameters when I execute GET /biprws/raylight/v1/documents/<docId>/parameters
Note : version of SAP BusinessObjects BI Platform 4.2 Support Pack 2
Result for GET /biprws/raylight/v1/documents/<docId>/parameters
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<parameters/>
Query spec :
<?xml version="1.0" encoding="UTF-8"?>
<queryspec:QuerySpec xmlns:queryspec="http://com.sap.sl.queryspec" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="17" dataProviderId="DP0">
<queryParameters>
<duplicatedRowsProperty activated="true" value="true" />
<maxRetrievalTimeInSecondsProperty value="0" />
<maxRowsRetrievedProperty value="0" />
<removeEmptyRowsProperty activated="true" value="true" />
<allowOtherUserToEditQueryProperty activated="true" value="true" />
<resetContextOnRefreshProperty activated="true" value="true" />
<stripQueryProperty />
<useBexQueryDefaultValue activated="true" value="true" />
</queryParameters>
<queriesTree xsi:type="queryspec:QueryOperatorNode" id="1" queryOperator="Union">
<children xsi:type="queryspec:QueryDataNode">
<bOQuery name="Combined Query 1" identifier="2">
<resultObjects identifier="DS0.DO1df" name="Reserves Expense" />
<resultObjects identifier="DS0.DO6ec" name="Net Incurred Expense" />
<resultObjects identifier="DS0.DO217" name="Accident Description Corp Code" />
<resultObjects identifier="DS0.DO1ff" name="Accident Description Corporate" />
<resultObjects identifier="DS0.DO5df" name="Body Part" />
<resultObjects identifier="DS0.DO5d7" name="NCCI Nature of Injury" />
<resultObjects identifier="DS0.DO5e1" name="Detail Loss Location" />
<resultObjects identifier="DS0.DO70d" name="Claim Recovery Total Indemnity" />
<resultObjects identifier="DS0.DO29a" name="Customer Name" />
<resultObjects identifier="DS0.DO268" name="Claim Count" />
<resultObjects identifier="DS0.DO2eb" name="Paid Total" />
<resultObjects identifier="DS0.DO18e" name="Customer ID" />
<resultObjects identifier="DS0.DFab" name="Claim Cust Total Net Inc >=" />
<resultObjects identifier="DS0.DOca7" name="Claim Setup Type Description" />
<resultObjects identifier="DS0.DO9f5" name="Claim Status Description" />
<resultObjects identifier="DS0.DOb1" name="Claim Level Coverage" />
<resultObjects identifier="DS0.DO1f3" name="Site Lowest" />
<resultObjects identifier="DS0.DO241" name="Jurisdiction State" />
<resultObjects identifier="DS0.DO2ea" name="Date of Loss" />
<resultObjects identifier="DS0.DO20d" name="Claim Closed Date" />
<resultObjects identifier="DS0.DO2f9" name="Policy Year" />
<conditionTree xsi:type="queryspec:ConditionOperatorNode" logicalOperator="And">
<condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemIdentifier="DS0.DO18e" itemName="Customer ID" comparisonOperator="InList">
<operands xsi:type="queryspec:QueryPromptOperand" optional="true" free="true" userPosition="0" persistent="true" question="Enter Customer ID:" lovIdentifier="DS0.DO18e" />
</condition>
<condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemIdentifier="DS0.DFab" itemName="Claim Cust Total Net Inc >=" comparisonOperator="GreaterThanOrEqualTo">
<operands xsi:type="queryspec:QueryPromptOperand" optional="true" free="true" userPosition="0" persistent="true" question="Claim Total Net Incurred >=" lovIdentifier="DS0.DFab" />
</condition>
<condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemIdentifier="DS0.DOca7" itemName="Claim Setup Type Description" comparisonOperator="EqualTo">
<operands xsi:type="queryspec:QueryPromptOperand" optional="true" free="true" userPosition="0" persistent="true" question="Select Claim Setup Type(s):" lovIdentifier="DS0.DOca7" />
</condition>
<condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemIdentifier="DS0.DO9f5" itemName="Claim Status Description" comparisonOperator="EqualTo">
<operands xsi:type="queryspec:QueryPromptOperand" optional="true" free="true" userPosition="0" persistent="true" question="Enter Claim Status:" lovIdentifier="DS0.DO9f5" />
</condition>
<condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemIdentifier="DS0.DOb1" itemName="Claim Level Coverage" comparisonOperator="EqualTo">
<operands xsi:type="queryspec:QueryPromptOperand" optional="true" free="true" userPosition="0" persistent="true" question="Enter Claim Level Coverage:" lovIdentifier="DS0.DOb1" />
</condition>
<condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemIdentifier="DS0.DO1f3" itemName="Site Lowest" comparisonOperator="EqualTo">
<operands xsi:type="queryspec:QueryPromptOperand" optional="true" free="true" userPosition="0" persistent="true" question="Enter Lowest Site Code:" lovIdentifier="DS0.DO1f3" />
</condition>
<condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemIdentifier="DS0.DO241" itemName="Jurisdiction State" comparisonOperator="EqualTo">
<operands xsi:type="queryspec:QueryPromptOperand" optional="true" free="true" userPosition="0" persistent="true" question="Enter Jurisdiction State:" lovIdentifier="DS0.DO241" />
</condition>
<condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemIdentifier="DS0.DO2ea" itemName="Date of Loss" comparisonOperator="GreaterThanOrEqualTo">
<operands xsi:type="queryspec:QueryPromptOperand" optional="true" free="true" userPosition="0" persistent="true" question="Enter From Date Of Loss:_Enter To Date Of Loss:" lovIdentifier="DS0.DO2ea" />
</condition>
<condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemIdentifier="DS0.DO20d" itemName="Claim Closed Date" comparisonOperator="GreaterThanOrEqualTo">
<operands xsi:type="queryspec:QueryPromptOperand" optional="true" free="true" userPosition="0" persistent="true" question="Enter From Claim Closed Date:_Enter To Claim Closed Date:" lovIdentifier="DS0.DO20d" />
</condition>
<condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemIdentifier="DS0.DO2f9" itemName="Policy Year" comparisonOperator="EqualTo">
<operands xsi:type="queryspec:QueryPromptOperand" optional="true" free="true" userPosition="0" persistent="true" question="Enter From Policy Year:_Enter To Policy Year:" lovIdentifier="DS0.DO2f9" />
</condition>
</conditionTree>
</bOQuery>
</children>
<propertyBag key="DUPLICATED_ROWS_UNDEFINED_VALUE" value="-1" />
<propertyBag key="RESET_CONTEXT_ON_REFRESH_UNDEFINED_VALUE" value="-1" />
<propertyBag key="ALLOW_THE_USER_TO_EDIT_QUERY_UNDEFINED_VALUE" value="-1" />
</queriesTree>
</queryspec:QuerySpec>
Thanks Daniel and Antony,
Also my requirement is to show default values or last selected values in the prompt when user open the report in launchpad
Eg: for the below parameter, i need to show like 'Regular' in the selected value section.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<parameters>
<parameter optional="false" type="prompt" dpId="DP0">
<id>0</id>
<technicalName>Enter value(s) for Type Description</technicalName>
<name>Enter value(s) for Type Description</name>
<answer constrained="false" type="Text">
<info cardinality="Multiple" keepLastValues="true">
<lov hierarchical="false" partial="false" refreshable="true" searchable="true" mandatorySearch="false">
<id>UNIVERSELOV_DS0.DOca7</id>
<updated>2016-07-29T15:30:24.000-05:00</updated>
<values>
<value>Converted Let Rest</value>
<value>Let Rest </value>
<value>Regular </value>
</values>
<columns mappingId="0">
<column id="0" type="String">Type Description </column>
</columns>
</lov>
<previous>
<value id="0">Regular </value>
</previous>
</info>
<values>
<value id="0">Regular </value>
</values>
</answer>
</parameter>
</parameters>
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.