When an error happens in an action script, the error message often looks like the one above.
What does 0.0.10 actually mean?
I will explain the meaning of 0.0.10 with a little example.
In the example we have an activity diagram with one parameter “url” and an action script with this content:
local first = url.substring(0,1);
You get the above error message if parameter url is empty.
No data returned by function 0
This error messages is generated by the E2E Runtime. The E2E Compiler generates the following pseudo code for the action script. The url objects becomes the first parameter of the substring function.
substring( function_to_get_first_parameter(), 0, 1);
In substring() the function_to_get_first_parameter() is called
which returns no data and then substring() throws the exception.
The funny name “0” of the function instead of “value of url” comes from the fact that the E2E Compiler generates a class definition of all activity parameter and central buffer nodes of the activity diagram.
In our simple case we only have the activity parameter url.
To get faster performance the access to “url” is translated by the Compiler into an index access.
In our case the first attribute (which is zero) of ActivtyContext is the first parameter to substring().
So function names which only have numbers and dots are always access to an activity parameter or central buffer node.
In your example (0.0.10) the first activity parameter is an object of a class (0.) and the the first attribute of this class (0.0.) is again on object and the Runtime wants to access the eleventh (0.0.10) attribute.
Now either the parameter is already missing (0) or the first object of the parameter (0.0) does not exists or (0.0.10) is empty.