Tables are stored in logical areas for a number of reasons including load balancing and better performance. In order to programmatically find out what Area a given Table is in, an ABL Query that joins the
_area,
_StorageObject and
_file metaschema tables can be used.
The following ABL code example can be customized to requirement:
/* a list of storage areas and their associated tables: */
FOR EACH _storageobject WHERE _storageobject._object-type = 1
AND _storageobject._Object-number GE 1 NO-LOCK
by _area-number
by _object-type:
FIND _File WHERE _File._File-Number = _storageobject._Object-number NO-LOCK NO-ERROR.
FIND _area WHERE _area._area-number = _storageobject._area-number NO-LOCK NO-ERROR.
DISPLAY
_File-Number FORMAT "->>9" LABEL "T#"
_File-name FORMAT "x(25)" LABEL "Table"
_area._area-number FORMAT ">9" LABEL "A#"
_area._area-name FORMAT "X(25)" LABEL "Area" SKIP .
END.