A classified product or configurable product can have the attributes to define the characteristics of a product. In the Digital Sales Platform, characteristics of product is defined via attribute (more specifically, DynamicAttribute), that holds the value(s). Based on characteristics of a product, a product modeler can define the rule(s) to explode the sub-components/accessories of main product.
Attributes Introduction
Every configurable product has its own characteristics or attributes that hold property of a product. In the Digital Sales Platform, we called it, DynamicAttribute (DA) which could be either DynamicDataAttribute (DDA) or DynamicSymbolicAttribute (DSA).
DDA is an attribute which can hold literal value having type, Boolean, String, Numeric, Date, Currency. However, it cannot hold the localization information about the value having string data type.
DSA is an attribute which holds the string/text value which can have the localization. The value of the range must not contain the special characters (e.g. pipe, dot, comma, space) except dash and underscore. Before adding the attributes to product, the master DA must be created. The attribute can be created in four different ways
- Via UI
- Via Global Attribute Excel Upload
- Via Product Knowledge Base Excel Upload
- Via ERP Synchronization
Example of Data Attribute
Example of Dynamic Attributes Properties
Data Type
The DDA can be specified the following data type. However, for DSA, the data type is always string.
- Numeric
- If DDA is numeric, the product modeler can also set the minimum range and maximum range value as well as the precision of the value. If the precision of the numeric DDA was not set, application will use the global precision setting.
- String
- Boolean
- Date
- Currency
- If DDA is currency data type, it can hold value and currency information. That DDA is mainly used for the case where application is using the internal price engine and had pricing step that fetch that value and currency.
Enumerable
Once DA (DSA or DDA) is marked as enumerable, it means that value of that attribute will be selected from the drop-down list by the user. Only DDA having data type, String or Numeric can be marked as enumerable. For DA with enumerable, the range value must not contain special characters (example pipe, comma, space, dash). If user wanted to see some special characters inside the down list, it needs to convert to DSA and provide the localization of its value while defining the range value without special characters.
Mandatory
Once DA (DSA or DDA) is marked as mandatory, it means that user/system must assign the value to that attribute. Not having value assigned in mandatory will have the SalesItem (SalesItem is a line item inside the Quote which has links with Product and KnowledgeBase) error and user cannot submit the Quote (Quote is the technical term for Sales Document). The attribute can be marked as mandatory via global properties of the attribute or Rule using Conditional Rule or IMCScript. The details about how to mark DA as mandatory via Rule will be explained in Product Rules Definition and IMC Script Guide)
ReadOnly
Once DA (DSA or DDA) is marked as read only, it means that user cannot assign value for read only attribute however, the attribute can be marked as read only via global properties of the attribute or via Rules (conditional rule or IMCScript). The details about how to mark DA as read only via conditional Rule will be explained in Product Rules Definition. The syntax and usage of IMCScript for making attribute read only can be found in IMC Script Guide.
Multi Value
Once DA is marked as multi value, it means that user can assign more than one value for that DA.
The attribute can be marked as multi value via global properties of the attribute or via Rule. The details about how to mark DA as read only via Rule will be explained in Product Rules Definition - Conditional Rule (Conditional Triggers)).
Hidden
Once DA is marked as hidden, it means that user will not see that attribute in configuration page. The hidden property can be set in three different ways.
- Rule (See Product Rules Definition Conditional Rule (Conditional Triggers)).
- IMC Script (There is a separate documentation to understand more about the feature of IMCScript)
- DA Profile (There is a separate documentation to understand more about the feature of DA Profile)
Costing Relevant
Once DA is marked as costing relevant, it means that changes done in that DA will trigger the internal price engine to calculate the total cost/price of the SalesItem based on the setting of the interactive pricing. The attribute can be marked as costing relevant via global properties of the attribute, conditional rule or IMCScript. The details about how to mark DA as costing relevant via Rule will be explained in Product Rules Definition - Conditional Rule (Conditional Triggers)).
Use Lookup Table for Range Value
The DSA can specify the lookup table to maintain the range values. In order to do that, it is needed to mark the DSA to use the Lookup Table for Range Value.
Lookup Table Name
If the DSA was marked to use the Lookup Table, it is needed to assign the Lookup Table Name to retrieve the range value based on Lookup Field for Range Value property.
Lookup Field for Range Value
If the DSA was marked to use the Lookup Table for its range value, it is needed to specify from which lookup field the range value will be retrieved.
Lookup Field for Localization
This property is optional and is used to specify the localized value for the range value. However, the table needs to have the lookup field with name called, SPRAS to maintain the language code.
Adding Attributes via UI
Attributes can be created using UI via the Attributes Management tab as follow. Name, Type, Position and Data Type are mandatory fields to provide. The name must be unique and should not contain any special characters.
Example of Creating DDA via UI
Example of Creating DSA via UI
Adding Attributes via Global Attribute Excel
The DA can also be created via Excel by downloading the empty template and upload via Attributes Management tab.
- Click the download
- Select Template Type
- Choose Empty to define new Attribute that does not exist in the system.
- Choose Selected Attributes to download the template with the selected attributes (This is useful when user wanted to change selected attribute properties or range value of that attribute)
- Choose All Attributes to download the template with all the attributes (For performance wise, if the Digital Sales Platform had 500+ attributes, it will take sometimes to download and upload. The time taken might also depends on the server load and the network connection)
- User can further filter the attribute if user selected All Attributes or Selected Attributes
- Choose [All] to download all DA with and without enumerable property
- Choose [With Range] only to download all DA or selected attributes having the enumerable property
- Choose [Without Range] only to download all DA or selected attributes not having the enumerable property
- Click Download Icon to download the empty template
Defining Attribute Property in Excel
- Define the attribute property and localization
- Attribute Name
- Attribute name is the mandatory value to specify and the specified name should not be found inside the system if user wanted to create new attribute.
- The name of the attribute must only contain A-Z and 0-9 and underscore is allowed to have between the letters or numbers.
- Attribute Type
- Attribute type is the mandatory to specify to classify between DDA or DSA. Choose Data to represent the DDA and choose Symbolic to represent the DSA
- Data Type
- If Attribute type is Data, it is mandatory to specify the Data Type of the attribute (See also Attributes Introduction)
- Attribute Name
Example of Dynamic Attributes Sheet
- Define the range values and localization for those attributes having the enumerable property
- The range value must only contain A-Z and 0-9 and underscore and dash are allowed to have between letters or numbers.
Example of Attributes Range Sheet
Customizing Template
A product modeler can customize the template to include more columns for localization by adding more column at the Attributes sheet and Attributes_Range sheet. Example, in order to add label and comment for German, user can get the pre-defined template from In Mind Cloud Customer Support team, add more column with the naming convention, Label_CN and Comment_DE in column header and put the JXLS syntax in Label and Comment columns for downloading existing label or comment for other languages. Example (${da.label_de}, ${da.comment_de}).
After that upload the template inside the content management with the following folder structure
- excels
- DynamicAttribute
- DynamicAttribute.xlsx
- DynamicAttribute
Adding Attributes via Product Knowledge Base Excel
While adding attribute via product knowledge base excel, the way to define the attribute properties is same as mentioned in Adding Attribute via UI or Adding Attribute via Global Attribute Excel . However, the way to download the template needs to follow the following step.
- Select the Knowledge base and click the download icon
- Select the download options
- For adding the attributes only, it is not needed to check any options
- Click Download
The knowledge base excel template with ATTRIBUTES sheet will be obtained.
- Follow the same step mentioned in Adding Attribute via Global Attribute Excel
- Upload the filled template and click Confirm if there are no errors
Things to Note About: Customizing of product knowledge excel was not supported. If product modeler wanted to change the localization of Attribute or range value for some enumerable DA, it is needed to follow the same steps mentioned in Customizing Template.
Adding attributes via ERP Synchronization
Digital Sales Platform provides features to synchronize classified product data which will also synchronize all attributes/characteristics of the classified products.
Synchronizing all attributes of classified product from ERP
The attribute can also be downloaded from the ERP by downloading as classified data which will download all classified knowledge base class from ERP as well as all the attributes of it.
Synchronizing individual attributes
If the user knew the name of the attribute in ERP, he/she can also synchronize the individual attribute by specifying the ERP ID of the attribute.
Classified Product Characteristics Definitions
Characteristics of the classified product can be defined via KBClass under Model -> Class Management tab.KBClass is a knowledge base for classified product and is not allowed to define the configuration rules. In order to create the classified product with characteristics,
- Click [+] icon to create new Knowledge Base Class
- Select the class to add the attributes/characteristics of that class
Creating a classified class
Creating a classified class
A new class was created and next step is to attach that class to the classified product. In order to do that, select the classified product and click on the Knowledge Base tab.
- Select to link the knowledge base class that was defined previously to current product
Create Snapshot in order to assign the default value for the attributes inside the class
Attaching the KBClass to Product
Creating the Snapshot (KBSnapshot)
Things to Note About : All the classified product can be synchronized from external ERP system if the Digital Sales Platform has integrated with external ERP system. The details about how to synchronize product data from ERP can be found in ERP Integration Guide or brief introduction of synchronizing of attributes from ERP can be found in Adding attribute via ERP Synchronization.
Configurable Product Characteristics Definition
A configurable product defines the product structure which contains at least one attribute to determine the characteristics of a product. A product modeler can define attributes of the product and group the attributes depending on how the salespersons want to see in configuration page.
In order to add the attributes to the product, a knowledge base must be created first. The knowledge base is a kind of container that holds the properties of the product as well as allow a product modeler to define the product rules (Details can be found in Product Characteristics Definition - Quote Attributes (KBTriggerRelation)).
Creating Knowledge Base
The knowledge base can be created using UI or knowledge base excel template. In order to create the knowledge base via UI,
- Enter the unique name of the knowledge base
- Select the unique valid from date
- If the user specified the future valid from date, application will not use that knowledge base but will choose the knowledge base which is having the most valid from date at time of line item creation inside a quote.
- Links the BOM that knowledge base wanted to link with
- This is optional if the product does not have the related products to be added and has rules to do the BOM Explosion.
Creating a KB via UI
In order to create the knowledge base via excel, the following steps are needed.
- Download the empty knowledge base excel template
- Enter the unique name of the knowledge base
- Enter the valid from date in DD-MM-YYYY
- Select the BOM if the knowledge had BOM explosion rule
- Add attributes to be included in the knowledgebase if modeler has already known which attributes to be added. (Details can be seen in Adding Knowledge Base Attributes
Download Options View to Download Existing KB or Template
Defining the Knowledge Base Header
- Upload the excel back to the Digital Sales Platform
- Click Confirm if there are not errors
- It will create the empty knowledge base without any attributes assigned.
Synchronize Latest Product Knowledge
The synchronize latest product knowledge base button will only be visible for SSC enabled environment, which is using to synchronize the latest product knowledge base from ERP.
Adding Knowledge Base Attributes
Once product had the knowledge, the attributes to define the characteristics of product can be added to knowledge base.
Added Attributes to Knowledge Base via UI
- Select the knowledge base
- Select the existing attributes
- If the attribute was not found, create new attribute as mentioned in Attributes Introduction
Adding Attributes to Knowledge Base
Added Attributes to Knowledge Base via Excel
In order to add the attributes via knowledge base excel template
- Select an existing knowledge base
- Download with no options selected
- Select the Attributes sheet and enter the existing attribute name
All the names of existing attributes could be found in _ExistingAttributes sheet if option to include the existing attributes sheet was selected in Download Options
Adding new Attribute via Knowledge Base Excel Template
- If attribute name was not found inside the drop-down list, a product modeler can also define the new name by remove the data validation in Column C in excel and define the new attribute property as mentioned in Defining Attribute Property in Excel.
- Upload the filled excel template to add attributes to Knowledge Base and click confirm if there are no errors.
Grouping Knowledge Base Attributes
The product modeler can organize the attributes of the product into Group and Sub Group depending on the needs of the sales people. It is important to note that a configurable product must have at least one group and aub-group which contains attributes. If the product modeler wanted to hide certain attributes for some role, he/she can use the following feature
- DA Profile feature (See also DA Profile Guide)
- Conditional trigger rule (See also Product Rules Definition)
- IMCScript with Update Config Item Event (See also IMC Script Guide)
Defining Group and Sub-Group via GUI
- Enter the group name and position of the group
- Click on the group created above to add the sub-group inside
- Enter the sub-group name
- Add the attributes which has been assigned to the Knowledge Base
Defining Group and Sub-Group using Excel
- Select an existing KnowledgeBase
- Download the Knowledge Base excel template
- Click on the Group sheet
- Enter the Group Name and Sub-Group Name as shown below
- Select the ATTRIBUTES sheet to copy all the Attributes Name
- Paste it inside the ATTRIBUTE Name column inside the Group sheet
- Upload and confirm if there are no errors.
Quote Attributes (KBTriggerRelation)
A Quote Attribute, which is named in excel, is a KBTriggerRelation in technical term. It is an attribute which could be part of knowledge but is not an attribute that user will see in Configuration page. The main purpose of Quote Attribute is to provide the configuration engine to fetch some value within a quote. The Quote Attribute or KBTriggerRelation will let the config engine to know the domain values of attribute and how to search the value at run time within a Quote. This attribute will mainly be used as conditional attribute in range restriction ( See also Product Rules Definition - How to define range restriction based on single Quote Attribute) or BOM explosion (See also Product Rules Definition - Default BOM Explosion and Attributes value and Quote Attribute values based BOM Explosion) rule.
The KBTriggerRelation will have the following three main properties.
- onType
- It needs to specify the URI of the business type
- onAttribute
- It needs to specify one of the following
- searchExpression
- The search expression is a single expression and must start with either Quote() or SalesItem().
- SalesItem().isProduct.hasProductStatus.objectName[0]
- Quote().hasSalesOrg.objectERPId[0]
- The search expression is a single expression and must start with either Quote() or SalesItem().
The domain values of attribute are determined by the OnType and OnAttribute property and the way to search the value inside the Quote at runtime is determined by the SearchExpression.
In order to define KBTriggerRelation via UI,
- Go to Master Data Management and search for KB Trigger Relation and click on it
- Click [+] to add KB Trigger Relation
- Click the icon to open the search expression dialogue which will list all the supported search expressions
- Select the search expression which will automatically assign the OnType, OnAttribute
The KBTriggerRelation can also be specified via the QUOTE_ATTRIBUTE sheet of product Knowledgebase excel. However, it is highly recommended to use the UI to define the new KBTriggerRelation as it has support for the list of all supported search expressions together with the associated onType and onAttribute property.