테이블 API - ServiceNow Fluent
Table API에는 범위가 지정된 애플리케이션에서 테이블 [sys_db_object]을 정의하기 위한 객체가 포함되어 있습니다.
Table 개체를 사용하여 테이블을 만듭니다. 스키마 속성에서 StringColumn 또는 IntegerColumn과 같은 Column 개체를 추가하여 열을 정의합니다.
테이블 관리에 대한 일반적인 정보는 다음 문서를 참조하십시오 Table administration.
테이블 객체
범위가 지정된 애플리케이션에서 테이블 [sys_db_object]을 작성합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 이름 | 문자열 | 필수 애플리케이션 범위로 시작하고 모두 소문자인 테이블 이름이며 <scope>_<name> 형식입니다. 이름은 Table 개체의 변수 식별자와 일치해야 합니다. 주: 다른 애플리케이션 범위의 기존 테이블에 열을 추가하려면 애플리케이션 범위 뒤에 any를 제외한 테이블 이름을 제공할 수 있습니다. 대신 열 이름은 애플리케이션 범위로 시작해야 합니다.최대 길이: 80 |
| 스키마 | 배열 | 필수 Column 개체의 목록입니다. 자세한 내용은 열 객체 문서를 참조하십시오. |
| 확장 | 문자열 | 테이블의 기반이 되는 다른 테이블의 이름입니다. 기본 테이블을 확장하면 원래 테이블의 모든 필드가 통합되고 새 테이블에 대한 시스템 필드가 생성됩니다. 동일한 범위에 있거나 다른 범위에서 구성할 수 있는 경우 확장 가능으로 표시된 테이블을 확장할 수 있습니다. |
| 레이블 | 문자열 또는 배열 | 목록 및 양식 뷰의 테이블에 대한 고유 레이블입니다. 필드 레이블은 문자열 또는 레이블 객체의 배열로 제공될 수 있습니다. 자세한 내용은 레이블 객체 문서를 참조하십시오. 최대 길이: 80 기본값: name 속성의 값 |
| 표시 | 문자열 | 기본 표시 열입니다. 스키마 속성의 열 이름을 사용합니다. |
| 확장 | 부울 | 다른 테이블에서 테이블을 확장할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
이 속성을 예에서 아니오로 변경하면 하위 테이블을 추가로 만들 수 없지만 기존 하위 테이블은 변경되지 않은 상태로 유지됩니다. 기본값: false |
| live_feed | 부울 | 테이블의 기록에 라이브 피드를 사용할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| auto_number | 객체 | 테이블에 대한 자동 번호 지정 구성 [sys_number]입니다. 자세한 내용은 auto_number 객체 문서를 참조하십시오. |
| accessible_from | 문자열 | 테이블에 액세스할 수 있는 애플리케이션 범위입니다. 유효한 값은 다음과 같습니다.
기본값: public |
| caller_access | 문자열 | 교차 범위 요청에 대한 접근 수준입니다. 유효한 값은 다음과 같습니다.
자세한 내용은 제한된 호출자 접근 권한 설정 문서를 참조하십시오. 기본값: 없음 |
| 작업 | 배열 | 액세스 옵션 목록입니다. 유효한 값은 다음과 같습니다.
기본값: read |
| allow_web_service_access | 부울 | 웹 서비스가 테이블을 호출할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| allow_new_fields | 부울 | 다른 애플리케이션 범위에서 테이블의 새 필드에 대한 설계 시간 구성을 허용할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| allow_ui_actions | 부울 | 다른 애플리케이션 범위에서 테이블의 UI 작업에 대한 설계 시간 구성을 허용할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| allow_client_scripts | 부울 | 다른 애플리케이션 범위에서 테이블에 있는 클라이언트 스크립트의 설계 시간 구성을 허용할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| 감사 | 부울 | 테이블에 있는 모든 기록의 생성, 업데이트 및 삭제를 추적할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| read_only | 부울 | 사용자가 테이블의 필드를 편집할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| text_index | 부울 | 검색 엔진이 테이블의 텍스트를 인덱싱하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| 속성 | 객체 | 지원되는 모든 딕셔너리 속성의 키 및 값 쌍 [sys_schema_attribute]. 예:자세한 내용은 Dictionary Attributes를 참조하십시오. |
| 인덱스 | 배열 | 테이블의 메타데이터 XML에서 인덱스를 생성하기 위한 열 참조 목록입니다. element 속성의 값은 Column 개체와 함께 사용되는 개체 키와 일치해야 합니다. 데이터베이스 인덱스를 사용하면 추가 저장소를 사용하는 대신 테이블의 데이터에 액세스하는 속도가 빨라집니다. |
열에 대한 자동 완성 지원의 경우 이름 속성과 동일한 이름으로 내보낸 변수에 Table 개체를 할당합니다.
import { Table, StringColumn } from "@servicenow/sdk/core";
import { myFunction } from "../server/myFunction.js"
export const x_snc_example_to_do = Table({
name: 'x_snc_example_to_do',
label: 'My To Do Table',
extends: 'task',
schema: {
status: StringColumn({ label: 'Status' }),
deadline: StringColumn({
label: 'Deadline',
active: true,
mandatory: false,
read_only: false,
maxLength: 40,
dropdown: 'none',
attributes: {
update_sync: false,
},
default: 'today',
dynamic_value_definitions: {
type: 'calculated_value',
calculated_value: '',
},
choices: {
choice1: {
label: 'Choice1 Label',
sequence: 0,
inactive_on_update: false,
dependent_value: '5',
hint: 'hint',
inactive: false,
language: 'en',
},
choice2: { label: 'Choice2 Label', sequence: 1 },
},
}),
dynamic1: StringColumn({
dynamic_value_definitions: {
type: 'calculated_value',
calculated_value: myFunction,
},
}),
dynamic2: StringColumn({
dynamic_value_definitions: {
type: 'dynamic_default',
dynamic_default: `gs.info()`,
},
}),
dynamic3: StringColumn({
dynamic_value_definitions: {
type: 'dependent_field',
column_name: 'status',
},
}),
dynamic4: StringColumn({
dynamic_value_definitions: {
type: 'choices_from_other_table',
table: 'sc_cat_item',
field: 'display',
},
}),
},
actions: ['create', 'read'],
display: 'deadline',
accessible_from: 'package_private',
allow_client_scripts: true,
allow_new_fields: true,
allow_ui_actions: true,
allow_web_service_access: true,
extensible: true,
live_feed: true,
caller_access: 'none',
auto_number: {
number: 10,
number_of_digits: 2,
prefix: 'abc',
},
audit: true,
read_only: true,
text_index: true,
attributes: {
update_sync: true,
},
index: [
{
name: 'idx',
element: 'status',
unique: true,
},
],
})
열 객체
테이블에 열 [sys_dictionary]을(를) 추가합니다.
Table 개체의 schema 속성에 Column 개체를 추가합니다.
필드 유형에 따라 여러 유형의 열이 있습니다. 열 객체는 <Type>Column 형식을 사용하며, 여기서 <Type> 은 필드 유형입니다. 필드 유형에 대한 자세한 내용은 다음 문서를 참조하십시오 Field types reference.
지원되는 열 유형은 ListColumn, RadioColumn, StringColumn, ChoiceColumn, ScriptColumn, BooleanColumn, ConditionsColumn, DecimalColumn, IntegerColumn, VersionColumn, DomainIdColumn, FieldNameColumn, ReferenceColumn, TableNameColumn, UserRolesColumn, BasicImageColumn, DocumentIdColumn, DomainPathColumn, TranslatedTextColumn, SystemClassNameColumn, TranslatedFieldColumn, GenericColumn, DateColumn, DateTimeColumn, CalendarDateTime, BasicDateTimeColumn, DueDateColumn, CalendarDateTime, IntegerDateColumn, ScheduleDateTimeColumn 및 OtherDateColumn.
| 이름 | 유형 | 설명 |
|---|---|---|
| 레이블 | 문자열 또는 배열 | 목록 헤더와 양식 필드에 표시되는 열의 고유 레이블입니다. 필드 레이블은 문자열 또는 레이블 객체의 배열로 제공될 수 있습니다. 자세한 내용은 레이블 객체 문서를 참조하십시오. 기본값: 열 객체에 사용되는 키 |
| maxLength | 번호 | 열에 있는 값의 최대 길이입니다. 길이가 254 미만이면 1줄 텍스트 필드로 표시됩니다. 255자 이상이라면 여러 줄 텍스트 상자로 표시됩니다. 주: 데이터 손실을 방지하려면 새 애플리케이션을 개발할 때만 문자열 필드의 길이를 줄이고 필드에 데이터가 있을 때는 줄이지 마십시오. 기본값: 40 |
| 활성 | 부울 | 목록 및 양식에 필드를 표시할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: true |
| 필수 | 부울 | 기록을 저장하기 위해 필드에 값이 포함되어야 하는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| read_only | 부울 | 필드 값을 편집할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| 기본값 | 모두 | 기록을 생성할 때 필드의 기본값입니다. 값은 열 유형에 따라 올바른 유형을 사용해야 합니다. |
| 선택 | 객체 | 열에 대한 선택 [sys_choice] 목록입니다. 자세한 내용은 선택 객체 문서를 참조하십시오. 이 속성은 ChoiceColumn 개체와 선택 열을 확장하는 열 형식에만 적용됩니다. 여기에는 기본 값의 배열 또는 일련의 선택 개체가 포함될 수 있습니다. |
| 속성 | 객체 | 지원되는 모든 딕셔너리 속성의 키 및 값 쌍 [sys_schema_attribute]. 예:자세한 내용은 Dictionary Attributes를 참조하십시오. |
| function_definition | 문자열 | 수학적 연산, 필드 길이 계산 또는 요일 계산과 같이 필드가 수행하는 함수의 정의입니다. 각 정의는 예를 들어, 다음 함수 정의는 짧은 설명, 공백, 호출자 이름을 차례로 보여주는 필드를 생성합니다. 기능 정의에 대한 자세한 내용은 다음 문서를 참조하십시오 Function field. |
| dynamic_value_definitions | 객체 | 동적 필터를 기반으로 동적으로 생성되는 기본값입니다. 유형 및 관련 동작 키의 조합을 제공하여 동적 기본값을 지정합니다. 지원되는 형식은 다음과 같습니다.
|
| 드롭다운 | 문자열 | 테이블의 목록 및 양식 뷰에 대해 선택 목록을 표시하는 방법에 대한 옵션입니다. 이 속성은 ChoiceColumn 개체와 선택 열을 확장하는 열 형식에만 적용됩니다. 유효한 값은 다음과 같습니다.
기본값: 없음 |
schema: {
deadline: DateColumn({ label: 'Deadline' }),
state: StringColumn({
label: 'State',
choices: {
ready: { label: 'Ready' },
completed: { label: 'Completed' },
in_progress: { label: 'In Progress' },
}
}),
task: StringColumn({ label: 'Task', maxLength: 120 }),
}schema: {
x_scope_myColumn: StringColumn({...})
}선택 객체
테이블의 열에 대한 선택 사항 [sys_choice]을 구성합니다.
choices 개체는 Column 개체 내의 속성입니다. Table 개체의 schema 속성에서 지원되는 열 형식과 함께 choices 개체를 사용합니다. 특정 열 형식만 선택 열 형식(ChoiceColumn)을 확장하고 선택 항목을 포함할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 레이블 | 문자열 | 필수 목록에서 선택 항목에 대해 표시할 텍스트입니다. |
| dependent_value | 문자열 | Column 개체의 dynamic_value_definitions 속성에 있는 dependent_field에 매핑하는 값입니다. |
| 힌트 | 문자열 | 마우스를 가져갈 때 도구 설명으로 표시되는 선택 항목에 대한 간단한 설명입니다. |
| 언어 | 문자열 | 번역된 선택 항목에 대한 언어의 BCP 47 코드입니다. 기본값: en |
| 시퀀스 | 정수 | 선택 목록에서 선택이 발생하는 순서입니다. |
| 비활성 | 부울 | 목록에 선택 항목을 표시할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
choices 개체에는 일련의 선택 개체가 포함되며, 여기서 선택 개체의 이름은 choices 정의와 쌍을 이루는 개체 키로 제공됩니다.
choices: {
choice1: {
label: 'Choice1 Label',
sequence: 0,
inactive_on_update: false,
dependent_value: '5',
hint: 'hint',
inactive: false,
language: 'en',
},
choice2: { label: 'Choice2 Label', sequence: 1 },
}
레이블 객체
테이블 또는 열에 대한 필드 레이블 [sys_documentation]을 구성합니다.
label 개체는 Table 및 Column 개체 내의 속성입니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 언어 | 문자열 | 필드 레이블에 대한 언어의 BCP 47 코드입니다. 언어에는 레이블이 하나만 있을 수 있으므로 각 언어는 레이블 개체 배열 내에서 고유해야 합니다. |
| 레이블 | 문자열 | 지정된 언어로 된 필드 레이블의 텍스트입니다. |
| 힌트 | 문자열 | 필드 레이블을 가리킬 때 도구 설명으로 표시되는 간단한 설명입니다. |
| 도움말 | 문자열 | 필드에 대한 추가 정보입니다. 도움말 텍스트는 테이블의 양식 또는 목록 뷰에 표시되지 않습니다. |
| 복수 | 문자열 | 필드 레이블의 복수형입니다. |
| URL | 문자열 | 필드에 대한 정보를 제공하는 웹 페이지의 URL입니다. URL을 제공하면 레이블이 하이퍼링크로 표시됩니다. |
| url_target | 문자열 | 사용되지 않음(사용되지 않음). |
label: [
{
label: 'English description',
language: 'en',
hint: 'Provide a short description'
},
{
label: 'Description de español',
language: 'es'
},
]
auto_number 객체
테이블에 대해 자동 번호 매기기 [sys_number]를 구성합니다.
auto_number 개체는 Table 개체 내의 속성입니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 접두사 | 문자열 | 테이블의 모든 기록 번호에 대한 프리픽스입니다. 예를 들어 인시던트의 경우 INC입니다. 기본값: pre |
| 번호 | 정수 | 이 테이블의 기본 기록 번호입니다. 기록 번호는 자동으로 증가하며 카운터 [sys_number_counter] 테이블에는 다음 번호가 유지됩니다. 기본 번호를 현재 카운터보다 높은 값으로 설정하면 다음 레코드 번호에 새 기본 번호가 사용됩니다. 그렇지 않으면 다음 레코드 번호에서 현재 카운터를 사용합니다. 카운터는 자신보다 낮은 기본 번호로 재설정되지 않습니다. 기본값: 1000 |
| number_of_digits | 정수 | 프리픽스 뒤에 사용할 최소 자릿수입니다. 필요한 경우 자동 번호 매기기에 선행 0이 추가됩니다. 예를 들어, INC0001001에는 세 개의 선행 0이 포함되어 있습니다. 자릿수가 최소 길이를 초과할 수 있습니다. 예를 들어, number_of_digits 2이고 테이블에 99개 이상의 레코드가 생성된 경우 숫자는 100을 넘어 계속됩니다(예: INC101). 경고: 이 필드를 변경하면 테이블의 기존 기록에 대한 모든 숫자 값이 업데이트 될 수 있습니다. 프로덕션 인스턴스에서 이 필드를 변경할 때는 주의하십시오. 기본값: 7 |
auto_number: {
prefix: 'TODO',
number: 2000,
digits: 9,
}