AGarcia Posted January 4, 2014 Share Posted January 4, 2014 Hi, I have a problem when that I describe bellow in full detail. I have seen a simbit which is similar to my issue but do not know how to extend it. I have uploaded the model the description refers to. Your help is highly appreciated. Regards, Overview The idea is to allow the user choose the processing time for a server but not his entering the experssion himself, but by means of some intermmediate option. In particular, the user is have two options: ‘regular’ or ‘reduced’ for the processing time. According to the user’s pick, regular and reduced will lead to specific expresions contained in a table. The model There are three objects: • Source1 (default values from the estándar library) • Server1 (the processing time is to be chosen by the user) • Sink1 (default values from the estándar library) List There is a String List (named strUserOptions) containing the user can choose from, and contains two ítems: “Regular” and “Reduced”. Properties There is a List Reference Property rpUserOption, whose list is strUserOptions, so that the user can pick one of the above mentioned ítems. Its Display Name property is “Server Processing Time Speed” Table There is a Data Table (tabUserOptionInfo), with two columns: • Column 1 (name UserOption), List Property = strUserOptions • Column 2 (name ProcessingTime): Expression, Unit Type = Time, Default Units = Hours The table has two rows, as follows: Regular random.exponential(5) Reduced random.exponential(4.5) The objective My intention is that the user chooses either Regular or Reduced from the model property window and the corresponding value for the Server Processing Time is chosen for Server1 case_unsolved.spfx description.docx Link to comment Share on other sites More sharing options...
rthiesing Posted January 9, 2014 Share Posted January 9, 2014 The Server is currently set up to look at the table to find it's processing time, but you haven't told the server which row to look at in the table. Therefore, you need to put some logic into the model to check the current value of the model property and based on that value, set the correct row in the table. One example for how to do this would be to create an Add On Process in the "Run Initialized" Add On Process Trigger of the Server. In this process, you would place a Search step that searches that Table. It would have a Match Condition of rpUserOption == tabUserOptionInfo.UserOption so that it finds the row that matches the current value of the model property. And then you would create a new State variable and put that State variable in the Save Index Found property of the Search step. This will save off the row number. Place a Set Row step in the original segment leaving the Search Step and put the State Variable into the Row Number property so that you are setting the correct row for that Server object. Thank you Link to comment Share on other sites More sharing options...
AGarcia Posted January 9, 2014 Author Share Posted January 9, 2014 Hi, Renee, Many, many thanks, it worked! Regards Link to comment Share on other sites More sharing options...
Recommended Posts