---
sourceDocument: Xanadu IT Operations Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/it-operations-management

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu IT Operations Management

ft:clusterId :

    - itom

bundleId :

    - itom

workflow :

    - Technology


---

# 選択肢をコストセンターに制限するリソースプールの例

# 選択肢をコストセンターに制限するリソースプールの例 {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：5分

リソースプールを詳細計画とともに使用して、クラウドカタログ要求フォームの選択肢を制限できます。

## ユースケース：コストセンターの選択の制限 {#use-case-resource-pool__section_n33_cp4_2fb}

この例では、クラウド資産のコストが、ユーザーのコストセンターの予算に対して割り当てられます。ベースシステム UserCostCenter リソースプール は、ユーザーが自分のコストセンターのリソースのみを選択できるようにします。

## 仮定 {#use-case-resource-pool__section_jy2_tt4_2fb}

* コスト管理 \[con.snc.cost_management\] プラグインがアクティブです。
* コストセンターが定義され、ユーザーはそのコストセンターに関連付けられています。
* 少なくとも 1 つの詳細計画が定義されています。この例では、「AWS 仮想サーバー」という名前の詳細計画を使用します。
* sn_cmp_cloud_admin ロールが割り当てられ、JavaScript および JSON スクリプトの知識があります。
{#use-case-resource-pool__ul_obw_b54_2fb}

## コンポーネント {#use-case-resource-pool__section_d4v_kbp_2fb}

リソースプールフィルターの確認
:
    1. クラウド管理ポータルで、 管理リソースプール.
    2. CostCenterPool を開き、関連するリソースプールフィルターを確認します。
       * All は、テーブル内のすべてのコストセンターを返すクエリーフィルターです。
       * UserCostCenter は、アイテムをオーダーしているユーザーに関連付けられているコストセンターを検索するスクリプトフィルターです。

       {#use-case-resource-pool__ul_jz4_tmp_2fb}  
       以下に、UserCostCenter フィルターのスクリプトを示します。

           getFilteredRecords();
           //Do not remove function declaration
           /**
           * @returns filtered records in the format [{"value"="lookupValue",label="displayValue"}]
           */
           function getFilteredRecords() {
           	var filteredRecords = [];
           	var userId = gs.getUserID();
           	var userGr = new GlideRecord('sys_user');
           	if (userGr.get(userId)){
           		var costCenterId = userGr.getValue('cost_center');
           		if (costCenterId){
           			var costCenterGr = new GlideRecord('cmn_cost_center');
           			if (costCenterGr.get(costCenterId)){
           				var costCenter = {};
           				costCenter.value = costCenterGr.getUniqueValue();
           				costCenter.label = costCenterGr.getValue('name');
           				filteredRecords.push(costCenter);
           			}
           		}		
           	}

           	//force to string
           	return new global.JSON().encode(filteredRecords);
           }

    {#use-case-resource-pool__ol_cll_bcp_2fb}

詳細計画カタログフォームパラメーター
:
    1. 移動先 Design (デザイン)詳細計画をクリックし、開く詳細計画のタイルをクリックします。
    2. 詳細計画を \[ドラフト\] ステータスにして、 カタログ運用の要求 タブに戻ります

    3. \[変数セット\] 関連リストで \[一般情報 \] 変数セットをクリックします。デフォルトでは、CostCenter 変数はこの変数セット内にあります。
    4. \[変数セット\] フォームの \[クラウド変数\] 関連リストで、\[コストセンター変数\] をクリックします。

    5. \[クラウド変数\] フォームで、\[タイプ仕様\] タブをクリックします。
    6. リソースプールとフィルターを参照する \[プール\] および \[プールフィルター\] フィールドを確認します。
       * CostCenterPool はリソースプールの名前です。
       * UserCostCenter は、選択するユーザーのコストセンターオプションを取得するフィルタースクリプトです。

       {#use-case-resource-pool__ul_gzr_vwp_2fb}

    7. 詳細計画を \[公開済み\] に設定します。
    {#use-case-resource-pool__ol_f2s_htp_2fb}

コストセンターのユーザー
:   コストセンターのメンバーであり、クラウドユーザーポータルへのアクセス権を持つユーザーを特定します。

## リソースプールフィルターのテスト {#use-case-resource-pool__section_wp3_k3v_2fb}

このユースケースを構成するコンポーネントを確認した後、クラウドカタログアイテムをテストして、ユーザーが自分のコストセンターのみを選択できることを確認します。

1. この例では、ユーザー Alene Rabeck の代理操作を行います。
2. クラウドユーザーポータルで、\[スタックを起動\] をクリックし、クラウドカタログアイテム (この例では \[AWS 仮想サーバー (AWS Virtual Server)\]) を選択します。
3. \[コストセンター\] リストの選択項目を確認します。

{#use-case-resource-pool__ol_c41_s3v_2fb}

このカタログアイテムの CostCenterPool::UserCostCenter データソース値では、\[コストセンター\] のオプションは、そのユーザーがメンバーであるコストセンターのみです。

## リソースプールフィルターの変更 {#use-case-resource-pool__section_y5f_dlv_2fb}

リソースプールフィルターを変更し、その結果を確認することで、リソースプールフィルターが \[コストセンター\] フィールドの動作を制御していることをテストします。

1. クラウドアドミンポータルで、 Design (デザイン)詳細計画 をクリックし、\[ AWS 仮想サーバー\] をクリックします。
2. \[プロビジョニング\] 操作タイルをクリックします。
3. \[変数セット\] 関連リストで \[一般情報 \] 変数セットをクリックします。デフォルトでは、CostCenter 変数はこの変数セット内にあります。
4. \[変数セット\] フォームの \[クラウド変数\] 関連リストで、\[コストセンター変数\] をクリックします。
5. \[クラウド変数\] フォームで、\[タイプ仕様\] タブをクリックします。
6. \[プールフィルター\] フィールドを編集して、\[UserCostCenter\] から \[All\] にフィルターを変更します。

7. \[更新\] をクリックし、続いて \[公開\] をクリックします。
8. この例では、ユーザー Alene Rabeck の代理操作を行います。
9. クラウドユーザーポータルでスタックを起動し、\[AWS 仮想サーバー (AWS Virtual Server)\] を選択します。
10. すべてのコストセンターが一覧表示されていることを確認します。

{#use-case-resource-pool__ol_qlj_2mv_2fb}

