hard to understand your model. there is a lot of questions:
first one, bad naming convention for steps, you better assign a meaningful name for each steps instead of using' Assign1', 'Search1' etc...
In Search1 step, you used BOM.prodotti.Name == MyToken1.productname,but you never use MyToken1 as the Token Class Name for that process,
and I did not see you assign any product name to this token??