Configuring validation set requirement expressions


About requirement expressions

Selecting products to use in requirement expressions

Configuring an expression for a compatibility requirement

Configuring an expression for a dependency requirement

Configuring an expression for a quantity match requirement

Configuring an expression for a quantity by step requirement

Configuring an expression for a quantity within range requirement

Configuring the expression for quantity calculation requirements


About requirement expressions

On the Requirement Maintenance page, you use the expression field to provide the specific rules for the requirement.

The requirement format and allowed values for an expression depend on the requirement type.

Selecting products to use in requirement expressions

For expressions that use product numbers, you can either type the product number into the field, or use the find icon to search for and select the product.

If product security categories are used (Registry IS_PRODUCT_SECURITY_CATEGORY_SUPPORTED is true), then:

Configuring an expression for a compatibility requirement

About compatibility requirements

A compatibility requirement is used to indicate the products within the validation set domain that can be activated with the trigger products.

When any of the trigger products are activated, Poetic checks that products that belong to the validation set domain and that are either:

are in the list of compatible products.

For example, a domain consists of the SuperServer product line. The SuperServer product line contains Product X, Product B, Product C, Product D, and Product E.

A requirement states that Product X is compatible with Product C and Product D.

When a user activates Product X, Poetic checks that only Product C and Product D from the SuperServer product line are included in the activation. If the user tries to activate Product X with any other product that belongs to the validation set domain, for example Product E or Product B, the activation fails.

Compatibility is only applied within the validation set domain. If Product Y is not in the domain, then even though it is not in the compatibility list, there is no error if the user activates Product X with Product Y.

Format of the compatibility requirement expression

The expression for a compatibility requirement is a comma-separated list of products.

Selecting the list of compatible products

You can type the list manually. Poetic does not validate that the numbers you typed are valid.

To search for and select a list of products:

  1. Click the find icon.
  2. On the Search Products form, provide search criteria for the products you want to select.
  3. Click Search Products.
  4. In the results list, check the check box next to each product you want to include in the compatibility product list.
  5. Click Select checked products.

The selected products are appended to the end of the current list.

Configuring an expression for a dependency requirement

About dependency requirements

A dependency requirement is used to indicate the products that must be activated with the trigger products.

When any of the trigger products are activated, Poetic checks that the required products are either being activated with the trigger product or are present on the selected activation machine.

For example, a requirement states that when Product X or Product Y is activated, then either Product C or Product D must be present. When a user activates Product X, Poetic checks that Product C or Product D is either being activated with Product X or is present on the activation machine. If neither Product C nor Product D is present, the activation fails.

Format of a dependency requirement expression

The expression for a dependency requirement includes the required product numbers. To add a product number to the expression, either type the number directly, or use the find icon to search for and select a product. When you search for and select products, they are added to the end of the expression.

To group product numbers, the expression can include parentheses (). You cannot nest groups.

To establish a logical "OR" relationship between products or between groups, use either OR or a comma. You cannot use the OR operator within a group.

To establish a logical "AND" relationship between products, use either AND or &. You must use the AND operator within a group.

Examples of dependency requirements

To show how these operators work, here are some examples of valid dependency expressions:

X, Y, Z When a trigger product is activated, X or Y or Z must also be present.
(X AND Z) When a trigger product is activated, X and Z must both be present.
(I AND J AND K) OR (X AND Y AND Z) When a trigger product is activated, one of the following sets of products must be present:
  • I and J and K
  • X and Y and Z

Here are some INVALID expressions:

(I OR J OR K) AND (X OR Y OR Z) The AND operator must be within a group.

The OR operator cannot be used within a group.

((I AND J AND K) OR (X AND Y AND Z)) AND W Groups cannot be nested.

Configuring an expression for a quantity match requirement

About quantity match requirements

A quantity match requirement indicates that the quantity for a trigger product must be a specific value.

When any of the trigger products are activated, Poetic checks that the activated quantity is the correct value.

For example, a requirement states that when Product Y is activated, the quantity must be identical to Product X.

When the user activates Product Y, if the quantity is not equal to the quantity for Product X, the activation fails.

Format of a quantity match requirement

In a quantity match expression:

Examples of quantity match requirements

To show how these operators work, here are some examples of quantity match expressions:

20 When a trigger product is activated, its quantity must be 20.
X When a trigger product is activated, its quantity must be equal to the quantity of product X.

For example, if the total quantity of X on the machine after the activation is 10, then the quantity on each trigger product also must be 10.

X, Y, Z When a trigger product is activated, its quantity must be equal to either the quantity of X, the quantity of Y, or the quantity of Z. For example, if the quantity of X is 5, the quantity of Y is 10, and the quantity of Z if 15, then the trigger product quantity can be either 5 or 10 or 15.
(X + Y) When a trigger product is activated, its quantity must be equal to the sum of the quantities of product X and product Y. For example, if the quantity of X is 5, and the quantity of Y is 10, then the trigger product quantity must be 15.
(X + Y) OR 128 When a trigger product is activated, its quantity must be equal to either the sum of the quantities of product X and product Y, or 128. For example, if the quantity of X is 50, and the quantity of Y is 100, then the trigger product quantity must be either 150 or 128.

Here are a couple of INVALID quantity match expressions:

(X AND Y) OR (I AND J) The AND operator cannot be used in quantity match expressions.
((X OR Y) + (I OR J)) OR Z Groups cannot be nested.The OR operator cannot be used within groups.

Configuring an expression for a quantity by step requirement

About quantity by step requirements

A quantity by step requirement indicates that the trigger product quantity must be a specific increment, starting with a minimum value.

For example, the quantity for Product X must be at least 100. If the value is not 100, the value can only be increased in increments of 150.

When Product X is activated, if the quantity is not 100, 250, 400, 550, etc., then the activation fails.

Format of a quantity by step requirement

The expression for a quantity by step requirement uses the format Start: startValue; Step: stepValue, where:

Examples of quantity by step requirements

To show how this expression works, here are a couple of examples of quantity by step expressions:

Start: 50; Step: 25 Allowed quantity values: 50, 75, 100, 125, etc.
Start: 5; Step: 5 Allowed quantity values: 5, 10, 15, 20, 25, 30, etc.

Configuring an expression for a quantity within range requirement

About quantity within range requirements

A quantity within range requirement indicates that the trigger product quantity must be within a specific range of values.

For example, the quantity for Product X must be at least 10, but no more than 50.

Format of a quantity within range requirement

The expression for a quantity within range requirement uses the format Min: minimumValue; Max: maximumValue, where:

To indicate that the quantity must be less than a specific number, set the minimum to 1 and the maximum to the number minus 1. For example, if the quantity must be less than 10, the expression would be Min: 1; Max: 9.

If the quantity needs only to be greater than a specific number, set the minimum to the number plus 1, and the maximum to some very large number. For example, if the quantity must be greater than 500, the expression might be Min: 501; Max: 99999.

Examples of quantity within range requirements

To show how this expression works, here are a couple of examples of quantity within range expressions:

Min: 50; Max: 100 Quantity must be at least 50, but no more than 100.
Min: 20; Max: 30 Quantity must be at least 20, but no more than 30.

Configuring the expression for quantity calculation requirements

About quantity calculation requirements

Quantity calculation requirements allow users to have Poetic automatically calculate the quantity to activate for the trigger products. The quantity calculation tool is only available if the Registry CAN_USE_QTY_CALCULATOR is set to true.

The quantity calculation requirements are only used to calculate the quantity value. Users can still change the quantity on the activation details page after using the quantity calculator.

To actually require a specific value, you need to create corresponding activation validation requirements.

Format of a quantity calculation requirement

Each quantity calculation requirement takes the form of up to 5 quantity calculation rules. Within each calculation rule:

How Poetic uses the quantity calculation rules

When Poetic performs the quantity calculation, it first checks whether it is able to use the first rule to calculate the quantity. For example, if the first rule includes a product number, but that product is not included in the activation or installed on the machine, then Poetic cannot use that rule.

If Poetic cannot use the first rule, it moves to the second rule.

As soon as it finds a rule that it can use, Poetic uses that rule. Otherwise, Poetic returns an error for the calculation.

Examples of quantity calculation requirement rules

Here are examples of quantity calculation rules for quantity calculation requirements:

20 The quantity is 20.
X The quantity is calculated to be equal to the quantity of product X. For example, if the quantity of product X is 10, then the quantity of the trigger product also is 10.
(X + Y) The quantity is calculated to be equal to the quantity of product X plus the quantity of product Y. For example, if the quantity of product X is 10, and the quantity of product Y is 5, then the quantity of the trigger products is calculated to be 15.
X + 4 The quantity is calculated to be equal to the quantity of product X plus 4. For example, if the quantity of product X is 10, then the quantity of the trigger product is calculated to be 14.
X OR Y OR Z
X, Y, Z
The quantity is calculated to be equal to the quantity of either product X or product Y or product Z. If the activation includes all of these products, then Poetic uses the first one for the calculation. For example, if a user is activating a quantity of 10 for product X and 7 for product Y, then the quantity of the trigger product is 10. If the user is activating 12 of product Z, but is not activaitng product X or product Y, then the quantity of the trigger product is 12.