Skip to Content
author's profile photo Former Member
Former Member

web report swap feature

hi..

I would like to know if we have a swap feature in BW ( 3.1c )web reports. we would like to have a link <b>chart/table</b> and upon click, we need to display chart or table alternately within the same page. I tried using command urls and RRI but it takes me to another page. any input is appreciated.

thanks

Add comment
10|10000 characters needed characters exceeded

4 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Jul 20, 2004 at 04:02 PM

    Hi,

    You have 2 possbiilites:

    - You have 2 items in your template one Chart and one Table and alternately hide those items with command_ur

    <SAP_BW_URL item='ITEM_1' hidden='X' cmd_1='item=ITEM_2&hidden='>

    http://help.sap.com/saphelp_nw04/helpdata/en/3b/94f6acc710284da3aa1dfbff327934/frameset.htm

    - you have only one item in your template and use the RESET_ITEM functionality to change the Item class.

    http://help.sap.com/saphelp_nw04/helpdata/en/b5/b41d3c38b25313e10000000a114084/frameset.htm

    Of course you need to make sure, that the command will be switched depending on the state of the web application (when table is visible, show chart and vice versa)

    This can be done by using some Javascript logic and the function SAPBWGetItemProp.

    An example can be found here:

    http://help.sap.com/saphelp_nw04/helpdata/en/52/5f3f88eac08748b4dd134285d6bc32/frameset.htm

    Heike

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Aug 10, 2004 at 10:44 AM

    > hi..

    Hi srinivas ,

    < we would like to have a

    > link <b>chart/table</b> and upon click, we need to

    > display chart or table alternately within the same

    > page.

    We had a similar issue.

    We use framesets to swap between reports

    Frameset definition:

    <frameset rows="165,*,0" id="Overall">

    <frame src="<SAP_BW_URL CMD='LDOC' TEMPLATE_ID='ZFI_DSO_NAVI'>" name="Navigation" frameborder="0" framespacing="0" border="0" noresize>

    <frame src="<SAP_BW_URL CMD='LDOC' TEMPLATE_ID='ZFI_DSO_EMPTY'>" name="Result1" frameborder="0" framespacing="0" border="0" noresize>

    <frame src="<SAP_BW_URL CMD='LDOC' TEMPLATE_ID='ZFI_DSO_EMPTY'>" name="Result2" frameborder="0" framespacing="0" border="0" noresize>

    On the "Navigation" frame we use:

    parent.document.getElementById('Overall').rows='165,0,*';

    to change the size of the frames (0= not visible, *= rest of page).

    The templates in each frame stay untouched when changing frame size

    Maybe you can use this as well.

    Regards

    Steve

    Add comment
    10|10000 characters needed characters exceeded

  • Posted on Aug 10, 2004 at 11:15 AM

    Hi,

    you can make use of two buttons as heike said - by working with command url's:

    Button 1:

    <A class=SAPBExBtnSTD href="<SAP_BW_URL item='ITEM_1' hidden='X' cmd_1='item=ITEM_2&hidden='>">Show Table</A>

    <A class=SAPBExBtnSTD href="<SAP_BW_URL item='ITEM_1' hidden='' cmd_1='item=ITEM_2&hidden=X'>">Show Graphic</A>

    ITEM_1 is your Webitem 1 - maybe TABLE_1

    ITEM_2 is your Webitem 2 - maybe CHART_1

    Make sure that ITEM_2 is hidden. You can make this setting in the properties of the web item.

    Regards,

    Adem

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Aug 10, 2004 at 12:47 PM

    hi srinivas,

    try the <div> - tag around your chart/table like :

    <div id='Table' style='visibility: visible; position: absolute'>

    :

    tabledefinition

    :

    </div>

    <div id='Chart' style='visibility: visible; position: absolute'>

    :

    chartdefinition

    :

    </div>

    Insert a button or a radio-box or anything else with a link to a javascript, which switches via onClick=switchState() beside the <div>-sections like :

    function switchState(state)

    {

    if (state == table)

    {

    document.all.Table.display = "block";

    document.all.Chart.display = "none";

    }

    else

    {

    document.all.Table.display = "none";

    document.all.Chart.display = "block";

    }

    }

    ralf

    Add comment
    10|10000 characters needed characters exceeded