question

Nathan S3 avatar image
0 Likes"
Nathan S3 asked tannerp commented

Pull all tokens from each partition

Pull all tokens from each partition to create an array of Items and quantities on a new token to create a tokens of "shopping lists " for each partition

FlexSim 19.0.2
listspartitions
· 3
5 |100000

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

Nathan S3 avatar image Nathan S3 commented ·
0 Likes 0 ·
pickingflow.fsm (26.4 KiB)
Matthew Gillespie avatar image Matthew Gillespie ♦♦ commented ·

I don't really understand what you're trying to do. If you're pulling all tokens from all partitions that's the same as just pulling everything off a list with no partitions. Why even partition the things you're pushing?

Also, the only way to refer to a partition is by its ID. There's not really a way to loop over all existing partitions. Do you know the IDs of the partitions you're pulling from?

0 Likes 0 ·
Nathan S3 avatar image Nathan S3 commented ·

So, perhaps I'm going about this wrong. If you look at the global table OrderTable, I want to be able to pull all the item numbers and their quantities for a given BoxLP. This represents an order that will be picked and packed in to one box. The ultimate goal being to test different slotting strategies of our SKUs throughout the FC.

0 Likes 0 ·
Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered Joerg Vogel edited

You need the IDs of the partitions to get the path to the values. So if you push the IDs to an additional global list you can get the entries of the list by putting the path of the entries of each each partition into an array. Then you can evaluate the paths and get the pointer to the values or items. I attach a model to demonstrate this. My partition IDs are numbers and strings in the same list.

query-list-all-partition.fsm

If you look closer into the paths array, you'll see that the IDs are just numbers.

/Tools/GlobalLists/List1>variables/partitions/1/entries/1
//  - or - 
/Tools/GlobalLists/List1>variables/partitions/4/entries/3

List1 is the name of the Global List.

With this knowledge you evaluate the structure of the tree to get the path array of the partitions and then the path array of the entries. The next step is to evaluate the array fields to get an array of items.

Here you need not the Partition IDs anymore!

query-list-all-partition-2.fsm

This has nothing to do with List pull or or Table query. It is just collecting the entry nodes in the tree and evaluating their paths.


5 |100000

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

Sebastian Hemmann avatar image
0 Likes"
Sebastian Hemmann answered

Did you try out to "Release" all tokens on the List by using the "Release Tokens" Activity from the Preemption part? I can remember we discussed about this some time (months) ago anywhere, but can´t find it here in the forum.

Maybe this does what you want!?

5 |100000

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

Mischa Spelt avatar image
0 Likes"
Mischa Spelt answered Mischa Spelt edited

As @Matthew Gillespie says,there is no way to pull from all partitions, or loop over all partitions. So the solution is not using partitions!

Suppose that currently you are pushing tokens to partition token.Product and when pulling you are pulling from a specific partition token.OrderLine.Product.

Instead, you can rework the model to not use partitions, but make Product a Label Field on the list, then in the Pull activity instead of using the partition, write a query such as WHERE Product = puller.OrderLine.Product.

This allows more flexibility in that you can now also pull from the list without the query.

There are really only a few use cases for partitions that are hard to solve without them, and in many instances the "filter one big list" solution works (almost) just as well as a partitioned list.

5 |100000

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