PDM: building more intelligent datacards

I am in the painful process to renew our datacards fixing bugs, misconfiguration, with some more “intelligent” function. I am working on file and search cards at the moment.

If you have some technique or trick, please share them in the comments.

I am interested in card field logic, but I found quite annoying I cannot use some temporary variable inside the card to drive my controls. I can use LISTS to standardize the dropdown menus shared by multiple cards, but when I want to drive a menu or a choice inside a search card if I use a support variable to switch another control ON or OFF, the search looks up for the support variable itself and it is annoying.

Unfortunately we cannot handle addins at the moment, so bear it with me we should rely on the datacard functions alone, and I want to be sure to be able to use them at 100% before moving to addins. Datacard and PDM administration are bugged enough for me and as a single man army I have to fight with what I can handle without blowing up in my face daily.


The new file card design is coming together pretty decently.
We had too many tabs and too many unused fields, and the card looked like a bureaucratic hell out of some city hall ERP, rather than something useful for mechanical design.

I simplified our main card like
→ 1 tab for reading info/data input
→ 1 tab for reading drawing change history (we do not use revision tables)
→ 1 tab visible to admin only with the possibility to enable the GOD MODE to edit the whole card. I used it also to temporary trash all the fields deemed “not used anymore” before cleaning up the mess later.

I put a push button linked to our intranet ticketing system for support, so the browser opens into the support form page directly from the datacard and the user can avoid to open the browser and click like 5 places.

Instead of documenting the card with dozen of pages nobody care to read I put a popup help system into the card that explains in simple terms what should be input inside the card itself. Popup is limited up to 500 characters each and MS makes it disappear in less than 10s, but just get used to it. There is also an open SPR about popups stealing the focus from input boxes so you should use them with care.
If the popup goes off screen and it is not readable just move the card window or temporary enlarge the card (windows explorer, icon on the upper right of the card tab)

Our fields are basically all text.
I still need to find a way to better control user input.
→ for some field its length is easy to control, e.g. we have a code of 7 digits so you can input up to 7 digits, but to properly delete it with our dispatch I need to be able to write 1 space in it, so the input length check is not set in the lower end.
→ for our legacy data if we have some field that is over the prescribed length it triggers an error and the user cannot edit the whole datacard if that field is set to be read only. that is quite annoying
→ our legacy date for revisions is a text field like yy.mm.dd
I had users filling it in creative ways like yyyy/mm/dd or 'yy.m.d and probably there is someone that would input “Today, day I of the IV month of the year XII under emperor Augustus” if the field was not properly limited to 8 characters and still our engineers find new creative ways to write a date.
I tried the date control, but it probably take the windows locale date format and it defaults yyyy.dd.mm with a 4 digits long year.
Any workaround to use a date field and make the input a text field always in the yy.mm.dd format?

We have another field, item code that is a version free variable, it is supposed to be linked to our ERP, but at the moment we rely on manual input.
My engineers are annoyed and asked for a way to check that input somehow, to avoid mistyping or entry duplication. It was possible to check it for duplication with a non version free variable, but it required the variable to be linked to a file custom property and it was a pain to maintain 3D data.
→ I am pondering to make a button with a SQL query to our ERP inside the datacard.
The query should take the file name and lookup in the database for a proper item code and show it to the user so the user can decide to use it as it or simply manually override it.

Problem: our file format is like X-12-34567, but we also have some data like X-12-34567_1 or X-12-34567_thisafilenameLOL and I think a query with that will return an error.
Is there a way to properly check a field format in the datacard, feed the correct format to a SQL query and do nothing if the format is not correct?

Lot of things, thank you for your patience!

SQL can do quite a bit of validation/manipulation of inputs. Removing leading/trailing/middle characters isn’t a problem. Full blown regex matching is available.

1 Like