# Scripting - UDT - Update memory StringArray

**URL:** <https://forum.inductiveautomation.com/t/scripting-udt-update-memory-stringarray/47168>\
**Category:** Ignition\
**Tags:** ignition80\
**Created:** [May 26, 2021, 9:19pm UTC](https://forum.inductiveautomation.com/t/scripting-udt-update-memory-stringarray/47168 "2021-05-26T21:19:24Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![luc.martin](https://avatars.discourse-cdn.com/v4/letter/l/77aa72/32.png) [@luc.martin](https://forum.inductiveautomation.com/u/luc.martin)\
**Post date:** [May 26, 2021, 9:19pm UTC](https://forum.inductiveautomation.com/t/scripting-udt-update-memory-stringarray/47168/1 "2021-05-26T21:19:24Z")

</div>

8.1.5

I try to modify an UDT, I have a memory tag inside with type of StringArray, i try to modify using this documentation [system.tag.configure - Ignition User Manual 8.1 - Ignition Documentation](https://docs.inductiveautomation.com/display/DOC81/system.tag.configure) (EDIT MULTIPLY TAGS) but I always get an error

In my array I store value like this: {“TEST” : [1,2,3,4,5]}

result still alway Error\_Configuration(“UDT definition cannot be nested in another UDT definition ([AMT]_types_/CELL\_CONFIG\_INFO).”)]

```auto
myDict = dict()
arr = [9,8,7,6]
udtPath = "[AMT]_types_/CELL_CONFIG_INFO"
config = system.tag.getConfiguration(udtPath, True)
for tag in config[0]["tags"]:
	if tag["name"] == "status":
		for row in tag["value"]:
			if "TEST" in row:
				print "before", row
				myDict = system.util.jsonDecode(row)
				myDict["TEST"] = arr
				row = system.util.jsonEncode(myDict)
				print "after", row
			
result = system.tag.configure(udtPath, config, "o")
print result

```

---

<div class="post-metadata">

**Author:** ![luc.martin](https://avatars.discourse-cdn.com/v4/letter/l/77aa72/32.png) [@luc.martin](https://forum.inductiveautomation.com/u/luc.martin)\
**Post date:** [May 27, 2021, 12:06pm UTC](https://forum.inductiveautomation.com/t/scripting-udt-update-memory-stringarray/47168/2 "2021-05-27T12:06:21Z")

</div>

I finaly found the way to do that…

```auto
system.tag.configure(basePath = '', tags = configs, collisionPolicy = "o")

```

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [May 28, 2021, 12:58pm UTC](https://forum.inductiveautomation.com/t/scripting-udt-update-memory-stringarray/47168/3 "2021-05-28T12:58:59Z")

</div>

To explain this, the basePath argument in the `configure` function should be the _parent path_ of the tags you want to modify/add. Otherwise, as you found, you will be attempting to create a UDT definition within itself.
