You might be able to facilitate development of a generic business object by copying and customizing an existing one.
To evaluate a generic business object, examine the data involved in the interface. A guideline is that if 80% or more of the data exists in a delivered generic business object, customize the existing object.
When performing this analysis, it is more important to look at the business object structure than the attributes. Attributes are relatively easy to add and remove, whereas structural or hierarchical changes can require much more effort.
If you decide to customize an existing generic business object, examine the business object definition to determine whether it is missing one or more desired attributes. Missing attributes become more apparent when you conduct the mapping design. If the generic business object requires one or more additional attributes, create a child business object that contains the additional attributes. Isolating custom attributes in child business objects can greatly facilitate future upgrades of IBM-delivered business objects.
If you embed custom attributes in an IBM-delivered business object, upgrading to a new version of the business object requires re-embedding those attributes in the new business object. Isolating the custom attributes in their own business object allows you to add one attribute to the new IBM business object--the attribute that creates the relationship between the parent and the custom child business object. If you are customizing a hierarchical business object that requires additional attributes in both the parent and the child, create separate child business objects for each.
It is recommended that you name custom attributes and business objects in a way that readily identifies them. A simple convention is to add an _x suffix to each custom name. For example, if you create a custom child business object that adds attributes to the generic Order business object, name the child Order_x. Doing so allows alphabetic listing to keep related names together. If it is more important to identify custom business objects or attributes than to alphabetize the custom object with its generic object, add an x_ prefix to each custom name.