# Script Module

**URL:** <https://forum.inductiveautomation.com/t/script-module/5764>\
**Category:** Ignition\
**Created:** [January 30, 2013, 2:20pm UTC](https://forum.inductiveautomation.com/t/script-module/5764 "2013-01-30T14:20:09Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ryanjmclaughlin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryanjmclaughlin/32/4318_2.png) [@ryanjmclaughlin](https://forum.inductiveautomation.com/u/ryanjmclaughlin)\
**Post date:** [January 30, 2013, 2:20pm UTC](https://forum.inductiveautomation.com/t/script-module/5764/1 "2013-01-30T14:20:09Z")

</div>

I am trying to write a script to update the content of a table so I do not need to use many cell binding calls and make it easier to update in the future.

I added the following script as a module

[code]def getFaultDataset():

```
stations = [2,9,10,11,12,13,14,17,20,21,23,25,26,27,36,38,42]
headers = ["Station", "Station Description", "Shift Faults", "Fault Percentage"]
data = []
 
for station in stations:
	desc = system.tag.read("[]BodineB/Stations/" + station + "/Enabled.Tooltip")
	data.append([row, desc, "", ""])
 
return system.dataset.toDataSet(headers, data)[/code]

```

Then in my table object I bound to this expression

```auto
runScript("app.getFaultDataset()", 10000)
```

However, I am getting the following error when it runs…

[code]Exception: Error executing expression binding on  
Status.Root Container.Table.data  
caused by ExpressionException: Error executing script for runScript() expression:app.getFaultDataset()  
caused by Traceback (most recent call last):

File “expression:runScript”, line 1, in

TypeError: ‘com.inductiveautomation.ignition.common.script.ScriptModule’ object is not callable

Ignition v7.5.4 (b1206)  
Java: Sun Microsystems Inc. 1.6.0\_23  
[/code]

Any help as to what I might be doing wrong?

---

<div class="post-metadata">

**Author:** ![Travis.Cox](https://avatars.discourse-cdn.com/v4/letter/t/b9bd4f/32.png) [@Travis.Cox](https://forum.inductiveautomation.com/u/Travis.Cox)\
**Post date:** [January 30, 2013, 3:07pm UTC](https://forum.inductiveautomation.com/t/script-module/5764/2 "2013-01-30T15:07:47Z")

</div>

To call an app function you must specify a module app.something.someFunction. You are just missing the middle part.`runScript("app.myModule.getFaultDataset()", 10000)`

---

<div class="post-metadata">

**Author:** ![ryanjmclaughlin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ryanjmclaughlin/32/4318_2.png) [@ryanjmclaughlin](https://forum.inductiveautomation.com/u/ryanjmclaughlin)\
**Post date:** [January 30, 2013, 4:34pm UTC](https://forum.inductiveautomation.com/t/script-module/5764/3 "2013-01-30T16:34:19Z")

</div>

Awesome! Thanks, got it working. ![:thumb_left:](https://us1.discourse-cdn.com/inductiveautomation/original/1X/e26afb081ddde6df016df6ee49159cf56aaca688.gif ":thumb\_left:")
