品目ルールの構文
品目ルールは、品目属性に対する整合性制約の定義と検証、および属性への値の割当に使用されます。
基本ルールの形成
品目ルールは、式、演算子および関数で構成されます。 ほとんどの式は、品目属性の値を参照します。
ルールは単一の整合性制約をカプセル化できます。 次の例では、特定の属性が別の属性より小さいことを確認します:
[Item].[Physical Attributes].[Unit Weight] <= [Item].[Logistics].[Shipping Weight]
つまり、品目の正味重量は常に出荷重量以下である必要があります。
ルールでは、割当算式を定義できます。 次の例は、「Daily Waste Percent」属性に値を割り当てる場合に使用されます:
[Item].[Logistics].[Total Waste Percent] / [Item].[Inventory].[Shelf Life Days]
前述の例では、日次廃棄率は、合計廃棄率を保管期限日数で除算した値です。
属性式
属性の値にアクセスするには、名前をそのエンティティおよび属性グループに追加し、デリミタで区切ります。 区切り文字はピリオド文字(.
)です。 属性ネーミング要素の表示名を使用できます。この名前要素には空白文字を含めることができますが、1つのカッコで囲む必要があります。
属性式の構文は次のとおりです:
[<Entity Name>].[<Attribute Group Name>].[<Attribute Name>]
付加フレックスフィールドを参照する場合は、次の例に示すように、セグメント・コードを使用します:
[ChangeHeader].Flexfield[Product__Line]
単位式
拡張可能フレックスフィールド属性定義に単位(UOM)が含まれている場合は、属性式にUOM
を追加して単位にアクセスできます。 構文は次のとおりです:
[Item].[<EFF Attribute Group Name>].[<Attribute>].UOM
[Item].[Semiconductor Details].[Capacitance Numeric].UOM
シード済品目属性の場合は、次の構文を使用して単位にアクセスできます:
[Item].[<Attribute Group Name>].[<Attribute> Unit of Measure]
たとえば、属性の単位がキログラムの場合、次の式はkg
を返します:
[Item].[Physical Attributes].[Weight Unit of Measure]
金額間のすべての比較は、様々な単位に合せて自動的に調整されます。 比較のために、属性の単位に明示的にアクセスする必要はありません。
NULL値
値(null値とも呼ばれる)がない属性を参照するルールは無視されます。 NULLと評価される式は無視されます。
つまり、次のような検証をコーディングする必要はありません:
if (not isnull(Item.PhysicalAttributes.Weight)) then Item.PhysicalAttributes.Weight <= 10
「if」部分は冗長です。WeightがNULLの場合、検証は無視されます。 属性にNULL以外の値があることを確認する場合は、isnull
関数を使用します。この関数を使用すると、属性に値が入力されていることを確認できます。
ブール式
ブール式は、TRUE、FALSEまたはnullを返す式です。 ブール式は、編集「ルール・セット」ページの「If式」および「検証条件」フィールドで使用できます。 論理演算子および比較演算子と関数をブール式で使用します。