Uses for Data Tags?

Looking to see if anybody has useful data tag functionality? Clever uses?

One nice use is for record setup. Have a BPM that checks the record for accuracy (missing fields, etc.) and adds a Data Tag for each missing item. A BAQ widget can then be added to the Home screen to display records requiring your attention.

Data Tags can be a poor-man’s Project number to tie various objects together.

You can also use Data Tags as Status fields instead of adding a UD Field.

Note: I have not seen the Data Tag features surfaced in the Kinetic UI screens. It may be somewhere, but I haven’t been able to find them and they do not show up in Kinetic Help. :person_shrugging:

I used the data tag to flag a PO when it is created then when it is updated through the form or approval process it removes the tag. The reason this is useful is because I set an in-transaction data directive on the POHeader table to set the approved to false. Since creating POs from the buyer workbench always sends them to approved status, and the usually have to be unapproved and modified before sending them on.

1 Like

Datatags can be used for so many things, and they are very underutilized. They are a VERY FAST alternate index to nearly any table… you can have multiple data tags for the same record, and multiple “owners” of those tags.
One use that I have seen recently in combination with #AutomationStudio (by our friends @josecgomez and @hmwillett is to have a BPM create a special datatag when a specific thing happens. Then Automation Studio is looking for that datatag to be created, and when found, it reads the datatag, gets the related record, and processes the value. The Recipe may or may not also delete the tag when done.
I also used datatags in Automation Studio for the PO Approval recipes. First i used the normal “po needs approval” that creates a new record in the po approval table… but then in order to send an email, I didnt want the button on the email to simply send a PO NUmber (that would be too easy to falsify). so instead, I created a unique UID key, and used that key as the DataTag for the PO… the recipe created the data tag, and then created an email with a Weblink that included the datatag. Later when someone pressed the button in the email, that triggered the weblink, which looked up the UID key and immediately deleted it, but then also approved or rejected the PO.
3rd use case… we gave Salespeople the ability to flag certain orders for review in a dashboard… but we didnt want to create a UD FIeld for flagging… instead we made an updatable dashboard that had a phoney checkbox that had custom logic on it… when the user clicked the box, the logic went and created a datatag “review” for those items. Then later, anything that had the “REVIEW” datatag could be looked up on a separate dashboard. in that second dashboard, the opposite could happen, and people could check the “reviewed” checkbox, which proceeded to delete the datatag.
4th use case. I had a customer who insisted to use the Datatags as a “where used” for many of their parts. But this is not a normal where used… it was more about which Product Line(s) the material was used for. This allowed them to do a one part to many product line analysis with datatags. THey created all sorts of dashboards that used this data link.

So… you may ask… what is the data link? Well, My suggestion is to create a data tag, then create a BAQ that looks at the data tag table, and you will see all the data that is stored (it is really simple) and then use your imagination on things you could do with such a capability. Note that data tags come in two flavors… “public” meaning that there is no owner, and “private” meaning that only the owner can see the tag… but in theory, there is a 3rd type, and that is “secret” which is a private data tag, but the user id is not a real user… you can only see the tag, and manipulate it via rest calls or C# logic. So, in my example above with AutomationStudio, the PO DataTag has a user ID of “POAPPRV” (or something like that).