I am in a situation where I am adding new appServer procedures and thought of making them classes. The background it that APP1 is calling procedures over appServer from APP2. Is it even possible to replace procedure in APP2 to be a class and use it in APP1. APP1 and APP2 have different GIT repos so the codebase is not the same.
Procedures are run in following way, is there any way to have the other end as class with methods.
run xx/xxxxxxxx.p persistent on server hAppServer set hAsProjectProductLink.
run updateProjectProductLink in hAsProjectProductLink
( table ttUpdateProjectProductLink ).
the first problem I see, is that how to use USING phrase in APP1 if .cls is in APP2.
TY for the answer, I agree, this should be supported by Progress
Maybe now that reflection is being added to ooabl, you will be able to reflect on your class and auto-generate the .p code that serves as a proxy to your class. Then you could add a huge warning at the top of them /* AUTO-GENERATED. DO NOT EDIT !!! */
I agree that the proxy.p files are not ideal. They aren't really a massive problem in and of themselves, but they lead to problems because their presence encourages the less informed ABL programmers to jam in their business logic instead of leaving them alone (to serve as simple "pass-through" programs.)
> On Jan 31, 2017, at 3:24 AM, Mike Fechner wrote:
> IMHO such a feature is way overdue in the ABL!
Appealing as this may seem at first, I think this is a very very bad idea. It will enable tight coupling of code across the network with no effort required. That will allow you to create stuff with no thought at all as to what should be sent and received over the network. This in turn will result in horrendously bad performance.
It will also make updating the code harder due to the tight coupling across machines.=
How does introducing a stub .p create decoupling?
Seems to me that this is an issue of subsystem design and one is either going to design decoupled subsystems or not and the exact mechanism used for the link is irrelevant as long as the link is one of "running" something rather than simply sending a message.