Uuufff… amazing work @Roldy ![]()
Reading the term “BOM” at the beginning I was confused, I knew that I had seen something like this and remembered my days working with SCADA systems. We called it a Recipe but it was something basic and each Recipe was saved as a text file. Any time we wanted to load a recipe to system, it looked for the Recipe file and later send the data to field.
But working later with MES (Manufacturing Execution Systems) these Recipes are called BOM, have a complex structure and have higher value due to need to have a traceability and of course, a real database is used to save and retrieve that data. I never saw the DB’s internal structure of those MES I worked but reading your work, now I can understand the challenge.

But working with Glide and the need to be efficient and save rows, we need to create something better to avoid having a “rows eater” ![]()
Although a BOM looks like a list and we think we must write its products/items in rows I can bet we can write all this in one row in order to save space. I try to make an analogy between this case and the way we collect products to an order on a Delivery APP and I see almost the same: it’s possible.
Depending of BOM structure, we can put its selected items in a list and later, playing with an array, create (a) multiple relation(s) to retrieve more data from other tables and keep the traceability.
It’s just and quick idea sitting down on my comfort chair watching TV but I think it will work
![]()
Greetings!
Feliz fin de semana!