Many application programs integrated in DataView in the form of userexits require direct write and read access to the data base. The direct way to accomplish this is programming via the standard SQL data base interface. It is used by the DataView modules themselves, but it is also available as application interface. While it offers the benefit of a high performance for programming with SQL, it also imposes the following restrictions:
A simple and safe way to avoid the problems mentioned here is to create application programs with the help of virtual widgets. The method is based on the idea to use the DataView standard functionality, which is available for interactive operation at the dialog objects, for programming, too. They always guarantee the consistency of the data model.
So, programming with virtual widgets means that you create widgets and edit data in the widget with functions of the programming interface, that correspond to the ones of the interactive work on the screen. In contrast to the interactive work mode you make the program run as a batch and being not visible on the screen. In some cases this method may result in a slight performance loss of the system. On the other hand, you can ignore these restrictions for the sake of clean and secure programming.
Note!
Even if you program using virtual widgets you must have a profound knowledge of the functional principles of DataView when working with data from the data base and the logics of masks and widgets. You should have a close look at the functions of the modules wdg and mas.