mstalder Posted May 1, 2018 Share Posted May 1, 2018 Hi, Is it possible to access the filter expression of standard Dynamic Selection Rules for use in processes? Basically I want to filter queues based on some Entity properties, eg, being a specific material. However standard dispatching rules only apply the filter if multiple entities are in the queue. Eg, if a an entity of "wrong" type arrives to the InputBuffer of a Server and the input buffer is empty it will seize the queue anyway. In my case I want to keep the server starved until an entity of correct type arrives. I found a way to implement that by filtering the queue with the same expression as used in the dynamic selection rule, however I need to add another property for that expression, which is a bit confusing. Thanks for your help Michael Link to comment Share on other sites More sharing options...
CWatson Posted May 1, 2018 Share Posted May 1, 2018 You could use a Search step with matching condition criteria specified perhaps? Not sure exactly what you are doing within model, but the Search step can search entities in queues for various criteria as well. Link to comment Share on other sites More sharing options...
mstalder Posted May 2, 2018 Author Share Posted May 2, 2018 Hi Christine, The way I set it up for a standard server is as follows: 1. Use a Dynamic Selection Rule "Smallest Value First" based on Entity ID and set the filter expression to my match condition 2. Keep an Index FilteredQueue which I update with a SearchStep with same match condition everytime an entity leaves or enters the InputBuffer or if the condition changes (happens when property which candidate is compared to changes). 3. On every seize request FilteredQueue is checked, if 0 the request is denied. This does what I need. My only "problem" is that I need to enter the match condition twice, once for the Dynamic Selection Rule and once for the SearchStep. So, is there a way I can access the filter expression property of the dynamic selection rule for use in the SearchStep? Link to comment Share on other sites More sharing options...
CWatson Posted May 2, 2018 Share Posted May 2, 2018 Try using a Function within the Definitions window to define the Filter Expression - it seems to take 'Candidate' (table expressions don't) - this function should be able to be referenced within the Filter Expression and the SearchStep. Link to comment Share on other sites More sharing options...
Sea Jung Posted December 9, 2018 Share Posted December 9, 2018 On 5/2/2018 at 11:35 PM, mstalder said: "Smallest Value First" based on Entity ID Hi! I'm sea, making some user-defined selection rule. I wonder that what is the exact meaning of "based on entity ID" in your question. is it same as creation sequence, like order date? I know original value expression was "Candidate.Entity.Priority" in the dynamic selection rule. But I'm not sure that is oriented from arrival sequence at specific buffer. Link to comment Share on other sites More sharing options...
mstalder Posted February 5, 2019 Author Share Posted February 5, 2019 Hi! Yes that is how I experienced it. Entity ID can be used as creation sequence. Not 100% sure if there are exceptions. Link to comment Share on other sites More sharing options...
Recommended Posts