NowTableService 인터페이스 - Android

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기9분
  • NowTableService 인터페이스는 인스턴스의 테이블 ServiceNow 내에서 기록을 생성, 읽기, 삭제 및 업데이트할 수 있는 기능을 제공합니다.

    표 1. 속성
    이름 유형 설명
    구성 NowServiceConfiguration 서비스와 연결할 구성입니다.

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

    지정된 테이블에 지정된 기록을 삽입합니다.

    표 2. 매개변수
    이름 유형 설명
    tableName 문자열 기록을 저장할 테이블의 이름입니다.
    필드 맵<문자열, 문자열> 기록에서 생성할 모든 필드에 대한 키-값 쌍입니다.
    주:
    기록 내의 모든 필드를 업데이트하지 못할 수 있습니다. 예를 들어 프리픽스가 sys_ 인 필드는 일반적으로 자동으로 생성되어 업데이트할 수 없는 시스템 매개변수입니다. 지정되지 않고 시스템에서 자동 생성되지 않은 필드는 연결된 데이터 형식의 null 값으로 설정됩니다.
    writeOptions 필드 쓰기 옵션 옵션입니다. 값을 표시 값으로 저장할지 여부 또는 시스템 필드의 자동 생성을 억제할지 여부와 같이 필드에 설정할 쓰기 옵션입니다.

    기본값: null - 선택한 옵션이 없습니다.

    구성 FieldReadConfiguration 옵션입니다. 생성된 기록에 대해 반환할 필드와 필드에 포함할 내용을 지정하는 구성입니다.
    표 3. 반환
    유형 설명
    호출<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: String, tableName: String)

    지정된 테이블에서 지정된 기록을 삭제합니다.

    표 4. 매개변수
    이름 유형 설명
    sysID 문자열 삭제할 기록의 Sys_id입니다.
    tableName 문자열 인시던트자산 등 지정된 기록이 위치한 테이블의 이름입니다.
    표 5. 반환
    유형 설명
    호출<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. 반환
    유형 설명
    호출<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?)

    지정된 테이블에서 SLLL 기록 기록을 조회합니다.

    표 10. 매개변수
    이름 유형 설명
    tableName 문자열 인시던트자산 등의 기록을 검색할 테이블의 이름입니다.
    구성 FieldReadConfiguration 옵션입니다. 검색할 필드와 필드에 포함할 항목을 지정하는 구성입니다.
    표 11. 반환
    유형 설명
    호출<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 문자열 기록을 업데이트할 테이블의 이름입니다.
    필드 맵<문자열, 문자열> 기록에서 업데이트할 모든 필드에 대한 키-값 쌍입니다.
    주:
    기록 내의 모든 필드를 업데이트하지 못할 수 있습니다. 예를 들어 프리픽스가 sys_ 인 필드는 일반적으로 자동으로 생성되어 업데이트할 수 없는 시스템 매개변수입니다. 지정되지 않고 시스템에서 자동 생성되지 않은 필드는 연결된 데이터 형식의 null 값으로 설정됩니다.
    writeOptions 필드 쓰기 옵션 옵션입니다. 값을 표시 값으로 저장할지 여부 또는 시스템 필드의 자동 생성을 억제할지 여부와 같이 필드에 설정할 쓰기 옵션입니다.

    기본값: null - 선택한 옵션이 없습니다.

    구성 FieldReadConfiguration 옵션입니다. 업데이트할 필드와 필드에 포함할 내용을 지정하는 구성입니다.

    기본값: null

    표 13. 반환
    유형 설명
    호출<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") }) 
    }