# Body

### ![](https://gitlab.com/dbiservices/omrun/help/-/blob/v4.x/.gitbook/assets/Icon_TOB_data\).png)

### Abstract

At the the end of any query in source A or B it is possible to add a body part.\
The body part is meant to be an execution module to run any type of data transformation or data export / import functionality where the query part is a read only function.

To distinguish the body part from the query, the key word **/\*BODY\*/** is needed to separate the content.

<figure><img src="https://2873353689-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfK1YJaTCqOiS0L22wVKG%2Fuploads%2Fgit-blob-4648718a75d01e495c7c7385b399819f3127ed5e%2FOMrunHelp_TestObjectData_Body1.gif?alt=media" alt="OMrun test data object - query view" width="80%"><figcaption><p>OMrun test data object - query view</p></figcaption></figure>

***

### Body Conventions

The query can consist of two parts and is separated by the tag /\*BODY\*/

* Sql query part (before tag 'BODY')
* PL/SQL or stored procedure part (after tag 'BODY')

For the body content any sql script (PL/SQL, stored procedures etc.) is allowed. If a script expects return values, they need to be redirected into data base variables or output files.

<figure><img src="https://2873353689-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfK1YJaTCqOiS0L22wVKG%2Fuploads%2Fgit-blob-3ba9a2f5c4bbef876cc469d93b522376fa2bb3c2%2FOMrunHelp_TestObjectData_Body2.gif?alt=media" alt="OMrun test data object - body query"><figcaption><p>OMrun test data object - body query</p></figcaption></figure>

***

### Execution Order

The order how the different sql parts are executed is fix. A body part is always optional.

Test Object Data execution order:

1. Query `Source A`
2. Body `Source A`
3. Commit `Source A`
4. Query `Source B`
5. Body `Source B`
6. Commit `Source B`

***

### Parameter

Parameters in a /\*BODY\*/ part are used the same way as in a query.

The use of the following parameters / variables is allowed:

* [Parameters](https://dbi-services.gitbook.io/omrun-help/version-4.x/configuration/using-variables/parameter) (@param1 - @param4) from the parameter list
* Environment [variables](https://dbi-services.gitbook.io/omrun-help/version-4.x/configuration/using-variables/omrun-variables) like @VAR\_Environment
* System environment variables like %SystemEnvVar%

<figure><img src="https://2873353689-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfK1YJaTCqOiS0L22wVKG%2Fuploads%2Fgit-blob-fb7ac0dc6dde67c16671e234d40a46941c8750a9%2FOMrunHelp_TestObjectData_Body3.gif?alt=media" alt="OMrun test data object - body part"><figcaption><p>OMrun test data object - body part</p></figcaption></figure>

***

### Attention!

Ensure you do have elevated access rights for the db user defined within the OMrun environment to execute body parts in your test object.

* **Be especially careful with the body scripts.**
* **Body scripts are very powerful and in case of using them the wrong way, they have the potential to destroy the data source you are addressing!**
