делал эксперименты с фильтрацией через dropdownbox , кое что получилось. в HTML поставь свои query. Вроде в бизнес контенте были интересные демо примеры WAD, посмотри еще там.
<HTML>
<!-- BW data source object tags -->
<object>
<param name="OWNER" value="SAP_BW"/>
<param name="CMD" value="SET_DATA_PROVIDER"/>
<param name="NAME" value="DP2"/>
<param name="QUERY" value="LO_T1"/>
<param name="INFOCUBE" value="MYICC03"/>
DATA_PROVIDER: DP2
</object>
<object>
<param name="OWNER" value="SAP_BW"/>
<param name="CMD" value="SET_DATA_PROVIDER"/>
<param name="NAME" value="DP1"/>
<param name="QUERY" value="WORKSHOP_CALMONTH_DROPDWN"/>
<param name="INFOCUBE" value="MYICC03"/>
<param name='FILTER_IOBJNM' value='0CALMONTH'/>
<param name='FILTER_VALUE' value='200801'/>
DATA_PROVIDER: DP1
</object>
<object>
<param name="OWNER" value="SAP_BW"/>
<param name="CMD" value="SET_PROPERTIES"/>
<param name="TEMPLATE_ID" value="ZEXAMPLEFILTER_EDIT"/>
TEMPLATE PROPERTIES
</object>
<SCRIPT type='text/javascript'>
function chavl_int_to_ext_convert(intformat, iobjnm) {
if (iobjnm== '0CALMONTH') {
var date_format = SAPBWGetProperty('DATE_FORMAT');
switch (date_format) {
case 1:
return intformat.substring(4,6) + '.' + intformat.substring(0,4);
case 2:
return intformat.substring(4,6) + '/' + intformat.substring(0,4);
case 3:
return intformat.substring(4,6) + '-' + intformat.substring(0,4);
case 4:
return intformat.substring(0,4) + '.' + intformat.substring(4,6);
case 5:
return intformat.substring(0,4) + '/' + intformat.substring(4,6);
case 6:
return intformat.substring(0,4) + '-' + intformat.substring(4,6);
}
}
}
function setVariable(value) {
// ignore the '#' and "!ALL" values
if (value == '000000' || value == '!ALL')
alert("Ââåäèòå äåéñòâèòåëüíîå çíà÷åíèå");
else {
url = SAP_BW_URL_Get() + "&CMD=PROCESS_VARIABLES&SUBCMD=VAR_SUBMIT&VAR_NAME_1=ZMONTH&VAR_VALUE_EXT_1=" ;
url = url + chavl_int_to_ext_convert(value,'0CALMONTH');
SAPBWOpenURL(url);
}
}
function chavl_ext_to_int_convert(extformat, iobjnm) {
if (iobjnm== '0CALMONTH') {
var date_format = SAPBWGetProperty('DATE_FORMAT');
// possible values DATE_FORMAT: Date format (1: DD.MM.YYYY, 2: MM/DD/YYYY, 3: MM-DD-YYYY,
// 4: YYYY.MM.DD, 5: YYYY/MM/DD, 6: YYYY-MM-DD)
if (date_format < '4')
return extformat.substring(3,7) + extformat.substring(0,2);
else
return extformat.substring(0,4) + extformat.substring(5,7);
}
}
function set_dd_box() {
//retrieve the value of the text element ZMONTH
ddvalue = document.getElementById('varvalue').innerHTML;
// convert the external representation to the internal representation
// needed for selecting a value in the dropdown box
ddvalue_int = chavl_ext_to_int_convert(ddvalue,'0CALMONTH');
// using the document object model (DOM), get the number of values
// in the dropdown box, loop through the entries and compare the retrieved
// value against the dropdown box contents. If there is a match, set the value
// as the 'selected' value
for (i=0; i< document.frmState.calmonth.options.length; i++) {
if (document.frmState.calmonth.options[i].value == ddvalue_int)
document.frmState.calmonth.selectedIndex = i;
}
}
</SCRIPT>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft DHTML Editing Control">
<TITLE>BW Web Application</TITLE>
<link href="/sap/bw/Mime/BEx/StyleSheets/BWReports.css" type="text/css" rel="stylesheet"/>
</HEAD>
<BODY>
<P>
<form name="frmState"><FONT size=4>Êàëåíäàðíûé ìåñÿö:
</FONT> <select name="calmonth" class="SAPBexDdl" onchange="setVariable(options[selectedIndex].value);">
<object>
<param name="OWNER" value="SAP_BW"/>
<param name="CMD" value="GET_ITEM"/>
<param name="NAME" value="DROPDOWNBOX_1"/>
<param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_FILTER_DDOWN"/>
<param name="DATA_PROVIDER" value="DP1"/>
<param name="GENERATE_CAPTION" value=""/>
<param name="IOBJNM" value="0CALMONTH"/>
<param name="BOOKED_VALUES" value=""/>
<param name="SHOW_LABEL" value=""/>
<param name="ONLY_VALUES" value="X"/>
<param name="NO_REMOVE_FILTER" value="X"/>
ITEM: DROPDOWNBOX_1
</object>
</select><FONT size=4> </FONT>
</form>
</P>
<P><object>
<param name="OWNER" value="SAP_BW"/>
<param name="CMD" value="GET_ITEM"/>
<param name="NAME" value="TABLE_1"/>
<param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_GRID"/>
<param name="DATA_PROVIDER" value="DP2"/>
<param name="TARGET_DATA_PROVIDER_1" value="DP2"/>
<param name="TARGET_DATA_PROVIDER_2" value="DP1"/>
ITEM: TABLE_1
</object></P>
<P id="varvalue" style="DISPLAY: none; VISIBILITY: hidden"> </P>
<script>
<!--
set_dd_box();
-->
</script>
</BODY>
</HTML>
|
|