Test Slot Execution Order in Batch Process

Using TS4.0 with the batch model and have noticed that when a step is locked to allow only 1 slot to execute at a time,  sometimes the slots do not execute tests in order. i.e slot 4 may execute before slot 2 and so on.
I am writing a new subsequence to test a communications link between boards in seperate test slots. In this test the steps are also locked to allow only 1 slot to execute at a time. In addition, the slots must execute in order - slot 0, slot 1, slot 2, etc.
How can I make sure that the slots execute in order instead of first come, first serve?
Thanks,
Steve S.

By default the order should be based on the testsocket index so things should be behaving the way you want. The only thing I can think of is maybe your slot numbers do not always correspond directly to the testsocket index of the thread. How are you getting the slot numbers? You can see the testsocket index for a thread by looking at the "RunState.TestSockets.MyIndex" property. If you base your slot number off of this you should be getting the order you are expecting.
The way the order is determined is as follows:
If you look in the "Add TestSocket Threads to Batch" sequence in the batch process model you will see the "Add To Batch" step is using the testsocket index as the order number for the batch which is what is used to determine which testsocket enters a section first.
If your slot numbers do correpsond directly to the testsocket indices then please attach an example sequence to reproduce the problem if possible and I will try to figure out why it's not working.
Hope this helps,
-Doug

Similar Messages

  • Creating Process Orders using batch processing

    Hi :
    I am creating process orders automatically by using batch processing.I have a custom T.code and custom table.The batch program should be build based on custom table.From where will i get the data for batch processing? from custom table? if so how can i prepare a file for that.
    I have to submit this batch program to the custom T.Code so that it creates Process Orders automatically.
    Can u guide how to procede in this.
    Thx.
    Raghu

    Hi Raghu,
      What i think is u have a custom program which creates Process Orders using some user data. this user data is posted to a custom tabel.
    Now if i am right then u want to create a batch program around this custom program so as to achieve benifits of batch processing.
    yopu can check these links to better understand how to create a BDCprogram.
    http://www.sapdevelopment.co.uk/bdc/bdchome.htm
    http://www.sap-img.com/abap/learning-bdc-programming.htm
    http://www.sappoint.com/abap/bdcconcept.pdf
    http://www.sappoint.com/abap/bdcconcept.pdf
    http://www.sap-img.com/abap/learning-bdc-programming.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/fa/097022543b11d1898e0000e8322d00/frameset.htm
    http://www.planetsap.com/bdc_main_page.htm
    http://searchsap.techtarget.com/ateQuestionNResponse/0,289625,sid21_gci1068429_tax293481,00.html
    Hope this helps.
    Award rewar points if its useful.

  • Station Info using Batch Process Model

    Hi,
    I have a test sequence that use a sequential process model and I grab station information using the following.
    RunState.Root.Locals.StationInfo.StationID
    RunState.Root.Locals.StationInfo.LoginName
    I am creating a new test sequence which uses the batch process model - when I try to grab the Station Info data using the syntax above I get the following error 
    Unknown variable or property name 'RunState.Root.Locals.StationInfo'.
    Can some please advise if I am accessing the wrong area when using a batch process model?
    Thanks & Regards,
    Shane.
    Solved!
    Go to Solution.

    In the batch and parallel models you can access this information using:
    RunState.Root.Parameters.ModelData.StationInfo
    -Doug

  • Batch processing of multiple test stations

    Hi All,
    Bit of a complex one here (for me anyway!) that I want to bounce off you clever people to see if can aid me in any way.
    I am about to develop a system which uses a 6 UUT position(so 6 UUTs are held on a wheel) device which spins around. There are two test PCs and hardware at points on the system (say at position 1 and 4, although the idea is to perhaps add more at the other empty stations) and the wheel is moved around at set intervals to present the UUT to the test station (approx 2s, but this can be varied depending upon processing time). UUTs are fed onto and off of the wheel at station 6 (ie when the UUT has been around stations 1-5 it is pulled off and a new one is put in its place).
    The two test stations will be using TestStand and the remote engine to sequence tests with LabView code modules and due to the set movement time of the wheel I will be doing 'hands on' tests when the UUT is at a test station and I will be processing the test data for that UUT when it has moved around (although obviously I will then be taking measurements from the next UUT on the wheel).
    I was thinking of using the batch processing model for this task and was going to have 6 UUTs running at the same time. I can clock the UUTs around using Labview and have wait/processing points while that UUT is not being physically tested.
    My questions are:
    1) My process is going to be contiunous (it will run 24:7) as the 6 test sockets run, each one step in front of the other, can they independently produce test reports and then be restarted for the next UUT which has been introduced to the wheel? I dont want the traditional 'Run Test, get results, re run test, get results'. I want the process to be continuous, so results files will be popping out every 2 seconds as a UUT has moved around all of the stations and dumped in the PASS/FAIL bin
    2) Is it possible to have an array of common parameters between the batch processes or will they all have seperate parameters.
    3) Kind of linked to 2, but I assume that if each batch is running in a seperate thread that the data they share to labview will be seperate to each test socket. There will only be a single instance of each test running at one time. Is there multiple sequence contexts (one for each test socket?) or is it one big one?
    4) Am i using the right approach? Test Stand is definitely the thing for this customer and I feel it will help us, but am I going to be using in the right way?
    Thanks in advance
    Marlon

    Let me answer question 4 first since it will effect my answers to questions 1-3.
    4) It sounds to me like you should really be using the parallel model instead of the batch model. The batch model was really intended for things that need to be tested as a group. In otherwords, a tray of 6 items that all start being tested and complete being tested together, and then a completely new tray of another 6 items is tested after that. What you have really is more of a set of 6 independent test sockets running in parallel with some synchronization involved because of the interdependencies and that is more what the parallel model is designed for.
    1) If you are using the parallel model than the answer to this is yes. You can set things up so that each testsocket writes its reports to a separate file completely independently from the other test sockets. This is also kind of true for the batch model, but in the case of the batch model, all test sockets must wait for each other to complete before the next batch of uuts can be tested and this does not sound like what you really want.
    2) Yes, but there are several ways you can accomplish this. One way would be to use file globals for your mainsequence file and edit the sequence file properties setting for the file to share file globals between executions. But because you are running remote executions you will then have to go to the additonal step of passing the data that you want the remote sequences to have as parameters to the remote sequence. You will need to pass the data as parameters rather than use the share file globals setting for the remote sequences on multiple machines because that setting only works for executions that are all running on the same machine. Passing parameters however is pretty easy to do and to use on the other end. Also I'd like to add that it might be possible for you to run everything on one computer. I'm not sure what your reason for having multiple computers is though.
    3) By batch I'm going to assume you mean test socket (i.e. "each TESTSOCKET is running in a separate thread"). A batch is a group of testsockets. And if you mean testsocket then the answer is yes, you are correct. Each testsocket runs in a separate execution and thus a separate teststand and OS thread. Additionally each will have a completely separate sequence context. However, if you pass the same data as a parameter to all of the sequences (i.e. a set of global variables of some sort), then they will all be able to access that same data. Additionally, you can pass data between threads using synchronization step types such as queues and notifications.
    Hope this helps, if you need more information let me know.
    Douglas Melamed
    NI

  • Execution order of Multiple Numeric Limit Test?

    What is the execution order of "Multiple Numeric Limit Test" in TestStand 2010?
    I am using a custom steptype of Multiple Numeric Limit Test. I want to manipulate the input parameter. How can I do that. I am not interested in making a new steptype. I am writing in Post-Expressions and the data is manipulated as they should but it is not evaluated. I is evaluated before the Post-Expressions executes.
    For example I am writing: Step.NumericArray[0]= Step.NumericArray[0]*1000/(2.5-Step.NumericArray[0])
    The execution order when looking at the TS manual at page 3-13 is Evaluate Post-Expression before Evaluate Status expression. But it is not what I see. I have also tryed using the more simple Numeric Limit Test and it works as I expect it to according the manual.
    Anyone knows about any workaround for that?

    Hi Ray
    Thanks for your reply
    I have tried writing what you are suggesting: Step.Result.Measurement[0].Data= Step.Result.Measurement[0].Data*1000/(2.5-Step.Result.Measurement[0].Data)
    Still it evaluates the step before the post-Expression. When I am looking at the variables at runtime the Step.Result.Measurement[0].Data is having the correct value but it seems to evaluate the step before the Post-Expressions.
    Any other suggestions?

  • Order Entry (VA01) to a batch process

    I am looking at turning order entry into a batch process.  I will have many flat files (each being an order with many line items) stored in a directory and I want to run a batch program to grab those files and create orders based off those files.  Can somebody direct me to the right place?  Is there something already setup that I can use/modify?
    Regards,
    Davis

    Hello Davis,
    You can use BAPI FM BAPI_SALESORDER_CREATEFROMDAT1 to create your sales orders.
    Search for this FM in the forum, you will have the information you want.
    Regards,
    Naimesh Patel

  • Test Stand seq w/ dll batch file execution not working

    I am using Test Stand 4.1, running a seq that calls a dll.  The dll contains a batch file execution function that has not been working properly.  I am not 100% sure what the function is as I do not have access to the direct code from which the dll was created.  I believe I have a file, however please remember this is a guess that I am looking at the correct function/file. 
    This is a Pass/Fail test step that calls a batch file.  The batch file runs properly without the use of Test Stand and called by the dll.  In the code that I believe is running, I see there is a step that I am guessing does not run (see below for test steps).  It seems as though these steps are being "stepped over" and not running, however the test does seem to be entering this function.  The test reports a pass/fail status as the data is reported into a txt file.  If the txt file contains the correct data, the test step reports PASS, even though the batchfile does not run.
    :Note:  [batchfile.bat] is the name of the batch file being called; the [ ] are not present 
    // Run Batch File
     ChkErr(LaunchExecutableEx([batchfile.bat] ,windowState,&handle));   
     // Wait for batch file to complete task
     do{
      ProcessSystemEvents();
     }while(!ExecutableHasTerminated (handle));
     RetireExecutableHandle (handle);
    Any one have any suggestions as to why the batch file is not being called and running properly?
    Thank you
    Jason_C

    Thanks for the feed back.  I have realized and it seems as though sometimes the CWD varies.  The current working directory when the batch file does not run seems to be set to the desktop, not to the specified directory.  The batch file is used to program a chip, calling the exe to run using commands.  The file are speciifed by an absolute path, however the exe is not.  The batch file is as below and seems to match up with a problem with the CWD.  How can change though?  I will have to check in the Start in field, but where can I find that property? 
     Thank You
    --Jason
    del ..\misc\mplab.txt
    echo C:\Program Files\JTRS\01_P55461U\bin\uutsw\CR1_T2V3L_PMM_STUB_LOAD.hex
    ..\misc\pm3cmd /5 /BLCC:\Program Files\JTRS\01_P55461U\misc\t2v3l_pmm_stub_load\t2v3l_pmm_stub_load.pm3 /k /m /y /e >> ..\misc\mplab.txt >> ..\misc\mplab.txt
    ..\misc\pm3cmd /5 /BVCC:\Program Files\JTRS\01_P55461U\misc\t2v3l_pmm_stub_load\t2v3l_pmm_stub_load.pm3 >> ..\misc\mplab.txt

  • Batch processing problem: Seeing the primary key (id) in the test cases...

    Another problem we seem to be having is how to read the primary key into a base attribute of an entity.
    In batch processing, we may define the "id" as the primary key on the table. We need to get that id and the foreign key ids into the base attributes in the rule set...
    How do we go about doing that?

    Perhaps better, if you could give me a sample xml config with global and one entity. The only attribute in the entity should be the id... The id should be the primary key in both OPA and Oracle...
    The global table in oracle would contain a single column with the global id.
    The child table in oracle would contain 2 columns -> one for the global ref id and one for the child key...
    I think you will find problems.
    As a note we have duct-tape solved this by creating views and making column copies in the views of the child id and then mapping the id in oracle to the duplicate column in the view.
    So our child view contains the child table with the child id repeated twice so that we can map...

  • How to : only one user in a branch can do the batch process at a time ?

    dear gurus,
    In ADF web application, accessed by multiple branch (20), there is a
    batch process to create invoices from orders. There are 3-5 users in a
    branch. one user can process about 30 - 50 orders to become
    invoices.
    Business rule is : In one batch process, each users must produce
    invoices with gapless invoice number. e.g : user_1 create 30 invoices
    no.001 - 030, user_2 create 40 invoices no.031-070 ... and so on...
    So we want to protect that at a time, in one branch, only one user can
    do the batch process. User_2 must wait until user_1 is done to start
    the process.
    We use the table below to maintain the latest invoice number created :
    CREATE TABLE doc_number
    DOC_TYPE VARCHAR2(6 BYTE) NOT NULL,
    BRANCH_CODE VARCHAR2(6 BYTE) NOT NULL,
    DOC_NBR NUMBER(12) DEFAULT 0,
    CONSTRAINT "DOC_NUMBER_PK" PRIMARY KEY (DOC_TYPE, BRANCH_CODE)
    The question is :
    I think of locking a spicific row of the doc_number table (select ...
    for update wait 10) at the beginning of the batch process stored
    procedure.
    But what if the session/connection left orphan and the row is lockde
    forever before the dba kill it ?
    So is there a better approach to limit the user execution of the
    process ?
    Thank you very much for your help,
    Krist

    Forget it. See http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4343369880986.
    However, if you are dead set on doing this old fashioned thing of trying to emulate paper invoices from a numbered tablet, you could always just let everyone generate all of their invoices with no invoice number whenever they want, then at some time ( say 21:00 every day), take a lock on the table and apply invoice numbers to all of the records with a null invoice number -- which will take only a few centiseconds at most. And let the users/system print only invoices that have numbers assigned. This way, you pretty much eliminate the concurrency issue of various branches generating invoices only in their time window -- yuk, what an awful way to have to do business.
    And completely forget about users or branches having their own range of numbers. That is completely nuts. Your database already knows which branch owns which invoice, right??

  • Can I desynchronize one station with batch process model?

    Hi,
    My project has 5 stations run test in parallel. I decide to use batch process model since I want them to start and stop together. Beside start and stop, I have some certain part in the test sequence need to sync together. But in 5 stations, I want one station work without sync at these steps. I tried using batch synchronize with precondition but it looks like other stations still wait for the one I skip the sync. My another option is using rendervous with number of parallel thread is total - 1. I test and this works. But I still want to know if I can use batch synchronize step or not because this offer the start sync and exit sync feature.
    Thank you!
    Solved!
    Go to Solution.

    NTT wrote:
    Doug,
    Thanks for your answer.
    I want to have something happens parallel with other threads but without affect by batch sync steps. I have multiple stations working parallel in assembly line. They are sync because of pick and place. But I want to have one process works as station manager who keep track of UUT between station and other environment condition like pressure, temperature.
    Thang
    Generally, the intent of the TestSockets in the process models is that they will have a 1 to 1 correspondence to UUTs, does your 5th socket correspond to a UUT? In otherwords are there 5 UUTs under test at one time? UUTs often need things like report generation or database logging. Does your 5th socket require report generation? If not perhaps this 5th socket is really more of a utility thread and thus creating a new thread or execution at runtime makes sense for it. If your 5th socket instead does really correspond to a UUT that is being tested in parallel enitrely separately from the other UUTs then perhaps you should start up a new execution for that socket using the sequential model and just have that running at the same time as your other sockets are running with the batch model.
    So it really depends on what you are using that 5th station/thread for as to what approach would likely work best.
    Hope this helps,
    -Doug

  • Test Script execution failed.

    I'm getting the Test Script Execution Error - "Test Script execution failed. Reason: The system cannot find the file specifiied"
    This is happening to all my test script files. I can load the test script files, edit the test cases, etc, but cannot execute the test scripts
    If I click on View Test Script Specification, they all come up, and the report shows all the cases in the test script.
    If I look into the directory, they are all there, with the .tsc extension and a file type of TSC
    I created a new TSC this morning, but with the same results
    They were working yesterday. Since then, I did rename one of the test scripts, and changed my build platform from .NET to Java.
    Any thoughts?
    Thanks,
    Allan Gibson
    P.S. I also now note the my what-if analysis files do not run, and are getting a message: run time error '-2146233088 (80131500)': Batch process has failed. Reason: the system cannot find the file specified (OPA-E00241). When I press the debug button, I'm taken to a screen where the line "Call GetExcelCompilerProxy() .Analyze(ActiveWorkbood)" is highlighted in yellow.
    Edited by: A Gibson on 11-Sep-2012 9:02 AM
    Edited by: A Gibson on 11-Sep-2012 9:09 AM

    Hey Allan,
    It looks like it either can't find the Java component it needs to run or the test script for some reason. If you look in the bin directory of the OPM install (which is normally something like c:\program files\Oracle\Policy Modeling\bin) do you see a file called determinations-remote-clr.jar? If not it sounds like something's gone wrong with your install.
    If so, can you run the test script in the standalone debugger? Also, if you look at the absolute path of your test script file, does it contain any non-ascii characters? If so, try removing those characters and see if it works.
    Thanks,
    Kristy

  • Batch process video to swf with controls??

    Hi,
    I have hundreds of QT videos that I need converted to .swf
    video WITH control bar and a watermark logo.
    I can batch process them to .flv using the Media Encoder, but
    I need them to be .swf in order to use them in Director 2004MX.
    Plus, I don't see where I can add a watermark using Media Encoder.
    I have CS3 and CS4 Master Collections so I assume there's got
    to be SOME way to do this batch processing.
    I did a few sample tests in Flash, bringing in the .flv file,
    attaching one of the prebuilt skins, adding a layer for the logo
    watermark, then exporting to swf. It works beautifully in my
    Director project. But to do this process 500 times would take
    forever.
    Any advice on how to batch to .swf video with control bar and
    watermark would be greatly appreciated.
    Thanks.
    -Karen

    Thank you Heathrowe I appreciate it.
    I guess as far as using the hotspot slicer in Fireworks, if I
    export to an SWF it doesnt make that a clickable section in the SWF
    file. Oh well. Would be a nice feature in the next version of
    Fireworks.

  • Running a batch process (via thread) in java

    Friends I have gone thru 2 books of java and everywhere it says
    that
    1) the main thread is the one from which other child threads will
    be spawned.
    2)Main thread must be the last thread to finish execution.When the main thread stops,your program terminates.
    Then I am wondering how it works in my case (albeit with little unpredictably !)
    I have this JSP and java application.I throw this JSP and pressing a Submit button I execute a java method in Myclass.java.
    If the book is true then this should not work.But it works.
    Note that I am using Apache server.
    please help.
    Myjsp.jsp
    processSubmission(true)
    class Myclass implements runnable
    public void processSubmission(boolean background) throws Exception
    if (background) {
    Thread oThread = new Thread(this);
    oThread.setDaemon(false);
    oThread.start();
    message = "submission being processed in the background";
    return;
    my huge batch processing java codes.
    public void run()
    try
    processSubmission(false);
    catch(Exception e)

    Friends I have gone thru 2 books of java and
    everywhere it says
    that
    1) the main thread is the one from which other child
    threads will
    be spawned.
    2)Main thread must be the last thread to finish
    execution.When the main thread stops,your program
    terminates.
    No.
    Your program stops when all of the non-daemon threads exit or if the application is explicitly exited - via System.exit().
    Even if you substitute daemon for 'child' in the above it still does not apply.
    From the java docs
    The Java Virtual Machine exits when the only threads running are all daemon threads.
    It doesn't say anything about a 'main' thread. And specifically it is likely that all of your threads will be done before the daemon threads have stopped. So it is much more likely that any 'main' threads will stop first and then the daemon threads stop (I can't see it happening any other way.)
    Even so I would not rely on execution ordering threads for any purpose. If you need execution ordering then you must explicitly provide for it in your code.

  • Station global variable per UUT using a batch process model

    Hi,
    I have 4 UUTs which are tested using individual COM ports. I am using 4 Station Global variables to store the 4 Com ports - COM port assignments are in no particular order and vary depending on test station PC.
    Example:
    S1= Com12
    S2= Com14
    S3= Com10
    S4= Com9
    Using a batch process model I want to test all UUTs in parallel - I am trying to figure out what is the best/easiest way to pass S1 for UUT1, S2 for UUT2 and so on!
    Any help appreciated.
    Thanks & Regards,
    Shane.
    Solved!
    Go to Solution.

    The easiest way is to use the Runstate.TestSockets.MyIndex property to index an array.  Each batch socket will get an index (0 to n-1, where n is the number of sockets) when it is created.  Then you can create an array (of strings? I can't tell if you just have strings or need a container) and use the property to index the array.
    Josh W.
    Certified TestStand Architect
    Formerly blue

  • Can I use Organizer to change the .jpg size of all photos in a folder in one batch process?

    We're using wa-a-ay too much disk space for a growing photo collection.   My daughter is a camera freak with four kids -- need I say more? 
    In my current test folder the sizes of the original photos range from 2.3 MB to 4.2 MB.  I picked one photo at random and printed the original and then three more, saved by PSE9 as .jpg files at maximum, middle, and minimum quality settings on plain letter-size paper, and again on 4x6 photo paper.  It takes a magnifying glass and a calibrated eyeball to detect a difference on the plain paper, and it's even more difficult on the photo paper.  I think I should relieve the pressure on the hard drive's capacity by reducing everything to a more reasonable size; after all, the minimum-quality print takes up less than one percent of the disk space as does the maximum-quality print.
    I have a hunch that I can accomplish this in a batch process with Organizer, but that's all I have is the hunch -- not the know-how.   I would like someone to step me through the process.
    I also expect a lecture on why I shouldn't do this.  Go for it; I'll listen.
    Thanks,  Bud

    Bud,
    BudV a écrit:
    I also expect a lecture on why I shouldn't do this.  Go for it; I'll listen.
    You are the one to judge... Will you regret it if you want to use some pictures with the original size and resolution at a later time?
    Yes, you can use either the organizer or the 'process multiple files' command of the editor. But first you should think about two questions:
    - Are you ready to backup the full resolution and size files before the 'shrinking'? External USB drives with big capacities are available and affordable.
    - From what you are saying, the optimal size would be for files resized for 4" x 6" format at 300 ppi in jpeg quality 8 to 10.
    Resizing from the Editor: Use the 'process multiple files' command and click the 'Same as source' button. I would not do it without a sound backup first... This can be done folder by folder.
    Resizing from the Organizer : Use the 'Export' command. That command leaves the original and puts the resulting files in a new folder. The resulting files are NOT included in the catalog.This means that keeping your organization (categories, albums, tags...) will be tricky; same if you are using a folder organization system.
    Another solution with a third party software such as Faststone photo resizer:
    - Absolutely do a full backup before
    - run the resizing options in the external software so that the files are resized without being moved. That replaces the originals.
    - If you are using the organizer, your organization will be kept, but the file sizes in the catalog and thumbnail databases will be wrong. You can regenerate the thumbnail cache by deleting the thumbs.5.cache file in your catalog folder; it will be automatically rebuilt.
    That has worked for me in the past... no guarantee for you!

Maybe you are looking for

  • How can I keep the audio on HDMI 100% of the time?

    I'd like my 2010 Mac mini to stay on HDMI Audio output, regardless if my Denon AV Receiver is on or not. I don't think I should have to always have to go in to Settings-> Audio and manually change the audio from Internal to HDMI output. This doesn't

  • Does Time Machine contain Lion?

    I have a really slow, capped Internet connection, and I want to reinstall Lion. I didn't think about creating a restore disk the first time, but I was wondering if Time Machine backups are bootable/contain a copy of Lion. Any thoughts?

  • Using Tascam US-224 with Lion?

    Hi all, I actually did figure out how to use my Tascam US-224 with Mac OS Lion from an earlier post here. One has to reboot in 32 bit mode by holding down "3" and "2" during restart. Fine. But now I am getting an annoying ringing due to my US 224 bei

  • Server too busy, cannot force server shutdown

    Hi! I am running WLS6.1 SP2 on W2K SP2, with Cloudscape 4.0. I am unable to access the console (after waiting a couple minutes) nor to force a server shutdown through the command line, which results in the following exception: Failed to connect to t3

  • MAC Book Pro Running really really slowly....help.....

    Hi, I am a complete Mac novice and bought a MAC book pro (which I love) just under a year ago. It has been running without problem until the last few days, where it is really slow. Skype doesn't work at all, I tried to do a back up and it took hours