I was at the Pacific Design and Manufacturing show in Anaheim this year helping out in the SolidWorks booth and while there, I was approached by an Enterprise PDM user who had an interesting situation. Basically, his company has a couple different types of โProjectsโ and when a new project comes in, they would like to use a template in EPDM to create the folder structure and some start documents for that specific project.ย As we know, the templates in EPDM are a fantastic tool for doing this however they had one major issue, multiple serial numbers.
When I say โserial numbersโ in this case I am talking about the auto-incrementing numbers that EPDM can create and assign to files or folders.ย In this case, they had different sets of โserial numbersโ that were actually being used as the project number.ย What this customer wanted was to have 1 template which would prompt the user for the type of project and then based on that input would provide the appropriate input form for the project (appropriate input form meaning the input form that used the correct serial number).ย Unfortunately, this is a limitation of the template manager in Enterprise PDM in that you canโt use the input from one form to drive a secondary form.
The user told me that once he realized that, he tried to create one input form that housed all the different project types on tabs and the tab for the proper project was activated by a drop down selection of project type. This unfortunately brings up another limitation on EPDM in that if you have multiple serial numbers on a single data card, all serial numbers will bump even if only 1 is visible.ย This was leading him to the last resort of creating a template for EACH type of project which obviously isnโt acceptable as it would make choosing the right one quite a chore for the user.ย Our only option at that point was to turn to the API.
Now, I donโt even for a second pretend that I know how to write API; however, I do have a good grasp on what is possible for someone who knows what they are doing.ย The following is what I suggested for the user and I can foresee this being very helpful for multiple applications:
Create a template input form for all Project Types.ย The first thing on this input form is a drop down list that specifies the type of project.ย For the rest of the fields on the card, you can set them up in any number of different ways depending on the information you need but at least one of the next fields will be a field for the project number.ย The last portion of this data card would be a button (called โGet Project Numberโ or something similar) which would be linked to the API you are going to write.
As for the API, it would take the value of the โproject typeโ from the drop down list and match it to the name of a serial number and then fill in the next value from that serial number in the โProject Numberโ box. This forces the user to pick the type of project AND grab a serial number and will allow multiple types of projects to be driven from 1 template.ย I spoke with our in house programmer here and he told me a program like that would be very easy and about 50 lines of code to write. The great thing is this could be applied to any situation where different numbering schemes are in use like part numbers, eco numbers, document numbers, etc.
If you have any questions on EPDM, check out theย Hawk Ridge website on EPDM.