Configure Products Table

In this tutorial you will learn, how to configure fields of the product master table. The configured table can look, for example, like this

Let’s say you have following data file and need to create a table suitable for storage of such data.

Review the current product master table

Navigate to Master Data  Products

The Products master table exists out of the box, but not all the field labels are not matching the labels in the ProductMaster CSV file. When you hover over the column label, a tooltip will display the name of the column in the back-end database.

From this table layout we can see that we have a standard set of defined columns: Product ID, Label, Product Unit, Currency, Last Update and Pricing Logic. Those columns have special meaning, and you cannot rename them or change their data type.

Additionally, we have 30 customizable columns that are labeled as Attribute1, Attribute2, etc. These are customizable fields and we will rename them to match the incoming columns of our CSV file. Since they’re not visible by default, let’s make them visible:

Click on Show Table Settings  Select Fields to Display to select the fields to display.

Display fields Attribute1 and Attribute2

Once you will need display more of them (or hide some of them), use the same approach.

Decide about the mapping

Your goal is to configure the Products master table in the way, so that it can hold data needed for your pricing project. So you need to decide, which fields of the Products table will hold content of which column from the provided data file.

The out-of-the-box fields:

sku – (labeled Product ID) is the unique ID of the products and must be used, so you need to figure out, which of the field from data file will match it - in this case the Product Id from data file

label – (labeled Label) is a product description, so it’s a good place for the Product Name from the data file.

unitOfMeasure – (labeled Product Unit), should hold unit of measure of the product, and we have the UOM column with relevant content in the data file

currency – (labeled Currency) is used for default currency used for the product. We have corresponding content in the Product Currency column.

lastUpdateDate – (labeled Last Update) shows the timestamp of last change of the records. This field is not uploaded, but modified by the system. So we do not have to care about it.

formulaName – (labeled Pricing Logic) is used only in special cases, and for sure NOT uploaded. Ensure you do not accidentally upload some data into this field, because it would cause malfunction of price calculations.

You do not have to use all the out-of-the-box fields, but at least the sku must be used.

The customizable Attribute# columns - Here you can store all other columns from the data file, which you really need to import. For example, let’s say you decided to use the following attribute fields:

  • Attribute1 - use it for Product Family

  • Attribute2 - use it for Business Unit

  • Attribute3 - use it for Product Category

  • Attribute4 - use it for Product Group

  • Attribute5 - use it for Product Type

  • Attribute6 - use it for Product Class

  • Attribute7 - use it for Discount Family

  • Attribute8 - use it for Industry

  • Attribute9 - use it for Product Group Id

Configure the Products Master Table fields

We recommend to set up the column labels, names and data-types according your dataset, as it’s the way how it will be used and shown in the solution. Here we show some particular example.

Configure the field Attribute1

  1. To open the field context menu, right-click on the label for the Attribute1 column, or click on the …​ (this button appears only, when you hover the column label)

  2. Click Rename and Customize Column. The dialog will appear.

  3. Rename the field to "ProductFamily" (no spaces allowed in names)

  4. Set the label to "Product Family", as it was in the datafile.

  5. Set the Type to String

  6. click on Confirm Changes. A confirmation will come up, so confirm the change.

  7. Repeat the steps above for all the other columns in the CSV file using the following assignments (set both Name and Label for each field, where the Name cannot have spaces)

    1. Attribute2 = Business Unit

    2. Attribute3 = Product Category

    3. Attribute4 = Product Group

    4. Attribute5 = Product Type

    5. Attribute6 = Product Class

    6. Attribute7 = Discount Family

    7. Attribute8 = Industry

    8. Attribute9 = Product Group Id

Some of the columns in your data file will be aligned with some of the columns that are provided in the Products master table out-of-the-box. See the previous section about mapping. For such fields you can change only labels.

  1. Change the label of the sku

    1. To open the field context menu, right-click on the label for the Attribute1 column, or click on the …​ (this button appears only, when you hover the column label)

    2. Click Rename and Customize Column. The dialog will appear.

    3. change the Label to "Product Id"

    4. keep the setting of Required as it is (most fields are not required).

    5. click Confirm Changes. A confirmation will come up, so confirm the change.

  2. Repeat the steps above for all the other columns in the CSV file using the following assignments:

    1. label - set label "Product Name"

    2. unitOfMeasure - set label "UOM"

    3. currency - set label "Product Currency"

Fetch Products' Field metadata to your project

In case you already have your project set up in IntelliJ and also connection to partition set up, fetch the new fields' metadata to your project, so you can store it to Git.

Fetch the new fields' metadata to your project, including the Preferences.