Using Mapping Tables

Objectives

After completing this lesson, you will be able to:
  • マッピングテーブルクラスを登録します。
  • マッピングテーブルクラスとマッピングテーブルの違いについて説明します。
  • マッピングテーブルを作成します。
  • 価格プランでマッピングテーブルを使用します。
  • マッピングテーブルにデータを入力します。

マッピングテーブルの概要

マッピングテーブルを使用すると、定期的に変更される可能性がある価格やその他の情報などのデータを保存することができます。テーブルを使用する利点は、通常、SAP Convergent Charging の API を使用して外部システムでデータを変更できることです。チャージの価格プランを変更する必要はありません。

リレーショナルデータベースとそのテーブルに精通している場合は、SAP Convergent Charging のテーブルが同じように機能すると想定されます。ただし、いくつかの大きな違いがあります。

  1. SAP Convergent Charging のマッピングテーブルには、以下の 3 つの必須列があります。
    1. ID
    2. 開始日付
    3. 終了日付
  2. 1 から 40 の入力列を宣言できます。入力列には、テーブル内のエントリの検索に使用されるデータが含まれます。データベースでは、これらの列は "キー" の一部とみなされます。入力列のデータ型は、文字列または通貨にすることができます。通貨データ型は、対応する通貨ディクショナリで認識されているすべての ISO/SAP 通貨コードで構成される文字列です。
  3. 1 から 30 の出力列を宣言できます。出力列には、キー列のデータに関連付けられているデータが含まれます。
マッピングテーブルクラスの列。

SAP Convergent Charging Core Tool では、一般的なマッピングテーブルは以下のようになります。

一般的なマッピングテーブルの例。

このテーブルでは、検索基準または入力としてサービスレベル契約値 (列 SLA) および通貨コード値 (列 CURRENCY) が想定されています。このような値の特定の組合せでは、価格 (列 AMOUNT) が関連付けられます。

ID 列は常にマッピングテーブルの一部です。これは、API を使用してテーブルの単一行を処理するための一次キーとして機能しますが、価格プランツリー内のテーブルから読み込む際に検索基準として使用することはできません。

テーブル行が有効な間隔は、有効性列に含まれています。検索基準のセットを使用してテーブルを検索する場合は、参照日付を指定する必要があります。結果には、検索基準に一致し、指定された参照日付で有効な行のみが含まれます。

出力列のデータ型は string または number です。これにより、価格などの数値と、国名や色などの英数字の値を保存することができます。

マッピングテーブルクラス

SAP Convergent Charging では、マッピングテーブルの構造は、1 つまたは複数のテーブルに含まれるデータとは別に定義されます。この分離は、テーブルの構造をいわゆる "マッピングテーブルクラス" として定義することによって行われます。クラスが定義されたら、クラスを参照することで、同じ構造の複数のマッピングテーブルを登録することができます。マッピングテーブルクラスを参照せずにマッピングテーブルを登録することはできません。設計時にはクラスは必須です。

説明したテーブルのマッピングテーブルクラスは、以下のようになります。

一般的なマッピングテーブルクラスの例

マッピングテーブルの作成

Core Tool で FileNewMapping Table Class を選択して、新しいマッピングテーブルを作成できます。各マッピングテーブルクラスに名前を付ける必要があります。少なくとも 1 つの入力列と 1 つの出力列をクラスに指定する必要があります。列には、名称と内容説明テキスト、およびデータ型が必要です。追加情報タブには、オプションの情報が含まれています。このタブに追加された情報は、価格プランではアクセスできません。ただし、これを使用して、SAP Convergent Charging Cockpit を介してさまざまなユーザグループのテーブルへのアクセスを制限することができます。

マッピングテーブルクラスが定義され、SAP Convergent Charging のデータベースに保存されると、入力列と出力列が固定されます。マッピングテーブルクラスが保存されると、列を追加または削除することはできません。ただし、マッピングテーブルクラスをコピーとして開き、必要に応じて列を追加または削除することはできます。その後、新しいテーブルクラスを別の名称で保存することができます。

マッピングテーブル

マッピングテーブルクラスが定義され、データベースに保存されると、既存のマッピングテーブルクラスを参照してマッピングテーブルを登録することができます。同じマッピングテーブルクラスを参照して作成されたすべてのテーブルは、同じ入力列と出力列を共有します。新しいマッピングテーブルを作成するには、FileNewMapping Table を選択する必要があります。新しいマッピングテーブルの名前を入力し、新しいテーブルが基づいているマッピングテーブルクラスを選択します。使用するマッピングテーブルクラスを変更すると、それに応じてテーブル列が変更されます。

テーブルインスタンスタブで、テーブルの内容を更新することができます。行ごとにマニュアルで追加および更新するか、カンマ区切りファイル (CSV ファイル) からテーブル内容をインポートすることができます。CSV ファイルを使用してテーブル内容をインポートすると、何千ものテーブル行を 1 ステップで簡単にインポートできます。

CSV ファイル形式のテンプレートを作成する最も簡単な方法は、テーブルに行を追加して保存し、テーブルデータを CSV ファイルにエクスポートすることです。

各マッピングテーブルは、マッピングテーブルグループ内のカタログにあります。

マッピングテーブルには、技術的には任意の加入者アカウントからアクセスすることができます。そのため、マッピングテーブルは、システムのすべての加入者アカウントまたはほとんどの加入者アカウントで使用できる必要があるデータに最適です。

加入者マッピングテーブル

特定の加入者アカウントにのみアクセス可能なマッピングテーブルにデータを保存する場合は、加入者マッピングテーブルを使用する必要があります。加入者マッピングテーブルは、マッピングテーブルと類似しています。マッピングテーブルと同じマッピングテーブルクラスが使用されます。ただし、これらは特定の加入者アカウントに割り当てられます。テーブルが割り当てられている加入者アカウントのみが、加入者マッピングテーブルから読み込むことができます。

契約マッピングテーブル

契約マッピングテーブルは、複数の加入者アカウントからアクセスできるため、通常のマッピングテーブルのようなものです。各テーブルには、いわゆる契約 ID が割り当てられます。これらのテーブルは、SAP Subscription Order Management で基本契約を登録する際に使用されます。これらの基本契約は複数の加入者アカウント間で共有されるため、このテーブルタイプは、基本契約の一部であるレーティングに関連するデータを保存するために使用されます。もう 1 つの主な違いは、カタログの表示時に契約テーブルが読み込まれないことです。これらは、契約テーブルを含むサブフォルダが展開されると読み込まれ、パフォーマンスが最適化され、1 つの SAP Convergent Charging システム内のマッピングテーブルよりも多くの契約テーブルを管理することができます。

価格プランでのマッピングテーブルの使用

マッピングテーブル名が読み込まれる場合は、コンパレータコンポーネントマッピングテーブルイントロデューサを使用する必要があります。

コンパレータコンポーネントの使用: マッピングテーブルイントロデューサ

価格プランに 2 つのアウトバウンド分岐が登録されます。最初の分岐はテーブルでエントリが見つかったときに実行され、2 番目の分岐はエントリが見つからなかったときに実行されます。

マッピングテーブルコンパレータコンポーネントの送信ブランチ。

マッピングテーブルのチェック時に、マッピングテーブルイントロデューサコンポーネントは、マッピングテーブルチェックの基準となるマッピングテーブルクラスを認識する必要があります。この情報は、実行時に処理される入力列と出力列をコンポーネントに示すため、重要です。

読込元のマッピングテーブルの名称は、タイプマッピングテーブル ID のパラメータで指定するか、設計時に特定のマッピングテーブルを選択することで指定することができます。パラメータを使用すると、マッピングテーブルインスタンスを実行時に決定できるため、柔軟性が向上します。

パラメータを使用して、チェックするマッピングテーブルを選択します。

参照日付項目では、日付データ型のプロパティを選択する必要があります。これは、有効な行を決定するためのベースラインとして機能します。参照日付プロパティによって示された日時に有効な行のみが、ヒットと見なされます。

最長の接頭辞一致設定の列では、入力プロパティ値とテーブルの列値を厳密に一致させずに、最も長い接頭辞と一致する値をチェックすることができます。これは、階層ゾーンロジックに最も近い一致を見つける必要がある場合に重要です。テーブルの値は、接頭辞とみなされます。

レーティングコンテキストのマッピングセクションで、各入力列にタイプ互換性のあるプロパティを割り当てる必要があります。コンパレータコンポーネントでは、これらすべてのプロパティから値が取得され、すべてのテーブルエントリの完全一致が見つかるまで、すべてのテーブルエントリが上から下に表示されます。最も長い接頭辞一致の列を選択した場合、この列は完全一致ではなく、最も長い接頭辞一致に対してチェックされます。

生成されたプロパティのマッピングセクションには、テーブルのすべての出力列が含まれています。Generated Property Name 項目に、出力プロパティ名が表示されます。これには、価格プランツリーの Row found 分岐のさらに下に各結果値が含まれます。生成されたプロパティ名セルをダブルクリックして、これらのプロパティ名を適宜変更することができます。

比較機能コンポーネントで入力検索基準に一致するテーブル行が見つからなかった場合は、Row not found 分岐が取得されます。コンポーネントの生成されたプロパティは、そのブランチでは利用できません。しかし、必ずしも行を見つけるのが問題ではありません。エントリが見つかるまで、複数のテーブルを順番に検索することができます。これは、さまざまな階層レベル (契約レベル、加入者アカウントレベル、一般レベル) で価格を編成する場合の一般的な手法です。この場合、最も具体的な (契約) レベルから最も一般的なレベル (一般) までを検索します。各レベルの価格は専用のテーブルに存在する場合があり、その結果、テーブル比較のカスケードが発生します。これは、最後のチェックからアクセスなし関数を呼び出す結果が返されない場合にのみ有効です。

価格情報を保存するための 2 つのマッピングテーブルの登録方法

このビデオでは、Jonathan が 2 つのマッピングテーブルを作成して、クラウド選択サービスの CPU 使用量と RAM 使用量の価格情報を保存する方法を示します。最初に、両方のサービスの価格をサポートするために、新しい共通マッピングテーブルクラスが登録されます。クラスの準備ができたら、2 つの異なるマッピングテーブルが設定され、CPU および RAM サービス使用量の価格で更新されます。

マッピングテーブルを使用した使用実績チャージの作成方法

このデモでは、CPU 使用料を計算するチャージが更新されます。これらの料金は、前のビデオで登録したマッピングテーブルから価格情報を読み込むための接頭辞切替コンポーネントに基づいています。

このデモでは、トライアル実行機能を使用してチャージロジックをテストする方法も示します。