機械翻訳について

品目ルール複数行属性グループ機能

複数行属性グループの特定の行の値を参照するには、次のいずれかの関数を使用します。

品目区分に固有のルール・セットを作成するには、ルール・セットの作成時にその品目区分に割り当てます。 そのルール・セットは、その品目区分を親または祖先として持つエンティティごとにアクティブになります。 品目区分に関連付けられた他の属性にはアクセスできません。

ヒント: 1つのルールで複数の複数行属性グループを参照する場合、ルールでは、すべてのグループの各行の組合せをループします。 例 : 複数行属性グループMR_AG1およびMR_AG2を参照する次のIf式を持つルール。MR_AG1にはm行数があり、MR_AG2にはn行数があります:このルールはm*n回実行されます。 ルールを2つのルールに分割して、複数行属性グループへの参照を区切ることで、実行回数をm+nに減らすことができます。

loopSum

構文:

loopSum([Entity name].[multirow Attribute Group Name].[Attribute Name])

loopSum関数は、1つの数値部分式を引数として取ります。 複数行属性グループごとに副式を実行し、結果の合計をコンピュートします。

この例では、パーセント属性のすべての行の値の合計を100以外の値にすることはできません。

Severity: Reject
If Expression: (loopSum([Item].[Composition].[Percentage])) != 100

conditionalLoopSum

構文:

conditionalLoopSum(boolean_expression, [Entity name].[multirow AttributeGroupName].[Attribute Name])

conditionalLoopSum関数は、2つの副式引数を取ります。 最初の引数はブール式である必要があり、2番目の引数は数値のサブ式です。 この関数は、複数行ごとにブール型のサブ式を実行し、ブール値がtrueと評価された場合は、その行の数値のサブ式を計算します。 この関数は、計算された数値式の合計を返します。

この例では、次の行を含むForecastという名前の複数行属性グループがあるとします。

顧客

事業所

所要数量

ABC

シアトル

20

XYZ

シアトル

30

ABC

ボストン

25

次の例では、対応する事業所がシアトルである必須数量の値を合計します:

conditionalLoopSum([Item].[Forecast].[Location] == "Seattle", [Item].[Forecast].[Required Qty])

isMrRowDeleted

検証ルールまたは割当ルールでisMrRowDeleted関数を使用して、複数行拡張可能フレックスフィールド(EFF)属性グループから行が削除されたかどうかを検証できます。 たとえば、検証ルールのisMrRowDeleted関数を使用して行が削除されたときに、変更オーダーの承認を強制できます。 この機能は、品目、品目改訂またはサプライヤEFFの複数行属性グループに使用できます。

構文:

isMrRowDeleted(<Mutli_Row_EFF_Attribute_Group_Name>)

複数行EFFグループの行が削除された場合、trueを返します。 それ以外の場合は、falseを返します。

次に、isMrRowDeleted関数を使用した検証ルール式の例を示します。

isMRRowDeleted([Item].[Material Composition]) OR changed([Item].[Material Composition].[Percentage])

isMrRowDeleted関数と変更された関数を使用して、複数行属性に対する変更または削除操作を検証できます。