SAP VC Characteristics CT04 Value Assignment Data Types Restrictable Performance Configuration Profile

SAP VC Characteristics Design: Best Practices for Value Assignment, Data Types, and Performance

LO-VC AVC PJ / 2026-05-30

Characteristics are the atoms of variant configuration. Every dependency, every BOM selection, every pricing condition references a characteristic and its values. Get the design right and everything downstream is straightforward. Get it wrong and you chase configuration errors for months.

These are the patterns I apply on every project. They come from experience: fixing models where someone created 500 characteristics without thinking about data types, then wondered why CU50 ran slowly.

Sources: Transaction CT04 | SAP Note 3366124 — AVC Improvements

Data Type Selection

SAP offers six data types for characteristics: CHAR (character), NUM (numeric), DATE, TIME, CURR (currency), and QUAN (quantity). For VC, you will use CHAR and NUM 95% of the time.

CHAR for: product type, color, material, configuration mode (anything that is a category label). CHAR values are single values or single values with dependencies.

Creating a CHAR characteristic in CT04 SAP transaction CT04: creating a CHAR-type characteristic with allowed values

NUM for: dimensions, weight, speed, power, temperature (anything that needs arithmetic). NUM values allow ranges, intervals, and mathematical operations in dependencies.

Creating a NUM characteristic with value range in CT04 SAP transaction CT04: creating a NUM-type characteristic with interval values

Video walkthrough: creating a CHAR characteristic in CT04 (full process)

Rules:

Gotcha: Switching a data type after characteristics are created requires deleting and recreating values. Get this right at the start.

Source: Transaction CT04 — characteristic format field (CHAR, NUM, DATE, etc.)

Value Assignment Strategy

Two approaches: single-value and multiple-value.

Single-value characteristics are the default. The user picks one value from the allowed set. This is correct for most VC scenarios: a product has one color, one power rating, one material.

Multiple-value characteristics allow selecting several values. Used for things like "optional equipment" or "available features."

Rules:

Gotcha: Default values on characteristics are set in CT04 at the characteristic level. These apply when no procedure sets a value. If you define a default in the characteristic AND a default in a procedure ($SET_DEFAULT), the procedure default takes priority because procedures run at configuration time, not at characteristic creation.

Restrictable Flag

In LO-VC, every characteristic used in a constraint must have the restrictable flag checked. This flag tells the constraint solver that it can restrict this characteristic's value domain.

If you forget this flag, your constraint will not restrict values. The constraint engine sees the characteristic as read-only and will not propose value changes during domain narrowing.

In AVC, all characteristics are restrictable by default. This is one of the AVC improvements that eliminate a common setup error.

When to set it: Always. Unless you are sure a characteristic will never appear in a constraint, set restrictable. The performance impact of setting it on characteristics that never appear in constraints is negligible. The cost of missing it is a configuration bug that takes hours to find.

Source: SAP Note 3366124 - AVC Improvements

Value Ranges and Intervals

For NUM characteristics, you can define value ranges instead of single values. This is useful for dimensions, weights, and other measurements.

Example: LENGTH can have allowed values 0.5 to 5.0 meters, in 0.1 increments. The user enters any value in the range, and the system validates against the range definition.

Rules:

Characteristic Naming Conventions

This is not optional. On a project with 200+ characteristics, a naming convention is what makes the difference between a maintainable model and a disaster.

The convention I use:

Example:

Characteristic Data Type Purpose
DOOR_TYPE CHAR Type of door panel
DOOR_COLOR CHAR Color code
DOOR_HEIGHT_NUM NUM Panel height in mm
DOOR_WIDTH_NUM NUM Panel width in mm
CABLE_LENGTH_QTY QUAN Cable length with unit

Gotcha: SAP limits characteristic names to 30 characters (in ECC/CT04) or 40 characters (in S/4HANA). If you use long prefixes and suffixes, you hit this limit fast. Be concise but unambiguous.

Performance Implications

Characteristic design directly impacts configuration engine performance.

What slows down CU50/CU41:

What speeds things up:

Source: Transaction CU41 (or PMEVC in S/4HANA) — configuration profile processing sequence tab

Characteristic vs Configuration Profile

A common design choice: should a dependency be on the characteristic or the configuration profile?

On the characteristic: Best for dependencies that are specific to that characteristic. Preconditions assigned to characteristic values. Procedures that infer that specific characteristic's value. Selection conditions assigned to the characteristic on the profile.

On the configuration profile: Best for dependencies that span multiple characteristics or objects. Constraint nets. Procedures that set multiple characteristics. Default values that should apply to the entire configuration.

Gotcha: Dependencies on the characteristic are evaluated every time that characteristic appears in a configuration. If the same characteristic is used in 5 different materials, the dependency runs for each one. Dependencies on the profile run only for that specific profile. Use profile-level dependencies when the logic is material-specific.

Summary Checklist

Before going live with a VC model, check these:

Build Better VC Models

The **SAP VC for Beginner** book covers characteristic design, value assignment strategies, and performance optimization with real project examples.

Get the Book — $9.99

Comments & Danmaku

Leave a comment — it flies across the page as danmaku!