Problem:
Why does my DB2 application fall over with RTS119?
Why does my OpenESQL application fall over with RTS119?
Why does application returns RTS119 against MFSQLECM0RTSHOOK ?
Resolution:
It is possible to enable database applications to perform an implicit ROLLBACK and DISCONNECT in the event of an abnormal termination.
For OpenESQL applications, you should compile your source with the SQL(INIT=PROT) directive.
For DB2 applications, you should compile your source with the DB2(INIT=PROT) directive.
However, you must ensure that this directive is only used for the source which performs the initial database CONNECTion. If you pass the INIT=PROT directive to subprograms, on execution, your application will most likely fail with an RTS119 directive against MFSQLECM0RTS0HOOK.
The SQL(INIT) or DB2(INIT) directive must be removed from the compile of any sub-programs.
This information applies equally to Server Express, as well as Net Express.
Specifically for Net Express, if you are compiling within the Net Express IDE, be sure that the INIT=PROT directive is not set within your global Project properties, but rather on the individual program source, either via Build Settings, or by specifying the directive within a $SET statement .
#netexpress
#COBOL
#EnterpriseDeveloper
#MFDS
#MainframeExpressandMFE
#Enterprise