Hi Everyone;
FWIW: I solved this issue a long time ago in my STD Framework for Appeon Mobile, Appeon Web (<= PS2022 releases) and Client/ Server based Apps as well that all had these timeout challenges. This framework feature now also extends into the new 2021/2022 PowerClient and PowerSever "Cloud" based Apps as well. The feature that I put in place was similar to the old Distributed PB, Jaguar and EAServer feature which was known as a "heartbeat". The HB feature monitors your App's DML activity and if there is none, it "pings" the DBMS server. In the case of any PowerServer version that implements an N-Tier model, the Ping" is over to the middle tier (via a JSON request) that in turn causes DML activity between the PowerServer Web API middle tier and the target DBMS - thus negating both the IIS Session timeout, Application Pool timeout and DBMS timeout settings. :-)
The problem with the solutions that have been proposed in this thread thus far is that they change the web server, DB driver and/or DBMS server timeout settings. This *might* be great for the problem App (or two) but may then cause transaction handling issues for other Apps. Not to also mention middle tier and / or DBMS problems depending on the processing needs of the other various PB App's requirements.
The Hearbeat feature is implemented in my framework on the SQLCA ancestor and thus all transaction objects can have this feature active. You can enable, disable the HB feature or change the HB frequency for any App via its INI file. Thus, the HB needs for each App can be fine tuned to meet each individual App's transaction timeout requirements without affecting the N-tier ecosystem in general.
The only trick to this implementation was making sure that the HB feature did not fire while any DBMS activity was in progress (ie: Active transactions in play). In that case, the HB feature does nothing and just goes back to sleep waiting for the next HB check.
FYI: You can see the HB feature being used in the STD Framework's OrderEntry Demo App. The actual implementation is done via the "NS_SQLCA_Master" ancestor object located in the STD_FC_BASE.pbl library. http://chrispollach.blogspot.com/2023/03/framework.html
Food for thought ... HTH!
Regards ... Chris