question

jing.c avatar image
3 Likes"
jing.c asked anthony.johnson commented

Back order can not pull "age > 10" when use List

Hi! everyone

You can see my model attached. I want Processor10 can only pull the item in any queues who stays more than 10s. But, it seems not work. Is it the List Setting error or SQL error?

I had tried to use "WHERE queueSize > 3", and it works well, but "age > 10" can not work

cannotpullv16.fsm

FlexSim 16.0.1
listsqlbackorder
cannotpullv16.fsm (25.4 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.

jing.c avatar image jing.c commented ·

I share the correct model by anthony‘s advice.

I use TimeInterval to re-evaluation the back order.

Hope it will help someone.

cannotpull-revaluationbytimeintervalv16.fsm

2 Likes 2 ·

1 Answer

anthony.johnson avatar image
3 Likes"
anthony.johnson answered anthony.johnson commented

The problem is that the value of your WHERE clause will change while the back order is active. In such cases, you need to set up back order re-evaluation events, so the list will know when to re-evaluate the back order's WHERE clause.

· 2
5 |100000

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

jing.c avatar image jing.c commented ·

Thanks @anthony.johnson

I will follow your advice and read this part in User Manuals. Before that Can you explain why "WHERE queueSize > 3" can work well while this WHERE clause also change while the back order is active?

0 Likes 0 ·
anthony.johnson avatar image anthony.johnson ♦♦ jing.c commented ·

Using WHERE queueSize > 3 suffers from the same issues. It just looks like it's working right because when a fourth box enters a queue, it will be pushed onto the list. Pushing onto a list will trigger back order re-evaluation for THAT item pushed onto the list. This means that the back order will see the fourth item and pull it because the fourth item will satisfy the WHERE clause. However, it does NOT re-evaluate the back order for the first three items again. Maybe that's how you want it to happen, but I would assume that when the queue gets above 3 you want to pull the first (or oldest) item from the queue. In order to do that, you would have to add a back order re-evaluation event associated with the OnEntry event of up(value) (or, the queue's entry event).

2 Likes 2 ·