関連レコードをオフラインキャッシュに登録する

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:3分
  • アドミニストレーターは、ユーザーが モバイルエージェントでオンラインモードでアクションを実行したときに関連レコードをオフラインキャッシュに含めるように、オフラインモードを構成できます。

    始める前に

    必要なロール:admin

    このタスクについて

    ServiceNowインスタンスでオフラインモードが有効になっている場合は、オフラインキャッシュに追加のレコードを含めるようにインスタンスを構成できます。これらの追加レコードは、エンドユーザーがオフラインモードのときに使用できます。

    重要:
    この機能は、スクリプト化されたライトバックアクションでのみサポートされています。

    次の手順を使用して関連レコードをオフラインキャッシュに登録する前に、アクションアイテムを設定する必要があります。アクションアイテムの構成については、「 オフラインモードでのアクションアイテムとアクションステップの設定 」を参照してください。

    このタスクを設定するにはスクリプティングを使用する必要があります。このタスクでは API を使用する必要があります。

    手順

    1. 移動先 すべて > システムモバイル > モバイルアプリビルダー.
      モバイルアプリビルダー が新しいブラウザータブで開き、アプリケーションスコープ選択画面が表示されます。
    2. 作業しているアプリケーションスコープを検索し、アプリケーションスコープの名前を選択します。
      モバイルアプリビルダー カテゴリのホーム画面が表示されます。
    3. メニューから [すべてのモバイルレコード] を選択します。
    4. [レコードタイプ] フィールドから、アクションアイテム [sys_sg_write_back_action_item] を選択し、作成したアクションアイテムを選択します。
    5. [ タイプ ] フィールドで [スクリプト] を選択します。
    6. [ 実行スクリプト ] フィールドに、同期スクリプトを追加します。
      たとえば、次のスクリプトでは、エンドユーザーがオンラインになっているときに作業指示が作成されると、作業指示タスクが自動的に作成されます。その後、エンドユーザーがオフラインモードになっているときに、作業指示タスクを使用できるようになります。
      (function WriteBackAction(input) {
          //Register additional record for offline mode
          actionResult.addRecordForSync("work-order-task","ef1a8b34df113100dca6a5f59bf26327")
      })(input);
      ここで、「 work-order-task」 はライトバック応答のドキュメントデータセクションに含まれるテーブルで、「 ef1a8b34df113100dca6a5f59bf26327」 はテーブルのsys_idです。
      注:
      • この API を複数回呼び出すことで 異なるテーブルまたは同じテーブルに複数のレコードを登録できます。
      • オフラインデータベースに含めるレコードを指定するには、レコードのテーブル名 (文字列) とsys_id (文字列) を使用します。
      • sys_idで指定されたレコードとそれに関連するフィールドが、ライトバック応答のドキュメントデータセクションに表示されます。
      • sys_idで指定されたレコードは、オフラインデータベースと同期されます。
      • この API で追加するデータは、更新されたドキュメントまたはライトバック応答の宛先ドキュメントにカプセル化する必要があります。ライトバック応答に少なくとも更新されたドキュメントまたは宛先ドキュメントが存在するようにするには、この API を呼び出すボタンの宛先画面を構成できます。この API を呼び出すボタンで宛先画面を設定すると、データが宛先ドキュメントに含まれることが保証されます。
    7. [Save (保存)] を選択します。