Sort sequences in a sequence file

I just copied a bunch of sequences from different files into a common sequence file. I think there were multiple versions of some of the sequences, but sonce there's such a long list of them now, it's difficult to compare. If I could sort the sequences then the similar ones would all bunch together, and I could then decide which ones to keep.
Does anyone know of a way to sort the sequences in a sequence file in TestStand 2.0.1 or eralier?
Thanks in advance for eny help you can provide

Hello,
If your sequence file has a large number of sequences, the best way to rearrange the sequences is to build an application which does it using the TestStand ActiveX API. Here is an outline of something you could try. First, you can get a reference to your sequence file using the GetSequenceFileEx method of the TestStand Engine. From here you can get a reference to each sequence in your sequence file using the GetSequence method. Once you have a reference to each sequence in your sequence file, you can use the Name property to get the sequence name. Once you have the name you could order the sequences and then insert them into your sequence file using the InsertSequenceEx method.
This should get you started with building your application which rearranges the sequences in your sequence file. Also, there is good documentation on the TestStand ActiveX API for TestStand 2.0.1 in the TestStand Programmers Help. This can be found by going to Help >> TestStand Programmers Help. I hope that this information is helpful to you.
Regards,
Kevin L.

Similar Messages

  • How do I make Step Types in the Type palette be "master" versions which all sequence files on a particular should use? (since this only seems to "half work")

    The situation I would like is to have a library of step types which sequence developers can use. Therefore if new step types need to be added, or existing ones modified - all that needs to be done is to roll out a new MyTypes.ini (for example), and the code modules/substeps.
    Scenarios:
    If I create types in MyTypes.ini (make sure "Attach to this file" is checked, so they get saved here). I can then create a sequence file using these step types. No problem so far.
    I can open the type palette, modify the step properties, and save. When I go back to my sequence file an asterisk appears (saying it needs to be saved, even if I have opened it from scratch). The properties have been updated to reflect what is in the Type Palette. Still no problem (Type versions are the same in the sequence file and type palette).
    This is where the problem appears:
    If I change a step type (in the Type Palette) from using a code module to using a Post-Step substep instead (changing the module adaptor to "None") - any instances do NOT update when you open sequence files. (The same happens vice versa also).
    Please note that the "Type version" listed in the sequence file DOES match that listed in the Type Palette - the properties are the same but the manner in which the code modules are called is DIFFERENT! This then can lead to to runtime errors if the old code module has been deleted for example.
    The only way around this is to open EVERY sequence file that contains an instance of the step type, and make sure that you have "Apply changes to all loaded instances of this type" checked in the step type properties dialog. This is is not a good solution since files could be missed, and is very time consuming if you have hundreds of sequence files!
    What I need is that the Type Palette on any particular station contains the MASTER copies of each type. These are loaded whenever a sequence file is loaded and NOT retreived from the sequence file. As discussed above this seems to work when you modify properties - but doesnt work fine if you change the way in which code modules are called.
    Am I doing something wrong or is this a limitation?

    I had a system recently containing seven sequence files, approx 20 subsequences in each, and around 10-20 steps in each sub-sequence. Every step (except for the NI non-code module types) was an instance of a step type.
    Each one of these steps had an Edit sub-step and a code module called through the code module adapter.
    In order to make these into "wrapped up" step types it was decided to move the code module to a Post-Step substep (as also done in the NI-IVI step types) - so that developers cannot fiddle with the code prototype or module.
    In order to do this I had to open all 7 of the sequence files, make the changes and then ensure that "Apply changes in this dialog to a loaded instances" was checked. This seems to sort of work, but some steps started causing Error 17502 (System Error) when you configure them (call the Edit substep). Over the course of the past few months I have had to effectively check every instance of a type to see if it works (deleting the step and replacing it when it doesnt). Other strange things happened like some of the step type instances now have the "None" (adapter) icon associated with them - but both still work.
    The idea of creating a type-def of a step type is a good one, but frustrating that it doesnt seem to fully work. Why should the sequence file also store a version of the step-type - which is what is effectively causing this problem - why not make it so that if you dont have the step types installed in the type palette - TOUGH! Message Edited by RichM on 03-15-2005 06:55 AM

  • How to display sequence file version in report?

    We would like to add the sequence file version number
    (Edit>>Sequence File Properties...) to our reports and record it
    in the test result database.  How do you access this property from
    a step in the sequence? 

    OR use RunState.SequenceFile.Data.Version.
    For the Report Header:
    In a ModifyReportHeader callback, add a statement step that has this expression:
    Parameters.ReportHeader += RunState.SequenceFile.Data.Version
    This will append the SequenceFile Version to the header string. You will probably want to play with placement and may decide to insert more than just the version.
    Also, note that the ModifyReportHeader callback is only called when a Sequence is used to generate the report body. See the bottom of the Content tab of the Report Options Dialog (Configure>>Report Options) for this setting.
    For Database Logging:
    If you haven’t done this before, you will need to customize the schema and the database to include this additional “result”. I recommend adding a column to the UUT_RESULT table for this sort of information. If you have taken the TestStand I: Introduction course, this process is covered in Lesson 11. Otherwise, there is background information in the TestStand Help and Chapter 6 of the TestStand Reference Manual. The key will be found in Configure>>Database Options.
    Regards,
    Eric

  • Polling for database updates fails to update sequence file/table

    I have a small system to poll for changes to a database table of student details. It consists of:
    Database adapter, which polls the database for changes, retreives a changed row, and passes the generated XML to -
    "receive" router service, which simply passes the retrieved database XML data to -
    "execute" router service, which transforms the XML and passes the new message to -
    File Adapter, which writes the transformed XML to a file.
    The problem is that the database polling is not updating the sequence recorder - I have tried using a sequence file which stores the personnumber, a sequence table which stores the personnumber and a sequence table which stores the last-updated timestamp. In all cases the database adapter successfully reads the sequence file/table and retreives the correct row, based on the sequence value ( I have tested this by manually changing the sequence value), the data is transformed and a correct xml file is created, but the system then fails to update the sequence file/table so that when the next polling time comes around the very same database row is extracted again and again and again.
    In the ESB control panel I have one error: "Response payload for operation "receive" is invalid!"
    The Trace is:
    oracle.tip.esb.server.common.exceptions.BusinessEventRejectionException: Response payload for operation "receive" is invalid! at oracle.tip.esb.server.service.EsbRouterSubscription.processEventResponse(Unknown Source) at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(Unknown Source) at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(Unknown Source) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(Unknown Source) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(Unknown Source) at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(Unknown Source) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(Unknown Source) at oracle.tip.esb.server.dispatch.BusinessEvent.raise(Unknown Source) at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(Unknown Source) at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.processMessage(Unknown Source) at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.onMessage(Unknown Source) at oracle.tip.adapter.fw.jca.messageinflow.MessageEndpointImpl.onMessage(MessageEndpointImpl.java:281) at oracle.tip.adapter.db.InboundWork.onMessageImpl(InboundWork.java:1381) at oracle.tip.adapter.db.InboundWork.onMessage(InboundWork.java:1291) at oracle.tip.adapter.db.InboundWork.transactionalUnit(InboundWork.java:1262) at oracle.tip.adapter.db.InboundWork.runOnce(InboundWork.java:501) at oracle.tip.adapter.db.InboundWork.run(InboundWork.java:401) at oracle.tip.adapter.db.inbound.InboundWorkWrapper.run(InboundWorkWrapper.java:43) at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242) at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215) at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:819) at java.lang.Thread.run(Thread.java:595)
    The payload is:
    <PersonCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/top/ISSSimIN">
    <Person>
    <name>Bob</name>
    <surname>Stupid</surname>
    <istatus>2</istatus>
    <active>Active</active>
    <personnumber>3001</personnumber>
    <role>Staff</role>
    <organization>TEX</organization>
    <updateTimestamp>2007-11-29T14:06:55.000+00:00</updateTimestamp>
    </Person>
    </PersonCollection>
    The payload above is the XML output from the Database adapter, the xsd for which was autogenerated by JDeveloper, so I don't understand how it can be invalid.
    I have only been working with ESB for 3 days, but half of that time has now been spent stuck on this issue. Anyone got any ideas??
    Richard

    You need to be careful. Submit and committing to the database are two different things.
    Submit on a page (and autoSubmit the property) are only posting the changes you typed into the field, back down to the application server. NOTHING is happening with the database at this point. So the applications's internal "cache" of records (using something like ADF BC) is holding the changes but the database doesn't know anything. So if you quit now, no changes will go to the database.
    These changes onlyget submitted down to the app server when you do some sort of action like press a button. Simply navigating fields will be doing nothing back to the app server. If you add autoSubmit then you will automatically submit the changes on that field down to the app server when you leave the field (but again, this is not touching the database)
    You have to explicitly add a COMMIT operation to save those changes to the database.
    Maybe if you try in a simple EMP example and send us your findings we can help direct you further.
    Regards
    Grant

  • Will saving a sequence file with modified variables work on all licensing levels of TestStand?

    I am thinking of enabling editing of test limits for a few steps via an operator interface mechanism of some sort (popup dialog box, etc.).
    If I make an API call to save the sequence file with the modified limits (as opposed to using the property export/import mechanism), will the call succeed if the end-customer has only a deployment license (no debug or dev)?
    For that matter, if I *were* to use the property export mechanism via an API call from the operator interface, would that call succeed regardless of the licensing level on the target machine?
    Thanks in advance...

    The deployment license will not allow you to save sequence files using the API.  It will generate an error.
    Allen P.
    NI

  • Recover corrupted sequence file

    help with recover sequence file corrupted.I change the value in a pre expression and the computer just reset.
    and the corrupted file message appears. I have a lot of locals, fileglobal and pre-expressions...
    Attachments:
    Vial1.seq ‏83 KB

    To trout00 -
    Typically if an action taken inside an application causes a computer reset, this suggests that the OS is hitting some sort of kernel level exception. The OS is not giving you a blue screen but instead it is set to auto reset.
    Right click on the My Computer icon on your desktop and select Properties. On the System Properties dialog box, take a look at the Startup and Recovery settings located on the Advanced tab.
    I suspect that some sort of event log will be registered in this case.
    Kernel level exceptions typically occur when hardware drivers or low level services error or have a bug. In the case of the sequence editor, none of its code is low level, so any error the program causes would just cause the applicati
    on to shutdown, not the OS.
    With this in mind, it suggests that you might have a hardware problem with the computer system.
    See if the event log gives you any additional information.
    Scott Richardson (NI)
    Scott Richardson
    National Instruments

  • Can we view line numbers next to each step in sequence file ?

    Hi,
        I have a sequence file having 600 steps. I would like to know is there any option in test stand to set line number for each step in sequence editor so that it will be helpful for review.
    Example:
    1 Action1
    2 Action2
    600 Action600 
    Regards,
    krishna 
    Solved!
    Go to Solution.

    Krishna,
    If you just want to know the index of a step, this information is displayed at the bottom of the sequence editor in the status bar.  It shows you how many steps there are in the sequence, how many you have selected, and the index(es) of the selected step(s).
    It is also possible to display this information in the steps view as a column if you are willing to create a new column.  Follow the instructions in this KB to see how to create a new column:Changing Columns Properties of the TestStand Sequence Editor Execution View Window.
    One of the types of colums is Index. Simply set your column to that type and you will see step indexes as shown below. 
    Message Edited by Josh W. on 07-01-2009 01:50 PM
    Message Edited by Josh W. on 07-01-2009 01:53 PM
    Josh W.
    Certified TestStand Architect
    Formerly blue

  • How can I restore FileGlobals in a Client Sequence File that is reloaded?

    Hi,
    I'm using TS2.0.1f1 and dynamic client files (search "DynamicClientModel" to see an example) in order to load different test sequences depending on what product should be tested.
    We do something like this,
    newseq = IEngine.GetSequenceFile(...)
    Execution.ClientFile = newseq
    Do testing
    IEngine.ReleaseSequenceFileEx(newseq)
    Goto
    The first time a client sequence file is loaded it will copy the default FileGlobals from RunState.ProcessModelClient.Data.FileGlobalDefaults (TS does this automatically).
    The problem though is that after calling ReleaseSequenceFileEx() the actual sequence isn�t really disposed. Since when we later start over with another prod
    uct that uses the same client sequence file the GetSequenceFile() call returns the same copy that was used before and doesn�t copy the FileGlobals from RunState.ProcessModelClient.Data.FileGlobalDefaults, there by the second time the same sequence file is used, the FileGlobals don�t have there default values.
    So, to get back to the subject, how can I make sure that the second time around the FileGlobals have there default values?
    (Keep in mind that all this is done within the same execution of the processmodel.)
    I�ve included a short demonstration of this in the attached zip file.
    Any help appreciated.
    Cheers,
    Hans
    Attachments:
    TestModelFileGlobals.zip ‏12 KB

    Hi Scott,
    Thanks for the answer, I had been thinking about option nr 1 in particular but that would require more changes than I'm prepared to do right now.
    I tried option nr 2, but instead of adding that line to the client sequence file I made the copy operation in the process model like this.
    Execution.ClientFile = Locals.ClientSeq
    Locals.ClientFileGlobalsRef = Execution.GetFileGlobals(Locals.ClientSeq)
    Locals.SerializedCopy = ""
    [RunState.ProcessModelClient.Data.FileGlobalDefaults] PropertyObject.Serialize(Locals.SerializedCopy, "Test", 0)
    [Locals.ClientFileGlobalsRef] PropertyObject.Unserialize(Locals.SerializedCopy, "Test", 0)
    This seems to do the trick, although option nr 2 does seem a bit like doing things the way they weren't
    supposed to be done.
    Regarding option nr 1, are there any �Best Practice� documents, guides or examples on how one should best manage Engine and Execution lifetimes? Or to put it differently when to spawn new Executions and or Engines during the span of working with several units of the same product type and/or different product types?
    Cheers,
    Hans

  • How do I find the path to a TestStand sequence file using LabVIEW

    My LabVIEW application launches a bunch of teststand sequences, provided it has the complete path to each of them. I want to make it more flexible by providing it just the name of the TestStand sequence so that it will go and find the path to the sequence by searching a directory structure. TestStand has a neat FindFile() function that can do this, but I need to do this from within LabVIEW. Is there a way to do it?

    There are a few ways to do this depending on how you are getting the sequence files.  If you are calling the GetSequenceFileEx method, you can just pass the GetSeqFile_FindFile (0x20) flag in the SequenceFileFlags property.  If you are using the ApplicationMgr.OpenSequenceFile method, this is automatically done for you.
    If you want to use the FindFile function in general, you can use the Engine.FindFile method.
    Allen P.
    NI

  • How can I run a sequence file which is stored as BLOB

    Hallo,
    I' using (or better will use) TestStand 3.1 and a ORACLE database. Is there a way to load and execute sequence files which are not stored on the filesystem but as BLOBs in the ORACLE DB. The choice which sequence has to be executed is done dynamically within a custom built process model. A certain sequencefile should be loaded and started by referencing it not by filename but with the PrimaryKey of the table.
    I don't know if this would be a certain capability implemented in TestStand or in ORACLE. It could be something like mapping a BLOB into the Filesystem and pretend that the file is present on the filesystem, something like that!
    Any ideas are highly appreciated
    Thanks
    Oliver Friedrich

    Oliver -
    TestStand does not have any hooks to allow a test system developer to override the internal searching for a file on disk. The only simple option that I see is to to query the database and download the latest sequences ahead of time. This is similar to a Source Code Control mechanism. Keep in mind that once an execution loads a sequence file, the file is typically not released until the last execution completes so you cannot load an updated copy of the sequence file while executing, especially the client sequence file.
    Scott Richardson
    National Instruments

  • How to edit 16bit TIFF image sequence file in FCP?

    Dear all,
    I have a number of 16 bit TIFF image sequence files (2048 x 1024 resolution) - some of them are RED footage, and others came directly from our f/x guy. We are going into a color correction session in a post house and we've been asked to provide a sequential 16 bit TIFF image sequence of the edited time line.
    I need to do a cross dissolve b/w most of the clips I have. I have created image sequence QT movie (reference files) from the TIFF images. Though they play fine in QT player, when I try importing into FCP, I am met with a "general error". I tried both dragging it into QT, as well as File --> Import.
    I am wondering what can I do to get these clips into FCP in order to apply the cross dissolve transitions I need. Is this a problem relating to the 16bit nature of the TIFF files?
    I tried exporting the TIFF image sequence standalone QT movie, and those imported fine. However, I have a feeling that the standalone movie conversion also decrease my bit depth from 16 to 8. (When I do my final TIFF output from FCP after dissolves / transitions had been applied, each TIFF file is now 8 MB instead of 12 MB, hence my suspicion that the bit depth is adjusted).
    Are there any settings I am missing, or does FCP simply don't support 16 bit image sequence reference file. As a test, I had also converted all my TIFF to jpg, and created jpeg image sequence reference file. These reference QT file can be successfully imported to FCP and I can edit them as if they are a clip.
    If FCP is not able to handle these files, what are my other options? After Effects?
    Any help is appreciated.
    Thank you.
    Michael
    <Edited by Moderator>

    As far as I know, both FCP and Color only support up to 10 bit color, which is 1024 levels for each color channel, more than enough for avoiding color banding.
    If you need 16 bit for sure, I believe AE will support 16 bit output. Another 16 bit application would be the extended version of Photoshop, which has some limited time line capability.

  • Is there a way to keep Deployment Utility from modifying sequence file paths?

    While the Deployment Utility appears to be a great tool, it does some things that I'd rather it didn't. One is that it modifies all paths in sequence that it is including from Absolute to Relative. While this is a nice feature for many reasons, it is a show-stopper for our uses. This is because as part of our distribution process, we also use a checksum routine to verify that the sequence files being run by the operators on the Test Stations we deploy to are running the correct (unmodified) version of the test software. By using Absolute paths, we can detect and prevent accidental editing/changing of the sequences or paths that we have deployed, but if we have to use relative paths that is something that we could work with also.
    So my questions are: 1. Can this path update 'feature' be disabled? and 2. If not, then will pre-setting all paths in a sequence cause the deployment utility to only copy the file and not update it (thus changing it's checksum)?
    I'm going to test the latter when I have time, and if there are any other suggestions that might be useful, I'm love to hear them.
    Thanks,
    -Jack 

    Rick,
    In my experimentation to see if using relative paths, I was able to prove that a sequence that uses them will not be updated - with one caveat; if the path that is referenced by the sequence is not itself in a sub-directory, i.e.; it's in a different branch of the relative directory structure with respect to the Target (such as the TestStand directory), then the sequence file is always updated and re-saved. An example is that we have a sequence in the Tools directory that calls a DLL in the FrontEnd directory of the Components\User path. This re-saving causes a checksum change and screws up our verification mechanism. 
    It is unfortunate that I cannot prevent the deployment utility from modifying sequence files - Since we control the entire Test environment, including the location that software gets installed to - Test Station custodians can't go installing the software in a different location, or worse, multiple locations, so we don't have the issue to worry about.
    Because of this 'better' method, we now have to re-evaluate how to control the installed version of the software, or use a different installer, such as CVI, which while it has been working for us, has it 's own issues that we're trying to get away from. I'm glad that I am finding out about this now before I've locked down the sequences so that I can probably move the features in the Tools to the Frontend Callback sequence. 
    It's almost always the case thought that one persons forced enhancement is another's 'feature' or worse 'bug'.
    Thanks for confirming the behavior on the Deployment utility for me.
    -Jack

  • How to get Sequence file path In "Sequentia​lModel.Seq​"?

    Hello
    I need to get the sequence file path in "SequentialModel.seq" before the "GetReportoptions" Callback is called.
    I found that step "Determine Report File Path" in "Sequenctialmodel.seq" returns the sequence file path but i.e after executing quite a series of steps.
    i need to get  this sequence file path in the starting of "SequentialModel.seq".
    looking forward to hear from you
    Thanks n Regards
    Kulwant

    Hello Kulwant,
    try "RunState.InitialSelection.SelectedFile.Path" or "RunState.ProcessModelClient.Path" at the beginning of SequentialModel.seq please.
    Regards
    MY

  • XI Sequencing: File Receiver adapter

    Hi All,
    I am in a IDOC to file scenario.
    Requirement is to process the IDOCS in the same sequence as they were created in SAP.
    E.g: if IDOC 1001 (created at 12:00:01 hours) and 1005 (created at 12:00:06) were created in SAP, then they should create the files in XI in the sequence File 1001 and then create file 1005.
    Currently both IDOCS came to XI almost at same time and somehow XI processed 1005 before 1001.
    Is there a way on the File adapter on receiver side how to achieve file sequencing for above issue.
    Regards
    Shirin

    Hi Shrin,
    As per my knowledge, IDOC sequence must be strictly maintained at sender side.
    Irrespective of the configuration you set in XI like maintain order runtime or serialization, how does it guarantee you that IDOC is been sent in sequence.
    Also note that IDOCS are processed via TRFC and not QRFC.  Moreover, can i know the reason or background of this requirement.
    I have never come across such a requirement except for in BPM where we collect all IDOCS and bundle it.
    OR you are just trying some prototype

  • Advantages and disadvantages of using only sequence files or working with sequence files in projects

    Hello,
    can anyone please tell me the advantage of using projects instead of just a sequence file? Do I need projects only if I have more than one sequence file?
    Thanks a lot!

    MGH,
    Projects are meant to help with organization of TestStand files, but with the intention of use as part of a deployment of your test system.  As the TestStand Reference Manual (page 2-5) puts it:
    "In TestStand, you can create a workspace to organize and access your development files. A TestStand workspace file (.tsw) contains references to any number of TestStand project files. A TestStand project file (.tpj) contains references to any number of other files of any type.
    Use TestStand project files to organize related files in your test system. You can insert any number of files into a project. You can also insert folders in a project to contain files or other folders."
    John B.
    Applications Engineer
    National Instruments

Maybe you are looking for

  • [8i] Can someone help me on using explain plan, tkprof, etc.?

    I am trying to follow the instructions at When your query takes too long ... I am trying to figure out why a simple query takes so long. The query is: SELECT COUNT(*) AS tot_rows FROM my_table;It takes a good 5 minutes or so to run (best case), and t

  • PO Line Item Number not filled in BSEG Table

    HI, While posting to goods receipt through MIGO FI documents are generated. For these  FI documents ,  in BSEG table the corresponding  PO line item numbers (EBELP )are not getting filled up, How can they be filled. can it be done through any standar

  • Adf Input Text with formatted xml Content

    Hi, I have a requirements where I get an xml content in one line as suppose <xml ><a><a1></a1><a2><a2></a><b></b></xml> I want this Input text to render it proper fromat like <xml >     <a>         <a1>         </a1>          <a2>          <a2>    </

  • Vacation Rule works for ALL but not for particular notification in Item typ

    Hi, I have a situation where Vacation Rule is Ignored when choose the select option in notification page of vacation rule and notifications were being sent to Original Approver (who created the vacation Rule) instead of delegate. Vacation rule is wor

  • How to unzip and zip files

    I have a very large number of Karaoke music that plays on my windows pc but some will not play on my Mac. I think i need to unzip & re-zip them to play on my mac but i'm not sure exactly how to do this. any suggestions? Do I need a special program? r