Show TOC

 Complex Example: Displaying the XML of Two Data ProvidersLocate this document in the navigation structure

This example relates to displaying the XML of two data providers. The default parameters of the Custom Extension Web item are changed using pushbuttons in the Web application and determine the content of the returned XML.

More information: Custom Extension

ABAP Class

The CL_BICS_CONS_WEBITEM_SAMPLE ABAP class implements the IF_BICS_CONS_WEBITEM_CUST_EXIT interface and renders the XML output based on the default parameters of the Custom Extension Web item.

Note

SAP provides the CL_BICS_CONS_WEBITEM_SAMPLE ABAP class to be used as an example.

Web Template

The Web template contains the Custom Extension Web item (CUSTOMER_EXIT_ITEM). The name of the ABAP class CL_BICS_CONS_WEBITEM_SAMPLE was specified in the ABAP_CLASS_NAME Web item parameter.

In addition, the SET_ITEM_PARAMETERS command is defined for certain pushbuttons to set the default parameters for the Custom Extension Web item.

The Web template contains three different data providers. However, you can use the example ABAP class CL_BICS_CONS_WEBITEM_SAMPLE with a single data provider.

<bi:bisp  xmlns="http://www.w3.org/TR/REC-html40" xmlns:bi="http://xml.sap.com/2005/01/bi/wad/bisp" xmlns:jsp="http://java.sun.com/JSP/Page" >

<html>

<head>

<title >BEx Web Application</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>

<body>

<bi:QUERY_VIEW_DATA_PROVIDER name="DP_3" >

<bi:INITIAL_STATE type="CHOICE" value="QUERY" >

<bi:QUERY value="0BWVC_C03_BEX_ALL_VARIABLES" text="0BWVC_C03_BEX_ALL_VARIABLES" />

</bi:INITIAL_STATE>

</bi:QUERY_VIEW_DATA_PROVIDER>

<bi:QUERY_VIEW_DATA_PROVIDER name="DP_2" >

<bi:INITIAL_STATE type="CHOICE" value="QUERY" >

<bi:QUERY value="0D_DX_M01_Q0002" text="DalSegno Company Umsatz-Analyse" />

</bi:INITIAL_STATE>

</bi:QUERY_VIEW_DATA_PROVIDER>

<bi:QUERY_VIEW_DATA_PROVIDER name="DP_1" >

<bi:INITIAL_STATE type="CHOICE" value="QUERY" >

<bi:QUERY value="0D_DX_M01_Q0001" text="DalSegno Company Actual Month" />

</bi:INITIAL_STATE>

</bi:QUERY_VIEW_DATA_PROVIDER>

<bi:TEMPLATE_PARAMETERS name="TEMPLATE_PARAMETERS" />

<p >

<bi:BUTTON_GROUP_ITEM name="BUTTON_GROUP_ITEM_1" designheight="70" designwidth="300" >

<bi:BUTTON_LIST type="ORDEREDLIST" >

<bi:BUTTON type="COMPOSITE" index="1" >

<bi:CAPTION value="VAR INFO on" />

<bi:ACTION type="CHOICE" value="INSTRUCTION" >

<bi:INSTRUCTION >

<bi:SET_ITEM_PARAMETERS >

<bi:cmd_item_parameters type="CUSTOMER_EXIT_ITEM" >

 <bi:VARIABLES_CONTAINER_ACCESS value="X" />

</bi:cmd_item_parameters>

<bi:TARGET_ITEM_REF value="CUSTOMER_EXIT_ITEM_1" />

</bi:SET_ITEM_PARAMETERS>

</bi:INSTRUCTION>

</bi:ACTION>

</bi:BUTTON>

<bi:BUTTON type="COMPOSITE" index="2" >

<bi:CAPTION value="VAR INFO off" />

<bi:ACTION type="CHOICE" value="INSTRUCTION" >

<bi:INSTRUCTION >

<bi:SET_ITEM_PARAMETERS >

<bi:cmd_item_parameters type="CUSTOMER_EXIT_ITEM" >

<bi:VARIABLES_CONTAINER_ACCESS value="" />

</bi:cmd_item_parameters>

<bi:TARGET_ITEM_REF value="CUSTOMER_EXIT_ITEM_1" />

</bi:SET_ITEM_PARAMETERS>

</bi:INSTRUCTION>

</bi:ACTION>

</bi:BUTTON>

</bi:BUTTON_LIST>

</bi:BUTTON_GROUP_ITEM>

</p>

<p >

<bi:BUTTON_GROUP_ITEM name="BUTTON_GROUP_ITEM_2" designheight="70" designwidth="300" >

<bi:BUTTON_LIST type="ORDEREDLIST" >

 <bi:BUTTON type="COMPOSITE" index="1" >

<bi:CAPTION value="DP1 + DP2" />

<bi:ACTION type="CHOICE" value="INSTRUCTION" >

<bi:INSTRUCTION >

 <bi:SET_ITEM_PARAMETERS >

<bi:cmd_item_parameters type="CUSTOMER_EXIT_ITEM" >

<bi:DATA_PROVIDER_ACCESS_LIST type="ORDEREDLIST" >

 <bi:DATA_PROVIDER_ACCESS type="COMPOSITE" index="1" >

<bi:DATA_PROVIDER_REF value="DP_1" />

<bi:NAVIGATIONAL_STATE_ACCESS value="X" />

 <bi:RESULT_SET_ACCESS value="X" />

</bi:DATA_PROVIDER_ACCESS>

<bi:DATA_PROVIDER_ACCESS type="COMPOSITE" index="2" >

<bi:DATA_PROVIDER_REF value="DP_2" />

<bi:NAVIGATIONAL_STATE_ACCESS value="X" />

<bi:RESULT_SET_ACCESS value="X" />

</bi:DATA_PROVIDER_ACCESS>

</bi:DATA_PROVIDER_ACCESS_LIST>

<bi:CUSTOMER_EXIT type="COMPOSITE" >

 <bi:NAMED_PROPERTY_LIST type="UNORDEREDLIST" >

<bi:NAMED_PROPERTY type="COMPOSITE" index="1" >

<bi:VALUE value="DP1 + DP2" />

</bi:NAMED_PROPERTY>

</bi:NAMED_PROPERTY_LIST>

</bi:CUSTOMER_EXIT>

 </bi:cmd_item_parameters>

<bi:TARGET_ITEM_REF value="CUSTOMER_EXIT_ITEM_1" />

</bi:SET_ITEM_PARAMETERS>

</bi:INSTRUCTION>

 </bi:ACTION>

</bi:BUTTON>

<bi:BUTTON type="COMPOSITE" index="2" >

<bi:CAPTION value="DP1 off + DP2 off" />

<bi:ACTION type="CHOICE" value="INSTRUCTION" >

<bi:INSTRUCTION >

<bi:SET_ITEM_PARAMETERS >

<bi:cmd_item_parameters type="CUSTOMER_EXIT_ITEM" >

 <bi:DATA_PROVIDER_ACCESS_LIST type="ORDEREDLIST" >

<bi:DATA_PROVIDER_ACCESS type="COMPOSITE" index="1" >

<bi:DATA_PROVIDER_REF value="DP_1" />

<bi:NAVIGATIONAL_STATE_ACCESS value="" />

<bi:RESULT_SET_ACCESS value="" />

</bi:DATA_PROVIDER_ACCESS>

<bi:DATA_PROVIDER_ACCESS type="COMPOSITE" index="2" >

<bi:DATA_PROVIDER_REF value="DP_2" />

<bi:NAVIGATIONAL_STATE_ACCESS value="" />

<bi:RESULT_SET_ACCESS value="" />

</bi:DATA_PROVIDER_ACCESS>

</bi:DATA_PROVIDER_ACCESS_LIST>

<bi:CUSTOMER_EXIT type="COMPOSITE" >

<bi:NAMED_PROPERTY_LIST type="UNORDEREDLIST" >

<bi:NAMED_PROPERTY type="COMPOSITE" index="1" >

<bi:VALUE value="DP1 off + DP2 off" />

</bi:NAMED_PROPERTY>

</bi:NAMED_PROPERTY_LIST>

</bi:CUSTOMER_EXIT>

</bi:cmd_item_parameters>

<bi:TARGET_ITEM_REF value="CUSTOMER_EXIT_ITEM_1" />

 </bi:SET_ITEM_PARAMETERS>

</bi:INSTRUCTION>

</bi:ACTION>

</bi:BUTTON>

</bi:BUTTON_LIST>

</bi:BUTTON_GROUP_ITEM>

 </p>

<p >

<bi:CUSTOMER_EXIT_ITEM name="CUSTOMER_EXIT_ITEM_1" designheight="120" designwidth="300" >

<bi:CUSTOMER_EXIT type="COMPOSITE" >

<bi:CUSTOMER_EXIT_TYPE type="CHOICE" value="ABAP_CLASS_NAME" >

<bi:ABAP_CLASS_NAME value="CL_BICS_CONS_WEBITEM_SAMPLE" />

</bi:CUSTOMER_EXIT_TYPE>

<bi:NAMED_PROPERTY_LIST type="UNORDEREDLIST" >

 <bi:NAMED_PROPERTY type="COMPOSITE" index="1" >

<bi:NAME value="CONTENT" />

<bi:VALUE value="DP1 + DP2" />

</bi:NAMED_PROPERTY>

</bi:NAMED_PROPERTY_LIST>

</bi:CUSTOMER_EXIT>

<bi:DATA_PROVIDER_ACCESS_LIST type="ORDEREDLIST" >

<bi:DATA_PROVIDER_ACCESS type="COMPOSITE" index="1" >

<bi:DATA_PROVIDER_REF value="DP_1" />

<bi:NAVIGATIONAL_STATE_ACCESS value="X" />

<bi:RESULT_SET_ACCESS value="X" />

</bi:DATA_PROVIDER_ACCESS>

<bi:DATA_PROVIDER_ACCESS type="COMPOSITE" index="2" >

<bi:DATA_PROVIDER_REF value="DP_2" />

<bi:NAVIGATIONAL_STATE_ACCESS value="X" />

<bi:RESULT_SET_ACCESS value="X" />

</bi:DATA_PROVIDER_ACCESS>

</bi:DATA_PROVIDER_ACCESS_LIST>

</bi:CUSTOMER_EXIT_ITEM>

</p>

<p >

<bi:CUSTOMER_EXIT_ITEM name="CUSTOMER_EXIT_ITEM_2" designheight="120" designwidth="300" >

 <bi:CUSTOMER_EXIT type="COMPOSITE" >

<bi:CUSTOMER_EXIT_TYPE type="CHOICE" value="ABAP_CLASS_NAME" >

<bi:ABAP_CLASS_NAME value="CL_BICS_CONS_WEBITEM_SAMPLE" />

</bi:CUSTOMER_EXIT_TYPE>

<bi:NAMED_PROPERTY_LIST type="UNORDEREDLIST" >

<bi:NAMED_PROPERTY type="COMPOSITE" index="1" >

<bi:NAME value="CONTENT" />

 <bi:VALUE value="DP3" />

</bi:NAMED_PROPERTY>

</bi:NAMED_PROPERTY_LIST>

</bi:CUSTOMER_EXIT>

<bi:DATA_PROVIDER_ACCESS_LIST type="ORDEREDLIST" />

 <bi:VARIABLES_CONTAINER_ACCESS value="X" />

</bi:CUSTOMER_EXIT_ITEM>

</p>

<p >

<bi:ANALYSIS_ITEM name="ANALYSIS_ITEM_1" designwidth="400" designheight="200" >

<bi:DATA_PROVIDER_REF value="DP_1" />

</bi:ANALYSIS_ITEM>

</p>

<p >

<bi:ANALYSIS_ITEM name="ANALYSIS_ITEM_2" designwidth="400" designheight="200" >

<bi:DATA_PROVIDER_REF value="DP_2" />

 </bi:ANALYSIS_ITEM>

</p>

<p >

<bi:ANALYSIS_ITEM name="ANALYSIS_ITEM_3" designwidth="400" designheight="200" >

<bi:DATA_PROVIDER_REF value="DP_3" />

</bi:ANALYSIS_ITEM>

 </p>

<!-- insert data providers, items and other template content here -->

</body>

</html>

</bi:bisp>