Attribute definition

Each enterprise may require and maintain different customization for entities such as quote, order, order line or opportunity. The customization of entities can be achieved by defining dynamic attributes for a combination of enterprise and document type.

A new attribute domain with the purpose, ENTITY_EXTN is created for an enterprise during database customization of an entity. Each enterprise can define its attributes under the newly created domain. The configuration of the attribute domain with the entity and document type is stored in the YFS_ENTITY_ATTRIBUTE_DOMAIN table. The manageEntityAttributeDomain API is used to create the attribute domain used for the entity and document type.

Note: The data from the dynamically extended attributes can be stored and fetched from database without having to extend the database tables. However, there is a limitation on the number of dynamic extended attributes. Additionally, any logic based on these dynamic attributes is not supported in the product's business layer. The data can be stored into dynamic order attributes using APIs such as createOrder or changeOrder, and fetched using the getOrderDetails API . If you want to set up some business configurations based on the extension attributes, use only the database extension columns.

Attribute Value Management

The extended entities have corresponding hang off tables with predefined number of columns. For example, an extended attribute for Order Header would have a corresponding column in the YFS_ORDER_HEADER_EXTENSION hang off table that stores the transaction data of the attribute. The createOrder API is used to populate values for these extended columns on order header. The changeOrder API is used to modify values for these extended columns on order header. For more information on the APIs, refer to the Javadocs.

The type of data associated with an attribute is based on the data type of the column. For example, an attribute belonging to the "Numeric" data type, will be associated with "Number" data type of the corresponding column in the hang off table.