Programmatically determine steps referenced in an expression

Is there an elegant way to programmatically determine any steps that are reference in an expression using API. 
Such that
 AllOf(RunState.Sequence.Main["ID#:AzvyVD4OcUiZz2vk3ZHknA"].Result.Status == "Passed", RunState.Sequence.Main["ID#:0RT7Ih2QQkimHpGGh30sIA"].Result.Status == "Passed")  Would return ID#:AzvyVD4OcUiZz2vk3ZHknA and ID#:0RT7Ih2QQkimHpGGh30sIA in an array of strings or something along those lines.
Herrlin
Just trying to spread the LabVIEW love.

John B
  Thanks for the reply.
  I actually did implement a similar solution to what you described.  I originally didn’t share the entire scope of what I was trying to accomplish.  I wanted an entry point that would run selected steps and actively look for any steps referenced in the preconditions of the selected steps.  If a step was reference the entry point would know that it also had to run this step.   This will be a useful tool for debugging, since it will record results as well as run steps that the selected test is dependent on, in a sense.
  My team made a decision that we would only be using unique ids to reference steps in expressions felt this was a better programming practice.  Also we only needed this function for the MainSequence of a sequence file.  In addition we always wanted Setup and Cleanup groups to remain the same.  So we only needed to search each precondition for the unique step id of steps that where in the Main group of the MainSequence.
  I have attached the new sequence file I made with a Custom entry point.  The entry point is almost an exact copy of the single pass entry point with a couple of modifications.
1 It calls Configure Temp Sequence
2 It references a temp sequence file what during the MainSequence Callback instead of the Client file
3 In the Cleanup it closes the reference to the temp sequence.
  Also there are two new sequences:
Configure Temp Sequence
Get Steps to Exe
  Any way just thought you might be interested and this was no easy task for me so I was excited to share.
  Thanks
Dan H
Herrlin
Just trying to spread the LabVIEW love.
Attachments:
ModSequentialModel.seq ‏42 KB

Similar Messages

  • Programmatically determine step count with nested sequences

    I have a program that uses the count of steps in a sequence to determine progress. I currently use a sequence pointer to call GetNumSteps for each group. What would be the best way to expand this to handle subsequences? In other words, if I have a top level sequence with 5 main steps, 0 setup and 0 cleanup but one of the steps is a sequence call and that sequence has 10 main steps, 0 setup and 0 cleanup steps, I want the count to be 15 and not 5. Thanks.
    -G-
    -G-

    Steve is correct, you would have to set this up using recursion where you count steps and also go into sequence calls to count their steps as well. There is no native way to do this in TestStand, you would have to program this with your language of choice and call that recursive function.
    Brandon Vasquez
    Applications Engineer
    National Instruments
    Brandon Vasquez | Software Engineer | Integration Services | National Instruments

  • How to programmatically determine if  an object is ready to be destroyed?

    Dear All,
    How can I programmatically determine that whether an object is ready to be garbage collected? I know that the garbage collection process is not guaranteed to occur until the JVM is close to running out of memory. Yet, it is also said that an object is ready for garbage collection if there are no more references to it. Therefore, I am wondering if we have means to know whether an object is ready to be garbage collected, even though that may not happen yet.
    For example, if I define such a simple class structure:
    public class A
    B b = new B();
    public void methodA()
    b.printB();
    public static void main(String[] args)
    A a = new A();
    a.methodA();
    class B {
    public void printB() {
    System.out.println("from B");
    Here I am assuming the object b (of type B) is ready for garbage collection BEFORE the object a (of type A), because the object b is declared and created as a field within object a. Is this assumption true? If yes, how can I verify that during runtime?
    Thank you very much for any help!
    -- SunnyDay

    1. It seems that the System.gc() should be called to make sure garbage collection is performed so that all those WeakReference objects are put into the ReferenceQueue (suppose no strong references to those
    objects to which the weak references are pointing). Is all of this guaranteed to happen? That is, is it guaranteed that those weakly referenced objects are being garbage collected and their WeakReference objects are put into the queue, whenever the System.gc() is called?
    No, it is not guaranteed. Though it seems to be true for current implementation of JVM, where System.gc() usually does Full GC. However, you should not rely on this and it can be in fact changed in future implemenations.
    2. The WeakReference description says the garbage collector may enqueue the newly-cleared weak reference "AT SOME TIME AFTER" the weak reference is cleared. If this happens to be the case, how can I know which
    object is deleted first in my example (e.g., if the weak reference of object A is put into the queue before that of B, it may falsely indicate object A is destroyed beofore B)?
    Yes, it is quite possible for weak reference to be enqueued in different order.
    3. Suppose System.gc() is called and an object's weak reference is put into the queue, can I still know which object is being destroyed at this moment?
    You can't. In fact, java threads may be stopped while GC is running. GC may free memory for multiple objects at once (which in fact happens with Mark-Sweep algorithm). So, "destroyed at the moment" does not make sense from this perspective.
    If can gave us more details on what you are originally trying to do, probably we could find another solution.

  • Receiver determination step in the BPM and multiline container

    i have made a file2file scenario where:
    there is a BPM,
    the BPM has a send step which contains a receive step,
    a transformation that mapps the incomin message to two messages(Split-messgae case),
    and then a FORK step which sends the two messges to through 2 SEND steps to the intended receiver services.
    It didnt work......and i followed a blog->  /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure   ............... which suggested to have a
    "receiver-determination" step in the BPM before the SEND step.... it says that this
    "receiver-determination" step will put the message in a MULTILINE container..
    i m confused bout this step ........ can anybody explain.....
    please help

    HI,
    In receiver determination step selctthe multi line container element.in container editor create the one element with type as receiver and select the check box.
    A Receiver Determination step returns set of receivers configured for the output abs interfaces in the directory and puts it into receiver which is a multiline container receiver element
    Regards
    Chilla

  • Condition check (based on sender file name) at receiver determination step

    Hi,
    My scenario is File to AS2 (Sender side file adapter and receiver side AS2 adapter)
    We have 5 customers, but the source location is same to pick the files, Here we are not using any ESR objects.
    Based on the source file name PI need to determine to whoom this file need to send at receiver determination step
    Craeted objects
    1 Sender CC,
    1 Sender agreement,
    1 Receiver determination
    5 Interface determinations
    5 Receiver agreements
    5 Receiver CCs.
    Could you please provide me your valuable inputs.
    Thanks
    Ramesh

    Hi Venkataramesh,
    I understand your scenario as, picking files (different file naming standard for different target customer) from one source folder. Based on file name, that payload should be sent to corresponding target customer. You have mentioned u201CHere we are not using any ESR objectsu201D. I can see two reasons for this decision
    1. PI is used to route the messages, i.e., no need to transform the payload. OR
    2. Files can binary files like PDF, ZIP, JPG, GIFu2026
    Now I can see two possible solutions
    1.     Simple solution, as proposed by u201CPrabhu Rajesh Janardananu201D, make it into 5 different scenarios  (5 sender channels).
    2.     Bit complex solution, only one sender channel, using extended receiver determination
    Step 1:- In Sender File channel check u201CAdapter u2013 Specific Message Adapteru201D in Advanced tab. File Name should be checked.
    Step 2:- In Receiver Determination, Select Type of Receiver Determination as u201CExtendedu201D. http://help.sap.com/saphelp_nwpi711/helpdata/en/48/ce2a423a8e5430e10000000a42189b/frameset.htm
    Step 3:- Do a Graphical Mapping (use it Operation Mapping in Receiver Determination).
    Step 4:-
    Source and target of graphical mapping will be same (below), because you donu2019t want to access input payload (it can be XML, flat file, JGP, GIF and you donu2019t have its structure).
    <Receivers>
       <Receiver>
          <Party agency="" scheme=""></Party>
          <Service></Service>
       </Receiver>
    </Receivers>
    Step 5:- Write a UDF in Graphical mapping as below. http://help.sap.com/saphelp_nwpi71/helpdata/EN/43/03612cdecc6e76e10000000a422035/frameset.htm Pay attention to method declaration
    public String Determine_Receiver( Container container) throws StreamTransformationException
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create(u201Chttp://sap.com/xi/XI/System/Fileu201D,u201CFileNameu201D);
    String valueOld = conf.get(key);
    //Put your logic here
    if (valueOld.equal(u201Cuser1u201D)) {
    return u201Cuser1u201D;}
    if (valueOld.equal(u201Cuser2u201D)) {
    return u201Cuser2u201D;}
    if (valueOld.equal(u201Cuser3u201D)) {
    return u201Cuser3u201D;}
    Step 6: Now use this UDF to map to u201CReceiveru201D and u201C Serviceu201D.
    This solution need more fine tuning.
    Regards,
    Raghu_Vamsee
    Edited by: Raghu Vamsee on Jan 8, 2011 5:56 PM

  • Integration Process Receiver Determination Step

    Hi experts,
    May I know whether the "Receiver Determination Step" (in  Integration Process) that collects the list of receivers configured, can be used only to find list of asynchronous receivers?
    Can't we use this "Receiver Determination Step" in synchronous scenario? If yes, may i know how to?
    Thank you!
    Best Regards,
    Saravanan

    Thank you Gaurav!
    I can understand we can use multi-casting.
    To clearly put my scenario, I have to use synchronous send (so cannot split send and receive step, and so no need of correlation) in my BPM, which have to synchronously send (and so it receives within same step) message to multiple receivers. This is the reason I am trying to use receiver determination step first and in a loop trying to synchronously send message to each receiver and receiving response.
    Now my problem is in the receiver determination step, it is not identifying any of the receivers configured in the integration directory. The receiver determination list returns empty.
    So, I want to know whether this receiver determination step is only for async receivers or synchronous receivers also.
    Best Regards,
    Saravanan N

  • About receiver determination step.

    how does the receiver determination step in bpm knows to calls which receiver determination in ID?
    which parameter determines this?

    >> is there receiver determination info in your header info?
    the receiver for a particular msg is always determined from the sebder info in a msg : sender service, interface.namespace.
    >>where to view header info?
    u can see the msg in various stages at it passes thru integration engine in SXMB_MONI. u can see various pipeline steps...and see the msg as it leaves each pipeline step.
    >>where do we should view the content of variables?
    to monitor ur process and each step of it go to worklog's tech view and look for each step u want to monitor in detail .
    regards,
    latika.
    [dont forget to mark helpful answers]

  • Receiver determination step - Send context

    Hi Experts,
    I have understood from SAP library and others threads that send context in the receiver determination step is used to send value for the conditions we have added in ther receiver determination and fetch only receivers those satisfy the cretiria.
    Please validate whether my understand is right or not?
    If its correct, then my question is can we populate this value dyanmically, say field value from another message.
    Please clarify.
    Thanks,
    Kar

    Check if the below link is of any interest to you:
    http://help.sap.com/saphelp_nwpi71/helpdata/en/46/8015de950e6be3e10000000a155369/frameset.htm
    From the link:
    Condition: when the AirlineID field in the message payload has the value LH, then the message is
    forwarded to the receiver business system BUS_100. A context object of the same name from the ES
    Repository is used to access the AirlineID field in the message.
    It talks about normal receiver determination as against the receiver determination step (of BPM) which you want....

  • BPM : Receiver Determination Step

    Hi,
    I was wondering why we need a Reciever determination step since on send step xi automatically find that there are multiple receiver and sends them accordingly to the different system as per reciever agreement.
    Is it that the receiver determination is only useful for multicast which is for send and waiting for the message response from those receiver.
    Kindly let me know your comments.
    THnks

    Hello chinna,
    You need receiver determination step becoz even though in BPM u define what are ur receivers but not what service its handling. Lets say this is the scenario :
    File>RFC>FILE
    ex: /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    You dont specify in the receivers of BPM where to write the file and how to write the file?
    Please elaborate ur scenario i coudlnt get the second part?
    Vara
    [PLEASE REWARD FOR POSTING]

  • BPM - Do we need receiver determination step between trans and sync send?

    Hi Gurus,
    I have a 1:1 transformation step followed by a sync send step. The transformation step is executing fine. While the sync step is executing, I am getting an error says 'No receiver determination found'.
    While I am executing this sync step in a separate, it is working fine.
    Do I need to have 'Receiver determination step' between Transformation step and Sync send step? I think so. Can somebody confirms this?
    Thanks for your kind help.
    Kalyan

    Hi,
    I think there is no need of a Receiver determination step in the BPM.
    You should have a proper receiver determination in configuration for this BPM scenario. (i.e) A receiver determination from BPM to the service configured for the synchronous interface.
    Regards,
    P.Venkat

  • Receiver Determination Step For Synchrnous Send  in BPM

    Hi,
    How to use BPM Receiver Determination step for a synchronous send step?
    My scenario is to send a request to multiple receivers synchronously and get the response.How can i achieve this using Receiver Determination step in BPM.
    Regards
    Divia

    Hi Sreedivia,
    As far as use of synchronous message is concern with receiver determination step, it wont allow you to use Abstract Synchronous message interface in it.
    Even you cannot give multiple receivers without specifying any condition while creating Receiver determination  in integration directory.
    Regards,
    Sami.

  • "receiver-determination" step and multiline container

    i have made a file2file scenario where:
    there is a BPM,
    the BPM contains a receive step,
    a transformation that mapps the incomin message to two messages(Split-messgae case),
    and then a FORK step which sends the two messges to through 2 SEND steps to the intended receiver services.
    It didnt work......and i followed a blog-> /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure ............... which suggested to have a
    "receiver-determination" step in the BPM before the SEND step.... it says that this
    "receiver-determination" step will put the message in a MULTILINE container..
    i m confused bout this step ........ can anybody explain.....
    please help

    Receiver Determination step will return all receivers that are configured in Integration Directory, for that particular message interface, having the BPM as the sender service.
    So, more than one receiver may return. Hence you need to define the receiver container as a multiline container.
    Here you go with explanations- for Receiver Determinations in BPM-
    http://help.sap.com/saphelp_nw04/helpdata/en/11/13283fd0ca8443e10000000a114084/content.htm

  • Question about Receiver Determination step in BPM

    Hello all,
    I have a BPM process similar to Multicat BPM Pattern.
    I have some questions regarding how the Receiver Determination works:
    1. Does it have to have interface determination in the Integration Directory?
    2. Does that interface determination (including the mapping) takes place when sending a message to a receiver from that Receiver Determination step,
    or should I perform a Mapping step explicitly in the process?
    Thanks ahead,
    Yoav.

    Yoav,
    Am not sure if I understood your requirement compltely.
    <b>Case A:</b>If you are using a send step without a Transformation Step.
    Then <b>Send will have message A</b> being sent out from BPm and then , during Interface Determiantion this will be transformed into Message B by Mapping in Interface Determination and this message B will be received by receiver
    <b>Case B:</b>If you have a transform and then a Send
    In this case, the mapping has been done, so you have the message B with you and so, <b>them message sent from the BPM will be message B</b>Hope this clarifies,
    Regards,
    Bhavesh
    Message was edited by: Bhavesh Kantilal

  • Use of Receiver determination step in BPM

    Hi,
    I am not clear about the exact use of Receiver determination step in BPM. From my understanding, it is used for synchronous communication with many receivers configured, for eg. Multicast etc. Can anybody explain the use of receiver determination with any specific requirement example.
    Regards,
    Santosh

    HI,
    The usage of Receiver Determination depends on how you have designed your BPM. You can have the mapping getting executed in your BPM itself using a TRANSFORM step or you can do it in your Inteface Determination if you are not doing it in your BPM.
    If you do the mapping inside the BPM using Transformation step, then you need to send the Message i.e. Mapped message . In this case, your Interface determination will only determine the Receiver Interface, and it will not execute the interface mapping . (if you are not providing the Interface mapping in the Interface determination).
    Example is given here-
    http://help.sap.com/saphelp_nw2004s/helpdata/en/14/d5283fd0ca8443e10000000a114084/content.htm
    Thanks
    Swarup

  • How does Receiver Determination Step in BPM work?

    Hi,
    I'm still in trouble with the Receiver determination step in the BPM...
    Normally, when you use the send step, it sends the message in the flow context. Am I right, when I suppose, that when you put the receiver determination step before this send step, the send step sends the message in the context of the receiver determination - that means: if in the Integration Directory, there is receiver determination (with some conditions) and these are matched with the message in the send step, the send step sends it into the receiver, that is defined for the condition and not in the flow context... Right?
    Please, write me just your experiences and not links to the documentation. I read it all, but... :O(
    Thanx 4 your help, Peter

    Hi Peter,
    The receiver determination step is used to get a list of receivers for a subsequent send step.It makes a call to the receiver determination you configured in the Integration Directory and returns the receiver list.
    Here you specify the send context and the multiline container element for the receiver list.
    The send context is a string.The send context can have any string value and depending upon the condition in recvr determination you can route to multiple receivers.
    Regards
    Priyanka

Maybe you are looking for

  • Is there a way for photoshop to AUTO UPDATE all linked files after modified?

    Using the new Photoshop 2014 (version). This is a very frustrating task for anyone using a lot of linked files. As a web developer, I may have 50 files that contain one linked element.  If I go edit that element, I then have to find the layer on each

  • N97 - volume not working on home screen

    Hey all - My latest n97 undocumented feature (read bug) is that when I'm on the home screen I cannot adjust the volume using the hard keys. It does work if I go into the music player but when I come back out to the home screen it still doesn't work.

  • Exception Message 10 / 15 in MD04 ????

    Hi In what cases do we get exception message 10 & 15 in MD04? Say i have a S.O which is to be deliverd on 30.12.2008. My planned delivery time is 90 days, purchasing processing time is 3 days and GR Processing time is also 3 days. In addition i need

  • Apple Application Support Not Found (Error 2)

    I just got a new iPad and was told to install iTunes on my PC to get started. I tried installing the lastest version of iTunes and at the end of the installation process I get 2 pop ups saying "Apple Application Support Not Found" I have uninstalled

  • Spacewalk quickstart for Oracle linux 6.1

    I have spacewalk installed following the instructions at https://fedorahosted.org/spacewalk/wiki/HowToInstall. I am completely stuck regarding what to do next. My question is, how do I register my new spacewalk server with oracle linux network in ord