DrainWindow(windowID, childID), DrainWindow(windowID), DrainWindow(childID), DrainWindow
Parameter: Window and child object identifier
| 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).