ビジネスを構築するには、以下のマスタデータを登録して許容値をモデル化する必要があります。
- 許容値インタフェース
- 許容値インタフェースには、各許容値で使用可能なカウンタおよびパラメータの一覧が含まれています。
- 許容値イベントクラス
- このクラスは、手数料から契約の値引きに送信し、再度戻すことができるデータを記述します。
- 許容値ロジック
- アローワンスロジックは、アローワンスイベントの処理時、アローワンスの有効化時、期限切れ時などに実行される計算ロジックを記述します。また、これらのロジックがアローワンスイベントクラスに関連付けられます。たとえば、チャージの使用レートは、チャージが機密である特定のチャージ対象明細クラスを参照している場合と同様です。
- アローワンスプラン
- アローワンスプランは、アローワンスのビルプランを形成します。通常、これらは 1 つまたは複数の許容値ロジックを参照します。これらの許容値ロジックの組合せにより、許容値プランに基づく登録時の許容値の動作が定義されます。
以下の段落では、これらの各オブジェクトタイプについて説明し、その目的、定義方法、および提供されるオプションおよび柔軟性を考察します。
許容値イベントクラス
許容値イベントクラスは、チャージ対象明細クラスに類似したカタログに保存されている構造です。これは、諸費用から一連の値引きに送信できるメッセージの形式を表します。このようなメッセージは、"許容値イベント" と呼ばれます。アローワンスイベントクラスは、一意の名前、オプションの説明、およびメッセージに情報を含めることができるフィールドのセットで構成されます。各項目は、以下の 3 つのデータ型のいずれかに割り当てられます。
- 文字列
- 番号
- 日付
以下の図は、許容値イベントクラスの定義を示しています。

通常、これらの項目は、残高に対して決済する必要がある許容値にサービス消費をレポートするために使用されます。
チャージ対象明細と許容値イベントの重要な違いは、許容値イベントのフィールド値が許容値処理によって変更可能であることです。CONSUMED_AMOUNT 項目に、許容値によって決済されるサービス使用の金額が含まれている場合、許容値はその消費済金額の一部のみを決済し、残額を後続の許容値によって決済するために残すことができます。決済残額を示すために、項目 "CONSUMED_AMOUNT" の値を、独自の残高で決済できなかった金額で更新することができます。その後、許容値イベントによって変更された値が次のアローワンスに引き継がれます。これにより、値を読み込み、可能な内容を決済し、フィールド値が 0 に達するか、追加の使用量を処理するために利用可能なアローワンスがなくなるまで、必要に応じてフィールド値を変更することができます。イベントを処理できる値引きがなくなると、メッセージは呼び出し側の手数料に返され、このメッセージはすべての更新されたフィールド値にアクセスできます。
気付いたように、許容値イベントクラスにはデフォルトプロパティが含まれていません。アローワンスイベントは課金によって送信されるため、これらは必要ありません。レーティングプロセスのその時点で、契約と手数料はすでに識別されています。
許容値イベントクラスは、Core Tool でファイル→新規→許容値イベントクラスを選択して登録することができます。
アローワンスイベントは、Allowance Event Sender という演算子コンポーネントを使用して送信できます。コンポーネントで、メッセージに使用する許容値イベントクラスを選択する必要があります。コンポーネントの定義タブで、レーティングコンテキストのプロパティを許容値イベントクラスで定義されたプロパティにマッピングする必要があります。許容値イベントクラスのプロパティごとに、許容値イベントの処理後に更新された値を含むプロパティの名称を定義することができます。以下の例では、許容値イベント項目 CONSUMED_AMOUNT に手数料の基準額の値が提供され、REMAINING_AMOUNT 項目には許容値によって決済されなかった金額が含まれています。

許容値ロジック

SAP Convergent Charging では、許容値ロジックは、カタログのマスタデータに属する再利用可能なオブジェクトです。これらは、一意の名前、説明、およびチャージと類似しており、パラメータと一時カウンタ、または永続カウンタを含めることができます。
計算ロジックは、ツリー構造として定義されます。チャージの価格プランと同様に、許容値ロジックツリー構造は以下の 3 つの論理部分に分割することができます。
- トリガレベル
トリガコンポーネントは、各ツリーのルートです。ここでは、トリガイベントのタイプ (イベントベース、繰り返し、またはワンショット) が定義されます。
- アルゴリズムレベル
このレベルでは、計算ロジックが表示されます。複数の論理コンポーネントが組み合わされ、許容値内で実行される計算ロジックが形成されます。各論理コンポーネントが 2 つのカテゴリのいずれかに割り当てられます (ここではスプリッタはサポートされていません)。:
- コンパレータ
- 演算子
- 機能レベル
関数は、計算ツリーロジックの最下位ノードです。機能コンポーネントにより、使用イベントの受渡しが許可されるかどうか (使用イベントによってエラーメッセージが登録される)、および合格許容値イベントに対してチャージ明細が生成されるかどうかが定義されます。許容値イベントに合格すると、許容値により、これまでのツリーロジックで定義されたとおりにイベントが処理された後、次の許容値に渡されます。
トリガレベル
各ツリーロジックは、いわゆる "トリガ" で始まります (チャージの "レート" コンポーネントと同様)。許容値ロジックでは、以下の 3 種類のトリガを使用することができます。

- イベントベーストリガ
- 繰返トリガ
- ワンタイムトリガ
- イベントベーストリガ
イベントベースのトリガにより、特定のアローワンスイベントクラスのアローワンスイベントの処理が可能になります。このコンポーネントで想定される唯一の設定は、既存の許容値イベントクラスへの参照です。イベントベーストリガは、このタイプの許容値イベントを受信した場合にのみ実行されます。イベントベーストリガコンポーネントの下のツリーロジックは、参照される許容値イベントクラスで定義されたすべてのプロパティ値にアクセスすることができます。
- 繰返トリガ
繰返トリガは、チャージの価格プランの繰返レートに似ています。この設定により、繰返パターンが定義されます。繰返トリガの下のツリーロジックは、このパターンに従って実行されます。繰返パターンの設定は、価格プランの繰返レートの設定と同じルールおよび構造に従います。ただし、繰り返しトリガの設定では按分はサポートされていません。
- ワンタイムトリガ
ワンタイムトリガにより、アローワンスの作成、有効化、または有効期限のツリーロジックの実行が可能になります。これにより、許容値の残高を登録したり、許容値の準備状況に関するメッセージを送信したり、残高を消費して SAP Convergent Invoicing にレポートして収益として転記したりすることができます。
アルゴリズムレベル
ツリーロジックの中間部分では、計算ロジックが定義されます。コンパレータと演算子コンポーネントを自由に組み合わせて、要件を満たすロジックを実装することができます。このようなロジックの例として、アローワンス内の残り時間数を比較し、残り時間数を必要に応じて差し引いたり、場合によってはアローワンスイベントでレポートされた使用量を決済したりすることができます。完了すると、アローワンスイベントプロパティが、まだ決済されていない残り時間数で更新されます。
使用できる最も重要な演算子およびコンパレータコンポーネントは、このコースですでに紹介されています。ただし、アローワンスでは、アローワンスロジックのコンテキストでのみ利用可能な一連の特殊コンポーネントがサポートされています。これらのコンポーネントは以下のとおりです。
- アローワンスイベント送信者
- アローワンスイベントアップデータ
- アローワンスプロパティイントロデューサ
- アローワンス有効期間アップデータ
- アローワンスイベント送信者
許容値イベントクラスの処理時に、許容値イベントセンダがすでに導入されています。通常、アローワンスイベントは手数料によって送信されますが、値引きでも送信することができます。
- アローワンスイベントアップデータ
許容値イベント更新者コンポーネントを使用して、処理される許容値イベントの項目値を更新することができます。以下の例では、許容値イベント更新者コンポーネントを使用して、許容値イベントプロパティ CONSUMED_AMOUNT の項目値を 0 に設定し、許容値イベントプロパティ PROCESSED の項目値を TRUE に設定します。残りのアローワンスイベントプロパティは、変更されないように、実際の値にマッピングされます。

許容値イベント更新者コンポーネントは、イベントベーストリガのサブコンポーネントとしてのみ使用可能です。
- アローワンスプロパティイントロデューサ
アローワンスプロパティイントロデューサコンポーネントでは、選択基準のセットによって特定のアローワンスグループを選択し、これらのアローワンスとそのプロパティに基本的な数学的評価を適用することができます。
例を見てみましょう。
クラウド選択サービスを販売する O2C 社の販売部門には、次のような考えがあります。少なくとも 1 カ月間有効な合計利用可能量残高に契約が関連付けられているすべての顧客に、サービス利用を促進するための最新のサービス提供について通知するメッセージを送信する必要があります。つまり、契約ごとに、有効期間が 4 週間以上のアローワンスを選択し、一致するすべてのアローワンスの残高を合計する必要があります。これは、アローワンスプロパティイントロデューサコンポーネントが 1 つのツリーステップで実行できることです。
コンポーネントの設定には、以下の 3 つのステップが必要です。
- 選択範囲を設定します。
- 選択基準を定義します。
- 実行する計算を定義します。
最初のステップでは、アローワンスの選択元の範囲を定義します。オプションは以下のとおりです。
- 特定の契約のすべてのアローワンス。
- 特定の契約のすべてのアローワンス、およびその親契約のすべてのアローワンス。
- 特定の共有 ID の共有済みアローワンスのみ。
共有済許容値をまだ処理していないため、3 つ目のオプションに混乱しないでください。
範囲を選択した場合は、特定の条件に一致するアローワンスのサブセットのみを選択するための一連の選択基準を指定することができます (必須ではありません)。選択基準として使用されるプロパティのデータ型に応じて、さまざまな演算子を使用できます。
演算子
データ型 利用可能な演算子 日付 等しい
変更前
以前
変更後
後 (等しい)
番号 等しい
より大きい
以上
より小さい
次の数以下
等しくない
文字列 等しい
先頭
次で終わる
含む
デフォルトでは、コンポーネントにより、選択した結果セットのアローワンスの数がカウントされます。コンポーネントがこの番号を格納するプロパティ名を定義する必要があります。
さらに、結果セット内のアローワンスのプロパティに対して実行される一連の数学演算を定義することができます。サポートされる操作は、プロパティのデータ型によって異なります。
データ型
データ型 利用可能な演算子 日付 最高
最低
番号 最高
最低
合計
これらの演算子を使用して、たとえば、数値プロパティ "BALANCE" を選択し、コンポーネントによって結果セットのすべてのアローワンスにわたってそのプロパティの合計が計算されるようにすることができます。
ただし、選択基準として使用されるプロパティ、および生成されたプロパティは許容値インタフェースの一部である必要があることに注意してください。これは、大きな欠点となる可能性があります。アローワンスインタフェースはまだカバーされていないため、この点に留意してください。
- アローワンス有効期間アップデータ
アローワンス有効期間更新では、アローワンスの有効開始日付または有効終了日付 (もしくはその両方) を変更することができます。変更できる日付は、アローワンスのステータスと、updater コンポーネントが含まれるトリガコンポーネントによって異なります。以下の表は、どのトリガコンポーネントおよび設定によってどの変更が許可されるかを示しています。
トリガコンポーネント、設定、および許可されるモディフィケーションの組合せ
トリガコンポーネント 有効期間開始日付 有効終了日付 イベントベーストリガ 更新できません 変更可能 繰返トリガ 更新できません 変更可能 ワンタイムトリガ (登録) 変更可能 更新できません ワンタイムトリガ (有効化) 更新できません 変更可能 ワンタイムトリガ (有効期限) 更新できません 更新できません 状況の例としては、特定の有効期間を購入されたアローワンス残高に関連付ける会社があります。既存の残高および有効な残高に対するトップアップオペレーションによって、これらの残高の有効期間が延長され、より多くの残高を購入するインセンティブが発生します。有効期間の延長は、アローワンスがトップアップされる金額に基づいて増加する場合もあります。
機能レベル
前述のとおり、各許容値ロジックツリーの最後のコンポーネントは関数です。関数は正確に 2 つの目的で使用されます。
- アローワンスロジックがエラーステータスに達したため、これまでに処理されたアローワンスイベントが次のアローワンス (存在する場合) に渡されるか、代わりにエラーメッセージが表示されるかを示します。
- これらは、これまでに実行された計算出力に基づいて、チャージ明細がアローワンスロジックによって作成されるかどうかを示します。
このために、許容値ロジックで以下の機能を使用することができます。
- 許可
- アクセスなし
- 許可
許可機能を使用すると、アローワンスイベントを次のアローワンス (存在する場合) に渡したり、呼出元のチャージに戻したりすることができます。

提供される唯一のオプションは、チャージ済み明細を作成する (チェックボックスチャージ済み明細の生成にチェックを付ける) か、しない (チェックボックスのチェックを外す) かを決定することです。
- アクセスなし
アクセスなし機能には、チャージと同じ機能があります。レーティングプロセスが強制終了され、処理中に行われたカウンタ更新がロールバックされ、一連のレーティングコンテキストプロパティ名と、設計時にユーザが選択できる現在の実行時値を含むエラーメッセージが返されます。


