Configuring Multidimensional Variant Products

Objective

After completing this lesson, you will be able to demonstrate a more flexible approach to product variance.

Multi-Dimensional Variant Products

Variant products provide an efficient way to model variations of a base product. However, their structure is very static. In the case of a T-shirt in multiple colors and sizes, selecting a style (color) determines the available sizes, but not the other way around. This is due to the hierarchical nature of the underlying data model.

The variant product model is also difficult to update. Adding a new variance (such as the material the product is made of) requires updating the type system, a task that requires not only a developer's intervention but also system downtime.

SAP Commerce Cloud offers an alternative way of creating product variants: Multi-Dimensional Product Variants.

Using this approach, every aspect of the variance configuration can be configured by a business user in Backoffice. A business user could, for example, add another variance criterion for a group of products by setting up a category structure and judiciously assigning new or existing products to these categories.

Multi-Dimensional Variant Products start with a base product, which is a regular product configured to have GenericVariantProducts, each representing a combination of different sizes, colors, materials, and so on.

As shown in the following diagram, there is only one variant product type: GenericVariantProduct. That means every variant product has the same type and lacks any properties indicating its color, size, etc. Instead, GenericVariantProducts are differentiated by the VariantValueCategory they belong to.

As shown in the following diagram, there are two sub-types of the category:

  1. Variant category, which identifies the nature of the variance (size, color, and so on).
  2. Variant value category, which identifies the specific variant value (red, blue, large, small, and more).

In a later example, we use the VariantCategory Size with just two values, Small and Large. A variant value category represents each value. The same applies to the VariantCategory color, which has exactly three available values: Red, Blue, and Green.

This diagram shows the relationship between a GenericVariantProduct, a VariantProduct, and a Product. Also shown is the relationship between a VariantValueCategory and a VariantCategory, and between a VariantValueCategory and a Category, respectively.

Multi-Dimensions Product Variants – User Perspective

How do all these work together? Let’s have a look at a video that explains the inner workings of Multi-Dimensional Variant Products.

Multi-Dimensional Product Variants

Let’s review what we just learned:

  • In the context of multi-dimensional variants, every variant of the base product is an instance of a GenericVariantProduct. This means for every combination of variants (red + large + cotton, green + small + cotton, and more), a GenericVariantProduct is required.
  • The variances (color, size, material, and so on.) are indicated by the VariantCategory.
  • The exact variance values (red, green, large…) are determined by a variant product’s parent VariantValueCategories.
  • To add multiple values to a product, multiple VariantValueCategory are needed.

In the following diagram, you can see one of the many variants of the base product, Oxford Shirt. The Blue L Cotton Oxford Shirt will be chosen if a customer makes the following selections on the storefront:

  • Blue in the Color selector
  • Large in the Size selector
  • Cotton in the Material selector

The storefront knows to display these selectors on the product page because the Oxford Shirt product has the VariantCategories ColorSize, and Material among its supercategories. The selections displayed in each selector will come from the assigned VariantValueCategories.

When the customer selects from all three selectors, the system finds the GenericVariantProduct with the unique combination of VariantCategories and their specified values.

The matching GenericVariantProduct is the SKU, and is what gets added to the cart when the user clicks the Add to Cart button.

This diagram shows the relationships among a GenericVariantProduct, its base product, VariantValueCategories, and the base product and product categories and VariantCategories.

Creating Multi-Dimensional Variant Products in Backoffice

​Let’s now turn to the steps necessary to define the product and category structure needed to support multi-dimensional variant products, using Backoffice.

Summary

  • While variantType products are static and developer-defined, multidimensional variants allow business users to create product variations.
  • Multidimensional variants require the creation of GenericVariantProducts.
  • Product variations (size and color, for example) are defined by VariantCategories to which the product is assigned.
  • VariantValueCategories provide the values for the variations described by VariantCategories.
  • Any GenericVariantProduct is also a SKU.
  • MultiDimensional Variants are often used in B2B, which is well illustrated in Orderforms (all variants seen together).
  • Variant type products are technically speaking unidirectional (thus more B2C user-friendly).