cancel
Showing results for 
Search instead for 
Did you mean: 

Assigning a DataProvider filter value with JavaScript

0 Kudos

I have a "Fiscal Yr/Period" filter characteristic in my web application that I am assigning the value of the current month and year when the web application is loaded. In other words, this filter is applied to the DataProvider when the application loads (code below):

<object>

<param name="OWNER" value="SAP_BW"/>

<param name="CMD" value="SET_DATA_PROVIDER"/>

<param name="NAME" value="C_LPR_Q018"/>

<param name="QUERY" value="C_LPR_Q018"/>

<param name="INFOCUBE" value="ZPP_C01"/>

<param name='FILTER_IOBJNM' value='0FISCPER'/>

<param name='FILTER_VALUE' value='H12004010'/>

DATA_PROVIDER: C_LPR_Q018

</object>

As you can see above, the value for the '0FISCPER' object is hardcoded and thus requires me to change this monthly. I have written some JavaScript code to calculate the current mo. and yr. however I can't get my JavaScript variable that holds the value I need assigned to the FILTER VALUE. Can I even assign a JavaScript variable as the filter value? Is there another way? Any help would be greatly appreciated.

Accepted Solutions (0)

Answers (2)

Answers (2)

0 Kudos

Passing my value to the SAPBWOpenURL function worked as you described.

Thank you for your help.

Former Member
0 Kudos

Hi Allen,

if you want to change any param of an object, try the function SAPBWOpenURL, which should be sent against the object you want to change. Documentation is at :

http://help.sap.com/saphelp_bw33/helpdata/en/f1/0a5a2ee09411d2acb90000e829fbfe/frameset.htm -> Business Explorer ->

Web Application ... -> Befehl URLs

Concat the date in JavaScript and call

SAPBWOpenURL(SAP_BW_URL_Get()+'&item=...&FILTER_IOBJNM="0FISCPER"&FILTER_VALUE="TheDateYouWant"') (I hope I set the " and ' correctly, better you should check).

For example you can insert :

<HEAD>

:

<script>

function callTheTableWithTheDate()

{

SAPBWOpenURL(like above);

}

</script>

</HEAD>

<BODY onload="JavaScript:callTheTableWithTheDate()">

It's only a hint, adjust it for your requirements. You can save the date in a cookie too and reuse it whenever you want. You know how to handle cookies ?

Bye

Ralf