item is not pulled when backorder is fulfilled (by using item list)

item is not pulled when backorder is fulfilled (by using item list)

fernando_q3
Not applicable
17 Views
4 Replies
Message 1 of 5

item is not pulled when backorder is fulfilled (by using item list)

fernando_q3
Not applicable

[ FlexSim 23.1.2 ]

Esqueleto prueba.fsm

Hi,

we have a problem with the "pull from pedidos" in queues 6 & 9. Both are in "on the end collecting" triggers. When checking out the entries and backorder lists, the pull system works, but if there is a backorder and the item (box) arrives to queue 2 and does the push, it is removed from backorder queue but the box does not move to queue 4 (moveobject(pulled, Model.find("Queue4"));). Currently, it is happening with "item.NumOrden" = 7.

Thanks.

0 Likes
Accepted solutions (1)
18 Views
4 Replies
Replies (4)
Message 2 of 5

joerg_vogel_HsH
Mentor
Mentor
If it is in process flow, then apply some breathe activities to let finish a logic cycle and update states before executing other actions. A breathe activity is a delay activity lasting 0 time units.
0 Likes
Message 3 of 5

jason_lightfootVL7B4
Autodesk
Autodesk
Accepted solution

The condition:

TrackedVariable("PedidosPro2").value > TrackedVariable("PedidosPro1").value

is no longer true so the rest of the code, including your OnPulled action does not fire.

This seems odd that the pull gets out of sync with the condition - something that inline awaiting for the backorder fullfillment event would potentially solve. I'll bring this up for discussion.

0 Likes
Message 4 of 5

fernando_q3
Not applicable
So, it means that a backorder is triggered but later when it is going to be fulfilled, the condition needs to be met again?
0 Likes
Message 5 of 5

jason_lightfootVL7B4
Autodesk
Autodesk

Yes. For now you can add the callback test to your condition by moving some lines in your code. Pu t this before the condition:

int callbackCase = param(5);
#define CALLBACK_CASE 10293
int isCallback=callbackCase==CALLBACK_CASE;

and then add 'isCallback' to your condition:

isCallback||(TrackedVariable("PedidosPro1").value > TrackedVariable("PedidosPro2").value)
0 Likes