Deploying BO universes and webi reports in quality and production

Hi
We are on BO XIR2 SP5 and reporting on SAP BI Infocubes and Queries.
We have 3 environments setup,each for development,quality and production.
During universe development,while creating a new connection we provide the IP address of application server,username ,password,system id,client number etc details.
The above details would defer for 3 different environments.In our case we have built around 50 universes.
So what would be the smart way of deploying these universes in each of the other 2 environments?Because changing universe connection details would mean re creating the universe classes and objects which would be a huge effort.Would the webi reports continue to work upon re creating the universe with new connection details?
Please suggest a best and smart practice for the above scenario.

Hi,
Using Import Wizard tool in BO you can  migrate Universe and Reports from dev env to test.
Using the Import Wizard tool you can migrate the reports.
Steps are as follows:
Open Import window:
In Source environment , enter the details of dev environment.
Destination wizard you have to enter Test env credentials.
Then you have to select all the universe and the wid files from this wizard (The files you want to transfer ).
Finally finish this wizard by pressing finish button.........
Hope this will help you
Regards
Sindhu

Similar Messages

  • Migrating Crystal and Webi Reports with Universe from 1 folder to different folders

    Hi There
    Does anybody know of a way to do the following
    this is for BOE XI 3.1 SP 6 FP 6.2 on Windows 2008 R2
    We have multiple Crystal and Webi reports developed from 1 universe and we need to copy these Crystal and Webi  reports to different folders in the same CMS  for example
    Universe Dev > Universe Folder Dev -  Crystal and Webi Reports set in Dev Folder
    Create a copy of the Dev Universe to Universe Folder Test – Copy the Dev Crystal and Webi Reports to Folder Test we need to Map it to the universe in the Test Universe folder(Copy of the Dev Universe)
    Create a copy of the Dev Universe to Universe Folder UAT– Copy the Dev Crystal and Webi Reports to Folder UAT we need to Map it to the universe in the UAT Universe folder(Copy of the Dev Universe)
    Create a copy of the Dev Universe to Universe Folder PROD – Copy the Dev Crystal and Webi Reports to Folder PROD we need to Map it to the universe in the PROD Universe folder(Copy of the Dev Universe)
    The reason for this is each of these universe are connected to a different database i.e Test, UAT, Prod and we have over 200 reports and at the moment we have to manually map each report to the new universe individual which take up hours.
    I have tried Lifecycle manager but came to the conclusion it cannot achive this
    You cannot change the universe attached to the Crystal and Webi reports
    you cannot promote Reports and Universes in the Same CMS to different folders
    you cannot change the folder even if you promote jobs between servers
    Does anybody know of a way to do this

    Hi,
    The way you should do this is to have 4 different BO systems, Dev, Test, UAT and Prod.
    Having this will allow you to use the same universe across all systems, but the connection to the database will be different on each system.
    Not only will this allow you to smoothly report off different data sources, but you will also be able to upgrade and make configuration changes without impacting your production system.
    Cheers,
    Josh

  • 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

  • Information Broadcasting and Web reporting

    Hi gurus
    1.I am trying to use Information Broadcasting in my system but when i open the query
    and try to select the publish Information boradcasting, its not taking me to the information broadcasting page on IE.
    what could be the reason, is my system not configured to use IB, if yes then can somebody give me the steps to config the information broadcasting on my system.
    2. How to check whether my system is configured for Web reporting or not and what all the config settings do i need to check and where do i need to check them.
    [email protected]
    Thanks and regards
    Sreedhar

    Hi Sreedhar,
    For IB check this link:
    http://help.sap.com/saphelp_nw04/helpdata/en/84/30984076b84063e10000000a1550b0/frameset.htm
    For web reporting check if http service is running, SMICM->go to->services, there should HTTP and SMTP normally, and take a look
    http://help.sap.com/bp_biv335/BI_EN/documentation/HowToConfigWeb35.pdf
    hope this helps.
    Bye
    Dinesh

  • Document integration for Bex reports and web reports

    Hi,
    I would like to attach few documentaion (like business usage of the report) for all existing reports in BW system. We are delivering all reports through Bex reports and Web reports.
    Report user should be able to see attached documentation through "Document" property in Web report.
    I have followed this way but not able to get on-line documentation for queries.
    1. RSA1--> Documents >Meta Data> selected Object type ELEM> Import document> attached word document.
    2. I enabled Documents property in Query designer.
    3. When I executed this query in Bex, I could see document symbol for all characteristics & Key figures in all cell (in default view)
    4. The same result with Web report (all cells are having document symbol).
    But I dont want to display documents in defaul view, if any user wanted to have doucment info, then should click on "document" tab and should be able to down load / read on line.
    Let me know why I am getting document symbol for all key / char, even though i selected "ELEM". I know we could direclty import documents in query designer, what is the difference..
    Rgds..

    Hi,
    Anybody could provide step to step procedure for doucument integration for Bex reports.
    Best regards,

  • Migration of work books, queries and web report

    Hi,
    kindly give me the steps to migrate workbooks, queries and web reports from BW 3.5 TO BI 7.0
    Regards
    Asim

    Hi,
    Kindly check the below link:
    Migration of Queries and Work Books from BW 3.x to BI 7
    /people/teja.badugu/blog/2008/11/11/migration-of-queries-and-work-books-from-bw-3x-to-bi-7
    Hope it helps,
    Thanks,
    Amit

  • Best Practice to bring OLAP Universe and WebI Report to Production

    What are the best ways to bring a WebI Report that is developed on a OLAP Universe (based on BEx Query) from Development to Production environment?
    Edited by: B.Wegner on Nov 8, 2010 2:54 PM

    1) Move your BEx query from SAP DEV to SAP PROD (SAP internal transport system)
    2) Move your report (incl. universe) using the LCM or the Import Wizard from your BOBJ DEV to your BOBJ PROD system
    3) Edit the universe connection in BOBJ PROD to point to your SAP PROD system.
    Regards,
    Stratos

  • How to backup whole Univers and CR reports and WEBI reports through BOE

    Hi All,
    For now, my BOE is BO XI Release2. Could you please help me to tell me how to backup Univers and Reports (CR and Web) through BOE?
    Thanks.
    Liu Ming

    Hi Liu,
    You could take a backup of all your reports and universes in a BIAR file through Import Wizard tool. In Source, select your BOE XI R2 system and destination as BIAR file >> select the componenets that you want to take a backup of and import it.
    Regards,
    Nakul

  • 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>

  • Different display on client report builder and web reports

    Hi all, I have build a report in report 6i version Report Builder 6.0.8.13.1.And I set the page to 8.5*11 ,and it runs well in the client ,but when I put it on the UNIX SERVER,and run it from web URL,It displayed different from the client report builder.The web report is "smaller" than the client report ,but the font size is as same as the client .
    My HPUX is 11x,and display the Chinese report .
    Any body know why ?give me some advice ,thank u very much.

    Hi
    If you had built the report definition on Windows and then moved this to Unix server, you may find different fonts in use. This is becuase your Unix setup does not have the same fonts install. At design time, You need to use fonts which are available on Unix also. The same fonts shaould also be installed for printer in Unix i.e. the AFM/PFM font files should be kept under $ORACLE_HOME/guicommonX/tkXX/admin/AFM or PFM directory. This would give you the same output and would lessen the porting affect.
    Thanks
    Rohit

  • Web report without userid and password

    Hi Experts,
    I exported a BW web report to excel spreadsheet and sent it through mail to others, When recepients tried to open that exported spreadsheet, It is prompting for userid and password. I dont want this to be happened and it should open without asking userid / passsword? Can any one suggest some clues onthis.

    Check to see if they are looking at the data or running the report.  If they are running the report, then they will be prompted for the user id and password.
    You can run the report for them and download the data only, then they will not get the prompts, however they will not be able to update the data or drill down.
    Alternatively, you can use the Broadcaster to send out the updated reports directly to them.
    Brian

  • Output mismatch between BEx query output and WebI Report output

    Hi All,
    I have a BEx query in which there are only characteristics placed in rows.
    There are combinations of the values of the characteristics giving different records in the query output.
    Date is one of the characterisctics in the query output.
    There is an output mismatch between the query output and the WebI report output in the following case:
    When there are 'Not Assigned' or '#' or blank values, there are additional entries(rows) in the WebI report, giving repeating or wrong entries in the Date field. This is incorrect data.
    Is this because of the  'Not Assigned' or '#' or blank values of the Characteristics or is there any other reason?
    How do I fix this?
    Please helo me with this.
    Thanks and Regards,
    Srilakshmi B

    Hi Rajesh,
    I need to verify the WebI report output for records with # and 'Not assigned' values for the cHracteristics in the report.
    So I cannot check the WebI report by hiding the # or Not assigned values.
    The problem is that in the Query output the records are like these shown below:
    Char1                    CHar2                          CHar3                       Date field
    A                             B                                 C                                Date1
    #(Not assgined)      #(Not assgined)      #(Not assgined)             No value
    Where as the WebI report output is as below:
    Char1                    CHar2                          CHar3                       Date field
    A                             B                                 C                                Date1
    #(Not assgined)      #(Not assgined)      #(Not assgined)            Date1
    As shown here, there are wrong/repeating entries for the Date field in the WebI report output.
    Please check this and let me know what could be the issue and how do I fix it.
    Thanks and Regards,
    Srilakshmi B

  • Multiple Column Header in Report (BEx and Web Reporting)

    Hi All,
            I've a requirement where my reports is having multiple column header.
       To be precise the column header is further divided into many sub-columns (upto 4 levels).
    Structure cannot help in this case since we have more than 2 such columns and we are using web reporting as well.
    Here is how it looks
                             <b>Header-A</b>
    Header-B1   |   Header-B2   |   Header-B3    |  Header-Bn
    Hdr-C1 |Hdr-C2 |Hdr-D1 |Hdr-D2 |Hdr-E1 |Hdr-E2 |Hdr-Fn..
    The above is a sample header structure.
    This report will be a Web Based report and I need to know whether its possible to do it in BEx also.
    We are not using Crystal Reports.
    If there is any document related to this, please mail to
    [email protected]
    Thanks & Regards,
    Chandran Ganesan

    Hi Chandran,
    I hope i am getting your problem right.
    If your
    Header-B1 | Header-B2 | Header-B3 | Header-Bn
    Hdr-C1 |Hdr-C2 |Hdr-D1 |Hdr-D2 |Hdr-E1 |Hdr-E2 |Hdr-Fn..
    are a set of key figures, then there is an option.
    For example:
    You drag Header-B1,Hdr-C1 |Hdr-C2
    into column section.Right click on Hdr-C1, Hdr-C2 and select down under. So your Hdr-C1, Hdr-C2 will be under
    Header-B1.
    Like wise drag Header-B2,Hdr-D1,Hdr-D2
    Right click on Hdr-D1,Hdr-D2 and say Down under and these two will fit below Header-B2.
    You can repeat the above steps for Header-B3... Header-Bn
    The output will be same as the one you have specified above.
    Hope it helps,
    Regards,
    Parth.

  • Server Side Trust and Webi Report Scheduling via Portal

    Hello,
    I have opened a similar  thread about Server Side Trust and webintelligence reporting through the portal a few months ago.
    At the time, we had some complaints about users that were getting SSO errors after 8 hours when scheduling WeBi Report through the SAP Portal.
    Basically, the users connect to the Portal and then FROM the Portal, to a BOI view pointing to the Infoview.
    Then, after investigatinon, it was my understanding that the WebI Reports should be scheduled through an Infoview token and not a portal token. In concrete terms Server Side Trust had to be implemented between the SAP BW Backend and the BOE 3.1 Server.
    And after that the users who wanted to schedule WebI reports should connect to the Infoview directly (using their SAP BW credentials) to generate an Infoview Token.
    Scheduling Webi reports from the Portal will not be solved by implementing Server Side Trust, since it is only a matter of time before the  the Portal token expires ( 8 hour by default).
    Now, I have configured the server side Trust between our BOE 3.1 SP2 and our BW 701 system, SNC configuration, PSE generation, exchange of certificats , etc ...
    I did some scheduling tests connecting directly to the BO Infoview and it works.
    But of course, now I am being told by the users that this solution is not acceptable.
    The Portal being the entry point of our Infrastructure, they don't want to connect to the Infoview to schedule their reports.
    So I opened a SAP customer call to try to have an official and clear statement from SAP but I never obtained it.
    I had a look at my SAP BO courses but I am still confused
    For example according to SAP BO100 , server side trust should be implemented when ;
    "BOE client session authenticated using Single sign on using SAP token
    (Enterprise Portal) and SAP reports are being scheduled at a future point in
    time (after token expiry date)."
    Anyone can help me to clear my mind ?
    Thank you
    Best Regards

    Hi,
    first of all lets separate the UI portion from the technical portion.
    on the technical side:
    yes for scheduling the Web Intelligence document you will need Server side trust
    on the UI side:
    - scheduling is part of InfoView
    - scheduling is part of the KM integration with the portal
    if that is not accepted from a UI point of view from the user you can create your own application to schedule documents using the SDK.
    ingo

  • Fetch table value in BEX Web report using Javascripts, and assign condition

    Hi Gurus,
    I am currently using WAD 3.5. I need to change the web report to behave like below :-
    1. Default layout (Field A B C) with condition A & B activated.
    2. If the drilldown Field B and C is removed, leaving only field B alone in the report drilldown, deactivate condition A & B, Activate condition C & D.
    3. the above can be reversed where user drilldown field B & C into the layout, the condition A & B need to then be activated back.
    So I believe this can be done using Javascript. So my questions are below
    1.) How do i fetch table value for the navigationblock ? with navigationblock i am able to know what are the columns are in the drilldown (i will not display free characteristics, so ignore this part). how do i read the content of NAVIGATIONBLOCK_1 as shown in following code? using javascript.
    <P><object>
             <param name="OWNER" value="SAP_BW"/>
             <param name="CMD" value="GET_ITEM"/>
             <param name="NAME" value="NAVIGATIONBLOCK_1"/>
             <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_NAV_BLOCK"/>
             <param name="DATA_PROVIDER" value="DATAPROVIDER_1"/>
             <param name="SHOW_FREE_CHARACTERISTICS" value=""/>
             <param name="SHOW_NAVIGATION_ICONS" value=""/>
             <param name="SHOW_FILTER_ICONS" value=""/>
             ITEM:            NAVIGATIONBLOCK_1
    </object></P>
    2.) After question 1.) is done, please advice how do i activate/deactivate the conditions? based on the fields found in above. Maybe I can use IF navigationblock_1 contain field A only, then set condition A & B , etc.
    <p><object>
             <param name="OWNER" value="SAP_BW"/>
             <param name="CMD" value="GET_ITEM"/>
             <param name="NAME" value="CONDITIONLIST_1"/>
             <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_CONDITION"/>
             <param name="DATA_PROVIDER" value="DATAPROVIDER_1"/>
             ITEM:            CONDITIONLIST_1
    </object>
    I would appreciate if we can solve Question 1 first before proceed to 2.)
    Please advise. Thanks

    Hi JTi,
    what i have understood from your requirement is that you want to access the web item table_1 in javascript, you can get that as below:
    Add
    <span> 
    tag before your web item and set its id to table.
    <span id = "table">
    <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="DATAPROVIDER_1"/>
    <param name="GENERATE_CAPTION" value=""/>
    <param name="CAPTION" value="jezel"/>
    <param name="ONLY_HIERARCHY_NAVIGATION" value="X"/>
    <param name="BLOCK_SIZE" value="0"/>
    <param name="SHOW_PAGING_AREA_BOTTOM" value=""/>
    ITEM: TABLE_1
    </span>
    In javascript access it as :
    var mytable = document.getElementsById("table");
    Hope this helps
    Thanks
    Dipika

Maybe you are looking for