Hi Armeen,
Thanks for you reply. However, to answer a few of your own questions:
We are using SQL Anywhere 17 databases for our PowerServer deployment test.
I already figured I need to configure all possible Database connections (caches), then assign a cache to each named variable of Transaction type (or any type inherited from the Transaction type) that is used in our app.
We are using SQLCA as our primary transaction object, but we have plenty of others for various situations (we connect to more than one database, and one of these uses remote objects from another database so we have temporary transactions set up for these exchanges just in case the remote server isn't available - which causes the transaction to crash). Regarding this, I have a suggestion for the whole "DB cache association" thing in the WebAPI part of the project - It would be nice if we could assign caches to Transaction types rather than variable names. Ie we are using specific inherited transaction types for each specific Database we need to acces in our app, but as some of them are temporary, we do not always declare them as Global variables. This gave me headaches for the first 2 days / my first attempt to deploy our app to PowerServer.
I am currently using the WebAPI console to track my errors but I think a Debug mode would still be a great feature, for all PB apps are not simple "Sales" projects.
We have all kinds of complexities in our app, we use everything we can out of the native PowerBuilder features, and we build more things and workarounds on top of it through various ways (external DLLs / dot NET assemblies / REST APIs, etc.) and we sometimes make Datawindows using system procedures in the SQL Anywhere databases (ie sa_conn_info) - This doesn't seem to work well in PS.
I am disabling certain parts of our code and slowly documenting things that may not be supported by the PowerServer app at the moment. I will then give a 2nd glance to the list and decide which features are essential / should be removed because of the web app context.
There are two ways to do the "DB cache association"... you can statically map it in the PowerServer project config or you can programmatically switch which DB cache the particular transaction object should use. So I think you can accomplish what you want to do but you need a different technique.
If you don't mind, I'd really appreciate if you open a support ticket and submit code sample of how you are doing the transactions so at least we can make adjustments that PowerServer correctly reports this as an unsupported feature and doesn't crash. Also, anything else you discover is unsupported please report it to us in a support ticket so in the final release we can make sure to properly handle reporting these.
Don't worry, the debugger is coming... it is scheduled for PowerServer 2022 per our product roadmap: https://www.appeon.com/developers/roadmap#upcoming
Best regards,
Armeen