# Functions

An OData function is an operation that can do whatever the designer of the OData endpoint has decided. It must, however, not change any data, unlike an OData action.

Functions can be found in it's own section in the operation tree

<figure><img src="/files/qaZPzhHZ4SJghYykxP9a" alt=""><figcaption><p>Unbound functions</p></figcaption></figure>

These functions are 'unbound' - meaning that they are not tied to a particular entity.&#x20;

There are also 'bound' functions, which are bound to an entity or an entity set.&#x20;

## Output

While the output of a function depends on the action itself, the output is always a record containing the members listed below along with whatever the function itself outputs.

* StatusCode - the HTTP status code returned from the OData endpoint, typically **200** if the operation was successful. A value of 0 or -1 indicates a problem in the connector (i.e, no request sent to the OData endpoint)
* ErrorMessage - has no value if the operation succeeded, otherwise a description of what when wrong
* HasFailed - simple value containing true if operation failed
* Headers - is omitted by default, but if included, contains all HTTP headers returned by the OData endpoint


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.novacuraflow.com/connectors/areas/business-systems/ifs-applications/ifs-odata/operations/functions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
