One of our analysts told me that the client wants to force some operations to be scheduled together. The idea is to have a new Routing Line field OperationGroup, and operations in the same OperationGroup must start together and end together. Suppose we have the following routing: Operation NextOp OperationGroup ------------------------------------------------ OP-0 OP-1 | OP-2 OP-1 OP-3 | OP-4 OpGrpA OP-2 OP-3 | OP-4 OpGrpA OP-3 OP-5 OP-4 OP-5 OP-5 This should result in a routing like this: OP-0 01/01/01 03/01/01 OP-1 03/01/01 09/01/01 (SAME DATES) OP-2 03/01/01 09/01/01 (SAME DATES) OP-3 09/01/01 13/01/01 OP-4 10/01/01 16/01/01 OP-5 16/01/01 17/01/01 So OP-1 and OP-2 must have the same starting date, and the same ending date. But OP-3 and OP-4 can have different starting and ending dates, even though they run in parallel. Is there something in Navision that already achieves this? (I am also looking into how to do this through coding). Thanks in advance. Alastair
Hi Alastair I think you can achieve this as standard, but not sure what you want with Op-3 and Op-4. Set the routing type to Parallel. On Op-0 set the Next Op field to be Op-1|Op-2 This will result in Op-1 and Op-2 having the same start time and date. It will be the end date and time of Op-0 unless you are using send-ahead quantities or building in wait time etc. I believe you want Op-4 to run after Op-3? Not sure here, ultimately Op-3 will start after Op-2 (and Op-1). What did you want to happen to Op-4? You could have a play with move and wait times from Op-2 on Op-3 and Op-4. Is Op-3 and Op-4 really starting at the end of Op-1 and Op-2 but you want Op-4 not to start? Can you tell I am not sure what you really want on this bit!
Hi Steven, thanks for your reply. Your solution works if the Machine Centers and Work Centers have infinite capacity. When they are set up as Capacity Constrained Resources (especially the WC’s), the times and dates of different operations can be wildly divergent. Some background that I learnt about today. The whole point of this is that Op-1 represents a machine (say, a conveyor belt), and Op-2 is a human worker who does some work on Op-1. So another routing may use the same conveyor belt but 4 workers (Op-a, Op-b, Op-c, Op-d). The point is that we cannot just use Op-1 to represent both machine and workers, because the same machine may have different workers in different routings; and the same worker may work on different machines in different routings. A minor detail - operations in the same Operation Group need to start together, but it is OK if they end at different times. I’m sorry that there was some confusion regarding Op-3 and Op-4, because they’re not important. I just put them in to make it clear that not all parallel operations need to be grouped in an Operation Group. It’s only the dates of Op-1 and Op-2 that I really care about here. I will keep on looking at a coding solution. Thanks for your help. Alastair
Hi Alastair I will leave you to go down the coding route then!
I am realising just how complicated a coding solution would be. The Navision planning codeunits already contain lots of code, and I would have to substantially increase that complexity. Instead of just scheduling a single resource when it is available, I now have to schedule several resources when they are all available simultaneously; and those resources may have different capacities, different run-times, and different loads. Just because I am exploring coding solutions does not mean that I am enthusiastic about them, so I am sorry if I gave the impression that I don’t appreciate alternative solutions - they are more than welcome! Cheers, Alastair
Hi Alastair From what you have written and the needs I do not believe you will get what you want from the standard code. With the capacity of the person constrained if they are scheduled in for one routing job you will get wildly divergent times. The standard code, I believe, is not designed to have an four machine centres working simultaneously on an operation having all five defined, well anyway it is not eactly a good fit! Your best option, I feel, is to code it to do exactly what you want it to do.
Thanks Steven. Having a second opinion at least reassures me that I’m not rashly overlooking an easy solution. Have a good weekend. Alastair
Hi Alastair Not a problem! Have a good weekend yourself and naturally have fun with the coding!