Logging step results question

I'm using the sequential process model which includes database logging. I've modified the database schema and I am using my own insert statement. I'm trying to use the step results logging feature. I have 2 questions\issues I need help on:
First Issue:
I've created an insert statement and specified it to apply to a step result. When I look at my database results table, it appears that I get an extra entry in addition to my step results. I've disabled logging on all steps in my mainsequence except for 1 step so I know I should only see 1 database entry, however I see 2 entries. Even if I disable logging on all steps, I still get a single database entry when in fact I should see nothing. This is strange.
Second Issue:
In the above sql statement I retrieve my step results for each field this way:
Logging.MainSequenceResults.TS.SequenceCall.ResultList[0].CurrentFilepath
Logging.MainSequenceResults.TS.SequenceCall.ResultList[0].VoltageFilepath
Logging.MainSequenceResults.TS.SequenceCall.ResultList[0].VoltageMode
Logging.MainSequenceResults.TS.SequenceCall.ResultList[0].VoltageValue
Logging.MainSequenceResults.TS.SequenceCall.ResultList[0].ResistorValue
However, this is not flexible because if I change the location of the step, then the index will change. Also, if I need to loop on this step it will have the same problem. Is there a way to get this data in a more generic way?
Michael Aivaliotis
VI Shots LLC

Well, I solved my other issue as well.
I ended up using:
Logging.StepResult.VariableName
This seems to do it!
Michael Aivaliotis
VI Shots LLC

Similar Messages

  • Logging Step results to different fields in adatabase

    Hi guys, would be great if you can help me out on this one:
    Imagine if I have 3 string test steps within a sequence, and I want to log the result of each of these steps in a different field (coulmn), what should I do?
    The main difficulty here is how to access the result of the steps individually, i.e, what parameter are they hidden under?
    I have been accessing the parameter: "Logging.StepResult.String", but this gives me result from all three steps at once, and I can only store the 3 results as different record in the same column.
    Thanks in advance!  

    Hi jack@nz,
    Are you using custom database steps in your sequence or process model to pull this information into the database or are you going to Configure»Database Options?  If you are doing the first method, could you send a screenshot of your sequence or the sequence file itself?  If you are doing the second option, are you customizing a schema, and if so, which one?
    Cheers,
    Kelly
    Cheers,
    Kelly R.
    Applications Engineer
    National Instruments

  • Getting Step Results into Labview

    Hi,
    I'm having what seems to be an easy problem but one which I cannot figure out quickly.
    I'm trying to do the following. I am trying to do some custom logging to a specific format for my Teststand results. I'd basically like to pass the Results parameters of each step into Labview Code where I will process there. To make it more user friendly I have created a Callback for SequenceFilePostResultListEntry. What I don't exactly know how to do is get the Results from the current step into LabVIEW
    At first I used the SequenceContext.PreviousStep but that did not give me what I needed. Hopefully I'm clear in what I am asking.
    Thanks for the help,
    Patrick

    Hi Patrick,
    Are you having trouble doing this with a LabVIEW Adapter Action Step?  If you are trying to pass specific run-time values to your LabVIEW VI, you will be able to find them by setting breakpoints and looking at the available variables.  
    For example, in your SequenceFilePostResultListEntry callback, if you wanted to use the test's Status result as an input to your LabVIEW Adapter Action Step, you could use the expression RunState.Caller.Step.Result.Status as the value you pass.
    Please let me know whether this answers your question.
    Warm Regards,
    Daniel D.
    National Instruments
    Automated Test Software R&D

  • Logging step parameters to database

    I need to port some code from our in-house testexecutive to TestStand. The old testexecutive gives the parameters as Array of doubles to the measurement module witten in C. To port that code, I will create a custom teststep with a additonal container named Parameters as step property for each measurement module. Each parameter will be a number subproperty in that container and will be loaded with the property loader with values for a single teststep.
    That works fine so far.
    Since the parameters may change from time to time, we want to log them also in the result database (Access).
    SoI want to create a additional table named STEP_PARAMETER in the result database schema with the following members :
    CREATE TABLE STEP_PARAMETER
    ID
    COUNTER CONSTRAINT STEP_PARAMETER_CONSTRAINT PRIMARY KEY,
    STEP_RESULT INTEGER NOT NULL,
    PARAMETER_NAME TEXT,
    PARAMETER_VALUE DOUBLE,
    CONSTRAINT STEP_PARAMETER_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)
    and add a substep to the steptype which loops over all subproperties of the Parameters Container to save name and value of that subproperty.
    However I've found some problems with that design:
    To write a generic substep I have to loop over all subproperties of the container without knowing number and names before. How to realize that in TestStand.
    And how do I realize a database access in detail. Do I have to open the result database myself. Or are there some ready to use database handles for the result database available in TestStand. And how do I get the get the reference key ( The ID of the step result record for that test step) ?

    Hi Markus,
    I know exactly what you are talking about. I found myself in a similar situation. I have several devices associated with a test, the number of devices is different from time to time and I needed to store that in the database. One idea was to write my own step that would write this device list to the database but I couldn't get the id from access.
    I finally figured out a way to do this. Follow this link to read the entry:
    http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=135&HOID=506500000008000000AF560000&UCATEGORY_0=_8_&UCATEGORY_S=0
    There is a difference between what I'm doing and what you will need to do. My array was per UUT, you array is per step is I understand correctly and this my complicate things.
    Hopefull
    y this can help you get started and give you some ideas. If I think on something else, I will let you know. Anyone out there has another idea?
    Marcela.

  • Negate Boolean for Step.result.passfail

    Ok, I'm looking for why TestStand is doing what I did not expect.
    The first passes "Fail" to "!Step.result.PassFail" and  uses a data source of "Step.result.PassFail" this step always Regardless of the value of "Fail"
    The second passes "Fail" to "Step.result.PassFail" and uses a data source of "!Step.result.PassFail" and operates as I intended. (Fails if Fail is True).
    A brief search yeilded the "Don't do that... negate in code" answers to the old "how to Negate Boolean for Step.result.passfail?" question. But this does not explain the unexpected behavior and I'd really like to understand whats really happening here.
    Attached is a simple example that demos the behavior  using dialog express vis
    Jeff
    Attachments:
    Funny.seq ‏24 KB

    "!Bool" equals "!bool", as long as you make no case sensitive string compare
    Ok, the trick is understanding expressions.
    Play a little game with me please. Here are the steps to follow:
    1. Open your sequence file Funny.seq. Select step one.
    2. In code module tab, select the parameter Error Out value. Current content is "Step.Result.Error". Open the expression editor.
    3. In the expression, type "ABC" (including quotation marks). Press "Evaluate". You will see that the expression must either
    3. a) point to a container or
    3. b) be a container itself.
    4. Close the dialogs (cancel expression edit dialog) and open on for the parameter Fail (current value "Step.Result.PassFail"). Open the expression editor.
    5. Again, type "ABC" in the expression. Evaluate it again.  You will see that the expression must either
    5. a) point to a boolean or
    5. b) be a boolean itself.
    What do we learn from this steps?
    "Step.Result.PassFail" is the lookup string for a boolean variable. So the evaluation results in a pointer to a boolean.
    "!Step.Result.PassFail" is the negation of a boolean variable. Evaluation will therefore fetch the value of the lookup string (type: boolean) and then negate it. So the result will be a boolean value, but it does not point to the variable "Step.Result.PassFail" anymore! Since the result is boolean, the expression passes evaluation.
    That is the reason why "!Step.Result.PassFail" as parameter will NEVER pass the boolean return value of the VI to the TestStand dataset (aka execution).
    Let's proceed:
    6. Move to step two. Switch to tab "Data Source". Open the expression editor for the data source expression.
    7. Again, type "ABC" in the expression. Evaluate it again.  You will see that the expression must either
    7. a) point to a boolean or
    7. b) be a boolean itself.
    So, catch up: We have the same issue here as step 5! We are not referring to any variable anymore once the expression gets evaluated!
    So why does it work as desired nevertheless?
    I gave the explanation in my previous post:
    Norbert_B wrote:
    The reason why your negation in the data source works is the status expression:
    Step.DataSource !="Step.Result.PassFail"? Step.Result.PassFail = Evaluate(Step.DataSource):False, Step.Result.PassFail ?"Passed":"Failed"
    As you can see, your expression does NOT equal "Step.Result.PassFail". Hence your negated value of this variable is evaluated as stated in the case-select part (Step.Result.PassFail = Evaluate(Step.DataSource)). This evaluation results in your negated value. Next, the Result is set to either "Passed" (evaluated to True) or "Failed (evaluated to False).
    You make a STRING compare in the first part of the status expression. YOUR data source DOES NOT MATCH the expected string.
    So in the TRUE case, you evaluate your new data source and write the result back to Step.Result.PassFail. So essentially, this step (in your case) simply negates the content of Step.Result.PassFail! Next expression will query the boolean value of Step.Result.PassFail and write either "Passed" or "Failed" into the Step.Result.Status....
    hope this is now more clear,
    Norbert
    EDIT: The only weird thing is, that in the first step during execution TS does not create a warning (or error) because you assign a return value of the module to a "True" (boolean value).
    One thing you can also do to increase understanding about the "issue": Simply write "True" or "False" (without quotation marks!) into the expression field "Value" for the boolean return value of the VI.....
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • By default, Teststand will not include the test step result in subsequence, is there any way to include these step result in report?

    By default, Teststand will not include the test step result in subsequence, is there any way to include these step results in report?
    Thanks
    Jacky

    Hi,
    If your subsequence is in a separate sequencefile, then check the properties of the sequencefile to make sure that the record has not been disabled.
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • How can i write to the Step.Result.ReportText of a Sequence callback?

    i need to write to the Step.Result.ReportText and step.Result.Status of a sequence callback using a statement but it jus won't work...how can i do this?....

    I am not sure what you are asking but will give it a shot.
    Only a step has Step.Result.ReportText and Step.Result.Status properties. Therefore you cannot set these properties for a sequence callback. For certain callbacks that are called by a sequence call step, you can set Step.Result.ReportText and Step.Result.Status of the Sequence Call step that called the callback. To do this you can set Runstate.Caller.Step.Result.ReportText and Runstate.Caller.Step.Result.Status within the callback.
    If this does not help you then you must provide information as to which callback you are using and for what step you want to set the Step.Result.ReportText and Step.Result.Status properties

  • Step results not appearing in report

    Hello. New to TestStand. I've creted a String Value Test that compares the UUT Serial number using RunState.Root.Locals.UUT.SerialNumber. However, when the report is generated I see no step results. This is only happening with this sequence and not with any of the tutorials. Can anybody point me in the right direction for this. Thanks.
    Solved!
    Go to Solution.

    Here is the sequence file and the LabView vi I'm using.
    Attachments:
    Serial Content.seq ‏7 KB
    String Value Test.vi ‏14 KB

  • 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

  • Output on LabVIEW the TestStand step results

    Hi,
    I'm building on LabVIEW 8.5 a simple TestStand User Interface.
    My sequences return some values but I don't know how to output them on LabVIEW.
    I was thinking of a table to store the results.
    Any hints on how I'm able to do so?
    I apreciate all the help.
    Thanks in advance.
    Regards,
    Daniel Coelho
    Daniel Coelho
    VISToolkit - http://www.vistoolkit.com - Your Real Virtual Instrument Solution
    Controlar - Electronica Industrial e Sistemas, Lda

    Use the TesStand ExecutionView Manager available in the TestStand tool pallet of LabVIEW and the Execution View. Then when you call our test code (dll, LabVIEW, CVI or what ever) and the return values are returned to the step.Result container based on the type of step. The ExecutionView Manager will automatically display the return value in the Execution View indicator on front panel, if it is a string, a number or a Boolean or etc.
    Look at "C:\Program Files\National Instruments\TestStand 4.1\UserInterfaces\Simple\LabVIEW" as a starting point.
    Notice that there is not any code that reads the return value from the test steps and displays it. The TestStand Engine automatically does it for you. Using the ExecutionView Manager and the Execution View, your LabVIEW user interface will not know when a test step is run or what the return values are without setting up events to trap UI messages from the TestStand Engine.
    If all you need is to see the return value and results this is the way to go.
    Omar 

  • RE: Big Log Files resulting in Out Of Memory of serverpartition

    To clean a log on nt, you can open it with notepad, select all and delte, add a space ans save as... with the same file name
    on unix, you can just redirect the standard input to the file name (e.g.:
    # > forte_ex_2390.log
    (Should work with nt but i never tried)
    Hope that will help
    De : Vincent R Figari
    Date : lundi 30 mars 1998 21:42
    A : [email protected]
    Objet : Big Log Files resulting in Out Of Memory of server partition
    Hi Forte users,
    Using the Component/View Log from EConsole on a server partition triggers
    an
    Out-Of Memory of the server partition when the log file is too big (a few
    Mb).
    Does anyone know how to change the log file name or clean the log file of
    a server partition running interpreted with Forte 2.0H16 ???
    Any help welcome,
    Thanks,
    Vincent Figari
    You don't need to buy Internet access to use free Internet e-mail.
    Get completely free e-mail from Juno at http://www.juno.com
    Or call Juno at (800) 654-JUNO [654-5866]

    So try treating your development box like a production box for a day and see if the problem manifests itself.
    Do a load test and simulate massive numbers of changes on your development box.
    Are there any OS differences between production and development?
    How long does it take to exhaust the memory?
    Does it just add new jsp files, or can it also replace old ones?

  • TestStand 3.5 is not reporting step results for under three steps

    Is there a minimum number of steps that need to return results from a called sequence in order for them to be reported?
    Here a description of my problem:
        My main test code calls a sequence file that contains a varying number of test steps in the Main section of the sequence file.  There are also some Setup and Cleanup steps that do not return results to the main test code.  When my number of test steps is at least three, everything works fine and all test step's results appear in the report.  When my number of test steps is less than three, no results are shown in the report.  In addition, if I record results of a miscellaneous step in the Cleanup section and have two test steps in the Main section (so a total of three steps returning results to the main test code) then the results appear in the report.
        I verified that this was not particular to my piece of code by creating two new sequence files: one with three steps (Test 1, Test 2, Test 3), and one that calls the first.  When at least three steps are present, the results of each step are recorded, but when I erase Test 3, nothing is reported.
    Any help would be appreciated!

    Hi,
    Please find attached an updated report sequence file.
    The problem was because you had skipped the Sequence Name steps. This adds two extra lines to the report. Therefore in the precondition of 'Remove Empty Sequence Results' step, the expression was still deducting these two lines, which longer exist in the report. Hence the reason why you were lossing the step results in the Sequence.
    I have removed the -2 from the expression.
    Hope this explains everything for you.
    Regards
    Ray
    Regards
    Ray Farmer
    Attachments:
    reportgen_txt.seq ‏159 KB

  • The Step Result element in the DITA tasks

    While creating a task in DITA, the Steps element contains Step > Step Result element. If I insert the Step Result element, the text "Step Result:" is also displayed in my published output. I would like to use the Step Result tag, but I do not want to see the Step Result text being displayed in my output. I have gone through the style guides, edds, dtds, but don't know where the text is coming from. Please help.

    Hi ScottPrentice,
    Thanks very much for the response. I followed your instructions, but no luck so far. Here's what I did:
    1. Opened my task document > View > Reference pages. I could not locate Step Result referenced frame there.
    2. Locate the template for this structured application - The template is Task.template. The template file is blank, so I opened the corresponding edd file: Task.edd
    3. The First Format Rules and Text format Rules for the Step Result element are as follows:
    First Paragraph Rules:
    If Context is Step, use Step.result.begin
    else use substep.result.begin
    Text Format Rules:
    If Context is Step, use paragraph format Step.result.begin
    4. The Step.paragraph.begin paragraph style is being used here. You asked me to change the referenced file to none, but I did not find such syntax where I can make it none.
    The easiest way to determine the right tag to edit is by checking the paragraph definition in the task topic you're editing.
    The paragraph definition is step.result.begin. Could you please help me edit and remove the step result text from it?

  • Missing "Step Result Property" when configure multiple numeric limit database statement

    In the NI article "Creating a TestStand Database Schema from Scratch" (http://www.ni.com/white-paper/6484/en/), it mentioned option "Apply To: Step Result Property" for statement "MEAS_NUMERIC_LIMIT". But I could not find "Step Result Property" in TestStand 4.2.1 as shown below:
    Is there a workaround for this issue?
    Thanks

    Step Result is for operating on the step result itself if the required criteria is met, so this can occurs only once per step result. Property Result is evaluated on all subproperties of the step result and is processed if the required criteria is met, so this could occur more than once per step result.
    Scott Richardson
    National Instruments

  • OWSM: How to use log step

    Hi,
    I want to make use of the LOG step in the policy to write whatever happened in the request and response pipelines. but inclusion of the log step makes no difference. i want to know whether this is possible or not.
    If anyone has some tutorials for how to use log step pl send me.
    Thanks in advance.
    Regards,
    Abhi...

    Hi!
    If i just make a little example and add the logstep before and after for example a xmlencrypt-policy-step, and log the whole payload..everything works fine overhere.
    If i go to the Operational Management>Overall Statistics>Message Logs and can see every step inwhich it got called (the log policy step)

Maybe you are looking for

  • How to get the full path instead of just the file name, in �FileChooser� ?

    In the FileChooserDemo example : In the statement : log.append("Saving: " + file.getName() + "." + newline); �file.getName()� returns the �file name�. My question is : How to get the full path instead of just the file name, e.g. C:/xdirectory/ydirect

  • Relational queries through JDBC with the help of Kodo's metadata for O/R mapping

    Due to JDOQL's limitations (inability to express joins, when relationships are not modeled as object references), I find myself needing to drop down to expressing some queries in SQL through JDBC. However, I still want my Java code to remain independ

  • Adaptive Firewall & afctl

    is the adaptive firewall working in 10.6 Server? i can't get it to auto block an IP after numerous failed attempts like 10.5 Server does.

  • Partitions/subpartitions

    Hey, - the standard configuration of Oracle: RAC 10gR2 on Unix, ASM, SAN; - an OLTP on-line telecom/phone purchasing/ordering DB system; - a big table of telecom/phone ordering/purchasing details (the hundreds of millions of rows ), composite partiti

  • Trying to install Adobe CS 5.5

    I searched the forum for an answer but didn't have any luck.  Perhaps I'll get find an answer here. Bought Adobe CS 5.5 Master Collection (full) from a friend who said it was number 5 of 5 of his multi license product.  Disks (3) are NOT copies and a