Saving memory by using dynamic arrays
The language supports both static arrays and
dynamic arrays. For compatibility reasons, static arrays must be allocated in their
entirety. This can result in huge memory usage when big structures are declared, such
as:
DEFINE my_array ARRAY[100,50] OF RECORD
id CHAR(200),
comment1 CHAR(2000),
comment2 CHAR(2000)
END RECORD
If possible, replace such static arrays with dynamic arrays:
DEFINE my_array DYNAMIC ARRAY OF RECORD
id CHAR(200),
comment1 CHAR(2000),
comment2 CHAR(2000)
END RECORD
However, be aware that dynamic arrays have a slightly different behavior than static arrays.