ルール・セットと品目ルールの定義
品目ルールを定義して、品目および構成の属性に整合性制約を適用できます。
品目ルールを定義するには、次のことが必要です :
-
ルールを含むルール・セットを定義します。
ルール・セットは、割当や検証、ブレンドに使用できます。
-
ルール・セットでルールを定義します。
ルールを定義する手順は、割当、検証またはブレンドのルール・セットによって異なります。
-
ルール・セットの実行を有効にします。
これらの手順の詳細は次のとおりです。
ルール・セットの定義
次の表は、ルール・セットを定義するためのフィールドの詳細を示しています。
-
「製品情報管理」作業領域で、「品目ルール・セットの管理」タスクを選択します。
-
ルール・セットの管理タスク・バーから「作成」を選択します。
-
「ルール・セット」の作成ダイアログ・ボックスで、名前とオプションの説明を入力します。
-
「複合」の値を選択します。
-
「タイプ」の値を選択して、ルール・セットのタイプを決定します。
-
「関連タイプ」フィールドで、有効な属性式の決定に使用する関連付けのタイプを選択します。
-
「関連名」フィールドで、関連付けタイプを修飾する名前を選択します。
-
「下書き」を選択すると、ルール・セットはその動作に問題がなければトリガーされません。
-
「保存して続行」をクリックします。
-
ルール・セット内に1つ以上のルールを作成します。 コンポジットにYesを選択していない場合は、選択したタイプのルールのみを作成できます。
割当ルールまたは検証ルールの作成手順に進みます。
ルールセット・フィールド |
目的 |
---|---|
表示名 |
ルール・セットの表示名。 この名前は後で変更できます。 |
内部名 |
表示「名前」フィールドから移動したときに自動的に生成されます。 文字、数字、アンダースコアおよびピリオドのみを使用できます。 ルール・セットの作成後は変更できません。 |
説明 |
ルール・セットのオプションの説明。 |
複合 |
値はYesまたはNoです。 複合ルール・セットには、割当タイプ、検証タイプ、またはその両方である他のルール・セットが含まれています。 複合ルール・セットを使用して、様々な属性グループおよび品目区分で動作するルール・セットを集計することもできます。 複合ルール・セットの関連は選択しません。 関連付けは、複合セットに含まれるルール・セットに属します。 Yesを選択した場合は、ルール・セット・タイプを「混合」として選択して、コンポジット・セットに割当ルール・セットと検証ルール・セットを混在させることができます。 ブレンド・ルール・セットは複合にできません。 |
タイプ |
ルール・セットのタイプ。セットに作成できるルールのタイプを決定します。 ルール・セットの作成後にルール・セットのタイプを変更することはできません。 使用可能なタイプは次のとおりです:
|
関連タイプ |
ルール・セットを属性のセットに関連付けます。 関連付け名と組み合せると、入力したルール式で有効とみなされる属性のセットが関連付けタイプによって決まります。 使用可能な関連タイプは次のとおりです:
「タイプ」が「ブレンド」の場合、変更オーダー・タイプおよび新規品目リクエストは使用できません。 |
関連名 |
ルール式の有効な属性のソースである特定の関連タイプの名前。 たとえば、「属性グループ」の関連付けタイプを選択した場合、属性グループの名前を検索して選択します。 |
ドラフト |
このルール・セットを下書きステータスにする場合に選択します。 下書きステータスでは、品目トランザクション中にルールがトリガーされるのを防ぎ、ルール・セットに対するルール影響分析を許可します。 |
品目割当ルールの定義
割当ルールを定義し、指定した条件に基づいて品目属性の値を設定します。
-
「割当」タイプのルール・セットを作成または開きます。
-
ルール・セットの「ルール・セット」の編集ページの「ルール」タブで、「処理」メニューから「作成」を選択します。
-
「ルール」の作成ダイアログ・ボックスで、「順序」フィールドに整数を入力します。
-
ルールの名前と説明を指定します。
-
「返品タイプ」を選択します。
-
「返品タイプ」を汎用として選択した場合、「ターゲット・ビジネス・エンティティ」が有効で必須です。
-
「ターゲット・ビジネス・エンティティ」の値を選択します。 ターゲット属性グループは有効化され、必須です
-
「ターゲット属性グループ」の値を選択します。 ターゲット属性は有効化され、必須です。
-
「ターゲット属性」の値を指定します。
-
-
次の表に、ルールのヘッダー・レベルを定義するフィールドの詳細を示します。 これらの値は、ルールの作成後に変更できます。
ルール・フィールド
目的
順序
整数。 この連番によって、ルールセットがトリガーされる際のルールのトリガー順序が決まります。
名前
ルールの名前。 この名前は後で変更できます。
説明
ルールのオプションの説明。
返品タイプ
ルールで定義された割当の結果。 使用可能な戻り型は次のとおりです:
-
カタログ・カテゴリ: カタログ・カテゴリに品目を割り当てます。
-
一般: 属性に値を割り当てます。
-
品目摘要: 品目に摘要を割り当てます。
-
品目番号: 品目に品目番号を割り当てます。
-
組織: 組織に品目を割り当てます。
ターゲット・ビジネス・エンティティ
戻りタイプが一般の場合、式を検証するための属性の関連付けを指定するには、ビジネス・エンティティを指定する必要があります。 エンティティは次のとおりです:
-
品目
-
改訂
-
サプライヤ
ルールでは、品目属性の条件に基づいて改訂属性またはサプライヤ属性に値を割り当てることができますが、その逆は当てはまりません。 つまり、ルールでは、ターゲット属性が品目属性であるルールの条件に改訂属性またはサプライヤ属性を含めることはできません。
ターゲット属性グループ
ターゲット・ビジネス・エンティティの属性グループ。 戻りタイプが一般の場合にのみ有効になります。
ターゲット属性
ターゲット属性グループの属性。 戻りタイプが一般の場合にのみ有効になります。
-
-
OKをクリックして、ヘッダー・フィールドを受け入れます。
-
詳細セクションで、次の表で説明する「式」フィールドにルール式を入力します。
有効な属性グループおよび名前式がルールで使用されるようにするには、いずれかの式フィールドを右クリックして「属性の挿入」を選択し、「属性の挿入」ダイアログを使用して属性式をルール・フィールドに移入します。
ルール・フィールド
目的
プライマリIf式
オプション。 割当てを実行するかどうかを決定する、trueまたはfalseに評価する必要がある属性式。 有効な式として
true
またはfalse
を入力できます。 式が不要な場合は、このフィールドを空にできます。THEN式
必須。 構成対象:
-
セカンダリIf式: 割当を実行するかどうかをさらに決定する条件。 式が不要な場合は、このフィールドを空にできます。
-
戻り値: 割当から得られた値。 指定した戻り型に合意します。
THEN式の追加行は、タスク・バーの編集コントロールを使用して管理できます。 行は、式の行の順序で評価されます。 最初のTHEN式がTrueと評価されると、実行は停止されます。
ユーザー・メッセージ
オプション。 ルールによってターゲット属性に値が正常に割り当てられたときにエンド・ユーザーに表示されます。 「ユーザー・メッセージの非表示」を選択すると、ランタイム表示からメッセージを抑制しながら、メッセージの定義を保持できます。
属性値がNULL(ゼロによる除算を含む)かどうかを確認する必要はありません。
isnull()
関数でnull値を明示的にテストする場合を除き、Null値は通常、割当てを無視します。 この機能により、プロセスの終了まで品目が完全に充足されない可能性がある品目の増分処理が容易になります。 -
-
「検証」をクリックして、ルール内の式を検証します。 エラーがあるか、ルール定義が有効であることを確認するメッセージが表示されます。
-
必要に応じて、ルール・セットにさらにルールを定義します。 ルールの実行順序は、順序番号を編集して変更できます。
-
「保存」をクリックして、ルール・セットを保存します。
-
ルール・セットをマスター・ルール・セットに追加して、品目トランザクション時の操作を有効にします。
品目検証ルールの定義
検証ルールを定義して、指定した条件に基づいて品目属性の値を検証します。
-
「検証」タイプのルール・セットを作成または開きます。
-
ルール・セットの「ルール・セット」の編集ページの「ルール」タブで、「処理」メニューから「作成」を選択します。
-
「ルール」の作成ダイアログ・ボックスで、「順序」フィールドに整数を入力します。
-
ルールの名前と説明を指定します。
-
検証が失敗した場合にルールによって生成されるアクションのレベルとして「重大度」を選択します。 重大度は検証ルールにのみ適用されます。
「有効なコンポーネント・ルール」は、ルールが
component_type()
関数を使用してコンポーネント・タイプを検証している場合にのみ選択します。 -
次の表に、ルールのヘッダー・レベルを定義するフィールドの詳細を示します。 これらの値は、ルールの作成後に変更できます。
ルール・フィールド
目的
順序
整数。 この連番によって、ルールセットがトリガーされる際のルールのトリガー順序が決まります。
名前
ルールの名前。 この名前は後で変更できます。
説明
ルールのオプションの説明。
重大度
検証が失敗した場合に生成される処理の重大度。
-
警告: 説明メッセージはユーザーに表示されますが、ビジネス・エンティティは保存できます
-
承認が必要: データには、変更オーダーを作成する必要があります。
-
拒否: ビジネス・エンティティは検証が合格するまで保存できません。 この検証結果の重大度は、「拒否された場合にこれ以上の処理を停止」を選択して増やすことができます。
-
-
OKをクリックして、ヘッダー・フィールドを受け入れます。
-
詳細セクションで、次の表で説明する「式」フィールドにルール式を入力します。
有効な属性グループおよび名前式がルールで使用されるようにするには、いずれかの式フィールドを右クリックして「属性の挿入」を選択し、「属性の挿入」ダイアログを使用して属性式をルール・フィールドに移入します。
ルール・フィールド
目的
If式
オプション。 検証を実行するかどうかを決定する、trueまたはfalseに評価する必要がある属性式。 検証を実行するには、式がtrueと評価される必要があります。 有効な式として
true
またはfalse
を入力できます。 式が不要な場合は、このフィールドを空にできます。検証条件
必須。
この条件は、If式の結果が
true
の場合に評価されます。 検証条件がfalse
と評価されると、検証は失敗し、選択した重大度のアクションが実行されます。 失敗した場合は、ユーザー・メッセージも表示されます。ユーザー・メッセージ
オプション。 「検証条件」が
false
と評価された場合にのみ、エンド・ユーザーに表示されます。属性値がNULL(ゼロによる除算を含む)かどうかを確認する必要はありません。
isnull()
関数でnull値を明示的にテストする場合を除き、Null値は通常、検証は無視されます。 この機能により、プロセスの終了まで品目が完全に充足されない可能性がある品目の増分処理が容易になります。 -
「検証」をクリックして、ルール内の式を検証します。 エラーがあるか、ルール定義が有効であることを確認するメッセージが表示されます。
-
必要に応じて、ルール・セットにさらにルールを定義します。 ルールの実行順序は、順序番号を編集して変更できます。
-
「保存」をクリックして、ルール・セットを保存します。
-
ルール・セットをマスター・ルール・セットに追加して、品目トランザクション時の操作を有効にします。
ルール・セットおよびルールの有効化
ルールを実行するには、そのルールを含むルール・セットを有効にする必要があります。 ルール・セットを有効にするには、ルール・セットをマスター・ルール・セットに直接割り当てるか、マスター・ルール・セットに含まれているルール・セットに追加して割り当てる必要があります。
マスター・ルール・セット(MASTER_RULE_SETという名前)は、他のルール・セットを含む事前定義済ルール・セットで、他のルール・セットを含めることができます。 各複合ルール・セット内では、連番によって、実行時における包含ルール・セットの実行順序が制御されます。
-
「ルール・セット」の管理ページで、MASTER_RULE_SETを検索して編集します。
-
MASTER_RULE_SETの編集「ルール・セット」ページの含まれる「ルール・セット」sタブで、「処理」メニューから「追加」を選択します。
-
選択して追加: ルール「セット」ダイアログ・ボックス。ルール・セットを名前で検索するか、ルール・セットを定義する他のフィールドのいずれかで検索します。
-
検索結果からルール・セットを選択し、OKをクリックします。
-
ルール・セットは、マスター・ルール・セットに含まれるルール・セットのリストに表示され、次に使用可能な順序番号とともに、含まれるルール・セットの実行順序が決定されます。 「処理」メニューから「順序の編集」を選択して、順序を変更できます。
-
「保存」をクリックして、マスター・ルール・セットを保存します。
-
独自のルール・セットの編集「ルール・セット」ページで、「ルール・セット」s「含まれる場所」タブに、ルール・セットがマスター・ルール・セットに含まれていることが示されます。
ルール・パフォーマンスの最適化
スケジュール済プロセスを実行することで、ルールのパフォーマンスを最適化できます。
ルール・セットにルールを定義すると、各ルールは実行時に最初にトリガーされたときにコンパイルされ、その定義はデータベースにキャッシュされます。 スケジュール済プロセス「ルールの最適化」を実行して、すべてのルール・セットのすべてのルールを強制的にコンパイルおよびキャッシュできます。 キャッシュされたルール定義は、アプリケーション・サーバーの再起動後もデータベースに保持されます。
スケジュール済プロセス「ルールの最適化」を実行するには、次のいずれかのメソッドを使用します:
-
「ルール・セット」の管理ページでルール・セットを操作しているときに、「処理」メニューから「ルールの最適化」を選択できます。 このアクションはスケジュール済プロセスを実行します。 プロセスIDをノートにとり、スケジュール済プロセス作業領域に移動してプロセスを確認します。
-
スケジュール済プロセス作業領域で、「ルールの最適化」プロセスを直接スケジュールできます。
-
このプロセスにはプロセス・パラメータがありません。
プロセスのログ・ファイルには、正常にコンパイルされなかったルールに関する情報メッセージが含まれています。
次の場合は、ルールの最適化スケジュール済プロセスの再実行が必要になる場合があります:
-
設定およびメンテナンス作業領域の設定データ・エクスポートおよびインポート・プロセスを使用して、別のインストールから新しいルールをインポートしました。 この方法でルール・データをインポートする場合、ルール定義は再コンパイルされません。 インポートされたこれらのルールは、ターゲット・インストールで引き続き正常に実行されますが、サーバーの再起動後に実行時に初めてトリガーされるまで再コンパイルされません。 ルールの最適化スケジュール済プロセスを実行して、インポートされたすべてのルールの再コンパイルとキャッシュを強制できます。
-
既知の問題を解決するには、ルール・テキストを再生成する必要があります。 ルールの最適化スケジュール済プロセスでは、必要な再生成が実行されます。