Previous Topic

Book Contents

Book Index

Next Topic

Reading Catalog Columns vs. All Fields

When reading BOs through a catalog, it is important to realize that the BOs you get this way can have either all BOFields, or only the BOFields by the catalog’s definition, which are not necessarily all BOFields of the given type of BOs.

Accordingly, there are two ways of getting the BOFIELDS container. The difference between these two is that the first one returns all BOFields while the second one returns only the BOFields that the administrator has set to be displayed in the definition of the Catalog. For example, the administrator of the system may want to prohibit users from viewing the “Salary” attribute of the “Person” business object (Business object is an entity in an information system bearing some information. In Valuemation, all Valuemation objects are called "business objects"). So, if he/she excludes this attribute in the settings of the catalog, this field won’t appear in the container of BOFields you get using getCatalogColumns.

To get all BOFields the given object has got:

ApiBObject.getBOFields()

It returns a container of all BOFields the object holds. You can also get all of the BOFields regardless the Catalog definition, if you go through BOType.createFilter(String).

To get BOFields by the catalog definition:

ApiBOBject.getCatalogColumns()

It returns a container of BOFields held by this object by the Catalog definition. Put another way, this method returns the BOFields that the customizer intended to be displayed through the appropriate catalog.

Note: you can only call this method if you accessed the object through a catalog, not e.g. using BOType.createFilter.

See Also

Catalogs

Types of Catalogs

Reading BOs Through Catalogs

Setting Search Criteria