Busines content (WEBi Reports) in BOBJ

Hi Experts,
Do we have busines content (WEBi Reports) in BOBJ for HCM that interfaces with the BW content Standard Queries ?
Thanks,
Santosh

Sorry, No.
WebI is a free-form / ad-hoc reporting tool that does not deliver any 'out of the box' business content templates, nor organised by line of business.
yes, there are some demo samples, and some preconfigured Audit reports, but nothing pre-developed for business reporting requirements.
Regards,
H

Similar Messages

  • Company code restriction for dashboard and webi reports in BOBJ

    Hi Friends,
    We have a requirment where we need to restrict user on company code level in bobj.
    we have some dashborads and webi reports which need to be restricted at company code level, hence i have created a  role in BI and restricted the queries (bex queries) on company code level and same role and user i have imported in BOBJ.
    Now i can see the role and user in BOBJ and also i can login to BILAUNCH PAD with authentication as SAP  But unable to run the webi reports and dashboard hence i have added those reports to this user in bobj and now i can run the reports, but restriction is not working.
    In BI I am able to restrict user  but in bobj its  not restricting. kindly let me know if i am missing anything?
    We are having BO 4.0 SP6.
    Thanks
    Basis

    Hi Saurabh,
    In BI its wokring perfectly fine.
    I can run the query for specific company code and data is being populated as the respective compay code.
    I have also configure SSO between BI & BO using below link
    http://wiki.scn.sap.com/wiki/display/BOBJ/How+to+setup+SSO+against+SAP+BW+with+SAP+BO+BI4.0+Common+Semantic+Layer+%28UNX%29+or+BICS
    but when i am trying to create a olap connection in IDT with SSO connection test is getting failed with belwo error.
    com.businessobjects.mds.olap.OlapException: [Internal] SSO token or User password is empty.
    I checked STS is already there in APS .
    Thanks
    Basis

  • BI content for HCM in BOBJ

    Hi Experts,
    1) Do we have busines content (WEBi Reports) in BOBJ for HCM that interfaces with the BW content Standard Queries ?
    2) Is it possible to use the Business Content in BOBJ to build reports directly on the ERP system ?
    Thanks,
    Santosh

    Once you install the entire flow using business content.
    Go to update rules, right click --->Additional functions -
    >Migrate.
    Similarly do the same for transfer rules
    and finally
    datasource right click --->migrate.
    Choose "With Export" in the popup as this will allow you to revert back the changes with TR and UR.
    Now after migration you will have BI 7 flow.Now create DTP and infopackage and load.
    Hope this helps.

  • Problem in Exporting Webi Report to Excel

    Hi,
    I have developed a WEBI report in BOBJ 4.1 SP1 on top of IDT Universe and applied Drill Down analysis.
    While exporting the WEBI Report to Excel, I'm getting Images in the place of columns where there is no data.
    However, images are not getting in the columns where we have data.
    Please suggest as this will help me a lot.
    Thanks & Regads,
    Prasad.

    Hi,
    1)     Check if there is any conditional formatting applied.
    2)      Check in the fomat cell --> Appearance .

  • Hierarchy Analysis Authorization in BW and BOBJ Webi Report

    Hello,
    We have a scenario wherein we have implemented Analysis Authorizations (Hierarchy) on Organizational Unit info object (0ORGUNIT) and need to report on BOBJ WEBI. Our scenario is as following
    ORGUNIT    - L0 (Overall Enterprise Level)     
    -     L1 (Enterprise - Continent Wise Split)
    -     L2 (Enterprise u2013 Country Wise Split)
    -     L3(Enterprise u2013 City Wise Split)
    E.G- 
          LO (Company ABC) MANAGER 0 will have access to the entire organization
               -L1 (ASIA) MANAGER1 will have access to ASIAN Subcontinent
                      -L2 (India) MANAGER 2 will have Access to country India
                                -L3 (New Delhi) MANAGER 2.1 will have access to city Delhi
                                -L3 (Mumbai) MANAGER 2.2 will have access to city Mumbai
                       -L2 (Malaysia) MANAGER 3 will have access to Country Malaysia
                                  -L3 (Kuala Lampur)
                                  -L3 (pahang)
                 - L1 (Europe)
                                            u2026..
    The requirement is that the CEO of the company should be able to see the entire set of data ( L0-L4).We have continent managers who can see that data specific to their continent, similarly at L3 Level the city manageru2019s should see the data only for their specific city.
    In BI we have used analysis authorization based on hierarchies. We have created an authorization object say ZAUTH1 and have assigned the hierarchy L0 from RSECADMIN. Now, in Webi when we create a report a sample row comes as :
    L0 Org Unit     L1 Org Unit     L2 Org Unit     L3 Org Unit     SALES Key Figure
    Company ABC     Asia          India          Mumbai          1000
    Now, we have MANAGER 2.2 who has only access to the data specific to his city (Mumbai). There is an Analysis Authorization object created for him ZAUTH2, by ONLY assigning the org unit hierarchy L3 (for Mumbai). When we run the bex report with the user MANAGER 2.2 u2013 it correctly displays the result and the user is only able to see the data for L3 Org Unit (Mumbai). However when you bring this data to Webi u2013 the report comes in the below format:
    L0 Org Unit     L1 Org Unit     L2 Org Unit     L3 Org Unit     SALES Key Figure
    Mumbai                                           1000
    The L3 org unit has now got assigned to L0 Org unit , as this is the only org unit assigned to the MANAGER 2.2 user .
    In such a case we are not able to write any generic formulae for the report. Is there a way to correct this issue? u2018Mumbaiu2019 should either get assigned to the L3 OrgUnit column is webi report , or is there a workaround that is possible ?
    Thanks and Best Regards,
    Vj

    Hi Vijay,
    The problem you speak of is known and comes from the fact that the hierachy is flattened in the process of delivering it to WebI. Therefore there is no real 'solution' to the problem, just some work-arounds you can think of...
    1)
    Create a report variable that starts looking at the lowest level, if it is empty check one up, and so on until you found what you were looking for (the lowest leaf available), which by definition must be there (even if it is top level).
    Using similar logic you can also get a 'number of levels avaible' and so fill in the complete tree (duplicating the highest level).
    This is difficult to explain when end users create their own reports, though you could provide a template report with these variables in there already.
    2)
    Extend the hierarchy with duplicates below the lowest level.
    So i.e. L0 Company - L1 Continent - L2 Country - L3 City- L4 City - L5 City- L6 City.
    This will give back on the four levels for top authorization
    L0 Company - L1 Continent - L2 Country - L3 City
    For authorization on Continent:
    L0 Continent - L1 Country - L2 City- L3 City
    For autorization City
    L0 City- L1 City - L2 City- L3 City
    So in all situations the fourth level, the L3 Object will hold the City level.
    This you can then use in your report.
    Hope this helps,
    Marianne

  • Can we generate one report tab for each of the prompt values selected in the bobj 4.0 webi report.

    can we generate one report tab which filters
    with each prompt value selected in bobj 4.0 webi report.

    Hi Shrinidhi ,
    It can be achievable with static tabs created for each LOV .But this is not recommended because , object values can change dynamically .
    It is good idea to use section on prompt object in the report .With sections great feature available is in larger report it’s easy to navigate using map. It displays the section tree.You can select the particular LOV to navigate.

  • Link from BOBJ Webi report to CRM webUI screen

    Hi experts,
    I was wondering, if there's a way to create a link from Webi report (based on CRM data) to webUI content in CRM? For example, Webi report will have opportunity numbers. User will be able to click on the opportunity number and get to webUI screen where he could see opportunity details and maybe even modify it.
    Best regards,
    Vlad

    Hi,
    You can link Webi Document to webUI content in CRM with help of Hyperlink based on particular column then you need to parse the data.
    Once Parse button is clicked, it displays with the parts of the URL parsed into sections depending on parameters specified in OpenDocument URL.
    for more information kindly go through following document.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f0daee1d-0e38-2d10-0c91-8bb4ab5aa266?QuickLink=index&overridelayout=true&47467978778722
    Best Regards,
    Pushkar Dhale

  • Drill in feature in SAP BOBj Design Studio to Webi Report

    Hello Guru's ,
    do you know if one can drill in to Webi report from Sap BOBJ design studio ..just like dashboard to webi.
    i cant seem to find it anywhere.
    P.s: moderator can you move this thread to the right discussion if i posted it in the wrong form.

    Hi Veronika,
    First you have to identify what are your variables on the WEBI prompt. If you have created the WEBI report based on a BEX Query, the variable names would be the BEX variable technical names.
    Then you just have to add &lsS<VARIABLENAME>=<VALUE> at the end of the URL string.
    For example:
    &lsSENTITY= VALUE
    &lsSTIME = VALUE
    &lsSACCOUNT = VALUE
    So the test URL would be: http://servername:8080/OpenDocument/opendoc/openDocument.jsp?sIDType=CUID&iDocID=Afkcg9PzltNKtz7LEzNGHdY&NAII=N&lsSENTITY=VALUE&lsSTIME=VALUE
    &lsSACCOUNT=VALUE
    To get BPC configured you have to follow these steps:
    Go to the Administration Client -> Application -> Drill Throughs -> Add Drill Through
    Name your new Drill Throug and on the second screen type in:
    URL: http://servername:8080/OpenDocument/opendoc/openDocument.jsp?sIDType=CUID&iDocID=Afkcg9PzltNKtz7LEzNGHdY&NAII=N
    URL Parameters  //  Mapping Source  //  Property/Value
    lsSENTITY           //  ENTITY                 // ID
    lsSTIME               //  TIME                     //  ID
    lsSACCOUNT      //  ACCOUNT           //  ID
    Hope it helps!
    Best regards,
    Marcio Costa

  • Is it possible to add buttons for user feed back in Bobj WEBI report?

    Dear all,
    I am an ABAP Web dynpro developer. 
    As part of the workflow, i am displaying  a BOBJ Webi Report to the users.
    The requirement is to allow users Aapprove/Reject the data in the report.
    Is it possible to have user input or any buttons in the Webi Report?
    If yes, How to achieve this ? Please help.
    Thanks,
    Vamshi

    There is discussion option as an out of the box feature. Check this: BI launch pad 4.0: Participate in a discussion about a document

  • Publication Businness Objects XI3 (WebI reports)

    Hi experts,
    I am currently creating PDF publication based on WebI reports. My client refuse to use the standard access to publication files (right click on publication -> History -> left click on the instance -> access to the PDF) because he thinks that it is too complicated for end-users.
    We proposed to use Business Objects Indox or to send the files by email but it has been refused.
    Finally they want the PDF to be directly available into Infoview folders. A folder would correspond to one publication.
    Do you know if it possible to publish the PDF directly toward these folders ? Do you have a solution to match with the customer needs ?
    Thanks for help.
    Best regards,
    Bertrand
    Edited by: Bertrand Demeyre on Feb 3, 2009 2:22 PM

    NA

  • Linking a WEBI report through hyperlink in a webpage using open document

    Hi All,
    I have a hyper link in a web page which when clicked should open a WEBI report. I created it using the open document feature.
    Once clicking on the link, InfoView login credential page is displayed. After logging in the report runs.
    My client does not want the login page to be displayed since most of the users does not remember their password (since SSO is implemented).
    He wants to bypass this login page so that most of the users can directly view the reports.
    Question:
    Is there a way to achieve this i.e without asking for login credentials or by passing this?
    Possibilities :
    1: To create ID's for all the people (which I think is not a feasible option in my project)
    2: Create a guest account with minimum privileges and share the password with all the users.
    Note:
    1: I use BO XI R 3.1.
    2: No SDK is installed to do any programming.
    Any suggestion are most welcome.
    Thanks in advance
    Shreyas

    Hi Shreyas,
    Manual Easy Way for doing the activity in SAP Business Objects 4.0:
    This method is useful if we have a special system account that we want everyone to use.
    You will notice that all we do is generate a logon token using the appropriate username, password and CMS variables. Then we append the token onto ivsLogonToken.
    Note: The numbers on the url after /BOE/portal represents the timestamp of the last patch or install.  You can put whatever you want under the number section and Business Objects will automatically redirect to the appropriate start.do
    Step I:
    Go to the SAP BusinessObjects\Tomcat6\webapps\BOE\WEB-INF\eclipse\plugins\webpath.InfoView directory and edit custom.jsp
    Step II:
    You can copy the contents from the custom.jsp that I’ve provided below to your custom.jsp.
    Cutom.JSP File
    <%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
    <%@ page import="com.crystaldecisions.sdk.framework.*" %>
    <%@ page import="com.crystaldecisions.sdk.occa.infostore.*" %>
    <%@ page import="com.crystaldecisions.sdk.occa.security.*"%>
    <%@ page import="java.net.*"%>
    <%@ page import="com.crystaldecisions.enterprise.*"%>
    <%@ page import="com.crystaldecisions.sdk.plugin.admin.*"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="com.businessobjects.webutil.Encoder" %>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%
    //BO Session and redirect to Infoview
    IEnterpriseSession enterpriseSession;
    /* * Set Enterprise Logon credentials. */
    final String BO_CMS_NAME = "bi4server";
    final String BO_AUTH_TYPE = "secEnterprise";
    final String BO_USERNAME = "Daya";
    final String BO_PASSWORD = "admin@123";
    ILogonTokenMgr logonTokenMgr;
    String defaultToken = "";
    * Log onto Enterprise
    boolean loggedIn = true;
    try {
    //Create session token
    enterpriseSession = CrystalEnterprise.getSessionMgr().logon(Daya,admin@123, BI4SERVER,Enterprise);
    logonTokenMgr = enterpriseSession.getLogonTokenMgr();
    defaultToken = logonTokenMgr.createWCAToken("", 20, 1);
    //Redirect with token attached to the ivsLogonToken parameter
    response.sendRedirect("http://"+BO_CMS_NAME+":8080/BOE/portal/1205291547/InfoView/logon/start.do?ivsLogonToken="+Encoder.encodeURL(defaultToken));
    catch (Exception error)
    loggedIn = false;
    out.println(error);
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    </body>
    </html>
    Edit the username,Password & BOBJ Server Name'in BOLD Letter
    Step III:
    Stop tomcat, then delete contents in the SAP BusinessObjects\Tomcat6\work directory.
    Then start tomcat again and the work directory will be regenerated with new code.
    Step IV:
    Trusted Authentication:
    Trusted Authentication is a component of Enterprise authentication that integrates with third-party single sign-on solutions, including Java Authentication and Authorization Service (JAAS). Applications
    that have established trust with the Central Management Server can use Trusted Authentication to allow users to log on without providing their passwords.
    This method is really cool because users don’t even have to know their passwords.  Basically with this method you can log into another system and if that system has the appropriate user name, you can pass it to the custom.jsp and then it will log you into BI Launchpad.
    In addition, you don’t need to create any java code for the enterprise token setup.
    Step V:
    In the CMC, go to Authentication, then select Enterprise.  Check Trusted Authentication is enabled, then click on New Shared Secret.  Finally download the shared secret key and keep it somewhere secure
    Step VI:
    Copy global.properties from <INSTALLDIR>\SAP BusinessObjects Enterprise XI 4.0\warfiles\webapps\BOE\WEB-INF\config\default into <INSTALLDIR>\SAP BusinessObjects Enterprise XI 4.0\warfiles\webapps\BOE\WEB-INF\config\custom.  Then using Notepad or another text editing utility, edit the following properties
    sso.enabled=true
    trusted.auth.user.retrieval=WEB_SESSION
    trusted.auth.user.param=UserName
    trusted.auth.shared.secret=<secret code from properties file you created in step 2>
    Step VII:
    Go to the SAP BusinessObjects\Tomcat6\webapps\BOE\WEB-INF\eclipse\plugins\webpath.InfoView directory and edit custom.jsp
    <\!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page language="java" contentType="text/html;charset=utf-8" %>
    <%
    //custom Java code
    request.getSession().setAttribute("MySecret","32efbfbd35efbfbdefbfbd4363efbfbdefbfbd694aefbfbdefbfbd227530efbfbd5742efbfbd13efbfbd2befbfbd1fefbfbdefbfbdefbfbdefbfbd4e49efbfbd41550cefbfbd15703619d8b8efbfbd6cefbfbdefbfbd57efbfbd0defbfbdefbfbdefbfbd0605efbfbd6dc59b2728efbfbd");
    request.getSession().setAttribute("UserName", "Daya");
    %>
    <html>
    <head>
    <title>Custom Entry Point</title>
    <script type="text/javascript">
    function goToLogonPage() {
    window.location = "logon.jsp";
    </script>
    </head>
    <body>
    <a href="javascript:goToLogonPage()">Click this to go to the logon page of BI launch pad</a>
    </body>
    Edit the username(Daya) variable
    Step VIII:
    Stop tomcat, then delete contents in the SAP BusinessObjects\Tomcat6\work directory.
    Then start tomcat again and the work directory will be regenerated with new code.
    Hope this help you as well.
    Thanks,
    Daya

  • Webi Reports Hyperlinks on top of OLAP Universe

    Hi Webi Gurus,
    my BoBJ version 3.1 sp3
    BW-OLAP universe.
    I checked below Link for the solution, but couldn't
    get answer, as these are based on relational universes.
    /people/erika.atencio2/blog/2011/04/14/creating-hyperlinks-between-webi-reports-in-infoview
    I have a OLAP universe. On top of it, there are two reports
    One parent report and one child report.
    Question: I have a column called Auction Id on parent report.
    Now, when I click on any of the Auction Id values, child report
    should only bring data for that Auction Id alone and not other Auction Ids.
    In the child report, I have Auction Id as query filter.
    Now while in Webi's Interactive Mode, I chose the option
    Select Column--> Create Hyperlink --> Link to a document -->
    Document prompts: Prompt User in runtime.
    This option works fine.
    However, when I change the Document Prompt to:
             Select Object (or) Build Formula
    report throws MDX error, during run-time,
    Please suggest.
    MDX error:
    ========================================================================
    The query failed to execute with the error Value for the Characteristic.....WIS 10901
    ==================================================================================
    Regards,
    AK

    Still getting error...I tried this
    >> 1. In the detail webi report, create a query filter for AuctionID and use Equal operator. Give the prompt text as ActionID.
    AK: Done
    >> 3. In the column properties, in the display section select display cell content as HTML.
    AK: Done
    When I provide the URL and Parse it throws following error.
    "Invalid identifier a at position 15. (WIS 10022) "
    I gave following URL and parsed it.
    ="<a href="http://sapbojdev:8080/OpenDocument/opendoc/openDocument.jsp?
    iDocID=18774&lsSAuction ID="URLEncode([Auction ID])"&sRefresh=Y
    Q: Is there any problem with syntax?
    Q: Secondly, for OLAP universe based webi report , can't we use the hyperlink option:
    Link to  Document
    Thanks,
    AK

  • Images as Hyperlinks in webi reports

    Hi,
    I’m trying to link two webi reports (summary through Details) through Open doc syntax using Images in a cell.
    We have a requirement to link two webi reports (summary through Detail) using buttons (like Back & email) as images which will be embedded in to the cell and made hyperlink.
    I found many articles on "Hyper linking on the images" between 2 webi reports (summary to detail) using open doc syntax which did not help much. So I am starting a new thread. 
    I’ve 2 scenarios happening, after the images being placed on the server - (…/usr/bobj/<installation Directory>/enterprise/images) –
    1st Scenario – Right click on the cell contents, make it read as “hyperlink” and set appearance to “boimg://image-name.png”
    Result: Image appears and there is no link. Cursor does not changes or no place to click.
    2nd Scenario – Read the image directly into Ahref tag as - <img src=\” boimg://image-name.png\”>
    Result: The link works perfectly fine. But, in the image place holder, a big “RED X” appears.
    The steps -
    - Placed a blank cell
    - Right click -> Appearance -> Image from Address:  boimg://image-name.png
    - Read contents as "Hyperlink" (at this point, tested the cell, image appears fine, but no link appears!)
    - Right Click on the same cell -> Document Link -> pass the values of the related objects -> Parse
    - Also Include the <img src=\” boimg://image-name.png\”> in the AHref tag generated by the system after open doc call
    - In the cell, both the image and the big RED X appears - image does not have a link and the big red X has link but no image. So basically nothing works!
    We are on BO 4.1 SP1.
    Experts please help!

    Hi Fahid,
    You can try the below steps which are pretty simple. It worked fine for me. For this I used an image object placed in ROOT directory of a web application server.
    1.
    Add a blank cell
    2.
    Right-click on the blank cell and select “Format cell”
    3.
    Under “General” specify Read content as “Hyperlink”
    4.
    Apply >> OK
    5.
    Right click on the cell >> "Edit Formula" >> Use the following formula
    ="<html><a href='http://localhost:8080' target='_blank'><img src = 'http://localhost:8080/sample.png' /></a></html>"
    Hope this helps.
    Regards,
    Niraj

  • Analysis Authorization in BO 4.0 Webi report

    Hi All,
    I am using BO 4.0 and creating connection from Information Design tool to a BW query using BICS client. This connection is then published to CMC.
    We are using SAP authentication and importing the roles from BW system. We have added profiles to this role and these profiles have Analysis Authorization set on Company Code. So one user can access data to one company code and vice versa. Now this works well in Bex Analyzer, but if I try to create a report in Webi, the analysis authorization fails. I went through the forum before posting this question and I found that is in 3.1 version and in most cases using SSO in universe connection solved the problem.
    However in 4.0 I am using BICS client and followed the same processes to create a connection but for some reason it doesn't work ? Is this suppose to work differently in 4.0 ?
    I have tried:
    1. To create connection in Information Design tool using SSO, selecting user ID and password. It doesn't work.
    2. Checked the Bex query and it already has Company code as a Characteristic restrictions (I have made it a mandatory variable).
    3. Publish the connection to CMC with my Enterprise and SAP ID and in both cases it doesn't work.
    Please let me know if anyone encountered a similar issue and what is the best method to resolve this.
    (BO 4.0 no service pack or fix pack installed on the system yet)
    Thanks - Appreciate your help !
    Prasad Rasam

    Ingo,
    1. To create connection in Information Design tool using SSO, selecting user ID and password. It doesn't work.
    >> Correct you need to setup you OLAP Connection with SSO.
    >>> What I meant was I created the connections using both the methods, Using SSO it allows me to create a connection. The ID which I am using to create a connection has Admin access to BOBJ system. When I login as a regular user to create a Webi report and select this new connection, it throws an error message 'The DSL Service returned an error: com.businessobjects.dsl.services.workspace.impl.QueryViewAnalyzer$CannotGetCubeFromConnectionException: Cannot get the cube from the connection'
    Using the other method to create a connection with User ID and password, I can create a connection and with the normal user login I can connect to the BW query but Analysis Authorization doesn't work.
    Ingo : Could you be more specific what you mean here with the different users ? When you say "regular" user are you referring to an SAP credentials or SAP BusinessObjects Enteprrise credentials ?
    2. Checked the Bex query and it already has Company code as a Characteristic restrictions (I have made it a mandatory variable).
    >> The variable in the BEx query needs to be an authorization variable.
    >>> This has already been set as Authorization variable. There is still a question here. If I select the variable as Authorization variable, I cannot set the other parameters in the query properties such as Mandatory variable (as this is greyed out).
    Ingo : What other parameters would you like to configure ? Could you perhaps describe the scenario with more details ?
    regards
    Ingo Hilgefort

  • Convert a web report into pdf and print (in BW 3.5)

    Hello gurus,
    i have few web reports ( created using WAD). i am looking for a possibility to convert a web report (viewed in a browser by a user) into pdf and print them and this should be done by pressing a button.
    Is it possible in BW 3.5 version?.
    could anyone please help me?
    Any how to docs. would be really helpful.
    thanks and regards
    kumar

    Here it is
    <HTML>
    <!-- BW data source object tags -->
    <object>
             <param name="OWNER" value="SAP_BW"/>
             <param name="CMD" value="SET_DATA_PROVIDER"/>
             <param name="NAME" value="DATAPROVIDER_1"/>
             <param name="DATA_PROVIDER_ID" value=""/>
             DATA_PROVIDER:             DATAPROVIDER_1
    </object>
    <object>
             <param name="OWNER" value="SAP_BW"/>
             <param name="CMD" value="SET_PROPERTIES"/>
             <param name="TEMPLATE_ID" value="ZPD_ADHOC_PAGE"/>
             <param name="MENU_BACK" value=""/>
             <param name="MENU_BACK_TO_START" value=""/>
             <param name="SUPPRESS_WARNINGS" value="X"/>
             <param name="MENU_FILTER" value=""/>
             <param name="MENU_FILTER_ON_AXIS" value=""/>
             <param name="MENU_SELECT_FILTER" value=""/>
             <param name="MENU_FILTER_ON_AXIS_CHART" value=""/>
             <param name="MENU_FILTER_CHART" value=""/>
             <param name="MENU_FILTER_DRILL_DOWN" value=""/>
             <param name="MENU_DRILL_UP_GIS" value=""/>
             <param name="MENU_DRILL_DOWN" value=""/>
             <param name="MENU_EXCHANGE_OBJECTS" value=""/>
             <param name="MENU_REMOVE_DRILL_DOWN" value=""/>
             <param name="MENU_SWITCH_AXIS" value=""/>
             <param name="MENU_HIERARCHY_NODE_DRILL" value=""/>
             <param name="MENU_HIERARCHY_DRILL" value=""/>
             <param name="MENU_HIERARCHY_STATE" value=""/>
             <param name="MENU_SORT" value=""/>
             <param name="MENU_CALCULATE_RESULT" value=""/>
             <param name="MENU_CALCULATE_VALUE" value=""/>
             <param name="MENU_CUMULATE_VALUE" value=""/>
             <param name="MENU_DISPLAY_DOCUMENTS" value=""/>
             <param name="MENU_DOCUMENT_CREATE" value=""/>
             <param name="MENU_DISPLAY_DOCUMENT_PROP" value=""/>
             <param name="MENU_DISPLAY_DOCUMENT_SELEC" value=""/>
             <param name="MENU_RRI" value=""/>
             <param name="MENU_EXPORT_TO_CSV" value=""/>
             <param name="MENU_EXPORT_TO_XLS" value=""/>
             <param name="MENU_BOOKMARK" value=""/>
             <param name="MENU_CHARACTERISTIC_PROPERTIES" value=""/>
             <param name="MENU_VALUE_PROPERTIES" value=""/>
             <param name="MENU_QUERY_PROPERTIES" value=""/>
             <param name="MENU_VARIABLE_SCREEN" value=""/>
             <param name="MENU_CURRENCY_CONVERSION" value=""/>
             <param name="MENU_ENHANCED" value=""/>
             TEMPLATE PROPERTIES
    </object>
    <HEAD>
    <META NAME="GENERATOR" Content="Microsoft DHTML Editing Control">
    <TITLE>SAP BW Reporting Print Page</TITLE>
    <link href="/sap/bw/Mime/BEx/StyleSheets/BWReports.css" type="text/css" rel="stylesheet"/>
    <script type"text/javascript">
    <!--
    //   Global Variable Definition
    var dataTable = "";
    var pageRowCnt = 0;
    var prevPage = 0;
    var ColumnCnt = 0;
    var PrintDateTimeStamp = new Date();
    var rptWidth = 0;
    //DATE STAMP FUNCTION
    function datestamp(){
               var Today = new Date()
               document.write(Today);
    function getReportTitle() {
                    var myQueryString = window.location.search;
                    var startOfRptTitle = myQueryString.indexOf("QTITLE=");
                    if (startOfRptTitle != -1)
                         var endOfRptTitle = myQueryString.indexOf("&", startOfRptTitle + 7);
                         var myTitle = unescape(myQueryString.substring(startOfRptTitle + 7, endOfRptTitle));
                         var rpttitle = "";
                         for(i=0;i<myTitle.length;i++){
                             if (myTitle.substring(i,i+1) == "+"){
                                 rpttitle = rpttitle + ' ';
                             else
                                 rpttitle = rpttitle + (myTitle.substring(i,i+1));
                    else
                         var rpttitle =  "Unspecified Query Title";
                    return rpttitle;
    queryTitle=getReportTitle();
    function getHeading2() {
                    var myQueryString = window.location.search;
                    var startOfHdr2 = myQueryString.indexOf("HDR2=");
                    if (startOfHdr2 != -1)
                         var endOfHdr2 = myQueryString.indexOf("&", startOfHdr2 + 5);
                         var myHdr2 = unescape(myQueryString.substring(startOfHdr2 + 5, endOfHdr2));
                         var hdr2 = "";
                         for(i=0;i<myHdr2.length;i++){
                             if (myHdr2.substring(i,i+1) == "+"){
                                 hdr2 = hdr2 + ' ';
                             else
                                 hdr2 = hdr2 + (myHdr2.substring(i,i+1));
                    else
                         var hdr2 =  "#";
                    return hdr2;
    header2=getHeading2();
    function getHeading3() {
                    var myQueryString = window.location.search;
                    var startOfHdr3 = myQueryString.indexOf("HDR3=");
                    if (startOfHdr3 != -1)
                         var endOfHdr3 = myQueryString.indexOf("&", startOfHdr3 + 5);
                         var myHdr3 = unescape(myQueryString.substring(startOfHdr3 + 5, endOfHdr3));
                         var hdr3 = "";
                         for(i=0;i<myHdr3.length;i++){
                             if (myHdr3.substring(i,i+1) == "+"){
                                 hdr3 = hdr3 + ' ';
                             else
                                 hdr3 = hdr3 + (myHdr3.substring(i,i+1));
                    else
                         var hdr3 =  "#";
                    return hdr3;
    header3=getHeading3();
    function getAsOfDate() {
                    var myQueryString = window.location.search;
                    var startOfRelevance = myQueryString.indexOf("ASOFDATE=");
                    if (startOfRelevance != -1)
                         var endOfRelevance = myQueryString.indexOf("&", startOfRelevance + 9);
                         var myRelevance = unescape(myQueryString.substring(startOfRelevance + 9, endOfRelevance));
                         var asof = "";
                         for(i=0;i<myRelevance.length;i++){
                             if (myRelevance.substring(i,i+1) == "+"){
                                 asof = asof + ' ';
                             else
                                 asof = asof + (myRelevance.substring(i,i+1));
                    else
                         var asof =  "";
                    return asof;
    asofDateTime=getAsOfDate();
    function getPaperSize() {
                    var myQueryString = window.location.search;
                    var startOfPaperSize = myQueryString.indexOf("PSIZE=");
                    if (startOfPaperSize != -1)
                         var endOfPaperSize = myQueryString.indexOf("&", startOfPaperSize + 6);
                         var myPaperSize = unescape(myQueryString.substring(startOfPaperSize + 6, endOfPaperSize));
                         var psize = "";
                         for(i=0;i<myPaperSize.length;i++){
                                 psize = psize + (myPaperSize.substring(i,i+1));
                    else
                         var psize =  "0";    // default if none supplied  (normal 8x11)
                    return psize;
    varPaperSize=getPaperSize();
    var PaperSizeParamString='&PSIZE=' + escape(varPaperSize);
       switch(varPaperSize){
            case "0":    // Landscape - Letter
                           var WidthMax = 910;
                           var RowsPerPageMax = 38;
                           break;
            case "1":    // Landscape - Legal
                           var WidthMax = 1190;
                           var RowsPerPageMax = 38;
                           break;
            case "2":    // Portrait - Letter
                           var WidthMax = 660;
                           var RowsPerPageMax = 54;
                           break;
    function getTotalColumns() {
       var myHTML = dataTable.rows[1].innerHTML;
       var TotalTDs = 0;
       var nextTD = 0;
       for (i=0;i<myHTML.length;i++) {
           nextTD =  myHTML.indexOf("<TD", i);
           if (nextTD != -1) {
              i=nextTD;
              TotalTDs++;
           else break;
       return TotalTDs;
    function GetPageHeadings() {
       var headingHTM = "";
       var leftspancnt = 0;
       var rightspancnt = 0;
       var headingspancnt = 2;
       if (header2 != '#') headingspancnt = headingspancnt + 1;   // adjust for extra headings
       if (header3 != '#') headingspancnt = headingspancnt + 1;  
       if (currPage > 1) {
          headingHTM += '<TR style="page-break-before:always; display:none; visibility:hidden; "><TD Colspan="' + ColumnCnt + '"></td></tr>';
       else {
          headingHTM += '<TABLE  id="THEREPORT" name="MYREPORT" cellSpacing=0 cellPadding=0 width=' + WidthMax + ' border=0>';
       if (ColumnCnt == 1) {
          headingHTM += '<TR><TD vAlign=top align=left nowrap><font Size=3><STRONG>';
          headingHTM += queryTitle;
          headingHTM += '</STRONG></font></TD><TD Rowspan="' + headingspancnt + '" align="right" vAlign="top"><input type="image" border="0" name="SAPLogo" src="/sap/bw/Mime/Customer/Images/images.jpg" alt="SAP Logo"></TD></TR>';
          if (header2 != '#') headingHTM += '<TR><TD vAlign="top" align="left"><FONT Size=1>' + header2 + '</FONT></TD></TR>';
          if (header3 != '#') headingHTM += '<TR><TD vAlign="top" align="left"><FONT Size=1>' + header3 + '</FONT></TD></TR>';
          headingHTM += '<TR><TD vAlign="top" align="left"><FONT Size=1>' + asofDateTime + '</FONT></TD></TR>';
          headingHTM += '<TR><TD vAlign="top" align="left" Colspan="2"><hr size=2 color=black align=left></TD></TR>';
          headingHTM += '<tr>' + dataTable.rows[0].innerHTML + '<TD> </TD></TR>';
       else {
          leftspancnt = Math.floor(ColumnCnt/2);
          rightspancnt = ColumnCnt - leftspancnt;
          headingHTM += '<TR><TD vAlign=top align=left nowrap Colspan="' + leftspancnt + '"><font Size=3><STRONG>';
          headingHTM += queryTitle;
          headingHTM += '</STRONG></font></TD><TD Rowspan="' + headingspancnt + '" Colspan="' + rightspancnt  + '" align="right" vAlign="top"><input type="image" border="0" name="SAPLogo" src="/sap/bw/Mime/Customer/Images/images.jpg" alt="SAP Logo"></TD></TR>';
          if (header2 != '#') headingHTM += '<TR><TD vAlign="top" align="left" Colspan="' + leftspancnt + '"><FONT Size=1>' + header2 + '</FONT></TD></TR>';
          if (header3 != '#') headingHTM += '<TR><TD vAlign="top" align="left" Colspan="' + leftspancnt + '"><FONT Size=1>' + header3 + '</FONT></TD></TR>';
          headingHTM += '<TR><TD vAlign="top" align="left" Colspan="' + leftspancnt + '"><FONT Size=1>' + asofDateTime + '</FONT></TD></TR>';
          headingHTM += '<TR><TD vAlign="top" align="left" Colspan="' + ColumnCnt + '"><hr size=2 color=black align=left></TD></TR>';
          headingHTM += '<tr>' + dataTable.rows[0].innerHTML + '</TR>';
       return headingHTM;
    function GetPageFooting() {
       var footingHTM = "";
       var leftspancnt = 0;
       var rightspancnt = 0;
       if (ColumnCnt == 1) {
          footingHTM += '<TR><TD vAlign="top" align="left" Colspan="2"><hr size=2 color=black align=left></TD></TR>';
          footingHTM += '<TR><TD vAlign="top" align="left" nowrap><FONT Size=1>Prepared: ';
          footingHTM += PrintDateTimeStamp;
          footingHTM += '</FONT></TD><TD vAlign="top" align="right"><FONT Size=1>';
          footingHTM = footingHTM + 'Page ' + currPage.toString() + ' of ' + varPageTotal.toString();
          footingHTM += '</FONT></TD></TR>';
       else {
          leftspancnt = Math.floor(ColumnCnt/2);
          rightspancnt = ColumnCnt - leftspancnt;
          footingHTM += '<TR><TD vAlign="top" align="left" Colspan="' + ColumnCnt + '"><hr size=2 color=black align=left></TD></TR>';
          footingHTM += '<TR><TD vAlign="top" align="left" nowrap Colspan="' + leftspancnt + '"><FONT Size=1>Prepared: ';
          footingHTM += PrintDateTimeStamp;
          footingHTM += '</FONT></TD><TD vAlign="top" align="right" Colspan="' + rightspancnt + '"><FONT Size=1>';
          footingHTM = footingHTM + 'Page ' + currPage.toString() + ' of ' + varPageTotal.toString();
          footingHTM += '</FONT></TD></TR>';
       return footingHTM;
    function GetReportFooting() {
       var footingHTM = "";
       footingHTM += '</TABLE>';
       return footingHTM;
    function formatToPrint() {
       var PrintHTM = "";
       PrintHTM += GetPageHeadings();
       if (ColumnCnt != 1) {
          for (var i=1;i<dataTable.rows.length;i++) {
               (currPage > prevPage)?prevPage=currPage:"";  //increment current page count
               if ((pageRowCnt + 1)>RowsPerPageMax){
                   PrintHTM += GetPageFooting();
                   pageRowCnt = 0;
                   currPage++;
               if (prevPage != currPage) {
                   PrintHTM += GetPageHeadings();
               else
                   PrintHTM += '<tr>' + dataTable.rows<i>.innerHTML + '</tr>';
                   pageRowCnt++;
       PrintHTM += GetPageFooting();       
       PrintHTM += GetReportFooting();
       return PrintHTM;
    function DisplayPrintNotice() {
    // Paper Size "0" is Letter with Landscape
    // Paper Size "1" is Legal with Landscape
    // Paper Size "2" is Letter with Portrait
    if (varPaperSize == "0") {var varMessage ="nn From your browser File Menu, select Page Setup and do the following: nn 1) Adjust the Printer Orientation to Landscape n 2) select Print menu, then select the Print button.";}
    if (varPaperSize == "1") {var varMessage ="nn From your browser File Menu, select Page Setup and do the following: nn 1) Adjust the Paper Size to Legal n 2) Adjust the Printer Orientation to Landscape n 3) select Print menu, then select the Print button.";}
    //if (varPaperSize == "2") {var varMessage ="nn From your browser File Menu, select Page Setup and do the following: nn 1) Adjust the Paper Size to Letter n 2) Adjust the Paper Source (if necessary) n 3) Adjust the Orientation to Portrait (default) n 4) Select the Okay button nn Again select the File Menu, select Print, then select the Print button.";}
    alert(varMessage);
    //window.print()
    /*   SAP BW Reporting Stylesheet Revisions        */        
    function writeStyleRevisions() {
    function writeDynamicFontRevisions(dynafont) {
    //Writes the Dynamic Stylesheet
    -->
    </script>
    </HEAD>
    <BODY>
    <TABLE  id="tp1" cellSpacing=0 cellPadding=0 width=660 border=0 >
        <TR>
        <TD vAlign=top align=left nowrap>
    <object>
             <param name="OWNER" value="SAP_BW"/>
             <param name="CMD" value="GET_ITEM"/>
             <param name="NAME" value="MYQUERY"/>
             <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_GRID"/>
             <param name="DATA_PROVIDER" value="DATAPROVIDER_1"/>
             <param name="GENERATE_CAPTION" value=""/>
             <param name="GENERATE_LINKS" value=""/>
             <param name="WIDTH" value="660"/>
             <param name="BORDER_STYLE" value="NO_BORDER"/>
             <param name="SUPPRESS_REPETITION_TEXTS" value=""/>
             <param name="BLOCK_SIZE" value="3500"/>
             <param name="SHOW_PAGING_AREA_TOP" value="X"/>
             <param name="TARGET_DATA_PROVIDER_1" value="DATAPROVIDER_1"/>
             ITEM:            MYQUERY
    </object>
        </TD>
      </TR>
    </TABLE>
    <SCRIPT type="text/javascript">
    <!--
            var tbls = document.body.getElementsByTagName("TABLE");
            for (var i=0;i<tbls.length;i++) {
                  if (tbls<i>.name == "MYQUERY"){
                        var dataTable = tbls<i>;
                        break;
            document.title = queryTitle;
            rptWidth = dataTable.clientWidth;
            rptHeight = dataTable.clientHeight;
            originalRptWidth = rptWidth;
            originalRptHeight = rptHeight;
            originalRowHeight = Math.floor(rptHeight/(dataTable.rows.length+1));
            rptPageHeightMax = 580;                                                                                //660 less basic header and footer of 80
            if (header2 != '#') rptPageHeightMax = rptPageHeightMax - 20;   // adjust for extra headings
            if (header3 != '#') rptPageHeightMax = rptPageHeightMax - 20;  
            if (dataTable.rows.length == 1) {
                ColumnCnt = 1;                //No Applicable Data found message
            else {
                ColumnCnt = getTotalColumns();
            startingFont = 65;
            varFontSize = startingFont;
            if (rptWidth > WidthMax) {
                while ((rptWidth > WidthMax) && (varFontSize > 15))
                    writeDynamicFontRevisions(varFontSize);
                    rptWidth = dataTable.clientWidth;
                    rptHeight = dataTable.clientHeight;
                    varFontSize = varFontSize - 5;
                // calculate max rows per page
                rowHeight = Math.floor(rptHeight/(dataTable.rows.length+1)) + 1;        // add 1 for 2 row heading, add 1 for padding
                RowsPerPageMax = Math.floor(rptPageHeightMax/rowHeight) - 2;   // adjust for column headings
            if (dataTable.rows.length == 1) {
                varPageTotal = 1;                //No Applicable Data found message
            else {
                totalRows = dataTable.rows.length-1;                                       // total rows less headings
                varPageTotal = Math.floor(totalRows/RowsPerPageMax);       // compute total pages
                if (totalRows != (varPageTotal * RowsPerPageMax)) {
                    varPageTotal = varPageTotal + 1;                                        // if not a complete last page, add 1 for partial page
            currPage = 1;
            document.write(formatToPrint());
            document.all.tp1.style.display = "none";
            document.all.tp1.style.visibility = "hidden";
    //        DisplayPrintNotice();
    -->
    </SCRIPT>
    <STYLE>
    input.ie55   { display: none }
    </STYLE>
    <!-- special style sheet for printing -->
    <STYLE media=print>
    .noprint     { display: none }
    </STYLE>
    <script defer>
    function window.onload() {
        if (!factory.object) {
            return
        else {
    //     factory.printing.header = "SAP"
    //     factory.printing.footer = "SAP"
            if ( varPaperSize == "2" ) { factory.printing.portrait = true; }
            else { factory.printing.portrait = false; }
            factory.printing.Print(true);
            // enable control buttons
      /*  var templateSupported = factory.printing.IsTemplateSupported();
           var controls = idControls.all.tags("input");
           for ( i = 0; i < controls.length; i++ ) {
               controls<i>.disabled = false;
               if ( templateSupported && controls<i>.className == "ie55" )
                  controls<i>.style.display = "inline";
    </script>
    <P>
    <div id=idControls class="noprint" style="VISIBILITY: hidden">
    <input disabled type="button" value="Print this page"
    onclick="factory.printing.Print(true)">
    <input disabled type="button" value="Page Setup..."
    onclick="factory.printing.PageSetup()">
    <input class=ie55 disabled type="button" value="Print Preview..."
    onclick="factory.printing.Preview()">
    <input class=ie55 disabled type="button" value="Landscape"
    onclick="factory.printing.portrait=false">
    <input class=ie55 disabled type="button" value="Portrait"
    onclick="factory.printing.portrait=true">
    </div>
    </BODY>
    </HTML>

Maybe you are looking for