Asha B
24th November 2017, 14:52
Hi all,
can anyone suggest me how to create userexit on following
If location of the invoice against the mentioned work order in the session tfacp1500m000 is at HO Accounts then the respective work orders cannot be modified by user
System should give a pop up Work order cannot be Modified and Reason is Bill is Pending at Accounts.
For this iam writing user exit.for which session i should write ue ....i.e..for purchase order(tdpur4100m900) or else received invoice(tfacp1500m000)
Thanks in Advance
Asha Bellam
bdittmar
24th November 2017, 15:45
Hello,
a userexit does't work against / with session. It works with table
So userexit for tdpur4100m900 works on table tdpur400.
Named : tdpur400ue
User Exit DLL Overview
Overview
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 DAL for 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.
Preconditions
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>
Restrictions
A UEDLL is treated like a regular DAL. This means all kind of DAL related functionality can be used, like:
Function with.old.object.values.do()
Function with.object.set.do()
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:
ue.before.before.save.object()
ue.after.before.save.object()
ue.before.after.save.object()
ue.after.after.save.object()
ue.before.before.destroy.object()
ue.after.before.destroy.object()
ue.before.after.destroy.object()
ue.after.after.destroy.object()
Related topics
Data Access Layer
Regards
Asha B
28th November 2017, 06:45
Thanks For your reply