- Introduction
- Installation
- Self Service Licensing Guide Updated
- Prerequisites
- Decisions License Updated
- Basic
- Advanced
- Enterprise
- Containers
- Containers Overview
- Decisions Container Updated
- Decisions Environment Variables
- Deploying Containers on Docker
- Deploying Containers on Azure
- Deploying Containers on Amazon ECS
- Deploying Containers on GCP
- Deploying Azure Kubernetes Services (AKS) Updated
- Deploying an AWS Kubernetes Cluster
- Securing Decisions Container Environment
- Clustering
- Multi Tenancy
- Containers
- Upgrading
- Getting Started
- Data Structures
- Starting with Data Structures
- Creating Data Structures
- Creating Case Entities
- Creating Entities
- Creating Leased Entities
- Creating External Entities
- Creating Entity Extensions
- Creating Folder Extension Data Structures
- Creating Flow Execution Extension Data Structures
- Creating Flow Structures
- Creating Defined Data Structures
- Creating Database Structures
- Creating Value Lists
- Creating a CSV Data Structure
- Creating Types From JSON Schema
- Creating Types From XSD
- Creating Types From JSON
- Data Fields
- Building Data Structures CRUD Actions
- Data Structure CRUD Overview
- Case Entity CRUD Actions
- Database Structure CRUD Actions
- Defined Data Structure CRUD Actions
- Entity Structure CRUD Actions
- Entity Extension CRUD Actions Updated
- External Entity CRUD Actions
- Flow Execution Extension CRUD Actions Updated
- Folder Extension CRUD Actions Updated
- Managing Data Structures
- Flows
- Create Flows
- Flow Behaviors
- About Flow Behaviors Updated
- Building and Using Converter Flows
- Flow Step Trigger (After, Before, Error) Flow Behavior
- Folder Count Flow Behavior
- Login User Flow Behavior
- Post to Flow Handler Behavior
- Login User UI Flow Behavior
- Tile Source Flow Behavior
- Turn Flow Statistics On Updated
- Get Page Variable Updated
- Report Field Action Handler Flow
- Password Reset Flow
- Creating a BPMN Flow Updated
- Exporting BPMN Flow
- Report Group Action Flow
- Steps
- Simple Flows
- Sub Flows
- Flow Behaviors
- Configure Flows
- Debug Flows
- Implement Flows
- Best Practices
- Create Flows
- Forms
- Create Forms
- Form Controls
- Form Control Comparison
- Data Grids
- Data Repeaters
- Dropdown Lists
- Javascript Controls
- Form Control Glossary
- Form Control Behavior Overview
- Form Control Key Triggers
- Adding a Timeline to a Series of Forms
- Color Picker
- Copy-able Label
- Creating Help Text Messages for Form Fields
- Masked Textbox Control
- Currency Box and Number Box/Spinner
- Document Viewer
- Multiple File Upload and Download Controls
- Tree View Control
- User Controls
- Video Control
- Latitude and Longitude Control Updated
- HTML Display Control
- Create Form with Property Grid
- Editing Data Objects in a Wizard Property Grid
- Progress Bar Overview
- Editing CSV Records in a Form
- Simple Forms
- Form Controls
- Configure Forms
- Layout & Design
- Creating Form Backgrounds
- Layouts Overview
- Form Organization
- Grid Layout
- Canvas Layout
- Header Container Layout
- Horizontal and Vertical Stacks
- Split Panel Layout
- Responsive Containers and Grids
- Tabs Container Layout
- Using the Tab Editor to Set Tab Order
- Side Menu Containers
- Creating End Forms Updated
- Data & Logic
- CSS
- Form Settings in the Flow Designer
- Layout & Design
- Implement Forms
- Create Forms
- Rules
- Create Rules
- Creating Statement Rules
- Creating an Expression Rule
- Creating a Truth Table
- Creating an External Truth Table
- Creating a Rule Table
- Creating a Matrix Rule
- Creating a Tree Rule
- Creating a Rule Set
- Creating an Interceptor Rule
- Creating a Rule Chain
- Creating a Sequential Rule
- Leveraging Default Rules
- Rule Verbs
- Configure Rules
- Debug Rules
- Implement Rules
- Create Rules
- Reports Updated
- Pages / Dashboards
- Create Page / Dashboard
- Page Controls
- Charts
- Tiles
- Selecting a Data Drill View for the Report Viewer
- Report Viewer Control
- Flow Run Part Updated
- Folder Activity Panel
- Folder Viewer
- Tag Browser
- Adding Folder Navigation Buttons to a Page
- Horizontal Folder Timeline
- Adding Run Flow Links or Buttons to a Page
- Adding User Actions with a Page/Dashboard with the Action Bars Component
- Date Range Filter on Pages
- Filtering Reports via Page Control
- Adding an Image to a Page/Dashboard
- Page Controls
- Configure Page
- Implement Page
- Create Page / Dashboard
- Networking
- Integrations
- Azure Account and Group Sync
- Starting with Integrations
- Agents
- Database Integrations
- Integrating an External Database with a Flow
- Creating Database Table Relationships
- Creating a Database in MSSQL for Decisions
- External Database Integration
- Advanced Postgres Connection
- Integrate with Database Table
- Fetching External Data to a CSV
- Connecting with an ODBC
- Return Dynamic Data Rows When Fetching Data From Database
- Creating Access Pattern For Table Integrations
- Using Stored Procedure in Flows
- Raw SQL Step
- Integrating Decisions with External Oracle Database
- Connect to MySQL
- External Service for OData
- Adding a Query to a Database
- Add Query (Parameterized Queries)
- Using Transaction Steps
- Connecting to Amazon Redshift
- Integrating with Snowflake
- Managing Database Connection Timeouts
- Troubleshooting Database Connection Response Times
- External Webservices
- JWT
- OAuth
- REST Service Integration
- Using Decisions in External Applications
- Services
- Query Editor
- Decisions Backend
- Process Mining
- Modules
- About Modules
- Available Modules Updated
- Installing Modules
- Modules in GitHub
- Uploading and Installing Custom Modules
- Updating Custom Modules
- Generating Certificates with OpenSSL
- Active Directory
- Adobe Sign
- AI.Common
- AWS
- AWS Bedrock
- Azure
- Box Module
- Datamatics
- Docker
- Docusign
- Dropbox
- Enterprise Module
- Equifax
- Exchange Web Services
- Experian
- FHIR
- Financial
- Foreign Exchange
- Google Cloud
- Google Drive
- HL7
- HubSpot
- iCal
- Jira
- Logging.WindowsEvent
- Messaging
- MongoDB
- MSMQ
- MS OneDrive
- Okta
- OpenAI
- OpenID
- PGP
- Plaid
- PowerShell
- Python
- QR Codes
- Remedy
- R Module
- Salesforce
- SAML
- Sharepoint
- Slack
- SSH
- Symantec
- Telephony
- UnitTestCore
- USPS
- Word To PDF
- X12
- Advanced
- API and Authentication
- Troubleshooting
- Using Selenium and NUnit for Front-end Testing
- Understanding Thread Jobs and Processes
- Logging & Auditing
- Logging Overview Updated
- Logging Settings
- Reading Logs
- Using the Log Step
- Writing To Log Files
- Creating Custom Log Files
- Setting up AWS Cloudwatch Logging
- Setting Up Azure Log Analytics Integration
- Enabling W3C Logging
- Enabling Auditing
- Viewing Audit History
- Troubleshooting Using the Profiler
- Configuring Decisions with Grafana Loki
- Decisions Disaster Recovery Architecture
- SDK
- Administrators
- User Management
- Deployment
- Import & Export
- Best Practices for Decisions Deployment
- Repository
- Repository Overview
- Repository Installation
- Connecting a Decisions Server to a Repository Server
- Repository Settings
- Using The Repository
- Configuring CICD Process Using Azure DevOps
- Configuring Repository with Repo-SSO
- Repository Features and Functions
- Troubleshooting Repository
- Repository Revisions
- Repository Branches
- Sub Project Overview
- Repository Action Flows
- Customization
- Permissions
- System Folders
- System Settings
- System Folders Tree
- Customizing System Page
- Controlling Assignment Notification Types for Server
- Creating Custom Modes of Notification with Notification Flows
- Event Viewer
- Flow Management Dashboard
- System Validation Folder
- Turn Portal Statistics On
- Configuring Locations
- Stored Workflows
- Setting Up Notifications for Events
- Toolbox Visibility Rules
- Email and SMTP in Decisions
- File Archiving and Deletion
- Integration Activities
Have Questions? Need Expert Answers? JOIN LUNCH N' LEARNS!
Using Transaction Steps
In a database, a Transaction is a sequence of one or more SQL statements executed as a single unit of work. A Transaction is used to ensure the consistency and integrity of data within a database. It follows the principles of the ACID properties, which stands for Atomicity, Consistency, Isolation, and Durability.
When migrating a project that includes Transaction Steps to an environment with a version of 8.15 or lower, you may encounter errors. However, this issue has been addressed and resolved in version 8.16 and higher. To ensure a successful migration, specific conditions and steps must be followed:
Conditions for Migration:
- The Transaction Steps rely on a consistent database connection name. Therefore, it is essential that both the source and target environments use the same database connection name.
- Before initiating the migration, ensure that all relevant environments, including both the source and target, are upgraded to at least version 8.16 or higher.
- Within your source environment (now upgraded to v8.16 or higher), open and save the Flow that includes Transaction Steps.
- Once the Flow has been saved in the upgraded source environment, you can proceed with migrating the project to the target environment.
Available Steps
Transaction steps can be located in the Toolbox under Database > Transaction. The following table describes all the available steps in the Toolbox.
Step | Description |
---|---|
Start Transaction | The "Start" step initiates a new transaction. It signifies the beginning of a series of database operations grouped together as a transaction. |
In Transaction | The "In Transition" Rule step checks whether the Flow is in Transaction or not. |
Commit Transaction | The "Commit" step is used to confirm and finalize a transaction. When you commit a transaction, all the changes made by the Transaction are saved to the database. |
Rollback Transaction | The "Rollback" step is used to undo the effects of a transaction. If something goes wrong during a transaction, or you need to cancel the Transaction for any reason, you can issue a rollback command. This action reverts all the changes made by the Transaction, bringing the database back to its state before the Transaction started. |
Using Transaction Steps within a Flow
The above Flow chart helps to demonstrate how to use the Transaction Steps to perform a Transaction to the database. Users must build their own logic to perform the CRUD actions to the database, and this logic must always be built in between the Start Transaction and the Commit Transaction Step. To roll back the Transaction, enable the Add Outcome for Exception on the Commit Transaction step and map it to the Rollback Transaction Step.
Example
In this example, we have configured a Flow that uses Transaction steps to alter a Customer Info table.
- Within a Flow, we have added a Form that allows editing the Customer Information Details.
- After this Form, place three Transaction Steps onto the Flow by navigating to Integration > Database and then selecting the Start Transaction, Commit Transaction, and Rollback Transaction steps found under the database holding the table to edit.
- Place the Start Transaction step after the Edit Customer Information Form, followed by the Commit Transaction step.
- The steps placed between these two will be the action taken and committed to the database.
- The Start Transaction step allows the isolation level to be specified under the step's Input properties. For assistance on setting transaction isolation levels in SQL, please read the Set Transaction Isolation Levels Microsoft Document.
Isolation Level Description Read Uncommitted Lowest isolation level. A transaction may read uncommitted changes made by another transaction because they are not isolated from each other. Read Committed Locks are placed on the data being read, but it can be changed before the end of the Transaction, resulting in non-repeatable reads or phantom data. Repeatable Read This holds read locks on all rows it references and writes locks on all rows it inserts, updates, or deletes. This prevents non-repeatable reads. Serializable A lock is placed on the data to prevent other users from editing it while the Transaction takes place. Chaos It behaves the same way as Read Uncommitted but checks the isolation level of other pending transactions during a write to respect more restrictive isolation levels. Snapshot This choice uses a version of the data at the start of the Transaction, so you cannot see changes by other transactions happening simultaneously. This choice offers the benefit of reduced blocking. The Snapshot value uses Snapshot Isolation if the ALLOW_SNAPSHOT_ISOLATION ON database option has been set by a DBA in the SQL Server database. Unspecified A different, undetermined isolation level is being used. - To edit the Customer Information table, place the Edit CustomerInfo step between the Start Transaction and Commit Transaction steps.
- If the Transaction fails, roll back the changes to the table before starting the Transaction.
- To do this, select the Commit Transaction step and navigate to the properties tab on the right side.
- Under outcomes, choose the option to Add Outcome for Exception.
- Add the Rollback Transaction step to the outcome path generated from this selection.
- Connect both the Rollback Transaction step and the Commit Transaction step to the End Step to complete the Flow.
- Test the Flow by selecting a customer from the Report and successfully updating the address.
Feature Changes
Description | Version | Developer Task |
---|---|---|
Fixed the issue where the Transaction Steps were breaking on migration | 8.16 | [DT-039127] |