exi_dtv
Closes DataView in a controlled way.
Usage as:
On_Select userexit in each menu/button-area or On_Event userexit in each state of the user interface.
Explanation:
Before the userexit exi_dtv finally closes DataView, it carries out the following actions and checks in oder to close DataView resources and locks in a controlled way:
- Checks, whether you created your own custom userexit EXIT
and executes its functions. If the userexit returns an error, exi_dtv
will be cancelled and the previous program state is restored.
- Calls the EXIT functions of all C/C++ libraries registered in T_FUNCTION.
- Deletes all opened widgets and executes the post_mask-triggers defined at
the widgets.
- Removes record locks.
- Checks, whether the trash-basket contains any records which are only temporarily
deleted. If this is true, a message will appear at the lower edge of the screen
asking you to decide if you really want to exit DataView. If you answer this
question with [J] and confirm your entry, DataView will remove
all temporarily deleted entries from the trash-basket. If you answer this
question with [N] and confirm your entry, DataView will cancel
the program closing routine. You still have the possibility to rollback your
entries in the trash-basket.
- Checks, whether you were in mask edit state manipulating a record before
leaving DataView. If this is true, a message will appear at the lower edge
of the screen asking you to decide if you really want to exit DataView. If
you answer this question with [J] and confirm your entry, you will
loose all changes to the record you were editing, which were not previously
saved via the store standard function. If you answer this question with
[N] and confirm your entry, DataView will cancel the program closing
routine. You still have the possibility to save the record you were editing.
- Deletes the screen.
Attention!
If, for any reason, you want to leave DataView from within an application specific custom userexit which you programmed, you will have to apply the userexit exi_dtv as subroutine, in order to close DataView in a controlled way.