# Template internal UDT

**URL:** <https://forum.inductiveautomation.com/t/template-internal-udt/17388>\
**Category:** Ignition\
**Created:** [March 16, 2018, 8:22am UTC](https://forum.inductiveautomation.com/t/template-internal-udt/17388 "2018-03-16T08:22:46Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Claus\_Nielsen](https://avatars.discourse-cdn.com/v4/letter/c/77aa72/32.png) [@Claus\_Nielsen](https://forum.inductiveautomation.com/u/Claus_Nielsen)\
**Post date:** [March 16, 2018, 8:22am UTC](https://forum.inductiveautomation.com/t/template-internal-udt/17388/1 "2018-03-16T08:22:46Z")

</div>

Having a few templates where I ‘group’ some properties by using a dataset, however I stumbled upon a post here, somewhere I can’t find right now, indicating UDT types can be used as internal properties and accessed directly in scripting. I thought this was great, never thought about that, however experiencing some random behavior I don’t understand.  
Accessing the internal UDT parameters in scripting, both setting and getting, works great for some time, however sometimes these UDT properties seems to ‘reset’ to NULL values without any obvious reason.

Should just mention, these UDT properties aren’t bound to any tag. My intention is just to use these for internal storage.

Is this as it should be and should I just drop using internal UDT properties in my templates or am I missing something?

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [March 16, 2018, 9:23am UTC](https://forum.inductiveautomation.com/t/template-internal-udt/17388/2 "2018-03-16T09:23:13Z")

</div>

> ... UDT types can be used as internal properties and accessed directly in scripting.

Maybe, but memory tags are probably a better solution. These can be created in the client or in the gateway (server).

Client tags are local to each client. I've used these to hold a common StartDate and EndDate across multiple windows. Each client can then be looking at different data.

Gateway tags are common to all clients. If one client modifies it all the others will see the change.

---

<div class="post-metadata">

**Author:** ![Claus\_Nielsen](https://avatars.discourse-cdn.com/v4/letter/c/77aa72/32.png) [@Claus\_Nielsen](https://forum.inductiveautomation.com/u/Claus_Nielsen)\
**Post date:** [March 16, 2018, 9:56am UTC](https://forum.inductiveautomation.com/t/template-internal-udt/17388/3 "2018-03-16T09:56:54Z")

</div>

Think you misunderstand. I am not binding the internal property to any tag, just using it as any other template property.
