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

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間: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 (保存)] を選択します。