NowTableService インターフェイス: Android

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:10分
  • NowTableService インターフェイスは、ServiceNowインスタンス上のテーブル内のレコードを作成、読み取り、削除、および更新するための関数を提供します。

    表 : 1. プロパティ
    名前 タイプ 説明
    構成 NowServiceConfiguration サービスに関連付ける構成。

    NowTableService - createRecord(tableName: String, fields: Map<String, String>, writeOptions: FieldWriteOptions?, configuration: FieldReadConfiguration?)

    指定されたテーブルに指定されたレコードを挿入します。

    表 : 2. パラメーター
    名前 タイプ 説明
    tableName 文字列 レコードを保存するテーブルの名前。
    フィールド Map<String, String> レコードに作成するすべてのフィールドのキーと値のペア。
    注:
    レコード内のすべてのフィールドは更新できない場合があります。たとえば、プリフィックスが sys_ のフィールドは、通常、自動的に生成されるシステムパラメーターであり、更新することはできません。指定されず、システムによって自動生成されないフィールドは、関連するデータタイプの null 値に設定されます。
    writeOptions FieldWriteOptions オプション。値を表示値として保存するかどうか、システムフィールドの自動生成を抑制するかどうかなど、フィールドに設定するオプションを記述します。

    デフォルト値:null:オプションが選択されていません

    構成 FieldReadConfiguration オプション。作成されたレコードに対して返すフィールドとフィールドに何を含めるかを指定する構成。
    表 : 3. 戻り値
    タイプ 説明
    Call<ByteArray> 成功:作成されたレコードを含む ByteArray。この情報は、必要なデータモデルに変換できます。

    エラー:NowDataError

    fun createTableRecord( tableName: String, fields: KeyValues, includeFields: String, 
      readOptions: ReadOptions?, writeOptions: WriteOptions?){ 
     
      val readOptionsArray = readOptions?.asArray() ?: arrayOf() 
      val readConfig = FieldReadConfiguration(includeFields.split(","), *readOptionsArray) 
     
      var body:ByteArray? 
     
      val call = tableService.createRecord(tableName, fields.toMap(), 
        writeOptions?.asFieldWriteOptions(), 
        readConfig) 
      call.enqueue({ body = it.body },{ Log.d("Records", "failed to create record") }) 
    } 

    NowTableService - deleteRecord(sysId:文字列, tableName:文字列)

    指定されたテーブルの指定されたレコードを削除します。

    表 : 4. パラメーター
    名前 タイプ 説明
    sysId 文字列 削除するレコードの sys_id。
    tableName 文字列 インシデント資産など、指定されたレコードが配置されているテーブルの名前。
    表 : 5. 戻り値
    タイプ 説明
    Call<ByteArray> 成功:何も返されません。

    エラー:NowDataError

    fun deleteTableRecord( recordSysId: String, tableName: String, callType: CallTestType){ 
      val tableService = serviceProvider.tableService()
      var body:ByteArray? 
      val call = tableService.deleteRecord(recordSysId, tableName) 
      call.enqueue({ body = it.body },{ Log.d("Records", "failed to create record") }) 
    } 

    NowTableService - paginator(tableName: String, configuration: FetchConfiguration)

    テーブル内のレコードのページを反復できるページネーションを作成します。

    このページネーションを使用して、返されたレコード間を移動し、最初、最後、前、または次のページのフェッチや、次のページまたは前のページがあるかどうかの確認などのナビゲーション操作を実行できます。

    表 : 6. パラメーター
    名前 タイプ 説明
    tableName 文字列 ページネーションを作成するテーブルの名前。
    構成 FetchConfiguration 使用するフィルター、ページネーションページサイズ制限、取得するフィールド、およびフィールドに含める内容を指定した構成。
    表 : 7. 戻り値
    タイプ 説明
    Paginator<ByteArray> 成功:要求されたレコードの ByteArray 出力を持つペジネータ。Paginator オブジェクト内の関数を使用して、返されたレコードを移動できます。

    エラー:NowDataError

    private fun initTablePaginator() { 
      paginator = service?.paginator(tableName, FetchConfiguration(null, 3)) 
        ?.observe(object: PaginatorCallBack<ByteArray> { 
          override fun onSuccess(response: Response<List<ByteArray>>) { 
          } 
          override fun onFailure(e: NowDataError) { 
            Log.e("NowDataError", "", e) 
          } 
        }) 
    }

    NowTableService - record(sysId: String, tableName: String, configuration: FieldReadConfiguration?)

    指定されたテーブルから指定されたレコードを取得します。

    表 : 8. パラメーター
    名前 タイプ 説明
    sysId 文字列 取得するレコードの sys_id。
    tableName 文字列 インシデント資産など、指定されたレコードが配置されているテーブルの名前。
    構成 FieldReadConfiguration オプション。取得するフィールドとフィールドに何を含めるかを指定する構成。
    表 : 9. 戻り値
    タイプ 説明
    Call<ByteArray> 成功:取得したレコードを含む ByteArray。この情報は、必要なデータモデルに変換できます。

    エラー:NowDataError

    fun fetchTableRecord( sysId: String, tableName: String, includeFields: String, 
      readOptions: ReadOptions?){ 
     
      val readOptionsArray = readOptions?.asArray() ?: arrayOf() 
      val readConfig = FieldReadConfiguration(includeFields.split(","), *readOptionsArray) 
     
      var body:ByteArray? 
     
      val call = tableService.record(sysId, tableName, readConfig) 
      call.enqueue({ body = it.body },{ Log.d("Record", "failed fetching record") }) 
    }

    NowTableService - records(tableName: String, configuration: FieldReadConfiguration?)

    指定されたテーブルから sll レコードレコードを取得します。

    表 : 10. パラメーター
    名前 タイプ 説明
    tableName 文字列 インシデント資産などのレコードを取得するテーブルの名前。
    構成 FieldReadConfiguration オプション。取得するフィールドとフィールドに何を含めるかを指定する構成。
    表 : 11. 戻り値
    タイプ 説明
    Call<ByteArray> 成功:取得したレコードを含む ByteArray。この情報は、必要なデータモデルに変換できます。

    エラー:NowDataError

    fun fetchTableRecords( tableName: String, filterQuery: String, includeFields: String, 
      readOptions: ReadOptions?, limit: Int?){ 
     
      val readOptionsArray = readOptions?.asArray() ?: arrayOf() 
      val readConfig = FieldReadConfiguration(includeFields.split(","), *readOptionsArray) 
      val config = FetchConfiguration(Filter(filterQuery), limit, readConfig) 
     
      var body:ByteArray? 
     
      val call = tableService.records(tableName, config) 
      call.enqueue({ body = it.body },{ Log.d("Records", "failed fetching records") }) 
    } 

    NowTableService - updateRecord(sysId: String, tableName: String, fields: Map<String, String>, writeOptions: FieldWriteOptions?, configuration: FieldReadConfiguration?)

    指定されたテーブルの指定されたレコードを指定されたフィールドで更新します。

    表 : 12. パラメーター
    名前 タイプ 説明
    tableName 文字列 レコードを更新するテーブルの名前。
    フィールド Map<String, String> レコード内で更新するすべてのフィールドのキーと値のペア。
    注:
    レコード内のすべてのフィールドは更新できない場合があります。たとえば、プリフィックスが sys_ のフィールドは、通常、自動的に生成されるシステムパラメーターであり、更新することはできません。指定されず、システムによって自動生成されないフィールドは、関連するデータタイプの null 値に設定されます。
    writeOptions FieldWriteOptions オプション。値を表示値として保存するかどうか、システムフィールドの自動生成を抑制するかどうかなど、フィールドに設定するオプションを記述します。

    デフォルト値:null:オプションが選択されていません

    構成 FieldReadConfiguration オプション。更新するフィールドとフィールドに含める内容を指定する構成。

    デフォルト:null

    表 : 13. 戻り値
    タイプ 説明
    Call<ByteArray> 成功:更新されたレコードを含む ByteArray。この情報は、必要なデータモデルに変換できます。

    エラー:NowDataError

    fun updateTableRecord( sysId: String, tableName: String, fields: KeyValues, includeFields: String, 
       readOptions: ReadOptions?, writeOptions: WriteOptions?){ 
     
       val readOptionsArray = readOptions?.asArray() ?: arrayOf() 
       val readConfig = FieldReadConfiguration(includeFields.split(","), *readOptionsArray) 
     
       var body:ByteArray? 
     
       val call = tableService.updateRecord(recordSysId, tableName, fields.toMap(), 
         writeOptions?.asFieldWriteOptions(), 
         readConfig) 
       call.enqueue({ body = it.body },{ Log.d("Records", "failed to update record") }) 
    }