Javascript and bex

Hello All,
There are four steps in my web application;
1> Instead of the standard navigation block web item , we would like to use the normal html drop down box for the filter values.
This step is done, but the html drop down box displays an extra option value apart from the existing filter value, i.e it displays (All) as well apart from the standard filter values.
How Can I remove (All)the same from the drop down box??
2> On the same web template , below the drop down boxes there are four buttons which point to different web templates(queries).
All the reports have a similar selection criteria.Based on the values that the user selects in the drop down box and press oneof the buttons, the query corresponding to that web template should be shown
Ths step is partially done, I am able to go to the desired web template but am unable to pass the values for the filter selection.
On the button click I am generating a url at run time and in the url I am adding the filter selection criteria(based on command urls)
The web template opens but it is not filtered according to the values selected in the drop down box.
3> when the web template opens the drop down box value that was selected on the previous page should be set by default in the new web template, however the values in the drop down box does not appear to be selected.
4>if I select a numeric value like a financial year then the value persists in the drop down box without any extra coding or effort.Is it possible for other drop down boxes as well.
The code for my template is as mentioned below:
<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="QUERY" value="ZIB_DEFAULT_FY"/>
         <param name="INFOCUBE" value="ZIB_RPT"/>
         DATA_PROVIDER:             DATAPROVIDER_1
</object>
<object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="SET_DATA_PROVIDER"/>
         <param name="NAME" value="DP_BPP_DEFFYC"/>
         <param name="QUERY" value="ZIB_DEFAULT_FY_CNT"/>
         <param name="INFOCUBE" value="ZIB_RPT"/>
         DATA_PROVIDER:             DP_BPP_DEFFYC
</object>
<object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="SET_DATA_PROVIDER"/>
         <param name="NAME" value="DB_BPP_DEFF"/>
         <param name="QUERY" value="ZIB_DEFAULT_FY"/>
         <param name="INFOCUBE" value="ZIB_RPT"/>
         DATA_PROVIDER:             DB_BPP_DEFF
</object>
<object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="SET_DATA_PROVIDER"/>
         <param name="NAME" value="DB_BPP_DEFFYC"/>
         <param name="DATA_PROVIDER_ID" value=""/>
         DATA_PROVIDER:             DB_BPP_DEFFYC
</object>
<object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="SET_DATA_PROVIDER"/>
         <param name="NAME" value="DB_BPP_DEFFY"/>
         <param name="QUERY" value="ZIB_DEFAULT_FY"/>
         <param name="INFOCUBE" value="ZIB_RPT"/>
         DATA_PROVIDER:             DB_BPP_DEFFY
</object>
<object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="SET_PROPERTIES"/>
         <param name="TEMPLATE_ID" value="ZIV_ZIB_RPT_ACTDFY_PB34023"/>
         TEMPLATE PROPERTIES
</object>
<SCRIPT language="JavaScript">
          var varFilter1="";
          var varFilter2="";
          var varFilter3="";
          var varFilter4="";
          var varFilter5="";
          var varFilter6="";
          var varFilter7="";
          var varFilter8="";
          var staticUrl="http://myserver:myport/sap/bw/BEx?SAP-LANGUAGE=E&CMD=ldoc";
          var filterUrl="";
          var templateUrl="";
          var showUrl="";
          var filterUrl1="";
function getValues()
          varFilter1=document.frmName.FILTER_VALUE_1.options[document.frmName.FILTER_VALUE_1.selectedIndex].value;       
          varFilter2=document.frmName.FILTER_VALUE_2.options[document.frmName.FILTER_VALUE_2.selectedIndex].value;
          varFilter3=document.frmName.FILTER_VALUE_3.options[document.frmName.FILTER_VALUE_3.selectedIndex].value;
          varFilter4=document.frmName.FILTER_VALUE_4.options[document.frmName.FILTER_VALUE_4.selectedIndex].value; 
          varFilter5=document.frmName.FILTER_VALUE_5.options[document.frmName.FILTER_VALUE_5.selectedIndex].value;       
          varFilter6=document.frmName.FILTER_VALUE_6.options[document.frmName.FILTER_VALUE_6.selectedIndex].value;       
          varFilter7=document.frmName.FILTER_VALUE_7.options[document.frmName.FILTER_VALUE_7.selectedIndex].value;       
          varFilter8=document.frmName.FILTER_VALUE_8.options[document.frmName.FILTER_VALUE_8.selectedIndex].value;  
function getFilterUrl()
           if (varFilter1=="(All)")
                filterUrl=filterUrl;
          else
                filterUrl= filterUrl"&FILTER_IOBJNM_1=0SALES_OFF&FILTER_VALUE_1="varFilter1;
          if (varFilter2=="(All)")
               filterUrl=filterUrl;
          else
               filterUrl=filterUrl"&FILTER_IOBJNM_2=ZFISCYR&FILTER_VALUE_2="varFilter2;
          if (varFilter3=="(All)")
               filterUrl=filterUrl;
          else
               filterUrl=filterUrl"&FILTER_IOBJNM_3=ZFISCMON&FILTER_VALUE_3="varFilter3;
          if (varFilter4=="(All)")
               filterUrl=filterUrl;
          else
               filterUrl=filterUrl"&FILTER_IOBJNM_4=OSALES_GRP&FILTER_VALUE_4="varFilter4;
          if (varFilter5=="(All)")
               filterUrl=filterUrl;
          else
               filterUrl=filterUrl"&FILTER_IOBJNM_5=ODOC_TYPE&FILTER_VALUE_5="varFilter5;
          if (varFilter6=="(All)")
               filterUrl=filterUrl;
          else
               filterUrl=filterUrl"&FILTER_IOBJNM_6=ZPRDTY&FILTER_VALUE_6="varFilter6;
          if (varFilter7=="(All)")
               filterUrl=filterUrl;
          else
               filterUrl=filterUrl"&FILTER_IOBJNM_7=ZLDSRC&FILTER_VALUE_7="varFilter7;
          if (varFilter8=="(All)")
               filterUrl=filterUrl;
          else
               filterUrl=filterUrl"&FILTER_IOBJNM_8=OPMNTTRMS&FILTER_VALUE_8="varFilter8;
function show1()
       getValues();
       templateUrl="&TEMPLATE_ID=ZIV_ZIB_RPT_ACTDFY_PB34023";    
       getFilterUrl();    
       showUrl=staticUrltemplateUrlfilterUrl;
       alert(showUrl);
       SAPBWOpenURL(showUrl);
function show2()
     getValues();
     templateUrl="&TEMPLATE_ID=ZIV_ZIB_RPT_ATB_DTC_PB34023";
     getFilterUrl();
     showUrl=staticUrltemplateUrlfilterUrl;
     SAPBWOpenURL(showUrl);
function show3()
     getValues();
     templateUrl="&TEMPLATE_ID=ZIV_ZIB_RPT_PD_RISK_PB34023";
     getFilterUrl();
     showUrl=staticUrltemplateUrlfilterUrl;
     SAPBWOpenURL(showUrl);
function show4()
     getValues();
     templateUrl="&TEMPLATE_ID=ZIV_ZIB_DA_DEFAULT_ANALYSIS_PB34023";
     getFilterUrl();
     showUrl=staticUrltemplateUrlfilterUrl;
     SAPBWOpenURL(showUrl);
function show5()
     getValues(); 
     templateUrl="&TEMPLATE_ID=ZIV_ZIB_RPT_ACTDFY_PB34023";      
     getFilterUrl();
     showUrl=staticUrltemplateUrlfilterUrl;
     alert(showUrl);
     SAPBWOpenURL(showUrl);  
</SCRIPT><HEAD>
<META NAME="GENERATOR" Content="Microsoft DHTML Editing Control">
<TITLE>BW Web Application</TITLE>
      <link href= "/sap/bw/Mime/BEx/StyleSheets/BWReports.css" type="text/css" rel="stylesheet"/>
</HEAD>
<BODY>
<form name="frmName" method="post" action="http://myserver:myport/sap/bw/BEx?bw/BEx?SAP-LANGUAGE=E&CMD=ldoc&TEMPLATE_ID=ZIV_ZIB_RPT_ACTDFY_PB34023&FILTER_IOBJNM_1=0SALES_OFF&FILTER_VALUE_1=&FILTER_IOBJNM_2=ZFISCYR&FILTER_VALUE_2=&FILTER_IOBJNM_3=ZFISCMON&FILTER_VALUE_3=&FILTER_IOBJNM_4=OSALES_GRP&FILTER_VALUE_4=&FILTER_IOBJNM_5=ODOC_TYPE&FILTER_VALUE_5=&FILTER_IOBJNM_6=ZPRDTY&FILTER_VALUE_6=&FILTER_IOBJNM_7=ZLDSRC&FILTER_VALUE_7=&FILTER_IOBJNM_8=OPMNTTRMS&FILTER_VALUE_8=ZB02">
<B> Wel COme to BPA Attachment Rate Calculator </B>
<table border="1">
  <TBODY>
<tr>
<td>
<b>Sales Office</b><select name="FILTER_VALUE_1" size="1" type="MULTIPLE">
<object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="GET_ITEM"/>
         <param name="NAME" value="DROPDOWNBOX_1"/>
         <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_FILTER_DDOWN"/>
         <param name="DATA_PROVIDER" value="DATAPROVIDER_1"/>
         <param name="GENERATE_CAPTION" value=""/>
         <param name="IOBJNM" value="0SALES_OFF"/>
         <param name="ONLY_VALUES" value="X"/>
         ITEM:            DROPDOWNBOX_1
</object>
</select>
</td>
<td>
<b>Fiscal Year</b><select name="FILTER_VALUE_2" size="1">
<object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="GET_ITEM"/>
         <param name="NAME" value="DROPDOWNBOX_2"/>
         <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_FILTER_DDOWN"/>
         <param name="DATA_PROVIDER" value="DATAPROVIDER_1"/>
         <param name="GENERATE_CAPTION" value=""/>
         <param name="IOBJNM" value="ZFISCYR"/>
         <param name="ONLY_VALUES" value="X"/>
         ITEM:            DROPDOWNBOX_2
</object>
</select>
</td>
<td>
<b>Fiscal Month</b><select name="FILTER_VALUE_3" size="1">
<object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="GET_ITEM"/>
         <param name="NAME" value="DROPDOWNBOX_3"/>
         <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_FILTER_DDOWN"/>
         <param name="DATA_PROVIDER" value="DATAPROVIDER_1"/>
         <param name="GENERATE_CAPTION" value=""/>
         <param name="IOBJNM" value="ZFISCMON"/>
         <param name="ONLY_VALUES" value="X"/>
         ITEM:            DROPDOWNBOX_3
</object>
</select>
</td>
<td>
<b>Sales Group</b><select name="FILTER_VALUE_4" size="1">
<object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="GET_ITEM"/>
         <param name="NAME" value="DROPDOWNBOX_4"/>
         <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_FILTER_DDOWN"/>
         <param name="DATA_PROVIDER" value="DATAPROVIDER_1"/>
         <param name="GENERATE_CAPTION" value=""/>
         <param name="IOBJNM" value="0SALES_GRP"/>
         <param name="ONLY_VALUES" value="X"/>
         ITEM:            DROPDOWNBOX_4
</object>
</select>
</td>
</tr>
<tr>
<td>
<b>Sales Document Type</b><select name="FILTER_VALUE_5" size="1">
<object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="GET_ITEM"/>
         <param name="NAME" value="DROPDOWNBOX_5"/>
         <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_FILTER_DDOWN"/>
         <param name="DATA_PROVIDER" value="DATAPROVIDER_1"/>
         <param name="GENERATE_CAPTION" value=""/>
         <param name="IOBJNM" value="0DOC_TYPE"/>
         <param name="ONLY_VALUES" value="X"/>
         ITEM:            DROPDOWNBOX_5
</object>
</select>
</td>
<td>
<b>Product Type</b><select name="FILTER_VALUE_6" size="1">
<object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="GET_ITEM"/>
         <param name="NAME" value="DROPDOWNBOX_6"/>
         <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_FILTER_DDOWN"/>
         <param name="DATA_PROVIDER" value="DATAPROVIDER_1"/>
         <param name="GENERATE_CAPTION" value=""/>
         <param name="IOBJNM" value="ZPRDTY"/>
         <param name="ONLY_VALUES" value="X"/>
         ITEM:            DROPDOWNBOX_6
</object>
</select>
</td>
<td>
<b>Lead Sources</b><select name="FILTER_VALUE_7" size="1">
<object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="GET_ITEM"/>
         <param name="NAME" value="DROPDOWNBOX_7"/>
         <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_FILTER_DDOWN"/>
         <param name="DATA_PROVIDER" value="DATAPROVIDER_1"/>
         <param name="GENERATE_CAPTION" value=""/>
         <param name="IOBJNM" value="ZLDSRC"/>
         <param name="ONLY_VALUES" value="X"/>
         ITEM:            DROPDOWNBOX_7
</object>
</select>
</td>
<td>
<b>Payment Terms</b><select name="FILTER_VALUE_8" size="1">
<object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="GET_ITEM"/>
         <param name="NAME" value="DROPDOWNBOX_8"/>
         <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_FILTER_DDOWN"/>
         <param name="DATA_PROVIDER" value="DATAPROVIDER_1"/>
         <param name="GENERATE_CAPTION" value=""/>
         <param name="IOBJNM" value="0PMNTTRMS"/>
         <param name="ONLY_VALUES" value="X"/>
         ITEM:            DROPDOWNBOX_8
</object>
</select>
</td>
</tr>
</TBODY></table>
<input type="submit" value="Go">
</form>
<input type="submit" value="Aged Trial Balance" onClick="show1()">
<input type="submit" value="DTC ATB " onClick="show2()">
<input type="submit" value="Risk Assessment " onClick="show3()">
<input type="submit" value="Default Clearing By Month " onClick="show4()">
<input type="submit" value="Current Fiscal Year" onClick="show5()">
<P><object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="GET_ITEM"/>
         <param name="NAME" value="CHART_1"/>
         <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_CHART"/>
         <param name="DATA_PROVIDER" value="DB_BPP_DEFFY"/>
         <param name="WIDTH" value="634"/>
         <param name="HEIGHT" value="296"/>
         <param name="TITLE_CATEGORIES" value="Aging"/>
         <param name="TITLE_VALUES" value="Dollars"/>
         <param name="TMP_CHART_DATA_HANDLE" value="IIP_3W6PHPIFD5VK4XZNKS2ZDG00C"/>
         ITEM:            CHART_1
</object></P>
<P><object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="GET_ITEM"/>
         <param name="NAME" value="TB_BPP_DEFFY"/>
         <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_GRID"/>
         <param name="DATA_PROVIDER" value="DB_BPP_DEFF"/>
         ITEM:            TB_BPP_DEFFY
</object><object>
         <param name="OWNER" value="SAP_BW"/>
         <param name="CMD" value="GET_ITEM"/>
         <param name="NAME" value="TB_BPP_DEFFYC"/>
         <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_GRID"/>
         <param name="DATA_PROVIDER" value="DP_BPP_DEFFYC"/>
         ITEM:            TB_BPP_DEFFYC
</object></P>
</BODY>
</HTML>

Hello Heike,
Well I have been working on this and wanted some more information regarding one of the possible issues.
As I have been telling you that I have dropdown boxes and based on the values that the user selects corresponding report should run.(I have eight drop down box and five push buttons)
Now I have made the selection in the drop down boxes "multiple".
I am generating the url for all the selected values. Like I have a drop down box whose value is 0SALES_OFF. if the user selects three options for this filter say "A", "B" and "C" and hits one of the push buttons , the query runs fine and filters the value. The only problem lies in the drop down box: it shows "A","B" and "C" as selected values in the drop down box, however this is just a display text and its value is"!unchanged". Now if the user wants to keep the same filter value the value that is being used for the selection is "!unchanged" instead of "A","B" and "C".
I think this code is generated by SAP.Can you give me some insight as to where should I make certain changes so that values persists?
Personally, I feel this is a more cumbersome method than using the standard navigation block..but still .I am client site...
Thanks and Regards
Pradeep Bhojak

Similar Messages

  • What is difference between bex analyser and bex browser

    what is difference between bex analyser and bex browser . please explain what are use of both and what we do in both.

    hi
    Bex Browser
    The Business Explorer Browser (BEx Browser) makes it possible for you to access all document types of the Business Information Warehouse that are assigned to your role or that you have stored in your favorites. You can select and open documents assigned to you in the BEx Browser or store and manage new documents in the BEx Browser.
    Document types that you can work with in the BEx Browser are:
    · BW workbooks
    · Documents that are stored in the Business Document Service (BDS)
    · Links (references to file system, shortcuts)
    · Links to internet sites (URLs)
    · SAP transaction calls.
    · Web applications and Web templates
    · Crystal Reports
    Bex Analyser
    The Business Explorer Analyzer (BEx Analyzer) is the analysis and reporting tool of the Business Explorer that is embedded in Microsoft Excel.
    Features
    You can call up the BEx Query Designer in the BEx Analyzer, in order to define queries. Subsequently, you can analyze the selected InfoProvider data by navigation to the query created in the Query Designer and create different query views of the data. You can add the different query views for a query or for different queries to a work book and save them there. You can save the workbook in your favorites or in your role on the BW Server. You can also save the workbook locally on your computer.
    Beyond that, you can precalculate the workbook and distribute it by e-mail to recipeients or you can export it to the Enterprise Portal and make it accessible to other employees in the company.
    You can start queries in a standard view (with a Standard Web Template set up in Customizing) in the Web browser and forward the URL or continue to navigate on the Web. Similarly, you can export the Web query to MS Excel 2000.
    Overview of the Functional Area of the BEx Analyzer:
    ·        BEx toolbar
    You access the functions of the BEx Analyzer from the BEx toolbar, which takes you to the BEx Open dialog box where you can open existing queries, or to the BEx Query Designer where you can create new queries or change existing queries.
    ·        Evaluating Query Data
    The BEx Analyzer offers convenient functions for evaluating and presenting InfoProvider data interactively. In the BEx Analyzer, you can add queries to workbooks, navigate within them and refresh the data. You can also process the queries further in Microsoft Excel or display them in the Web browser in a default view.
    Navigation of a query allows you, for example, to filter characteristics on a single value, drilldown on all values for a characteristic, regroup characteristics and key figures in the rows and columns of the results area, or hide key figures. Navigation results in different views of the InfoProvider data. In addition, a range of further functions is available which allow you to edit a query interactively (for example, sorting, cumulated output, among others). In addition, you can use the editing functions in Microsoft Excel in order to set up individual format templates, to print results areas, or to create graphics.
    ·        Queries in Workbooks
    Queries are inserted into workbooks so you can display them. When you insert a query, a link is made between the cell areas of the worksheet and the data of the InfoProvider upon which the query is based. A link therefore exists between the Business Explorer and the Business Information Warehouse Server (BW Server).
    When inserting a query into the workbook, a VBA routine is automatically generated in the workbook. You can also connect the Business Explorer with your own VBA programs (Visual Basic for Applications).
    You can create workbook templates, into which you can insert your queries. Workbook templates can contain pre-determined items for the area of the query, formatting settings, logos, VBA macros, and so on.
    ·        Precalculating workbooks
    You can precalculate and distribute workbooks with the BEx Broadcaster, which is a Web application you get to form the BEx toolbar. The system generates MS Excel workbooks with historical data. You determine the time for precalculation yourself: You can have workbooks precalculated at a predefined time or they can be precalculated whenever data in the underlying InfoProvider changes. You can have the precalculated workbooks sent by e-mail or you can export them into the Enterprise Portal, where you can make them available to employees within your company.
    Activities
    To start the BEx Analyzer, choose Start ® Programs ® SAP Front-end Business Information Warehouse ® SAP Business Explorer Analyzer.
    You can also access the BEx Analyzer via SAP Easy Access ® SAP Business Information Warehouse ® SAP Menu ® Business Explorer ® Analyzer or in the Business Explorer Browser using the Business Explorer Analyzer symbol in the menu bar.
    Hope this will solve your issu
    nagarjuna

  • Difference between bexbrowser and Bex analyzer

    Hi,
       can any body tell me  what is the difference between bex browser and bex analyzer  and how end users will access the reports and how they access SAP.

    Hi
    *BEx Web Analyzer *
    The BEx Web Analyzer is a standalone, convenient Web application for data analysis that you can call using a URL or as an iView in the portal.
    The Web Analyzer allows you to execute ad hoc analyses on the Web: When you have selected a data provider (query, query view, InfoProvider, external data source), the data is displayed in a table with a navigation pane. You can navigate to the data and use other Web Analyzer functions available in the application toolbar. For example, you can change the type of data display, use the information broadcasting functions to broadcast your analyses to others, and create printable versions of your analyses.
    In the Web Analyzer, you can save the data view generated from navigation and analysis as a query view by choosing Save View in the context menu, and you can save the ad hoc analysis by choosing Save As. When the query view is saved, only the data view is saved; when the ad hoc analysis is saved, the entire Web application is saved, including the properties of Web items and the layout of the data.
    Check the link for more info
    http://help.sap.com/erp2005_ehp_03/helpdata/EN/00/e8d13f7fb44c21e10000000a1550b0/frameset.htm
    Bex Browser
    The Business Explorer Browser (BEx Browser) makes it possible for you to access all document types of the Business Information Warehouse that are assigned to your role or that you have stored in your favorites. You can select and open documents assigned to you in the BEx Browser or store and manage new documents in the BEx Browser.
    Document types that you can work with in the BEx Browser are:
    ·        BW workbooks
    ·        Documents that are stored in the Business Document Service (BDS)
    ·        Links (references to file system, shortcuts)
    ·        Links to internet sites (URLs)
    ·        SAP transaction calls.
    ·        Web applications and Web templates
    ·        Crystal Reports
    Regards
    Shilpa

  • Shortened Fiscal Year and its impact on BI back end and Bex reports

    Hi All,
    Our client is making some changes to the fiscal year period.
    Becuase of some business requirements, we will have to shortened the fiscal year.
    Can you please suggest - what are the watch points when we do this?
                                            - what will be the impact to BI back end and Bex reports?
    Thanks,
    Nisha

    Hello Nisha,
    Since the fiscal year (Infobjects - 0FISCYEAR and/ 0FISCPER3) is compounded with fiscal year variant, therefore maintaining the correct variant in BI will automatically take care of showing the data correctly.
    So there are two things to be maintained in BI:
    1) To see that the variant definition.
    2) If you need to display the text of the fiscal periods, then the correct texts.
    Let me know if you need more clarifications.
    Regards,
    Shweta
    Edited by: Shweta Kesarwani on Jan 8, 2010 11:10 AM

  • Performace Issue using Crystal Report For enterprise and BEx Queries

    Hi all;
        We are generating the following error stack when trying to build a report on top of a BEX query using Crystal Report for Enterprise :
        |7C4F8ECE44034DB897AD88D6F98B028B3|2011 12 12 17:24:21.277|+0100|>>|E| |crj|20380|  56|ModalContext    | |2|0|0|0|BIPSDK.InfoStore:query|CHVXRIL0047:20380:56.174:1|-|-|BIPSDK.InfoStore:query|CHVXRIL0047:20380:56.174:1|Cut2PbOe3UdzgckPBHn8spEab|||||||||com.crystaldecisions.sdk.occa.infostore.internal.InfoObjects||Assertion failed: Java plugin for CommonConnection is not loaded.
    java.lang.AssertionError
         at com.businessobjects.foundation.logging.log4j.Log4jLogger.assertTrue(Log4jLogger.java:52)
         at com.crystaldecisions.sdk.occa.infostore.internal.InfoObjects.newInfoObject(InfoObjects.java:576)
         at com.crystaldecisions.sdk.occa.infostore.internal.InfoObjects.continueUnpackHelper(InfoObjects.java:548)
         at com.crystaldecisions.sdk.occa.infostore.internal.InfoObjects.continueUnpack(InfoObjects.java:489)
         at com.crystaldecisions.sdk.occa.infostore.internal.InfoObjects.startUnpack(InfoObjects.java:464)
         at com.crystaldecisions.sdk.occa.infostore.internal.InternalInfoStore$XRL3WireStrategy.startUnpackTo(InternalInfoStore.java:1484)
         at com.crystaldecisions.sdk.occa.infostore.internal.InternalInfoStore$XRL3WireStrategy.startUnpackTo(InternalInfoStore.java:1464)
         at com.crystaldecisions.sdk.occa.infostore.internal.InternalInfoStore.unpackAll(InternalInfoStore.java:910)
         at com.crystaldecisions.sdk.occa.infostore.internal.InternalInfoStore.queryHelper(InternalInfoStore.java:944)
         at com.crystaldecisions.sdk.occa.infostore.internal.InternalInfoStore.queryHelper(InternalInfoStore.java:929)
         at com.crystaldecisions.sdk.occa.infostore.internal.InternalInfoStore.query_aroundBody24(InternalInfoStore.java:798)
         at com.crystaldecisions.sdk.occa.infostore.internal.InternalInfoStore.query(InternalInfoStore.java:1)
         at com.crystaldecisions.sdk.occa.infostore.internal.InfoStore.query_aroundBody20(InfoStore.java:175)
         at com.crystaldecisions.sdk.occa.infostore.internal.InfoStore.query_aroundBody21$advice(InfoStore.java:42)
         at com.crystaldecisions.sdk.occa.infostore.internal.InfoStore.query(InfoStore.java:1)
         at com.businessobjects.mds.securedconnection.cms.services.olap.OlapCmsSecuredConnectionService.getConnectionObject(OlapCmsSecuredConnectionService.java:125)
         at com.businessobjects.mds.securedconnection.cms.services.olap.OlapCmsSecuredConnectionService.getOlapSecuredConnection(OlapCmsSecuredConnectionService.java:191)
         at com.businessobjects.mds.securedconnection.loader.internal.SecuredConnectionLoaderImpl.getOlapConnectionFromSecuredConnection(SecuredConnectionLoaderImpl.java:83)
         at com.businessobjects.mds.securedconnection.loader.internal.SecuredConnectionLoaderImpl.getConnectionFromSecuredConnection(SecuredConnectionLoaderImpl.java:60)
         at com.businessobjects.dsl.services.workspace.impl.DirectOlapAccessDataProviderBuilder.loadSecuredConnection(DirectOlapAccessDataProviderBuilder.java:193)
         at com.businessobjects.dsl.services.workspace.impl.DirectOlapAccessDataProviderBuilder.loadSecuredConnection(DirectOlapAccessDataProviderBuilder.java:176)
         at com.businessobjects.dsl.services.workspace.impl.DirectOlapAccessDataProviderBuilder.provideUniverseFromCms(DirectOlapAccessDataProviderBuilder.java:63)
         at com.businessobjects.dsl.services.datasource.impl.AbstractUniverseProvider.provideUniverse(AbstractUniverseProvider.java:41)
         at com.businessobjects.dsl.services.workspace.impl.AbstractDataProviderBuilder.updateQuerySpecDataProvider(AbstractDataProviderBuilder.java:119)
         at com.businessobjects.dsl.services.workspace.impl.AbstractDataProviderBuilder.updateDataProvider(AbstractDataProviderBuilder.java:106)
         at com.businessobjects.dsl.services.workspace.impl.AbstractDataProviderBuilder.addDataProvider(AbstractDataProviderBuilder.java:49)
         at com.businessobjects.dsl.services.workspace.impl.WorkspaceServiceImpl.addDataProvider(WorkspaceServiceImpl.java:56)
         at com.businessobjects.dsl.services.workspace.impl.WorkspaceServiceImpl.addDataProvider(WorkspaceServiceImpl.java:45)
         at com.crystaldecisions.reports.dsl.shared.DSLTransientUniverseServiceProvider.createSessionServicesHelper(DSLTransientUniverseServiceProvider.java:72)
         at com.crystaldecisions.reports.dsl.shared.DSLServiceProvider.createSessionServices(DSLServiceProvider.java:428)
         at com.businessobjects.crystalreports.designer.qpintegration.DSLUtilities.getServiceProvider(DSLUtilities.java:279)
         at com.businessobjects.crystalreports.designer.qpintegration.InitializeDSLRunnable.run(InitializeDSLRunnable.java:82)
         at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
    Here seems to be that a plugin is not loaded : com.crystaldecisions.sdk.occa.infostore.internal.InfoObjects||Assertion failed: Java plugin for CommonConnection is not loaded.
    could this affect the performance of Crystal Reports for Enterprise and how could I fix this ?
    Best Regards
    Anis

    Venkat,
    Thanks for your response. Please note, however, the transaction RAD1 does not exist. Let me provide more details about the current settings of the InfoObject.
    The Characteristic is 'Item' (0CS_ITEM) and upon going to RSA1 >  Modeling > InfoObjects > Item (0CS_ITEM) > Right Click > Display > Business Explorer (tab) > Text Type is set to 'Long Text' and BEx description is set to 'Long description' already.
    When I run/execute the query with this Item characteristic, the results in BEx Analyzer is showing appropriate long text, however, Crystal Report for Enterprise shows short text only
    K
    Edited by: Kumar Pathak on Feb 3, 2012 6:18 PM

  • Performance problems with SAP GUI 7.10 and BEx 3.5 Patch 400?

    Hi everybody,
    we installed SAP GUI 7.10 and BEx 3.5 Patch 400 and detected hugh performance problems with this version in comparison to the SAP GUI 6.40 and BEx 3.5 or BEx 7.0 Patch 800.
    Does anybody detect the same problems?
    Best regards,
    Ulli

    Most important question when you are talking about performance-issues:
    which OC are you working on and which excel version?
    ciao
    Joke

  • COMMUNICATION BETWEEN JAVASCRIPT AND JAVA APPLET: US$20 AWARD FOR SOLUTION!

    COMMUNICATION BETWEEN JAVASCRIPT AND JAVA APPLET PROBLEM (Easy Filter Java Applet) -
    US$20 TO ANYONE WHO CAN RESOLVE THE PROBLEM
    To forum visitors:
    I am prepared to pay a standard shareware fee of US$20 to a user who can resolve this technical problem.
    If your advice resolves the problem, I'll forward the payment to your postal address (include your
    address with your reply, and also your email address)
    I am attempting to enable a HTML button (using Javascript's onClick command) to directly input a number into one of the parameter text boxes in the Easy Filter Java applet (ie, enter a new color value number in the text field of the standard Colors Multiplicator Filter interface).
    The applet is Freeware and can be downloaded at: http://www.javazoom.net/applets/easyfilter10/EasyFilter10.html
    (It is a very effective bitmap display and editing utility)
    To achieve this, I am trying to access the part of the applet that defines and sets the textbox. The text box is defined in the .class file by accessing the parameter details in the genericfilter.txt file (accompanies the .class files). I need to access 'private String appletInitialize()' and then one of the 'textFieldParameters' which sets the textbox.
    I understand the basic syntax for referencing the applet:
    document.appletname.setString("An example"). However, accessing the text fields in this applet is more complex!!
    Please can you recommend the correct Javascript syntax to achieve communication with the applet.
    Thank you for your kind assistance.
    JM Graham
    [email protected]
    The Java source code for the applet: EasyFilter.class
    # Easy Filter - E.B/JavaZOOM 1999 #
    # Contact: [email protected] #
    # http://javazoom.hypermart.net #
    /* Originally compiled from EasyFilter.java */
    import java.awt.*;
    import java.io.*;
    import java.net.*;
    import java.applet.Applet;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    import java.awt.image.MemoryImageSource;
    import java.awt.image.PixelGrabber;
    import java.util.Vector;
    public synchronized class EasyFilter extends Applet implements KeyListener
    private String paramFileName;
    private Color bgColor;
    private Color fgColor;
    private Color parColor;
    private Color sepColor;
    private Color titleColor;
    private Color helpColor;
    private int WinWidth;
    private int WinHeight;
    private String title;
    private String logoFileName;
    private String originalImageFileName;
    private String filteredCaption;
    private String originalCaption;
    private Vector paramsName;
    private Vector paramsValue;
    private Vector paramsComment;
    private Panel panelParameters[];
    private Label labelParameters[];
    private TextField textFieldParameters[];
    private Label labelComments[];
    private int nbParameters;
    private ScrollPane scrollPaneParams;
    private Panel panelParams;
    private Image theLogo;
    private Image theOriginalImage;
    private Image theFilteredImage;
    private int theOriginalPixelArray[];
    private int logoWidth;
    private int logoHeight;
    private int imageWidth;
    private int imageHeight;
    private drawCanvas canvasTitle;
    private Panel panelTitle;
    private Label labelTitle;
    private Panel panelImages;
    private Panel panelOriginalImage;
    private drawCanvas canvasOriginalImage;
    private Label labelOriginalImage;
    private Panel panelFilteredImage;
    private drawCanvas canvasFilteredImage;
    private Label labelFilteredImage;
    private Panel panelHelp;
    private Label labelHelp;
    private int Yspc;
    private FilterImplementation theFilter;
    public void init()
    String string = null;
    string = appletInitialize();
    setBackground(bgColor);
    if (string != null)
    removeAll();
    setBackground(Color.white);
    setForeground(Color.black);
    Label label = new Label(new StringBuffer("Error: ").append(string).toString(), 1);
    Panel panel = new Panel();
    panel.add(label);
    add(panel);
    setLayout(new FlowLayout(1, 5, Yspc));
    public void keyPressed(KeyEvent keyEvent)
    panelHelp.removeAll();
    boolean flag = true;
    if (KeyEvent.getKeyText(keyEvent.getKeyCode()).equals("Enter"))
    for (int i = 0; i < nbParameters; )
    try
    paramsValue.setElementAt(new Double(textFieldParameters.getText()), i);
    i++;
    catch (NumberFormatException e)
    labelHelp.setText(labelParameters[i].getText() + ": Not a Number");
    flag = false;
    break;
    if (flag == 1)
    labelHelp.setText(" .... Running, please wait .... ");
    labelHelp.setAlignment(1);
    panelHelp.add(labelHelp);
    panelHelp.doLayout();
    theFilter.updateParameters(paramsValue);
    theFilter.computeFilter();
    theFilteredImage = createImage(new MemoryImageSource(theFilter.getFinalImageWidth(), theFilter.getFinalImageHeight(), theFilter.getFinalImageBuffer(), 0, theFilter.getFinalImageWidth()));
    canvasFilteredImage.setImage(theFilteredImage);
    canvasFilteredImage.setBounds(0, 0, theFilter.getFinalImageWidth(), theFilter.getFinalImageHeight());
    canvasFilteredImage.repaint();
    panelHelp.removeAll();
    labelHelp.setText("- Done -");
    else
    labelHelp.setText("- Press Enter to run the Filter -");
    labelHelp.setAlignment(1);
    panelHelp.add(labelHelp);
    panelHelp.doLayout();
    public void keyReleased(KeyEvent keyEvent)
    public void keyTyped(KeyEvent keyEvent)
    private String appletInitialize()
    WinWidth = size().width;
    WinHeight = size().height;
    if (getParameter("bgcolor") == null)
    bgColor = new Color(0, 0, 40);
    else
    bgColor = new Color(Integer.parseInt(getParameter("bgcolor"), 16));
    if (getParameter("fgcolor") == null)
    fgColor = new Color(255, 255, 255);
    else
    fgColor = new Color(Integer.parseInt(getParameter("fgcolor"), 16));
    if (getParameter("sepcolor") == null)
    sepColor = new Color(158, 128, 128);
    else
    sepColor = new Color(Integer.parseInt(getParameter("sepcolor"), 16));
    if (getParameter("parcolor") == null)
    parColor = new Color(24, 24, 24);
    else
    parColor = new Color(Integer.parseInt(getParameter("parcolor"), 16));
    if (getParameter("titlecolor") == null)
    titleColor = new Color(255, 255, 0);
    else
    titleColor = new Color(Integer.parseInt(getParameter("titlecolor"), 16));
    if (getParameter("helpcolor") == null)
    helpColor = new Color(0, 255, 255);
    else
    helpColor = new Color(Integer.parseInt(getParameter("helpcolor"), 16));
    paramsName = new Vector();
    paramsValue = new Vector();
    paramsComment = new Vector();
    paramFileName = getParameter("paramfile");
    String string = readParams(paramFileName);
    if (string != null)
    return string;
    MediaTracker mediaTracker = new MediaTracker(this);
    theOriginalImage = getImage(getDocumentBase(), originalImageFileName);
    mediaTracker.addImage(theOriginalImage, 0);
    if (logoFileName != null)
    theLogo = getImage(getDocumentBase(), logoFileName);
    mediaTracker.addImage(theLogo, 1);
    try
    mediaTracker.waitForAll();
    catch (InterruptedException e1)
    return "Error while loading image";
    if (mediaTracker.isErrorAny())
    return "Error while loading image";
    if (logoFileName != null)
    logoWidth = theLogo.getWidth(this);
    logoHeight = theLogo.getHeight(this);
    imageWidth = theOriginalImage.getWidth(this);
    imageHeight = theOriginalImage.getHeight(this);
    theOriginalPixelArray = new int[imageWidth * imageHeight];
    PixelGrabber pixelGrabber = new PixelGrabber(theOriginalImage, 0, 0, imageWidth, imageHeight, theOriginalPixelArray, 0, imageWidth);
    try
    pixelGrabber.grabPixels();
    panelTitle = new Panel();
    canvasTitle = new drawCanvas();
    labelTitle = new Label();
    panelTitle.setLayout(new FlowLayout(1, 10, Yspc));
    add(panelTitle);
    panelTitle.setBackground(bgColor);
    panelTitle.add(canvasTitle);
    canvasTitle.setImage(theLogo);
    canvasTitle.setBounds(0, 0, logoWidth, logoHeight);
    labelTitle.setText(title);
    catch (InterruptedException e2)
    return "Internal Error, Try RELOAD !";
    if (title != null)
    panelTitle.add(labelTitle);
    labelTitle.setForeground(titleColor);
    labelTitle.setFont(new Font("Dialog", 1, 14));
    panelImages = new Panel();
    panelOriginalImage = new Panel();
    canvasOriginalImage = new drawCanvas();
    labelOriginalImage = new Label();
    panelFilteredImage = new Panel();
    canvasFilteredImage = new drawCanvas();
    labelFilteredImage = new Label();
    panelImages.setLayout(new FlowLayout(1, 10, Yspc));
    add(panelImages);
    panelImages.setBackground(bgColor);
    panelOriginalImage.setLayout(new BorderLayout(0, 2));
    panelImages.add(panelOriginalImage);
    panelOriginalImage.setBackground(Color.black);
    panelOriginalImage.add("Center", canvasOriginalImage);
    canvasOriginalImage.setImage(theOriginalImage);
    canvasOriginalImage.setBounds(0, 0, imageWidth, imageHeight);
    labelOriginalImage.setText(originalCaption);
    labelOriginalImage.setAlignment(1);
    panelOriginalImage.add("South", labelOriginalImage);
    labelOriginalImage.setBackground(Color.lightGray);
    labelOriginalImage.setForeground(Color.black);
    labelOriginalImage.setFont(new Font("SansSerif", 0, 10));
    panelFilteredImage.setLayout(new BorderLayout(0, 2));
    panelImages.add(panelFilteredImage);
    panelFilteredImage.setBackground(Color.black);
    panelFilteredImage.add("Center", canvasFilteredImage);
    theFilter = new FilterImplementation(paramsValue, theOriginalPixelArray, imageWidth, imageHeight);
    theFilter.computeFilter();
    theFilteredImage = createImage(new MemoryImageSource(theFilter.getFinalImageWidth(), theFilter.getFinalImageHeight(), theFilter.getFinalImageBuffer(), 0, theFilter.getFinalImageWidth()));
    canvasFilteredImage.setImage(theFilteredImage);
    canvasFilteredImage.setBounds(0, 0, theFilter.getFinalImageWidth(), theFilter.getFinalImageHeight());
    labelFilteredImage.setText(filteredCaption);
    labelFilteredImage.setAlignment(1);
    panelFilteredImage.add("South", labelFilteredImage);
    labelFilteredImage.setBackground(Color.lightGray);
    labelFilteredImage.setFont(new Font("SansSerif", 0, 10));
    scrollPaneParams = new ScrollPane(0);
    panelParams = new Panel();
    nbParameters = paramsName.size();
    int i = WinHeight - (33 + 7 * Yspc + logoHeight + imageHeight + 23);
    if (i < Yspc + 2 + 24)
    i = Yspc + 2 + 24;
    scrollPaneParams.setBounds(0, 0, WinWidth - 10, i);
    panelParams.setLayout(new GridLayout(nbParameters, 1, 5, Yspc / 2));
    scrollPaneParams.add(panelParams);
    panelParams.setBackground(sepColor);
    panelParameters = new Panel[nbParameters];
    labelParameters = new Label[nbParameters];
    textFieldParameters = new TextField[nbParameters];
    labelComments = new Label[nbParameters];
    for (int j = 0; j < nbParameters; j++)
    panelParameters[j] = new Panel();
    panelParameters[j].setLayout(new FlowLayout(0, 5, 1));
    panelParams.add(panelParameters[j]);
    panelParameters[j].setBackground(parColor);
    labelParameters[j] = new Label();
    labelParameters[j].setText((String)paramsName.elementAt(j));
    panelParameters[j].add(labelParameters[j]);
    labelParameters[j].setForeground(fgColor);
    labelParameters[j].setFont(new Font("Dialog", 1, 12));
    textFieldParameters[j] = new TextField(8);
    textFieldParameters[j].setText(paramsValue.elementAt(j).toString());
    panelParameters[j].add(textFieldParameters[j]);
    textFieldParameters[j].setBackground(fgColor);
    textFieldParameters[j].addKeyListener(this);
    labelComments[j] = new Label();
    labelComments[j].setText((String)paramsComment.elementAt(j));
    panelParameters[j].add(labelComments[j]);
    labelComments[j].setForeground(fgColor);
    add(scrollPaneParams);
    panelHelp = new Panel();
    labelHelp = new Label();
    panelHelp.setLayout(new FlowLayout(1, 5, 0));
    add(panelHelp);
    panelHelp.setBackground(bgColor);
    labelHelp.setText(" Change colour values and press enter ");
    labelHelp.setAlignment(1);
    panelHelp.add(labelHelp);
    labelHelp.setForeground(helpColor);
    return null;
    private String readParams(String string1)
    Object object1;
    String string2;
    if (string1 == null)
    return "Filename of filter's parameters needed";
    try
    URL uRL = new URL(getDocumentBase(), string1);
    URLConnection uRLConnection = uRL.openConnection();
    uRLConnection.setDoInput(true);
    uRLConnection.setUseCaches(false);
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(uRLConnection.getInputStream()));
    string2 = null;
    catch ()
    return object1.getMessage();
    catch ()
    return object1.getMessage();
    catch ()
    return object1.getMessage();
    if (bufferedReader != null)
    Object object2;
    try
    for (object2 = bufferedReader.readLine(); object2 != null && string2 == null; object2 = bufferedReader.readLine())
    string2 = extractFormat(object2);
    catch ()
    string2 = object2.getMessage();
    finally
    bufferedReader.close();
    if (string2 != null)
    return string2;
    else
    return null;
    private String extractFormat(String string1)
    if (string1.length() == 0)
    return null;
    int i = 0;
    int j = string1.indexOf(" ", i);
    if (j == -1)
    return "Bad format error (space missing)";
    String string2 = string1.substring(i, j);
    if (string2.equals("TITLE"))
    i = j;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in TITLE missing)";
    i = j + 1;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in TITLE missing)";
    title = string1.substring(i, j);
    return null;
    if (string2.equals("ORIGINALCAPTION"))
    i = j;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in ORIGINALCAPTION missing)";
    i = j + 1;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in ORIGINALCAPTION missing)";
    originalCaption = string1.substring(i, j);
    return null;
    if (string2.equals("FILTEREDCAPTION"))
    i = j;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in FILTEREDCAPTION missing)";
    i = j + 1;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in FILTEREDCAPTION missing)";
    filteredCaption = string1.substring(i, j);
    return null;
    if (string2.equals("LOGO"))
    i = j + 1;
    j = string1.length();
    logoFileName = string1.substring(i, j);
    return null;
    if (string2.equals("ORIGINALIMAGE"))
    i = j + 1;
    j = string1.length();
    originalImageFileName = string1.substring(i, j);
    return null;
    if (!string2.equals("PARAM"))
    return null;
    i = j;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format in a PARAM line";
    i = j + 1;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format in a PARAM line";
    paramsName.addElement(string1.substring(i, j));
    i = j + 2;
    j = string1.indexOf(32, i);
    if (j == -1)
    return "Bad format in a PARAM line";
    try
    paramsValue.addElement(new Double(string1.substring(i, j)));
    j = string1.indexOf(34, i);
    catch (NumberFormatException e)
    return "Bad format in a PARAM line";
    if (j == -1)
    return "Bad format (Double quote in PARAM comment missing)";
    i = j + 1;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in PARAM comment missing)";
    paramsComment.addElement(string1.substring(i, j));
    return null;
    public EasyFilter()
    logoHeight = 33;
    Yspc = 5;

    Addition to my above submission
    To clarify, I'll offer the US$20 to the FIRST person who offers me a workable solution to the problem, not to everyone!!!
    JMGRAHAM

  • Communication between javascript and Objective-c in iOS.

    We wanted to have a communication between javascript and objective c code. We have already tried the below approach.
    To load fake URLs in JS and append a string which will be used as parameter to the Objective-C code and parse that URL in this delegate method:
    -(BOOL)webView(UIWebView *)webView shouldStartLoadWithRequest(NSURLRequest *)request navigationType(UIWebViewNavigationType)navigationType
    Then send the return value by calling the native method stringByEvaluatingJavaScriptFromString again with parameter callID.
    But we wanted to access Objective class object in Javascript code so that we can call it's methods from javascript code using this object.Android supports this behaviour using addJavaScriptInterface method in webview. Is it possible to have the similar approach in IOS? If not what is the best approach possible to acheive this? If we could achieve similar behaviour then we don't need to change the Jacascript code and will be reused. Please suggest the best possible solution.
    Regards,
    Karthik M.

    https://developer.apple.com/library/mac/documentation/AppleApplications/Conceptu al/SafariJSProgTopics/Tasks/ObjCFromJavaScript.html

  • Using Google GWT to create (Dashcode) widgets for iBook Author  I would like to embed interactive widgets in iBooks using iBookAuthor. The widgets in question started life in Java but GWT has allowed them to be converted to javascript and to run on web pa

    I would like to embed interactive widgets in iBooks using iBookAuthor. The widgets in question started life in Java but GWT has allowed them to be converted to javascript and to run on web pages (for example, http://softoption.us/content/node/437 scroll to the bottom). In theory, iBookAuthor can bring in most html5, and much javascript. The technique is to wrap the html in a folder, with 2 extra files, a plist and a default png and then change the extension of the folder to ‘.wdgt’. This is the technique for making Dashboard widgets for the Mac, and Apple even have the Dashcode software to do it. So what you really do is to make a Dashboard widget, then iBookAuthor can import it.  So far, so good. And some  folk have been doing this, for example http://www.prweb.com/releases/2012/2/prweb9242432.htm http://www.panophoto.org/forums/viewtopic.php?f=64&t=10417&p=158330#p158423 However, if you start with GWT and create a single page with one button and a Hello World, compile it, and get the WAR file (I use Eclipse here)… the Safari browser and others will run it properly (even on an iPad). Then if you wrap it, a proper Dashboard widget is created, which runs properly on a Mac. Then if you go to iBookAuthor and put a custom widget in the Text, then drag it in. It is accepted by the text and shown as being there. However, if you use Preview to look at it on an iPad, it is gone (or was never there in the first place). Anyone any ideas on this? [And iBook Author seems to give no warnings.] The widget is at https://dl.dropbox.com/u/46713473/Test6.wdgt.zip I have bells and whistles that I’d like to get into an iBook!
    Thanks for any insights.
    Martin

    I do have a little to add, which might help someone. Indeed, opening a blank page and dragging the widget straight in seems good in difficult cases. But, actually, I was also able to insert successfully from the Toolbar especially to blank pages. So, it may have been something to do with the columns and stuff like that. Anyway back then the insertion would show in iBooks Author but not in the Preview on the iPad. I moved on to actual Google Web Toolkit output javascript. Basically I had three at hand to try: a Hello World with a button which went straight it, one of moderate complexity, (for example with a built in Lisp interpreter), which also went straight in, and finally a more complex one that initially was rejected by iBook Author. Author complained that there was an unsupported media file (of course, Author does not tell you which one it is, that would be too easy). [Remember, this was a proper working Dashboard widget which could be installed on a Mac]. Among other things I had read remarks about .gif files. When looking through the GWT war directory at the actual javascript etc files, I noticed there were two gifs there one called ‘clear.cache.gif ‘  and a second one called  ‘0F89659FF3F324AE4116F700257E32BD.cache.gif’. (Now, there is obfuscation so the numbers here may be different from case to case.) The clear.cache.gif did not seem to be anything special. But the other one is an animation. It is three little boxes that twinkle (rather like a waiting spinning cursor).  So, I opened that file and saved it to itself (that picks the top frame of the animation and saves only that, leaving you with an unanimated gif). The resulting widget drags and drops into iBooks Author (and seems to work properly at a quick glance). So, if you are having trouble with ‘unsupported media files’ converting animated gifs into unanimated gifs might help in some cases.

  • How to find out the filename of javascript and pathname of javascript?

    I got the filename of javascript and pathname of javascript(not the active document file name) using the below code in illustrator cs3.
    var path = $.fileName;
    But my problem was if i run the javascript through "extendscript toolkit" i got it correctly. But if i run my script through illustrator cs3 application(File->Scripts->test.jsx) i got some integer value only(did not get the javascript filepath and filename). Kindly advice how to get the javascript file name and file path in windows platform through illustrator cs3 javascript. Please help me.

    I already have that extension, but I'm not sure which idx I need to look at. Also, I suppose that the numbers I'm looking for depend on places.history.expiration.transient_current_max_pages and therefore there is no way to get them relative to the installation of Firefox. My point is, I can see my history only up to 1 year, even though I have Firefox installed for 3 years. Correct me if I'm wrong.

  • How to disable 'Enable JavaScript' and 'Display PDF in browser' in Adobe Reader 9.1 msi?

    I'd like to how to disable 'Enable JavaScript' and 'Display PDF in browser' in Adobe Reader 9.1 msi.
    Any help would be appreciated.

    NeoChang:
    You can modify the installation package using the Adobe Customization Wizard to toggle the "Display PDF in Browser" but I have not found a setting to disable JavaScript from the Wizard. I have created a script which makes the changes, but it has to be run for every user since that info is stored in the User hive of the Windows registry.
    Disable JavaScript:
    REG ADD "HKCU\SOFTWARE\Adobe\Acrobat Reader\9.0\JSPrefs" /v bEnableJS /d 0 /t REG_DWORD /f
    Disable Browser Integration:
    REG ADD "HKCU\Software\Adobe\Acrobat Reader\9.0\Originals" /v bBrowserIntegration /d 0 /t REG_DWORD /f
    Michael
    ~Simplicity of Character is a Natural Result of Profound Thought~

  • Encrypt in javascript and decrypt in java

    hi guys,
    iam in a strange situation, my requirement is to encrypt the user entered details thr javascript and decrypt in those in java.
    i need some ideas
    thanku

    Why don't you just use SSL? Then the entire communication is encrypted.

  • I know only Javascript and would like to convert a large numbers of scanned documents into layers to mount on white a4 canvas

    I have got more than 400 scanned documents of A4 size. But they are not of uniform size. Luckily they are all of 300 dpi.They were created on a scanner. When opened in photoshop they contain random patches that are transparencies, although there seems to be no difficulty viewing themon adobe reader.
    My laptop had "Gb RAM and does not accept CS4 I have Photoshop CS3. My javascript and photoshop are both limited to basic skills.
    I would like to mount each document on a white A4 sized photoshop background of300dpi, as a layer, flatten it out and save as the desired page.
    As this is rather time-consuming, I would like to have a script that will perform this task, on a single file.
    I would like to manually run this script on each file.
    If possible I would additionally like to  put the individual pages in a folder and run the script repetetively on all files in the folder.
    Any suggestions or held will be gratefully appreciated
    thanks, peter

    This has now been modified for single page PDF's.....
    #target Photoshop
    app.bringToFront;
    function main(){
    var inFolder = Folder.selectDialog("Please select folder to process");
    if(inFolder == null) return;
    var startRulerUnits = preferences.rulerUnits;
    preferences.rulerUnits = Units.PIXELS;
    var pdfOpenOptions = new PDFOpenOptions();
    pdfOpenOptions.antialias = false;
    pdfOpenOptions.suppressWarnings = true;
    pdfOpenOptions.usePageNumber = true;
    pdfOpenOptions.mode = OpenDocumentMode.RGB;
    pdfOpenOptions.page = 1;
    var fileList = inFolder.getFiles(/\.(pdf)$/i);
    var FillColour = new SolidColor;
    FillColour.rgb.hexValue = 'ffffff';
    app.backgroundColor= FillColour;
    var outfolder = new Folder(decodeURI(inFolder) + "/Edited");
    if (outfolder.exists == false) outfolder.create();
    for(var a = 0 ;a < fileList.length; a++){
    if(fileList[a] instanceof File){
    var file= open(fileList[a],pdfOpenOptions);
    var doc = activeDocument;
    doc.flatten();
    var docname = fileList[a].name.match(/(.*)\.[^\.]+$/)[1];
    if(doc.resolution != 300) doc.resizeImage(undefined,undefined,300,ResampleMethod.NONE );
    if(doc.width.value > doc.height.value){
    app.activeDocument.resizeCanvas(3508, 2480, AnchorPosition.MIDDLECENTER);
    }else{
      app.activeDocument.resizeCanvas(2480, 3508, AnchorPosition.MIDDLECENTER);
    var saveFile = new File(decodeURI(outfolder) + "/" + docname + ".jpg");
    SaveJPEG(saveFile, 8);
    activeDocument.close(SaveOptions.DONOTSAVECHANGES) ;
    app.preferences.rulerUnits = startRulerUnits;
    main();
    function SaveJPEG(saveFile, jpegQuality){
    jpgSaveOptions = new JPEGSaveOptions();
    jpgSaveOptions.embedColorProfile = true;
    jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
    jpgSaveOptions.matte = MatteType.NONE;
    jpgSaveOptions.quality = jpegQuality; //1-12
    activeDocument.saveAs(saveFile, jpgSaveOptions, true,Extension.LOWERCASE);

  • Combo box in JavaScript and store the combo box values into database

    i am a developer, i have a task ie.. i have combo box in JavaScript and i have to store the combo box values into database through JavaServerPage..
    i please every one to have a look on this and please reply soon....

    dear sir,
    your suggestions are really greater the god.............
    i have applied as you said , now i am the page as updated and also i nform you that its multi select ....
    i will show the codings , then u will get a clear identification
    <script language= "JavaScript">
    <!--
    function one2two() {
        m1len = m1.length ;
        for ( i=0; i<m1len ; i++){
            if (m1.options.selected == true ) {
    m2len = m2.length;
    m2.options[m2len]= new Option(m1.options[i].text);
    for ( i = (m1len -1); i>=0; i--){
    if (m1.options[i].selected == true ) {
    m1.options[i] = null;
    function two2one() {
    m2len = m2.length ;
    for ( i=0; i<m2len ; i++){
    if (m2.options[i].selected == true ) {
    m1len = m1.length;
    m1.options[m1len]= new Option(m2.options[i].text);
    for ( i=(m2len-1); i>=0; i--) {
    if (m2.options[i].selected == true ) {
    m2.options[i] = null;
    //-->
    </script>
    <form method="POST" name="theForm" action="update.jsp">
    <table bgcolor="white" border="1" cellpadding="5" cellspacing="2" align="center">
    <tr><td align="center">
    <select id=menu1 size=10 multiple>
    <option>javascript</option>
    <option>php</option>
    <option>Zeo</option>
    <option>asp</option>
    <option>jsp</option>
    <option>ajax</option>
    <option>struts</option>
    </select>
    <p align="center"><input type="button" onClick="one2two()" value=" >> "></p>
    </td><td align="center">
    Languages you know:<BR>
    <SELECT NAME="language" multiple>
    <OPTION VALUE="c">C
    <OPTION VALUE="c++">C++
    </SELECT>
    <p align="center"><input type="button" onClick="two2one()" value=" << " ></p>
    </td></tr></table>
    <center><input type="submit" value="update"></center>
    </form>
    <h4><u>Back<h4>
    <script language= "JavaScript">
    var m1 = document.theForm.menu1;
    var m2 = document.theForm.language;
    </script>
    </body>
    </html>

  • Including external javascript and css files in servlet

    Hello,
    I am struggling to generate an HTML page from within a servlet using external javascript and css files. I am not sure how to point the servlet to the external files.
    Any code sample to accomplish the above will be much appreciated.
    Thanks inadvance,
    Antana.

    Can't you just include the following in your servlet?
           response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Getting CSS</title>");
            out.println("<link rel='stylesheet' type='text/css' href='yourCSS.css' />");
            out.println("<script language='JavaScript' SRC='yourScript.js'></script>");
            out.println("</head>");
           //...

Maybe you are looking for

  • Trying to do something very strange with layouts and painting components

    I'm trying to do something very strange with changing the layout of a container, then painting it to a bufferedImage and changing it back again so nothing has changed. However, I am unable to get the image i want of this container in a new layout. Co

  • Issues with Form based on Transient VO

    Hi guys, I have a jspx page with an ADF Form based on a programmatically View Object, with all of its attributes transient type and both options checked: Passivate State Including All Transient values. After the user has entered some input I clean th

  • Opening queries in BEx Analyzer

    Hi, We have a new SAP BW installation. When we try to open a query from the BEx Browser, it is opened with an Internet Browser instead of BEx Analyzer. The same occurs if we try to open it from the Favorites menu in the administrator workbench. Does

  • How to modify a WSDL generated by Axis2

    Hello, I'm using Axis2 to expose a java method as a web service. I want to modify the .wsdl automatically generated by Axis2. What I did was: - Access the .wsdl in Firefox (http://myurl.com/mywebservice/services/myservice?wsdl) and save it as an .xml

  • Popup message to all logged in users

    Good afternoon, Is there a way of sending a popup message to anyone logged into an APEX Application - such as: "System is going down for emergency reboot of server. Please log out.", or similar type of message. I understand that the potential exists