Formula Syntax and Dynamic Parameters

This page provides a comprehensive overview of all formula parameters and functions that can be used throughout the system to dynamically generate values—such as SKUs, attribute values, routing conditions, and more. These formulas can be used in contexts like:

  • Item type and item-level SKU generation

  • Attribute formulas

  • Job routing logic

  • Service and inventory condition evaluations


🔧 Formula Syntax

Formulas are written using predefined functions and parameters wrapped in curly braces {}.

For example: {@IT#C}_{WIDTHS}X{DEPTHS}_{FINGERSIZE}

This would generate a SKU using the item type code, width and depth values, and finger size.


🧩 Formula Parameters Used in Both Item Type and Item SKU Generation

Parameter Description
{@INC_NO} Inserts an automatically incrementing number based on the item group’s SKU inc. no. seed and length settings.
{@IG#C} Code of the item group to which the item belongs.
{@IG#N} Name of the item group.
{attribute_code} Inserts the item’s attribute value (e.g., {WIDTHS}).
{attribute_code}#C For selection list attributes – inserts the attribute value’s code.
{attribute_code}#N For selection list attributes – inserts the attribute value’s name.
{attribute_code}#D For selection list attributes – inserts the attribute value’s description.
{@SI_IG(item_group_code)#N} Name of the item type of a subitem from a specified item group.
{@SI_IG(item_group_code)[attribute_code#N]} Subitem attribute name by item group code.
{@SI_IG(item_group_code)[attribute_code#C]} Subitem attribute code by item group code.
{@SI_IT(item_type_code)[attribute_code#N]} Subitem attribute name by item type code.
{@SI_IT(item_type_code)[attribute_code#C]} Subitem attribute code by item type code.

🧩 Formula Parameters Used Only in Item SKU Generation

Parameter Description
{@P_INC_NO} Increment number inherited from the parent item group, useful for subgroup SKU logic.
{@IT#C} Code of the item type.
{@IT#N} Name of the item type.
{@SI_IG(item_group_code)#C} Subitem item type code by item group.
{@SI_IT(item_type_code)#N} Subitem item type name.
{@SI_IT(item_type_code)#C} Subitem item type code.
{@SI_IG(item_group_code)[attribute_code#D]} Subitem attribute description (selection list only).
{@SI_IT(item_type_code)[attribute_code#D]} Subitem attribute description (selection list only).
{@SIS_IG(parent_item_group_code)[#C]} Code sequence of subitems’ item types.
{@SIS_IG(parent_item_group_code)[#CQ]} Quantity and code sequence of subitems’ item types.
{@SIS_IG(parent_item_group_code)[#N]} Name sequence of subitems’ item types.
{@SIS_IG(parent_item_group_code)[#NQ]} Quantity and name sequence of subitems’ item types.

🧠 Formula Attribute Functions

These functions can be used in attribute formulas to dynamically retrieve and populate values:

Function Description
SELF_UNIT() Loads the current item type’s unit amount into the attribute.
PARENT_ITEM_GROUP() Loads the parent item group code.
JO_SEC_CUSTOMER_CATEGORY() Loads the secondary customer category name from the job.
JO_CUSTOMER_CATEGORY() Loads the customer category name from the job.
JO_CUSTOMER() Loads the customer name from the job.
JO_CUSTOMER_PAYMENT_TERM() Loads the customer’s default payment term.
CHILD_UNIT("item_group_code", "attribute_code") Loads a subitem attribute by item group and attribute code.
DIA_MM_FROM_UNIT() Loads the unit amount into the attribute (used for diamonds).
ROOT_UNIT() Loads the root item’s unit amount into a subitem attribute.
METAL_COMP() Loads the root item’s metal code.
METAL_FIRST_LEVEL_COMP() Loads the root item’s first-level metal code.
JSUBI_ATTR_IT(item_type_code, attribute_code) Loads a subitem attribute by item type code.
JSUBI_ATTR_IT_PARTIAL(item_type_code, attribute_code) Same as above, but uses partial match on item type code.
JI_ATTR_IT() Retrieves an attribute from another item by item type.
JI_ATTR_IG() Retrieves an attribute from another item by item group.
SERV_ATTR() Retrieves a value from a service.
JO_ATTR() Retrieves a value from the job.
GENERATE_SKU() Generates an item SKU when adding an item to a job using formula logic (e.g., {@IT#C}_{WIDTHS}X{DEPTHS}).

🔄 Attribute-Based Routing Functions

These functions help define conditional routing logic based on inventory levels, job composition, and other item or job parameters.

Function Description
INV_LEVEL() Checks if items from a group need to be ordered.
HAS_IG() Checks if the job includes items from a group.
INV_LEVEL_ACTUAL() Checks if items in a group don’t have enough available inventory.
INV_LEVEL_ACTUAL_MC() Checks for inventory in a specific movement category.
INV_LEVEL_ACTUAL_JI_MC() Checks if items have enough inventory in their own movement category.
JI_MC() Retrieves the movement category code of an item from a group.
JI_ATTR_IT() Gets an attribute from a job item by item type.
JI_ATTR_IG() Gets an attribute from a job item by item group.
SERV_ATTR() Gets an attribute value from a service.
JO_ATTR() Gets an attribute from the job itself.