Problem using the value of the variable in the KM options - Essbase Extract

Hi,
I am able to extract the data from Hyperion Essbase using the report script present in D:\ODIHome\oracledi\demo\hyperion.
Instead of hardcoding the absolute file path in LKM options, I have requirement to use the value of variable, PIPHome and form the file path.
So in LKM Options I gave Extraction Query File path as #GLOBAL.PIPHome \oracledi\demo\hyperion\extract.rep
Its not able extract the data and throwing following exception.............Please help me in using the variable value in KM options. Thanks.
org.apache.bsf.BSFException: exception from Jython:
Traceback (innermost last):
File "<string>", line 1, in ?
com.hyperion.odi.essbase.ODIEssbaseException: Cannot execute report. Analytic Server Error(1030009): Name too long (#GLOBAL.PIP_HOME\oracledi\demo\hyperion\extract.rep) in ESSAPI function EssReportFile
     at com.hyperion.odi.essbase.ODIEssbaseDataReader.getAppData(Unknown Source)
     at com.hyperion.odi.essbase.AbstractEssbaseReader.extract(Unknown Source)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
     at java.lang.reflect.Method.invoke(Unknown Source)
     at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java)
     at org.python.core.PyMethod.__call__(PyMethod.java)
     at org.python.core.PyObject.__call__(PyObject.java)
     at org.python.core.PyInstance.invoke(PyInstance.java)
     at org.python.pycode._pyx3.f$0(<string>:1)
     at org.python.pycode._pyx3.call_function(<string>)
     at org.python.core.PyTableCode.call(PyTableCode.java)
     at org.python.core.PyCode.call(PyCode.java)
     at org.python.core.Py.runCode(Py.java)
     at org.python.core.Py.exec(Py.java)
     at org.python.util.PythonInterpreter.exec(PythonInterpreter.java)
     at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
     at com.sunopsis.dwg.codeinterpretor.k.a(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSession.treatSession(Unknown Source)
     at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(Unknown Source)
     at com.sunopsis.dwg.cmd.DwgCommandBase.execute(Unknown Source)
     at com.sunopsis.dwg.cmd.e.i(Unknown Source)
     at com.sunopsis.dwg.cmd.h.y(Unknown Source)
     at com.sunopsis.dwg.cmd.e.run(Unknown Source)
     at java.lang.Thread.run(Unknown Source)
Caused by: com.hyperion.odi.essbase.ODIEssbaseException: Cannot execute report. Analytic Server Error(1030009): Name too long (#GLOBAL.PIP_HOME\oracledi\demo\hyperion\extract.rep) in ESSAPI function EssReportFile
     at com.hyperion.odi.essbase.wrapper.EssbaseReportDataIterator.init(Unknown Source)
     ... 33 more
Caused by: com.essbase.api.base.EssException: Cannot execute report. Analytic Server Error(1030009): Name too long (#GLOBAL.PIP_HOME\oracledi\demo\hyperion\extract.rep) in ESSAPI function EssReportFile
     at com.essbase.server.framework.EssOrbPluginDirect.ex_olap(Unknown Source)
     at com.essbase.server.framework.EssOrbPluginDirect.essMainReport(Unknown Source)
     at com.essbase.api.session.EssOrbPlugin._invokeMainMethod(Unknown Source)
     at com.essbase.api.session.EssOrbPlugin._invokeMethod2(Unknown Source)
     at com.essbase.api.session.EssOrbPlugin._invokeMethod(Unknown Source)
     at com.essbase.server.framework.EssOrbPluginDirect._invokeProtected(Unknown Source)
     at com.essbase.api.session.EssOrbPluginEmbedded.invokeMethod(Unknown Source)
     at com.essbase.api.session.EssOrbPluginEmbedded.invokeMethod(Unknown Source)
     at com.essbase.api.session.EssOrbPlugin.essMainReport(Unknown Source)
     at com.essbase.api.datasource.EssCube.report(Unknown Source)
     ... 34 more
com.hyperion.odi.essbase.ODIEssbaseException: com.hyperion.odi.essbase.ODIEssbaseException: Cannot execute report. Analytic Server Error(1030009): Name too long (#GLOBAL.PIP_HOME\oracledi\demo\hyperion\extract.rep) in ESSAPI function EssReportFile
     at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
     at com.sunopsis.dwg.codeinterpretor.k.a(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(Unknown Source)
     at com.sunopsis.dwg.dbobj.SnpSession.treatSession(Unknown Source)
     at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(Unknown Source)
     at com.sunopsis.dwg.cmd.DwgCommandBase.execute(Unknown Source)
     at com.sunopsis.dwg.cmd.e.i(Unknown Source)
     at com.sunopsis.dwg.cmd.h.y(Unknown Source)
     at com.sunopsis.dwg.cmd.e.run(Unknown Source)
     at java.lang.Thread.run(Unknown Source)

Hi,
If you are going to use variable as one of the options then what you can do is create a package.
Drag your variable on to the package and set or declare it.
Then drag your interface on to the package.
Now when you execute the package it should make use of the variable.
Cheers
John
http://john-goodwin.blogspot.com/

Similar Messages

  • Pass the value of a variable in a KM Option

    Hi Gurus,
    We have developped a LKM using existing DBlinks to extract data. Since we are not allowed to created DBlinks ourselves on the source DBs, we have added an option in the KM to specify the name of the DBlink that should be used.
    It worked well because we only had the prod context.
    Now we have a Dev and Test context for some dataservers. Our idea was to put a variable DBL_NAME as the option value and refresh it in a package. The dblink name is store in a table with its associate context name and we retrieve the context using the Substitution API : SELECT value from PARAM WHERE param = '<%=odiRef.getContext("CTX_NAME")%>'
    As the value of option DBLINK_NAME we put #PROJECT.DBL_NAME.
    However at runtime the variable is not resolved so its name appears instead of its value : +... from MIN.DATASTORE@#PROJECT.DBL_NAME DATASTORE where     (1=1)+.
    Do you have any idea of the cause of the behavior ?
    We are working with ODI 11.1.1.5.
    Here is the code of our KM :
    create or replace view <%=odiRef.getObjectNameDefaultPSchema("L",  "" , "W")%><%=odiRef.getInfo("COLL_NAME")%>
    +(+
         +<%=odiRef.getColList("", "[CX_COL_NAME]", ",\n\t", "", "")%>+
    +)+
    as select     <%=odiRef.getPop("DISTINCT_ROWS")%>
         +<%=odiRef.getColList("", "[EXPRESSION]", ",\n\t", "", "")%>+
    +from     <%=odiRef.getSrcTablesList("", "[SCHEMA].[RES_NAME]@"+"odiRef.getOption("DBLINK_NAME")"+" [POP_TAB_ALIAS]", ", ", "")%>+
    +where     (1=1)+
    +<%=odiRef.getFilter()%>+
    +<%=odiRef.getJrnFilter()%>+
    +<%=odiRef.getJoin()%>+
    +<%=odiRef.getGrpBy()%>+
    +<%=odiRef.getHaving()%>+
    Thanks in advance for your help.
    Regards

    Hi Michael,
    Thanks a lot for your answer! It could be a workaround.
    However sometimes we have a lot of different sources that doesn't need a different dblink for each context and only one source that has 3 different dblinks (one for each context). If I could avoid to create a lot of useless variable, it would be nice.
    Does someone know if it is possible to put the value of a variable as a KM option ?
    Regards

  • Can we change the value of a variable in the driver program from sapscript?

    Hello Experts,
    I am currently developing a form wherein I need to change the value of a variable defined in the standard
    driver program through the sapscript form. Unfortunately, I cannot customize this standard program since this is used by many other
    subsidiaries. So, is there anyway that I can change a variable defined in the driver program via sapscript?
    I tried to use a PERFORM to change its value but it is not working.
    I hope you can help me guys. Thank you and take care!

    SAP SCRIPT:
    /: PERFORM GET_ATTNDEE_INFO IN PROGRAM ZHR_TRNG
    /: USING &PPVAR-EOBJD&
    /: CHANGING &ATTND&
    /: ENDPERFORM
    Executable Prog.:
    REPORT ZHR_TRNG.
    FORM GET_ATTNDEE_INFO TABLES IN_PAR STRUCTURE ITCSY
    OUT_PAR STRUCTURE ITCSY.
    DATA : LOC_CODE(8),
    WF_NAME LIKE PA0001-ENAME, "----Location Code
    WF_SOBID LIKE HRP1001-SOBID. "----Business Event Code
    DATA: BEGIN OF ITAB_ECODE OCCURS 0,
    ECODE(8),
    END OF ITAB_ECODE.
    DATA: NAME1 TYPE STRING.
    READ TABLE IN_PAR INDEX 1.
    LOC_CODE = IN_PAR-VALUE.
    SELECT SOBID FROM HRP1001 INTO WF_SOBID
    WHERE OBJID = LOC_CODE AND OTYPE ='E' AND PLVAR = '01' AND SCLAS = 'P'.
    APPEND WF_SOBID TO ITAB_ECODE .
    ENDSELECT.
    IF SY-SUBRC = 0.
    LOOP AT ITAB_ECODE.
    SELECT SINGLE ENAME FROM PA0001 INTO WF_NAME
    WHERE PERNR = ITAB_ECODE-ECODE ." AND ENDDA >= '31.12.9999' .
    CONCATENATE 'Mr ' WF_NAME ',' NAME1 INTO NAME1.
    IF SY-SUBRC = 0 .
    OUT_PAR-NAME = 'ATTND'.
    OUT_PAR-VALUE = NAME1.
    APPEND OUT_PAR.
    ENDIF.
    ENDLOOP.
    ENDIF.
    ENDFORM. "GET_USR_INFO

  • Displaying the value of an variable on the stage

    I have managed to display the values contained in string variables on stage, and I am happy with that, however when I wish to display the value of an int and convert it to a string as one is supposed to do the output to the stage just calls it [class int] and does not give its value. any suggestions?
    My rogram contains a stage at frame 1 which displays a word. The user must input a word. Frame 30 then displays the word which was displayed and the word input by the user. That all works fine. But the value of the variable NumberRight, which has been assigned to that variable will only display as [class int] without showing its value. (even though I have converet it to a string using the .to string function you see below).
    My code is as follows;
    trace( "The number correct was" + NumberRight); //This works fine in the output window and shows the value of the variable as NumberRight [class int]1 (showing the value to be 1)
    outputText.appendText("in/"+textAtIN); //this works fine displaying the word presented and word input by user as in/in
    outputText.appendText( NumberRight.toString(     )); //here lies the problem as it just displays [class int] and nothing else.
    Yes I have managed to overcome that problem it was some code on the first frame, please excuse, however, now, is there any way to remove the [class int] bit from the displays, I wish to have the results as a clear copy of the results so that they can be printed out, without [class int] all over the place?

    Hi Ned thanks for that. Yes I had accidently created blank spaces in the String() argument. (wanted to check if there was a subsequent difference in display and forgot to return them to normal ...Sorted )
    Your next suggestion has eliminated the [class int] but I get a value now of 0.
    My code on the first frame for a correct response for example is;
    function keyPressedIN(event:KeyboardEvent):void
              if (event.keyCode == 13)/*Normally,this will move straight on to the next frame-
              recording a correct response and all that that implies in terms of scores etc. But now I have re directed it to Frame 30 to check are the variables working properly*/
                        //insert code for correct responses vowels etc.
                        VowelI = VowelI+1;
                        NumberRight = NumberRight +1;
                        stage.focus = stage;
                        //There is no need to display the text box as this is a correct response.
                        pupilsResponseIN.visible = false;
                        mainText.visible = false;
                        gotoAndPlay(30);//at the moment this takes me to the display frame to check if all is ok
    On the first frame when the user say hits the Return key my code assigns the value of +1 to the variable; eg
    NumberRight=NumberRight+1;
    and the value of +1 to the value of VowelI
    VowelI=VowelI+1
    At Frame 30 the code is as follows;
    stop();
    trace( "The number correct was"+ NumberRight);
    outputText.appendText("in/"+textAtIN);
    outputText.appendText( "\n");
    outputText.appendText("Vowels Correct ="+(int(VowelI).toString()));
    outputText.appendText( "\n");
    outputText.appendText("TotalCorrect="+(int(NumberRight).toString()));
    //outputText.appendText( VowelI.toString());
    Now what I am getting  is
    in/in
    Vowels Correct = O
    Total Correct = O
    Yet the trace (output box) records the Number correct as [class int]1 
    many years ago I wrote this same program in Authorware using similar code. I am trying to re write it in FlashCS5 using ActionScript 3 and It take days to solve small problems. I notice also that If for example the user of the program makes an error and I record the error as NumberRight =NumberRight -1 the program records it as Total Correct = NaN .
    I gave up on this a few months back but I am trying again. I think there must be a better way to do this. Variables do not seem to add up or subtract for me at present. no doubt its me thats got it wrong.

  • How to change the value of a variable in new ABAP debugger.

    Hi Guys,
                 I can't change the value of a variable in the new ABAP debugger.. when I change its revert back to old value. but this is not the case with the old version. How to do this..
    Cheers
    Senthil

    Hi,
    1. Dobule click in the variable in the variable tab.
    2. Click the Change icon in Detail.Dis.
    3. enter the new value and press enter
    Refer
    [http://www.sapdb.info/new-abap-debugger/|http://www.sapdb.info/new-abap-debugger/]
    [http://help.sap.com/saphelp_nw70/helpdata/en/84/1f624f4505144199e3d570cf7a9225/content.htm|http://help.sap.com/saphelp_nw70/helpdata/en/84/1f624f4505144199e3d570cf7a9225/content.htm]
    <removed_by_moderator_together_with_points>
    Regards,
    SB
    Edited by: Julius Bussche on Jun 24, 2008 8:21 AM

  • Change the value of a variable used in a View query

    I am using JDeveloper 11g to develop a simple portlet application which displays data loaded from database. I am displaying the data by dragging the ViewObject from the AppModuleDataControl to the View.jspx page and selecting the option ADF Read-only Table. My ViewObject has a single variable :empId. Now is it possible to change the value of this variable with a value that comes from the request object. On the internet I found the following code:
            FacesContext facesContext = FacesContext.getCurrentInstance();
            Application app = facesContext.getApplication();
            ExpressionFactory elFactory = app.getExpressionFactory();
            ELContext elContext = facesContext.getELContext();
            ValueExpression valueExp =
            elFactory.createValueExpression(elContext, "#{data.AppModuleDataControl.dataProvider}",
            Object.class);
            ApplicationModule am = (ApplicationModule)valueExp.getValue(elContext);
            ViewObject emplVO;
            emplVO = am.findViewObject("EmployeeView1");
            emplVO.setNamedWhereClauseParam("empId", "1");I have put this code in the public void processAction(ActionRequest request, ActionResponse response) method. However this does not work when I deploy it.
    Does anyone know if the above code is correct in this case and if there is a better way how I can set this up?

    Hi there:
    Did you add a break point and debug the code to see what is the value for the :empid parameters passed in to your view object?
    If you are sure you have passed in the correct value for ":empid" parameter, then do the following:
    String amDef = "yourAmDef";
    String config = "yourConfig";
    ApplicationModule am =
    Configuration.createRootApplicationModule(amDef,config);
    ViewObject emplVO;
    emplVO = am.findViewObject("EmployeeView1");
    emplVO.setNamedWhereClauseParam("empId", "1");
    empVO.executeQuery();
    which will execute your view object with the new bind variable value and refresh the view.
    Please mark my answer as 'Correct' if it solves your problem, or 'Helpful' if it does.
    Thanks,
    Alex
    Edited by: Alexbie on 27-Aug-2010 8:52 AM

  • Probleme changing the value of a variable in movieclip from my scene

    Hello,
    i have a probleme changing the value of a variable in movieclip from my scene. i explain: I have combobox on my scene containing categories, and in the scene i load an xml file containing links to php files that work with the combobox.
    Also on the scene i have a movieclip "filmstrip", inside this movieclip on the first frame i have a script loading the php file selected in the scene . i use a load() function with a variable "theUrl" inside like this : T.load(theUrl);.
    In my scene i want to change the value of "theUrl" inside the movieClip filmstrip. I tried filmstrip.theUrl = url; But it doesnt work
    the xml file
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <slideshow>
    <area title1="10 Last updated" link1="link1.php"/>
    <area title1="special" link1="link2.php"/>
    </slideshow>
    here is the code on my scene:
    var link1:Array = new Array();
    var LINK:String;
    var url:String;
    var whoOn:Number;
    whoOn=0;
    var x:XML = new XML();
    x.ignoreWhite = true;
    x.onLoad = function(success) {
    var photos:Array = this.firstChild.childNodes;
    for (i=0; i<photos.length; i++) {
    _root.link1.push(photos[i].attributes.link1);
    url=link1[whoOn];
    filmstrip.theUrl=url;//<<--HERE
    x.load("category.xml");
    var cbListener:Object = new Object();
    cbListener.change = function(event_obj:Object) {
    trace(select.selectedItem.label);
    if (select.selectedItem.label == "Last updated") {
    whoOn=0;
    } else if (select.selectedItem.label == "Special") {
    whoOn=1;
    url=link1[whoOn];
    filmstrip.theUrl=url; //<<-----HERE  
    select.addEventListener("change",cbListener);
    here is the code inside the movie clip "filmstrip"
    var T:XML = new XML();
    T.ignoreWhite = true;
    T.onLoad = function(xml) {
    etc etc etc }
    T.load(theUrl);    //<<---HERE it still undefined

    YESSSS . Thanks you very much Kglad it wotk i put all in a function inside the filmstrip function Tload(theUrl){etc ect}and in the root i call it like this filmstrip.Tload(theUrl);   and it works
    code in the root var link1:Array = new Array();
    var LINK:String;
    var url:String;
    var whoOn:Number;
    whoOn=0;
    var x:XML = new XML();
    x.ignoreWhite = true;
    x.onLoad = function(success) {
    var photos:Array = this.firstChild.childNodes;
    for (i=0; i<photos.length; i++) {
    _root.link1.push(photos[i].attributes.link1);
    url=link1[whoOn];
    theUrl=url;
    filmstrip.Tload(theUrl);//<<--HERE
    x.load("category.xml");
    var cbListener:Object = new Object();
    cbListener.change = function(event_obj:Object) {
    trace(select.selectedItem.label);
    if (select.selectedItem.label == "Last updated") {
    whoOn=0;
    } else if (select.selectedItem.label == "Special") {
    whoOn=1;
    url=link1[whoOn];
    theUrl=url;
    filmstrip.Tload(theUrl);//<<-----HERE
    select.addEventListener("change",cbListener);

  • Can we use the value of a variable in an alert message

    I have a variable in forms6i. I want to use the value of this variable in an alert message. How is this possible?

    Gul wrote:
    I have a variable in forms6i. I want to use the value of this variable in an alert message. How is this possible?Try
    DECLARE err_txt VARCHAR2(200) t;
    al_id ALERT;
    al_button Number;
    BEGIN
    al_id := FIND_ALERT('My_Error_Alert');
    SET_ALERT_PROPERTY(al_id, alert_message_text, 'Hello how are you mr. variable '||:variable_name );
    al_button := SHOW_ALERT( al_id );
    END; Hope it works..
    Hamid

  • Can I perform a lookup to verify the value of a variable is contained in another list column?

    I am working in Sharepoint Designer and am trying to figure out how I can set a condition in an approval workflow to only complete a task if the value of a variable is contained in another list column. So if I had a list called A with column
    A1 and I am  working in the approval workflow, I only want the approval to complete if my variable is equal to any value in list A column 1. Otherwise I want to keep the approval task pending. I am very new to sharepoint so any help would be appreciated.
    Thank you.

    Hi,
    You can use the condition "if any value equals value". Please  refer below links for reference.
    http://office.microsoft.com/en-in/sharepoint-designer-help/workflow-conditions-in-sharepoint-designer-2010-a-quick-reference-guide-HA010376962.aspx
    http://www.codeproject.com/Articles/125120/Step-by-Step-Guide-in-Developing-your-own-Workflow
    Best Regards,
    Pavan Kumar Sapara.
    Please remember to mark your question as answered &Vote helpful,if this solves/helps your problem.
    s p kumar

  • How to find the value of a variable in other program

    How to find the value of a variable in other program say I am in a FM and this FM is being called in from other program and I want to know some of the variable details of the program from the FM itself. Imagine if this is a txn. and I need to know the details from some of the programs while executing the same transaction
    Regards
    Vin

    Hi Vinayak,
         you will be having your first program values in internal table or some variables,
        when you are calling the second program you wii use like this,
        SUBMIT <Second Program Name> USING SELECTION-SCREEN '1000'
                           WITH s_emp(second program select-options)   IN t_emp(first program variables)
                           WITH p_chk   EQ t_chk
                           WITH p_r1    EQ t_r1
                           WITH p_month EQ t_month
                           WITH s_cust1 IN t_cust1
                           WITH p_r2    EQ t_r2
                           WITH s_cust2 IN t_cust2
                           WITH s_week  IN t_week
                           AND RETURN.
    you have pas like this to get your first program details.

  • Not able to get the value of ODI Variable when i pass thru Option

    Hi,
    I have ODI variable called prev_etl_run_date which will hold the last successful etl run date. I want to use the value of this variable in one of my KM step.
    But i don’t want to use directly in my KM. So I passed the variable name thru KM Option.
    I intend to use the variable’s value in the KM step, as shown below:
    <%=odiRef.getOption("MY_OPTION_1")%>
    Here I am expecting the value of the variable, but here I am only getting the variable name only.
    Is there any substitution method available in ODI KM , please help me to solve this issue.
    Thanks
    nidhi

    ODI options are not intended for run time parameters. They are like design choices or debugging flags or parameters that can be specified in code template. Previous ETL run time stamp is hardly a design choice.
    On the other hand, it is really a bad practice to put a variable inside KM directly. That creates a dependency that you can easily avoid by putting a filter using that variable in the interface.

  • How to get the value of a variable defined in javascript in JSP

    how to get the value of a variable defined in javascript in/through JSP????

    In Javascript you can use the DOM to access the input element and set it's value before submitting the form. Then it's value will just be passed.

  • How to get the value of a variable in FOX?

    Hi,
    In the FOX program how to get the value of a variable defined in planning area?
    can anyone give me some sample code?
    thanks

    Adding to the last reply,
    you can use VARI(variable) to get the count of the values.
    In the latest version of BPS, you may also use the following new foreach construct:
    FOREACH var IN VARIABLE  variable_id.
    Regards - Ravi

  • Evaluating the value of a variable in OpenScript

    I am attempting to navigate through screens and views based on a spreadsheet containing the applicable screens/views. I am using variables based on a dataset which I have been successful in substituting into the various method calls to change views, etc. What I am attempting to do is use the value of the variable in an "if" condition statement to drive the flow of the script. I have tried referring to it directly and have also tried setting it to a different variable and referencing it. Neither approach worked (I've commeted out some of the approaches). Instead of using the value, it appears to be using the literal string which prevents the usage of the variable (I know this from the result of the test since it calls gotoScreen instead of gotoView as well as the showMessageDialog which displayed the literal string of {{db.ViewList.ScreenName}}. I have also tried testing the reverse logic (if ("{{db.ViewList.ScreenName}}" != "Accounts Screen")) which also helps prove that it's not working. Here is the code snippet:
              for (int i = 0; i < 70; i++)
                   getDatabank("ViewList").getNextDatabankRecord();
    //               String sScreenName = "{{db.ViewList.ScreenName}}";
    //               getVariables().set("vScreenName", "{{db.ViewList.ScreenName}}");
    //               String sScreenName = getVariables().get(vScreenName);
    //          JOptionPane.showMessageDialog(null, "Screen Name is: " + sScreenName);
    //          JOptionPane.showMessageDialog(null, "Screen Name is: {{vScreenName}}");
    //               if (sScreenName.isEmpty() || sScreenName == null)
    //               if (sScreenName.length() == 0)
    //               if (sScreenName != "Accounts Screen")
                   if ("{{db.ViewList.ScreenName}}" == null || "{{db.ViewList.ScreenName}}" == "")
                        siebelFT
                             .pageTabs(
                                       114,
                                       "/siebelft:cas[@ClassName='SiebApplication' and @RepositoryName='Siebel Automotive']/siebelft:cas[@ClassName='SiebPageTabs' and @RepositoryName='SiebPageTabs']")
                             .gotoView("{{db.ViewList.ViewName}}");
                   } else
                        siebelFT
                             .pageTabs(
                                       82,
                                       "/siebelft:cas[@ClassName='SiebApplication' and @RepositoryName='Siebel Automotive']/siebelft:cas[@ClassName='SiebPageTabs' and @RepositoryName='SiebPageTabs']")
                             .gotoScreen("{{db.ViewList.ScreenName}}");
                   web.window(83, "/web:window[@index='0' or @title='Siebel Automotive']")
                             .waitForPage(null);
                        think(7.711);
              } // End For Loop
    -John

    In Java, consider using equals for comparing strings instead of == or !=. In Java the equality and inequality operators compare the String Object references and not actual values. Two variables with the same characters may not be equal if they point to different objects in memory. The equals method will compare the actual values of the variables.
    Example 1: Using the equal operator to compare two strings
    if ( !eval("{{db.ViewList.ScreenName}}").equals("Accounts Screen") )
    Example 2: Making the comparison case insensitive
    if ( !eval("{{db.ViewList.ScreenName}}").toLowerCase().equals("accounts screen") )
    Example 3: Case insensitive and trimming spaces and new line characters before making the comparison will make it less likely to fail in case there are spaces at the beginning or at the end of the string. Sometimes is difficult to see these spaces. I trim strings often specially when they come from an HTML or XML source because not everybody is consistent with the use of spaces.
    if ( !eval("{{db.ViewList.ScreenName}}").trim().toLowerCase().equals("accounts screen") )
    Note the ! sign as the first character inside the "if" is used to say that we want the opposite of the outcome of the equals method. This is used in this case because we want "not equal to".

  • How I can save the value of a variable in a database?

    hello,
    how I can save the value of a variable in a database? I need to keep the # of times you press click animation. to know how many times it has been seen.
    I connect to msql database, using php, javascript, ajax and jquery, but not how to save the variable counter clicks from adobe edge Animate
    appreciate your help so I can connect to the database from adobe edge animate.
    thank you very much
    Luis Felipe Garcia
    [email protected]

    Hi, all-
    This isn't an Animate-specific issue, but I thought I'd take a stab at it anyway.  As with anything else on the web, you need to have a server script to handle incoming data, so it's all back end work.  Your page will need to call that script and provide parameters to that script that it can read.
    The easiest way I can think of to do this (and this is all highly theoretical, so please make sure it's secure before you implement it) is to create a 1px div that has visibility off.  Whenever you click, you can load your URL in that div, which then increments your counter on your db.
    Hope that helps inspire some interesting solutions!
    -Elaine

  • Can you change the value of a variable that is reset by a parameter?

    Sorry if this is simple but I just crashed a package and can't do an autopsy. I suspect I sent it into an infinite loop. I know you can't change the value of any passed in parameters. What I tried to do was have the parameter set the value of a variable
    and then I tried to change the value of the variable. Is that even allowed?
    I was trying to do this:
    MyCheckVariable = MyParameter (which equals true)
    (some cool stuff happens)
    MyCheckVariable = False
    I hit F5 and my package turned into the Energizer Bunny. Is the way I try to reset the variable the culprit?

    This is a prototype so I just created a project parameter and set it to true. In the real world the parameter will be used to control an optional part of the process because on a re-run after error that part doesn't have to be ran again.
    So when I say MyCheckVariable = MyParameter (which equals true) in reality what I actually have is in the variables window I'm using an expression and it looks like this in the variables window
    name = runDownload
    Scope = Package
    Data Type = Boolean
    Value = True (but greyed out)
    Expression = @[$Project::param_runDownload]

Maybe you are looking for