Callback parameters

TestStand 2.0.1
I am looking for a listing of the valid parameters for sequence file callbacks such as SequenceFileLoad and SequenceFilePostStepRuntimeError. I noticed in the example file
Examples\Callbacks\PostStepRuntimeErrorCallback\ErrorHandlerExample.seq
there are 2 parameters (Step and Result) that get passed to SequenceFilePostStepRuntimeError. Where are these parameters defined and are there more than 2 parameters that TestStand passes when it calls the callback?
I searched through the User and Programmer Manual that came with TestStand, but I couldn't locate more than just the name and descriptions of the callbacks. Am I missing something here?
Thanks,
Peter

Hi Peter,
Thats as good as it gets.
The only why to identfiy all the default parameters is to open the process model sequencefiles and inspect the parameters for each callback.
There is nothing to stop you modifying the default process sequencefiles and adding additional parameters to the callbacks.
Place any modified files in the \User\.. folders and use different filenames so as not stop the examples working.
You can then set your sequencefiles to use your modified process files in the properties of the sequencefile.
I maybe wrong but I still dont think Teststand 3.0 documentation lists the default parameters of the callbacks.
Regards
Ray Farmer
Regards
Ray Farmer

Similar Messages

  • Secondary database callback parameters

    I need to define a callback that can take input somehow. This is because my index could be on different fields. I need to pass it a number to tell it which field, but I cant pass any arguments because it already has 4 fixed ones (Db, Dbt, Dbt, Dbt).
    I have kept this callback function outside of my class (as done with 'get_item_name' in examples_cxx/getting_started). Since I am not allowed to pass it a parameter, I thought of moving it inside a class so I can access some member variables. But when I do that, I get compiler errors. Is there a way to do this? I assume people need to do this a lot.
    Is there a specific way to define it? Here is how I am defining it outside my class.
    inline int get_second_keys(Db *sdbp,          // secondary db handle
    const Dbt *pkey,   // primary db record's key
    const Dbt *pdata,  // primary db record's data
    Dbt *skey)
    { ... }

    Hi,
    Yes, you can use the app_private member of the Db class to store global/per-application data, thus data that will be seen in the callback functions.
    Now, here is a snippet of code on how you could use this approach:
    // this vector will hold the elements that will be used by the callback function
    vector<int> p;
    // push back some int elements in the vector
    p.push_back(i);
    // set the app_private field of the Db handle/object
    dbp.set_app_private((void*) &p);
    // in the callback function
    vector<int> list = (vector<int>) dbp.get_app_private();
    vector<int>::iterator intVecIterator;
    // do the processing, iterating the vector
    for(intVecIterator = list->begin(); intVecIterator < list->end(); intVecIterator++)
    ...Regards,
    Andrei

  • How To Access Variables In Process Model For Use In Main Sequence

    Hi everyone, in my sequence file I callback the PreUUT sequence file.  I want to be able to use one of the local variables I assign in this callback sequence in my main sequence.  In my main sequence this variable will trigger if I should run some tests or not in my main sequence.  Is this possible?  How would I do this?
    Thanks so much!

    U need to make a parameter in your Callback, parameters are seen outside of sequences, then in PreUUT u will make statement to update parameter, or use the parameter in your callback  directly
    Parameters.MyPara=Locals.MyLoc
    etc

  • Issues with Autoschedule.seq example

    hi,
    In testsand 2012 is an example  Auto Schedule.
    my question is  in this example sequence,  there are subsequences   parallel sequential etc.
    during execution the status bar shows  BatchModel.seq
    the Model defined for the file is a Sequential Model in File Properties. 
    could be bcos it uses ModelOptions  Callback &
    Parameters.ModelOptions.NumTestSockets = 4

    The setting you are looking for is in the SequenceCall steps. They are all configured for "New Execution".
    Please review the advanced settings for each call.
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Batch serial number in TestStand Batch Model

    Hello, I want to have Batch Model, after entering the Batch SN and the test sockets SN , execute the main sequence  for the UUT , then create a folder with the batch no and insert the Test Socket SN under that folder .
    The process should repeat for the remaining UUTs SN one at a time inserting SN folders under the Batch SN folder at each completion.
    I have a LV vi routine that takes care of the creation of the folders by looking for SN Global variables I assign from the Pre-UUT callback parameters.
    Problem is Batch SN does not propagate to main sequence  and main sequence only  executes once for the first UUT SN, seems only first test socket executes.
    How can I setup this correctly?
    TIA
    Solved!
    Go to Solution.

    You can use a Station Global for this.  Modify the Write the Batch SN to a Station Global, then you can access it from any other sequence that you wish. 
    Mark E.
    National Instruments
    Schedule a Free 1-Hour online LabVIEW Tutorial with an NI Applications Engineer

  • Calling Searchhelp dynamically

    Hi I have to call one of the search helps dynamically from BADI.
    I am using F4IF_FIELD_VALUE_REQUEST..
    My requirement here is...in one of the fields of search help, a value should be filled at the time of popup.
    How to do this?
    Thanks & Regards,
    Kalyan.

    Hello Kalyan
    In order to change the search help you can use the CALLBACK parameters (CALLBACK_PROGRAM and CALLBACK_FORM).
    The callback form has a defined interface which is described in the description of the parameter CALLBACK_FORM:
    The form must have the following interface:
    FORM <NAME> TABLES RECORD_TAB STRUCTURE SEAHLPRES
                CHANGING SHLP TYPE SHLP_DESCR
                         CALLCONTROL LIKE DDSHF4CTRL.
    The F4 help works internally with a complex description of the search
    help passed in parameter SHLP. It can be a search help defined in the
    ABAP Dictionary (only for module F4IF_FIELD_VALUE_REQUEST). The
    <b>SHLP </b>is a complex type where you can change the layout of the search help, the returned values and pose restrictions on the search help values.
    Regards
      Uwe

  • How is Parameters.Result used in callback? How is it different from Parameters.Step.Result?

    Hello,
    I have searched TestStand reference manuals, help, and the forums, and I haven't yet found exactly how Parameters.Result should be used in callbacks (if at all).
    I'm trying to figure out how to take a step that normally is not recorded in the result list, and force it to be recorded on the infrequent occasions that it fails. I'm thinking I should be using the Result, but I'm not sure how.  If I set Parameters.Step.RecordResult = True then the step does get set to record results, but that seems to be permanent in the sequence file and AFTER the failure goes unreported.
    Thanks in advance for your expert help!
    - Gizmogal
    Solved!
    Go to Solution.

    In stepping through the SequenceFilePostResultListEntry I finally discerned the difference between Parameters.Step.Result and Parameters.Result, which is only visible at run time:
    Parameters.Result has a TS container which refers to the current step, giving information such as StepGroup, StepName, StepType, among others. Its results-related properties are equivalent to the Parameters.Step.Result properties as far as I can tell.
    Parameters.Step.Result has a much more extensive TS container of type TEInf which appears to be test executive information.
    It seems kind of backwards from what I would expect, but there it is.
    I'm partway through shifting my paradigm - recording all results and then discarding those not of interest. I ended up adding a status string "RecordAlways" to force some steps to be recorded every time, and I toss any that are not equal to that or "Passed", "Failed", "Error", or "Terminated". It's working pretty well so far.
    Thanks again for your help!
    - Gizmogal

  • How do I pass parameters modified by the SequenceFileLoad callback?

    I have some parameters in a sequence file that I want modified based on where the test station is located. I do not have that much experience with callbacks and have been reading up but wanted to reach out to the community as well. I know now that whatever is modified in the SequenceFileLoad callback is not passed onto the main sequence as it has not been started at this point. So what I am trying to do is have the operator choose a test facility once and have the parameters set and not have to choose everytime the sequence is initiated. I basically want the paramters set once, like when the fle is opened, and then it is done. Any help in how to implement this would be greatly appreciate.
    Thanks,
    Troy

    Happy to help out! I created an example which is attached to this message. This is what it does:
    In SequenceFileLoad, it first checks to see if StationGlobals.TestFacility exists, and if not, it creates that variable. 
    If the StationGlobal is set to "" (blank string), a prompt is displayed for the user to enter the facility. A post-expression on the Message Popup step sets the StationGlobals.TestFacility variable with this value.
    When you execute MainSequence after loading the file, the current TestFacility is displayed.
    The code could be simplified a bit if you can guarantee that StationGlobals.TestFacility will always exist as a variable. For example, the #NoValidation tags you see in some of the expressions are there because the StationGlobal may not exist prior to runtime. You could create the station global on your dev machine and deploy StationGlobals.ini to all test machines to ensure all machines have the variable and not need that part of the code, but I prefer the dynamic method because it won't cause an error if the station global is deleted for some reason.
    I hope this helps clarify things a bit, and let me know if you have any questions about it!
    Daniel E.
    TestStand Product Support Engineer
    National Instruments
    Attachments:
    TestFacility_2010.seq ‏8 KB

  • How to pass a list of parameters to a query?

    Hi,
    I use OracleXE 10 Database with JDeveloper 11g.
    In my project I use a Toplink mapping to get access to the database (Toplink Object Map file). This mapping xml file is called crmMap.xml.
    In the crmMap.xml file I define a mapping to a "User table" which has the four columns id (number), title (varchar2), firstName (varchar2) and lastName (varchar2). A title can have the four values Bachelor, Master, Doctor and Professor.
    I do define a query in crmMap.xml which has to find all the users that have a special title. I do give the query one parameter called "title" which has the type "java.util.ArrayList". The parameter "title" is a list that has for example the two values "Bachelor" and "Doctor", if I want to find all the users that are Bachelor or Doctor. The query looks like this ...
    Select * from User where title in(?title)I do use an EJB Session Bean to call the query. The code looks like this ...
    public List<User> findUserByStatus() {
        Session session = getSessionFactory().acquireSession();
        Vector params = new Vector(1);
        List stati = new ArrayList();
        stati.add("Doctor");
        stati.add("Bachelor");
        params.add(stati);
        List<User> result = (List<User>)session.executeQuery("findUserByStatus", User.class, params);
        session.release();
        return result;
    }Doing this I get an error, in the line
    List<User> result = (List<User>)session.executeQuery("findUserByStatus", User.class, params);while the app is trying to execute the query.
    Part of my log
    WARNING: ADFc: Invalid column type
    java.sql.SQLException: Invalid column type
         at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
         at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:116)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:177)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:233)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:407)
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:7931)
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:7511)
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8168)
         at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:8149)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObject(OraclePreparedStatementWrapper.java:229)
         at oracle.toplink.internal.databaseaccess.DatabasePlatform.setPrimitiveParameterValue(DatabasePlatform.java:1694)
         at oracle.toplink.internal.databaseaccess.DatabasePlatform.setParameterValueInDatabaseCall(DatabasePlatform.java:1684)
         at oracle.toplink.platform.database.oracle.Oracle9Platform.setParameterValueInDatabaseCall(Oracle9Platform.java:339)
         at oracle.toplink.internal.databaseaccess.DatabasePlatform.setParameterValuesInDatabaseCall(DatabasePlatform.java:1669)
         at oracle.toplink.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:649)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:517)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:467)
         at oracle.toplink.threetier.ServerSession.executeCall(ServerSession.java:447)
         at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193)
         at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:179)
         at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:250)
         at oracle.toplink.internal.queryframework.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:583)
         at oracle.toplink.queryframework.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:467)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:874)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:674)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:835)
         at oracle.toplink.queryframework.ReadAllQuery.execute(ReadAllQuery.java:445)
         at oracle.toplink.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2260)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1074)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1058)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1032)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:945)
         at de.virtual7.crmTL.model.crmFacadeBean.findUserByStatus(crmFacadeBean.java:720)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:126)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:114)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
         at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:15)
         at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
         at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:30)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
         at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:126)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:114)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
         at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
         at $Proxy90.findUserByStatus(Unknown Source)
         at de.virtual7.crmTL.model.crmFacade_etlagg_crmFacadeLocalImpl.findUserByStatus(crmFacade_etlagg_crmFacadeLocalImpl.java:838)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at oracle.adf.model.binding.DCInvokeMethod.invokeMethod(DCInvokeMethod.java:563)
         at oracle.adf.model.binding.DCDataControl.invokeMethod(DCDataControl.java:2119)
         at oracle.adf.model.bc4j.DCJboDataControl.invokeMethod(DCJboDataControl.java:2929)
         at oracle.adf.model.bean.DCBeanDataControl.invokeMethod(DCBeanDataControl.java:396)
         at oracle.adf.model.binding.DCInvokeMethod.callMethod(DCInvokeMethod.java:258)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1441)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2126)
         at oracle.adf.model.bean.DCBeanDataControl.invokeOperation(DCBeanDataControl.java:414)
         at oracle.adf.model.adapter.AdapterDCService.invokeOperation(AdapterDCService.java:311)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:697)
         at oracle.adf.model.binding.DCInvokeAction.refreshInternal(DCInvokeAction.java:46)
         at oracle.adf.model.binding.DCInvokeAction.refresh(DCInvokeAction.java:32)
         at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:2970)
         at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2639)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareModel(PageLifecycleImpl.java:110)
         at oracle.adf.controller.faces.lifecycle.FacesPageLifecycle.prepareModel(FacesPageLifecycle.java:77)
         at oracle.adf.controller.v2.lifecycle.Lifecycle$2.execute(Lifecycle.java:135)
         at oracle.adfinternal.controller.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:190)
         at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.mav$executePhase(ADFPhaseListener.java:19)
         at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$PhaseInvokerImpl.startPageLifecycle(ADFPhaseListener.java:229)
         at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$1.after(ADFPhaseListener.java:265)
         at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:69)
         at oracle.adfinternal.controller.faces.lifecycle.ADFLifecyclePhaseListener.afterPhase(ADFLifecyclePhaseListener.java:51)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:354)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:175)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:181)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:279)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:239)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:196)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:139)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.security.jps.wls.JpsWlsFilter$1.run(JpsWlsFilter.java:85)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:257)
         at oracle.security.jps.wls.JpsWlsSubjectResolver.runJaasMode(JpsWlsSubjectResolver.java:250)
         at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:100)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:65)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(Unknown Source)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    07.09.2009 11:50:16 oracle.adf.controller.faces.lifecycle.FacesPageLifecycle addMessage
    WARNUNG: ADFc: EJB Exception: : Lokaler Exception Stack:
    Exception [TOPLINK-4002] (Oracle TopLink - 11g (11.1.1.0.1) (Build 081030)): oracle.toplink.exceptions.DatabaseException
    Interne Exception: java.sql.SQLException: Ungültiger Spaltentyp
    Fehlercode:17004
    Aufruf:Select * from User where title in(?title)
         bind => [[Doctor,Bachelor]]Does anyone know a way how to pass a list of parameters
    Thanks Bodhy

    Hi,
    One alternative way is to create String with , sepearted as pass the string to in clause.For example ,create a string ('Bachelor','Doctor') and pass this string to in clause.
    Session session = getSessionFactory().acquireSession();
    String params=( 'Bachelor','Doctor);
    List<User> result = (List<User>)session.executeQuery("findUserByStatus", User.class, params);
    session.release();
    This is an alternative way and workaround which can work for Strings .
    Or you can use EXpression to build the query to pass the collection as example given below.
    Expression addressExpression;
    ReadObjectQuery query = new ReadObjectQuery(Employee.class);
    ExpressionBuilder emp = query.getExpressionBuilder();
    addressExpression =
    emp.get("address").get("city").equal(
    emp.getParameter("employee").get("address").get("city"));
    query.setName("findByCity");
    query.setSelectionCriteria(addressExpression);
    query.addArgument("employee");
    Vector v = new Vector();
    v.addElement(employee);
    Employee e = (Employee) session.executeQuery(query, v);
    Hope this helps.
    Regards,
    Vinay Kumar

  • Callback mechanism is not working in Javascript

    JDK versions: Problem occurs in JRE1.4.2 and JRE1.5 (JRE142_05, 5.0 beta), but NOT JRE1.3.1.
    OS: WIndows
    Here is the problem Scenario
    1. A Webpage ( GOM - Javascript ) is running
    2. Clicking on a button in the above webpage will load an applet ( enc3 )
    3. Once we are done with the applet, click on return button to go back to GOM
    4. To return to GOM, function performMiniflowReturnWithMessage in the java file is called which in turn calls "this.getAppletContext().showDocument(new URL(miniFlowClosePage.toString()),"_top");".
    Subsequently function closeMiniflowWindow() is called in the HTML page which in turn calls sendREsultsToGOM.
    Here the call to ""opener."+returnStatusMethodName+"(status, msg, data);";" is throwing a javascript error in Sun plugin.
    Exact text of error message:
    The exact error message is ( JavaScript Error: http://nc3ft3a.ugd.att.com/enc3home/closeminiflowapplet.html??Callback=NC3_alertOnError&Status=-1&Msg=Neither E2EPVC_ODBIDS or ROUTER_ODBID Params was not sent to VPN applet.&, line 44: opener.NC3_alertOnError is not a function )
    Here are our findings :
    1. I could notice that "getAppletContext().showDocument" is one java api that customer is using and this is being called before application encounters problem reported that is the javascript error
    2. showDocument API's functionality is that it requests that the browser or applet viewer show the Web page indicated by the url argument. This API has 2 parameters one is URL and other is the TARGET.
    Target can be any one these
    a. "_self" show in the current frame
    b. "_parent"show in the parent frame
    c. "_top" show in the topmost frame
    d. "_blank" show in a new unnamed top-level windownameshow in a new top-level window named name
    3. In the customer's application, for this API showdocument, URL argument passed is "enc3home/closeminiflowapplet.html?" and _top is passed as Target argument. Hence, the expected behaviour is that topmost frame of this URL that is GOM should be shown instead the above javascript error is thrown. The probable cause could be that instead of getting the link to GOM ( topmost window of enc3 ),  application is getting link to enc3 itself.
    4. Actually this.getAppletContext() as used in the application along with showDocument sun.plugin.viewer.context.NetscapeAppletContext. Therefore NetscapeAppletContext.showDocument is called within the application.
    5. NetscapeAppletContext extends DefaultPluginAppletContext and the showDocument method of this class is called. This function inturn calls doShowDocument. I suspect these functions and this needs to be investigated.
    Also please note that the classes NetscapeAppletContext and DefaultPluginAppletContext are not there in 131 and customer says that problem is not there in 131. Also, the this.getAppletContext will return sun.plugin.navig.win32.AppletPluginContext.
    Application source code is available.

    in this part:
    if(document.LForm.uname.value==null || document.LForm.upassword.value==null)should be:
    if(document.LForm.uname.value=="" || document.LForm.upassword.value=="")or
    if(document.LForm.uname.value.length==0 || document.LForm.upassword.value.length==0)

  • Error in Bex Analyzer including the filter button command in Callback macro

    Hello,
    I have the following problem with the function filter button in the Bex Analyzer included in the callback macro:
    Because of using 2 hierarchies in the filter the setting drill down to level 2 in the query gives no right output in the Bex Analyzer. The drill down level 2 is not shown. SAP recommends the include of a filter button to solve this problem. With a filter button in the sheet the problem was solved.
    But after including the filter button command in the callback macro I get an error in MS Excel.
    The callback macro starts, the filter was set by the user and the data was refreshed. Because of the refreshing of the filter the callback function the callback function starts several times. After setting the filter the first time, the following macro avoids the several starting of the set filter function:
    Sub CallBack(ParamArray varname())
    On Error GoTo err_handler
       Dim lRange As Range
       Set lRange = varname(1)
    'Filter entfernend/delete filter
    Dim ZeichenFilter As Long
    ZeichenFilter = Len(Sheet4.Cells(41, 3).Value)
    Dim Filter1 As String, Filter2 As String
    Filter1 = Left(Sheet4.Cells(28, 3), ZeichenFilter)
    Filter2 = Left(Sheet4.Cells(41, 3).Value, ZeichenFilter)
    If Filter1 <> Filter2 And Filter2 <> "" Then
        onAction = True
        onAction = False
    End If
    'Filter setzen mit einmaligem durchlaufen/set filter and run one time
    If onAction = False Then
        onAction = True
        Call Sheet4.BUTTON_55_Click
        onAction = False
    End If
    exit_handler:
        Exit Sub
    err_handler:
        MsgBox Err.Description, vbOKOnly, "Error in " & " setMusterSub"
        Resume exit_handler
    End Sub
    After the filter was set the callback macro starts the second time. Then the Bex Analyzer erros with the sandglass. The working on VBA is possible, but not the working with Bex Analyer . Values in Excel weren’t shown.
    How can I avoid this error?

    Once I am adding VAR_VALUE_1 to the static parameters, the system generates two messages error:
    Program error in class SAPMSSY1 method : UNCAUGHT_EXCEPTION
    System error in program SAPLRRS2 and form GET_SID-1
    Best Regards,
    Hanit

  • Invoking ODI scenario from BPEL using Asynchronous callbacks

    It has been given in many sites that for invoking an odi scenario, odi-public-ws.aar must be uploaded to AXIS2 framework as the web service uses AXIS2 as the web service container. For doing this first the AXIS2 should be deployed in OC4J.
    I am working with a scenario like this. I didnt deploy AXIS2 and neither uploaded the odi-public-ws.aar. Still i am getting the result as success. BPEL is invoking the ODI scenario and callback is happening too.
    I, also tried invoking ODI scenario in a remote system. Got the result for that too. I am using ODI 10.1.3.4 and J-Dev 10.1.3.3 and SOA suite 10.1.3.1.
    Can anyone suggest how without AXIS2 framework the process is success?

    Hi,
    Thanks its working now. I am facing another issue. I do not use parameters in my Scenario. Now when i run my scenario i m getting the following error. I think its because i have not assigned anything to the Variable element. I guess its taking null value for Variable element here and cheking if such a variable exists. Have you come accross such an issue? If so, please sugest remedy.
    java.lang.Exception: Specified variable not found in the Repository : null
         at com.sunopsis.dwg.dbobj.SnpSession.a(SnpSession.java)
         at com.sunopsis.dwg.dbobj.SnpSession.y(SnpSession.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSessionPreTrt(SnpSession.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.h.y(h.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Thread.java:619)
    Edited by: silas.john on May 13, 2009 1:29 AM

  • Problem with register event callback in use of instrument control

    now, i use the register event callback to register a value change of a boolean control on the front panel, and wire the cluster's ref of the instrument control parameters to the user parameter input, then create the callback vi. In the callback vi, i select the pump-control subvi, and pass the user parameter to the subvi. The problem is that,  when i press the boolean control, the instrument (here is pump) can act, but immediately, the code crashes.
    I use labview 8.6
    Attachments:
    callback vi.png ‏8 KB
    register event callback.png ‏8 KB

    You would wire the event registration wire that comes out of the Register for Events node into an event structure.  You will need to right click on the event structure and check off "Show Dynamic Event Terminals" and it into that.  Then you can create a new Event Case that uses the dynamic event.  You can place your subVI in that event in whatever way you want.  (Just drop the subVI in or do a Call by Reference there, or whatever.)  Look in the Example Finder for "Dynamically Register for Events.vi".

  • How to get the name of a duplicated control or created control and add a callback to it

    Hi All,
    Depending on how many input points I need, I am duplicating a numeric or string input with the DuplicateCtrl function. My question is, how do I get the name and id of the control that was just created, and how can i assign a callback to it? Alternately, would it be better to create a fresh ctrl instead of duplicating?
    Thanks in advance!
    Solved!
    Go to Solution.

    Hi TurboMetrologist,
    why are you trying to get the control constant name? Keep in mind that you cannot use that name to address the control; control names are actually simply macros in the include file associated to the UIR, that is, the compiler preprocesses the code and wherever it finds PANEL_CONTROL names substitutes the corresponding numeric value as parameters to the functions (and consequently 'control' parameter is an int and not a char*)
    That is why NewCtrl () or DuplicateCtrl () functions return a control ID: it is the handle to the new object, our only way to manipulate it. You will need to store this handle into a non-volatile memory so that you can access it durng program life.
    Additionally, there are other ways to assign some particular meaning to a control than swiching on the control constant name. You could for example use the callbackData parameter to differentiate between different copies of a control.
    Let me explain with an example. You told that you need several inputs (dynamically created as you don't know in advance how many of them to use); a clean solution could be to:
    Design a master copy of one control in the UIR editor, where it is easy to customize it; assign also a callback function, if it has to be common to all copies of the control
    Programmatically assign a callbackData value to that control, e.g. SetCtrlAttribute (..., ..., ATTR_CALLBACK_DATA, (void *)1);
    Duplicate the control and then assign a different callbackData
    for (i = 2; i < 5; i++) {
       handle = DuplicateCtrl (...);
       SetCtrlAttribute (..., handle, ATTR_CALLBACK_DATA, (void *)i);
    By operating this way, every time the control callback is fired by any control it will receive the assigned callbackData, and you will be able to differentiate your code by a simple switch:
    switch ((int)callbackData) {
       case 1:    // The master control
          break;
       case 2:    // The first duplicated control
          break;
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Event Handler with parameters

    I am to create a generic event handler ro process XML
    returned from the server. Its name is this code is "loadFormData".
    Here is my code:
    var params:Object = new Object();
    params.requesttype = 'send';
    params.datarequest = 'xml';
    params.methodexecute = 'mProcessFileRequest';
    params.formname = "FileIdAction";
    params.fileid = parentApplication.cboFileList.id;
    var t:loadFileData = new loadFileData();
    xmlModuleData.addEventListener(ResultEvent.RESULT,
    t.loadFormData(ResultEvent, frmGeneral));
    var r:runXML = new runXML();
    r.getXMLData(xmlModuleData, params);
    It would work if I dont send any parameters to
    t.loadFormData. But then it is not a generic solution. Is it
    possible to send parameters to a callback function?
    Thanks

    Thanks Charlie
    Liao
    and congrats to all :-)
    * Charlie,
    is there a new "Auto Spam Filter"?
    [Personal Site] [Blog] [Facebook]

Maybe you are looking for

  • OBIEE 11g - Refresh/Load Issue

    Hi All.. I have an Year Prompt in my Dashboard Pages for which I use repository variable from initialization block to show current year as default. At times when we navigate from one page to other page, we see an error that Variable doesn't have valu

  • Weblogic Server 6.1 Installation

    Im getting the following Exception when tried to start the weblogic 6.1 server in Linux machine. $$$$$$$$$$$$$$$$ License Exception $$$$$$$$$$$$$$$$ Unable to start WebLogic Server !! Missing license file for: WebLogic Server 6.1 $$$$$$$$$$$$$$$$ Lic

  • SOAP and JWSDP 1.6

    I am exploring the new java web services developer pack and i am wondering if it still uses SOAP? SOAP has some obvious security issues as it can cloak data due to the fact that it uses http which will not be filtered by firewalls and the like. Which

  • Outgoing Payment - Pay-To Name

    Hi Everybody, I need to write out a check to a Pay To Name that is different than the Vendor Name.  I have changed the Logistics tab to reflect the correct Pay To.  However, when I print out the check, it shows the correct pay to address but the inco

  • T400 maximum H

    Hi! I;ve been trying to search and cant seem to find any. I am out of disk space... (mostly because I had my first born join the family recently and videos and pictures take up a lot of my data.) It seems the maximum that the laptop will see is 320gb