DrainWindow

DrainWindow(windowID, childID), DrainWindow(windowID), DrainWindow(childID), DrainWindow

Parameter:  Window and child object identifier

Stack
Stack   Description
Stack(In)   object
Stack(Out)   -

This is the opposite operation to FillWindow: All data that corresponds with the object, is 'written' from the window objects into the object.

Information For a persistent object, a transaction starts.

For the assignment of object data to interface window objects, see FillWindow. Data, that has been selected via access path, is updated by importing the window object string. If the interface holds a dynamic data field window object, that does not already exist in the object instance, it will be established now.

DrainWindow updates object relations that are mapped with an object box. Even the back reference to be registered in the object box via BackRefName is considered here. In this case, DrainWindow executes statement functionality of SetReference for a 1-1-/m-1-relation and Insert for a 1-m- and a m-n-relation.

Ein window object with the flag NO_DRAIN will be ignored by DrainWindow. The same applies for a hidden window object (an object that is hidden via statement Hide or via flag HIDDEN).

DrainWindow shouldn't be used with ListViews, which can display many objects (see ListView).