Transaction timeout vs. no transaction timeout

In installable cloud apps, network connection problems can cause commands to fail, and if the transaction timeout value is not set properly, it can lead to deadlocks of concurrent calls. Therefore, it is very important to have transaction timeout in PowerServer and set a proper value for it. However, there is no such concept as transaction timeout in PowerBuilder traditional C/S applications because there is no network connection issues in C/S architecture.

Such difference would cause problems in PowerServer: during the execution of a stored procedure, if the transaction is not closed (when Commit/Rollback is not executed in the code or AutoCommit = false), then when the transaction timed out in PowerServer, a "Transaction is timeout" or "Transaction does not exist" error occurs. To resolve this error, use the ProcedureInTransaction parameter of Transaction.DBParm. Read more.

PowerBuilder C/S app has no such error because it is always the same one transaction and the transaction never times out.