Transactions
Transactions are services executed in the middleware that help you implement complex business logic in your app by integrating with services, APIs and databases exposed by a third party or client, or with Veritran's services. Transactions consume databases, APIs, invoke external services (such as SOAP and REST services), manipulate and validate data, and more. With them, you can create a login validation, retrieve credit cards information, retrieve accounts movements, among others.
Important
This section is about native and configurable transactions in Studio. Refer to Transactions to read about transactions in BRM.
Transactions are integrated into your application by invoking them from legacy or lambda processes. Read Invoke a Transaction.
Types of Transactions
There are two types of transactions in the Veritran platform:
Native transactions are legacy transactions created in Middleware that are linked to a VT Service created in Studio. These transactions are fully coded.
Configurable transactions are low-code, built with a visual editor using action nodes and other elements that add logic and functions to the transaction flow.
Both native and configurable transactions are versioned and stored in GIT. To read more about versioning, go to Studio-GIT integration.
Navigate the Transactions Page
Follow these steps to access the Transactions page:
In Studio's Dashboard, click the Transaction logic tab.
Click the Global transaction logic repository.
A list of branches pops up. Select the branch you are working on.
The global transaction logic's overview opens, with shortcuts to the transactions, external services and library pages.
Click Transactions.
Tip
You can also access your transactions repository while working on apps or modules. To do that, click Transaction in your app or module's Overview, as shown below. The transactions Overview will open on the branch selected as dependency for your app or module.

From the Transactions page, you can see the list of all the transactions available in your branch, both native and configurable. To search for a created transaction in the list, use the search bar and search by name or transaction code, or use the product drop-down to filter transactions by product.
There are three main actions you can perform from this page: export, import and create transactions. You can export configurable transactions with their dependencies, such as action libraries, external services and lambda libraries, and then import them in another environment. Lastly, you can create a configurable or native transaction.
To edit a transaction, hover over a transaction and click the pencil icon next to the transaction you want to edit. Additionally, the Run and Duplicate options appear. Click Run to test a transaction's functionality or Duplicate to create a replica of the selected transaction.
When you hover over a transaction, a vertical three-dot icon appears. Click it to display a set of additional actions. From here, you can publish a configurable transaction after creating or editing it so that changes reflect on the app and delete an unpublished transaction. Additionally, you can open the transaction's commit history from the History option to visualize the different versions of that transaction, and roll back to any previous version or download it.
Dependencies and Publication
In Studio, you work with one transactions repository only (global transaction logic), which can be branched to make the necessary changes or fixes to your transactions. When publishing a transaction, it will publish changes made on that branch and will impact on your app if that transaction repository's branch is selected as your app's dependency. Read Dependencies to read more about activating dependencies for your app.
Transactions are executed and published in the middleware, and only one version of that transaction can be published. For example, if transaction 1058 from the main branch is published, publishing that transaction's version from a develop branch will change the transaction from the main branch to the pending publication status, since two transactions with the same code cannot be published simultaneously in the middleware.
Tip
When publishing your app to test it or setting an implementation, make sure to turn the Publish "pending publication" transactions toggle switch on to publish all transactions that are in use in your app. This way, you can avoid publishing your app with transactions that, due to versioning, might have been changed to pending publication.
