question

pc neo avatar image
0 Likes"
pc neo asked pc neo commented

working with pull with list in 3D objects

sample-query-listorderby.fsmIn the attached model, I needed to first populate many flowitems into a list then have a 3D object to pull a flowitem with the lowest value for label START_LOC_SEQ from list. But I am not able to achieve it.

description of the model

a) 2 sources are used to populate 2 racks with 100 flowitems each. These flowitems are pushed into list through "send to port -> use list". RackA set its flowitems to have label START_LOC_SEQ to be 2, RackB to be 1. All flowitems has label CAS_STATUS to be "EMPTY".

b) A queue is configured to pull a flowitem from the list using query "

WHERE CAS_STATUS = "EMPTY" order by START_LOC_SEQ ASC"

c) It is observed that sequence of population of flowitems into list is first RackA followed by RackB.

Result: I expect that queue will get a flowitem from rackB base on the query, but it gets a flowitem from rackA instead. So, I reason that in the midst that the list is being populated, 100 flowitems from each rack, the queue pull "successfully" a flowitem which is from rackA.

d) Set the query in the queue to be "WHERE CAS_STATUS = "DUMMY" order by START_LOC_SEQ ASC" which will not be able to match any flowitem in the list while it gets populated.

e) At a later time (1 sec) the query is change to "WHERE CAS_STATUS = "EMPTY" order by START_LOC_SEQ ASC".

f) Added a 5 sec time interval "back order evaluation event" on the list. As I reason that the change in the query will not take effect since there is no more opportunities to evaluate back order on the list.

Result: I expected that that queue will get a flowitem from rackB, but it still gets a flowitem from rackA.

Any advise on how to solve this issue? I understand using processflow works (which is my current workaround) but is there any way to use 3D pull to make it work?

FlexSim 20.0.2
pull strategypull with requirement from rack
· 5
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Joerg Vogel avatar image Joerg Vogel commented ·

I look later in your model, but I think it is mere a problem with warehousing. Probably the connections of your queue to the racks dont take into account that you want a different treatment in send to port by a slot label.
Or you pull as fast from the list as you push from the list. Then there is only a small number of entries on the list. And if you pull from list you have got only START_LOC_SEQ values of 2 rather than a mixture of 1 and 2.

Have you tried to pull from a table to dump the result to another table? Then you can figure out how your query works.

0 Likes 0 ·
pc neo avatar image pc neo Joerg Vogel commented ·

thank you @Jörg Vogel.

I will need to clarify the below:

a) the queue is pulling flowitems off the Racks. So i believe it is not related to the send to port by a slot label.

b) The list is meant to be a master list for all the racks (like warehouse) so i will not be able to limit to only values of 2 for START_LOC_SEQ. But also i am not using the "new warehouse" feature as I've checked "Used as fixed resource" on the racks.

c) The query works when I use a Process flow activity "pull from list" with the exact same query.

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel pc neo commented ·

Thanks for your reply. In a few hours I’ll look into your model at work.

0 Likes 0 ·
Show more comments

1 Answer

Matthew Gillespie avatar image
1 Like"
Matthew Gillespie answered pc neo commented

So this does look like it might be a bug; however, it's also a very round about way of getting the result you're looking for. I'll add a case to the dev list to look into this, but here's a simpler way to configure your model. You want all the items to be pushed on the list before the back order is fulfilled so that the ORDER BY statement will be able to evaluate all the items. Well, since you're pushing all the items onto the list at the same model time we can check a box on the list that's meant just for cases like this, the Allow Multiple Pushes Before Back Order Fulfillment box:

You can read more about what that checkbox does here, but basically it makes a new event that puts the back order fulfillment at the end of all the other events happening at the current time.

See the attached model:

allowmultiplepushes.fsm


checkbox.png (4.7 KiB)
· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

pc neo avatar image pc neo commented ·

I thought I have tried that option .... now I think my eye trick me previously :p

thank you @Matthew Gillespie for putting into devlist for consideration, as similar approach will be use in other parts of the model to only extract flowitems at some "special time".

0 Likes 0 ·