Well, one of the obstacles I’ve recently had to tackle is to handle variant configuration iteration within a model. If you’ve done VC for a while, I’m sure you’ve heard about the advanced mode modeling, and it’s ability to have rules talk to different line items etc. Well, short story, I don’t have that option. So that means I have to go old school. While it’s uglier than I’d prefer, it does still work. So I wanted to go over my method and either give you a new idea, or perhaps hear of a better way to accomplish the same thing.
Here’s my situation. I have a multiple level KMAT. Inside of the second level (which is a cabinet), I have different types of shelves that needs to be iterated. The business has said that the customer can choose up to 5 different types of shelves to go into a single cabinet. Originally, the model was designed to use a single type of shelf. So we need to adjust the current design. What follows is my method to accomplish this.
1. Create a Class that contains all of the shelf related characteristics. This class needs to contain all the attributes that the Bill of Material will require to run all the object dependencies. This can be an opportunity to do some cleanup work. In my current project, we were able to do some characteristic consolidation. This becomes especially important because of my next task.
2. Duplicate all the necessary characteristics. This is the part I really hate. Having to make copies of existing characteristics always frustrates me because it creates needless work. If I make a change to one cstic, I now need to change it 5 times (one for each duplicate). My problem is that I don’t know of a better way to handle it.
3. Create a KMAT material master that will handle the shelves. Pretty straight forward. Make the material, then create the configuration profile, and attach the class we created in step 1.
4. Bill of Material Creation/Change. First, find all the components of the shelves and add them to the new KMAT you created in step 3. Be sure to move the object dependencies along with them. If it was already modeled, like it was in my case, you need to go into the cabinet BOM and remove those same components so you don’t add them twice to your finished BOM. In addition, you need to add your KMAT to the cabinet BOM. In my case, I added it 5 times and included a selection condition on each item. One more note. you now have the option to maintain the qty at the KMAT level, or you can leave it at the component level. You’ll need to review the qty procedures existing on your components and make that choice for yourself. Initially, I’m just moving the qty procedures as they currently exist to the lower level. If time permits, I may come back and adjust them.
5. Create a Constraint for each position. Now, here’s where the magic comes in (at least I think it’s pretty cool). Since I intend to use a single KMAT for the 5 iterations, I still need a way to make sure I pass the correct cstic values to each position. For that, I use a constraint with the RESTRICTIONS section and the PART_OF command. This syntax allows me to look at a specific BOM position. Since I chose to put shelf 1 at 500, shelf 2 at 501, etc. I know where they will be, so I can pass all the shelf 2 characteristics to position 501. You get the idea. If you haven’t already, be sure that the constraint net has been attached the cabinet configuration profile.
6. Be sure all the new characteristics are passed to the lower levels. Depending on how deep your model currently goes, you need to make sure that all the new duplicated characteristics get pass down to the cabinet. In my model, I’m utilizing some phantom levels, plus nested KMATs, etc. so I needed to do a procedure/CNET to pass those values down to the cabinet level where the Shelf KMAT’s exist.
Finally, test your work. make sure the components are all showing up like you expect, then hand it over to the business. In my case, we are using order BOMs, so we’ll need to pass an example down to production to make sure that the planned/production orders explode the same way that CU50/CU51 explode. If you’ve dealt with order BOM’s you’re already familiar with some of those hassles.
Anyway, that’s been my latest adventure. I hope to hear back that someone has found a better way, or if not, I hope this may help in your own iteration adventures.
As always, if there’s anything we can do for you, please click contact us above, and let us know how we can help,
Thanks for reading,