Schema trigger code defined in the database is executed by database clients. Any database access by a PAS for OpenEdge session that invokes database trigger code causes the server session to run such code. This is because the server session acts as a client to the database.
There is no functional difference between how schema triggers run in a server session and how they run in an ABL client session. However, trigger code executed by a server session can:
Fail if it requires user input or output to a user interface other than a character user interface
Send any output to the PAS for OpenEdge log file, unless specifically directed otherwise
Invoking schema triggers on a client application raises a basic security issue. Code in the server session is protected because of encapsulation (the session barrier that isolates server code from the client); code on your client application is not protected.