9th January 2018, 14:06
Join Date: Apr 2002
Location: Germany, 50.584097,8.544078
Baan: 2.2/3.1/4c4/LN6.1 FP6/FP9/HiDox -
DB: tbase, ms-sql7, oracle10gV1, 11g -
OS: HP-UX, W2K3, SLES
A User Exit DLL (UEDLL) is a DLL that will reside outside the standard software.
It will have the same name as a standard DAL with the extension ‘ue’ (for ‘user exit’).
E.g. ‘whinh200ue’ for table whinh200. Customers can implement a UEDLL in order
to be able to define extra business logic before and after
the standard ‘before’ and ‘after’ handling of
saves and deletes, by means of specific hooks that will be executed by the 4GL engine
and/or DAL Engine. In this way it is possible to e.g. conditionally publish
data changes to the outside world.
Interaction with 4GL Engine / DAL Engine
When present, the User Exit DLL for a certain table will be loaded by the 4GL engine/DAL
Engine by the time the DALfor this particular table will be loaded. In situations where
no DAL is present this will be the moment at which a DAL would be loaded if it existed.
This means that there is no need to have a DAL in order to make use of the UEDLL.
A DLL becomes a UEDLL when it meets the following conditions:
•Its name is consisting of the table code with ‘ue’ as suffix, like whinh200ue
•It includes bic_dal, as follows: #include <bic_dal>
A UEDLL is treated like a regular DAL. This means all kind of DAL related functionality can be used, like:
•Pre-defined variable subdal
Note however that the following restrictions apply:
•Business methods cannot be implemented in a UEDLL Instead the business logic
should be programmed in another (separate) general DLL.
•It is strongly discouraged to define other external functions in a UEDLL and
link the UEDLL directly to other scripts. Instead, use a normal general DLL.
(This also applies to regular DALs).
User Exit Hooks
A UEDLL script can contain the following hooks: