This past weekend I did a podcast on Enterprise PDM's scripting tool called Dispatch. Dispatch is one of those essential utilities to further customize the way Enterprise PDM interacts with the database and it's users, however many don't know that the tool even exists!
Over the years I have used this tool to build simple automation tasks like renaming files or assigning serial numbers before a state change. I also treat this tool as a buffer to programming via the API since programming, although very powerful, can be susceptible to upgrade issues down the road.
Recently I used Dispatch to assist users to evaluate files before submission for "Released" by checking if certain variables were filled out in the data cards. This can be done by requiring EPDM to make this a "required" field, however that can lead to frustration to users when EPDM is used in development and versioning is desired before these details are defined. The other solution is utilizing conditions on the transitions in EPDM, allowing a check of certain criteria to be evaluated prior to allowing files to move to the next state. Conditions work well to prevent transition but when a transition is denied, users are given a generic warning that "Conditions have not been met". This gives no indication which file(s) or what condition(s) are missing.
I could have written a program that would monitor the file and throw up a warning and prompt for a variable to be entered but before I fire up Visual Studio, I fist see if I can try to remedy the limitation with Dispatch.
Dispatch as a Check Tool:
In this situation, the customer wanted to restrict transitions with missing variables "Description" and "Number" with a transitional condition (mentioned above) but give the user an ability to first check which files fail and then have the opportunity to enter that data easily without having to check out every file, add the missing variable values, and check back in.
So I fired up Dispatch and built the following check script utilizing the jump feature:
NOTE: Sometimes reading through this can be a bit confusing but here is a summary what is performed by the script:
- Check if the variable "Number" is blank and check if "Description" is blank
- If only "Number" is blank then it shows a message with the file name that "Number" is missing.
- If only "Description is blank then it shows a message with the file name that "Description is missing.
- If both are missing, then a mesasage with the file name show that both "Number" and "Description" are missing.
- If both "Number" and "Description" are not blank, it does nothing.
The second part of the request was to then give a simple pop up to ask for the missing info. This was done in a similar way but I then popped up an Edit box prompting for the information needed. I could have combined the two but in this case, the request was for these to be separate right-click options for the user.
Dispatch is a powerful little tool to automate certain aspects of EPDM and can be used by almost anyone without any programming knowledge at all. If you have ever built equations in Excel, you can do Dispatch! I have attached the two files for reference if you are interested in trying it out. ~Lou