NowTableService 인터페이스 - Android

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

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

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

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

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

    기본값: 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: 문자열, tableName: 문자열)

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

    표 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. 반환
    유형 설명
    페이지네이터<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. 반환
    유형 설명
    호출&lt;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. 반환
    유형 설명
    호출&lt;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&lt;String, String>, writeOptions: FieldWriteOptions?, configuration: FieldReadConfiguration?)

    지정된 필드를 사용하여 지정된 테이블의 지정된 기록을 업데이트합니다.

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

    기본값: null - 선택한 옵션이 없음

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

    기본값: null

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