ETL 변환 맵 생성
통합 허브 ETL은 특정 통합에 대한 ETL 변환 맵을 만드는 데 필요한 모든 작업을 완료하는 안내 설정을 제공합니다.
안내 설정
안내 설정은 모든 작업을 올바른 순서로 구성하고, 작업 완료를 추적하고, 작업 의존성을 적용합니다. 다른 작업의 완료 여부에 따라 달라지는 작업은 도구를 단계별로 실행하고 작업을 완료할 때 활성화되거나 비활성화됩니다.
ETL 변환 맵 도우미 페이지의 안내 설정을 사용하여 다음 작업을 완료합니다.
소스 데이터 임포트 및 기본 상세 정보 지정
CMDB에 통합할 데이터의 소스와 같은 통합에 대한 기본 상세 정보를 제공하고 소스 데이터를 임포트합니다.
시작하기 전에
ETL 변환 맵에 대해 선택하려는 데이터 소스는 현재 세션에서 사용 중인 것과 동일한 애플리케이션 범위에 있어야 합니다.
ETL 변환 맵을 열면 기본적으로 맵의 유효성이 확인되지 않습니다. 시스템 속성 [sys_properties] 테이블에 시스템 속성을 추가 sn_int_studio.validation.enabled 한 다음 true로 설정하여 이 확인 단계를 활성화할 수 있습니다. 확인이 완료되면 확인 오류를 처리하는 방법을 선택합니다.
필요한 역할: cmdb_inst_admin
프로시저
데이터 미리 보기 및 준비
CMDB에 통합될 원시 소스 데이터의 샘플 기록을 검토합니다. 필요한 경우 대상 클래스 및 속성에 맞게 데이터를 변환하고 준비합니다.
시작하기 전에
샘플 데이터의 기록 수는 기본적으로 100으로 설정된 시스템 속성 sn_int_studio.preview.size에 따라 전역적으로 결정됩니다. 통합 허브 ETL이 처리할 수 있는 샘플 데이터의 최대 기록 수는 10,000개입니다. 이 속성을 10,000개 제한 이상으로 설정하면 통합 허브 ETL은 최대 10,000개 기록만 처리하며 해당 효과에 대한 메시지가 나타납니다.
통합 허브 ETL v3.2부터는 맵마다 소스 데이터 임포트 및 기본 상세 정보 제공 양식에서 미리 보기 크기 재정의 필드를 설정하여 속성 값을 sn_int_studio.preview.size 재정의할 수 있습니다.
중첩된 페이로드에서 중첩된 데이터를 처리하려면 단일 열의 데이터 옵션을 사용하여 각 데이터 소스를 설정해야 합니다.
필요한 역할: cmdb_inst_admin
이 태스크 정보
중첩된 데이터의 열은 나머지 데이터와 함께 표시되며 데이터 열 헤더에는 중 첩된 객체 표기법이 표시됩니다. 객체당 중첩된 데이터 항목 수가 링크와 함께 표시되어 중첩된 데이터의 더 깊은 수준으로 드릴할 수 있습니다. 중첩된 데이터의 데이터 구조를 별도의 패널에 표시하려면 데이터 구조 표시 옵션을 활성화합니다.
데이터 구조 패널에는 중첩된 데이터를 표시하기 위한 두 가지 옵션이 있습니다.
- 트리: 각 객체 노드가 소스 데이터의 기록 항목에 해당하는 객체별로 그룹화된 중첩 데이터입니다. 객체 노드를 확장하여 기록에 대한 모든 중첩된 데이터를 표시합니다.
- 수집: 최상위 객체(기본값)와 소프트웨어와 같은 중첩된 데이터 항목별로 그룹화된 중첩 데이터입니다. 소프트웨어와 같은 노드를 확장하여 각 컴퓨터에 설치된 소프트웨어를 표시합니다.
중첩된 페이로드 데이터 작업에 대한 데모는 ServiceNow YouTube 채널에서 통합 허브 - ETL 중첩 페이로드 기능 데모 비디오를 시청하십시오.
프로시저
결과
CMDB 클래스 및 속성에 대한 데이터 열 매핑 정보
소스 데이터를 대상 CMDB 클래스 및 속성에 매핑하기 위한 몇 가지 요구 사항과 지침이 있습니다. 또한 쉽게 다시 활성화할 수 있도록 설정을 유지하면서 클래스 매핑을 비활성화하는 옵션도 있습니다. 이러한 개념을 검토하여 IRE(식별 및 조정 엔진)에서 적절한 처리를 보장하십시오.
필수 매핑
- 소스 네이티브 키
- IRE는 기록을 고유하게 식별하고 관계 및 참조를 구축하는 데 사용합니다. 또한 삽입 및 업데이트 작업의 성능이 향상됩니다. 페이로드를 처리할 때 이 필드가 비어 있으면 IRE가 오류를 생성합니다.
- 소스 최근 타임스탬프
IRE는 현재 기록보다 오래되었으므로 무시할 수 있는 기록을 식별하여 상충하는 속성 값을 해결하는 데 사용합니다. 값이 제공되면 현재 CMDB에 저장된 값보다 나중인 경우에만 사용됩니다. 값이 제공되지 않은 경우 IRE는 현재 타임스탬프로 속성을 업데이트합니다.
다음 시스템 속성을 사용하면 IRE가 페이로드의 값을 사용하여 source_recency_timestamp 소스 [sys_object_source] 테이블의 속성을 업데이트 last_scan 하는 방법을 수정할 수 있습니다.
조건부 클래스
조건부 클래스를 사용하면 특정 열 값 또는 특정 플러그인의 상태에 따라 서로 다른 대상 클래스에 서로 다른 데이터 기록 세트를 매핑할 수 있습니다.
예를 들어 표시 이름에 'Windows'가 포함되어 있으면 'Windows Server'가 대상 클래스로 선택됩니다. 그러나 표시 이름에 'Linux'가 포함되어 있으면 'Linux Server'가 대상 클래스로 선택됩니다. 이러한 조건을 충족하지 않는 기록의 경우(표시 이름에 "Windows" 또는 "Linux"가 포함되지 않음) "서버"가 대상 클래스로 선택됩니다.
연결된 클래스
연결된 클래스를 사용하면 대상 비 CMDB 테이블과 연결할 CMDB 클래스를 선택할 수 있습니다. 비 CMDB 테이블이 IRE 처리를 위해 구성되지 않은 경우 IRE 처리에 연결된 클래스를 설정해야 합니다. IRE 처리를 위해 지원 및 구성된 비 CMDB 테이블의 경우 연결된 클래스를 설정하는 것은 선택 사항입니다. 자세한 내용은 을 참조하십시오 비 CMDB 테이블에 대한 IRE 지원 .
소프트웨어 인스턴스는 비 CMDB 클래스이지만 연결된 IRE 규칙이 없습니다. 따라서 유타 이전에 우리가 여기서 그것에 대해 말한 것들은 여전히 유효합니다. 그러나 IRE 규칙이 있는 비 CMDB 클래스의 경우 연결이 필수는 아닙니다. 예를 들어, "매핑의 대상 클래스가 CMDB 클래스에 대한 참조가 있는 비CMDB 클래스인 경우, CMDB가 아닌 대상 클래스가 아닌 CMDB가 아닌 CMDB 대상 클래스가 아닌 CMDB가 아닌 CMDB 클래스가 있어야 합니다. "넌 할 수 있어". 예와 마찬가지로 IRE 규칙이 있는 비 CMDB에는 유효하지 않습니다.
매핑의 대상 클래스가 CMDB 클래스에 대한 참조가 있는 비-CMDB 클래스인 경우, 비-CMDB 대상 클래스를 연결할 CMDB 클래스를 선택해야 합니다. 비 CMDB 클래스는 구성 항목 [cmdb_ci] 클래스를 확장하지 않는 클래스(예: 일련 번호 [cmdb_serial_number])를 참조합니다. 관련 항목 [cmdb_related_entry] 클래스에는 동일한 비 CMDB 클래스에 대한 여러 CMDB 클래스 연결이 포함될 수 있습니다. 따라서 IRE 프로세스가 대상 비 CMDB 클래스를 업데이트할 수 있도록 적절한 연결을 선택하십시오.
예를 들어, 관련 항목 [cmdb_related_entry] 클래스에는 비 CMDB 소프트웨어 인스턴스[cmdb_software_instance] 클래스를 CMDB 소프트웨어 패키지 [cmdb_ci_spkg] 클래스와 연결하는 레코드가 있습니다. 소프트웨어 인스턴스를 대상 클래스로 선택하는 경우에는 소프트웨어 인스턴스 클래스를 소프트웨어 패키지 [cmdb_ci_spkg] 클래스와 연결해야 합니다.
클래스 매핑 비활성화
예를 들어 서비스 그래프 커넥터에서 제공하는 ETL 변환 맵을 편집할 때 클래스 매핑을 삭제하여 통합이 실행될 때 클래스가 채워지지 않도록 할 수 있습니다. 그러나 나중에 해당 클래스를 채우기로 결정한 경우에는 해당 클래스를 다시 추가하고 모든 클래스 매핑을 다시 구성해야 합니다. 대신, 클래스 매핑을 비활성화하여 모든 매핑 구성을 유지하면서 통합 실행 중에 클래스를 일시적으로 무시할 수 있습니다. 비활성화하기로 선택한 클래스는 사용자 인터페이스에서 회색으로 표시되지만 계속해서 클래스 매핑을 편집할 수 있습니다. 나중에 클래스 매핑을 다시 구성할 필요 없이 클래스 매핑을 다시 활성화하여 클래스를 채울 수 있습니다.
- 사용자 인터페이스에 연한 회색으로 표시되며 재활성화할 수 없습니다.
- 을(를) 다시 활성화하면 자동으로 다시 활성화됩니다.
- 처음에 비활성화하여 자동 비활성화를 트리거한 클래스
- 비활성화된 클래스가 종속된 모든 클래스
매핑을 직접 비활성화하는 모든 클래스와 자동으로 비활성화되는 결과 클래스 매핑은 통합이 실행될 때 채워지지 않습니다. 또한 통합이 실행될 때 이러한 클래스와 연결된 관계 및 조회 테이블이 채워지지 않습니다.
- 클래스가 종속되지 않고 연결된 클래스가 없는 클래스를 비활성화합니다.
비활성화된 클래스와 연결된 조회 규칙 및 관계의 자동 비활성화를 트리거합니다.
- 클래스 매핑 내에서 일련 번호와 같은 조회 규칙을 비활성화합니다.
자동 비활성화를 트리거하지 않습니다.
- 비 CMDB 클래스와 연결된 CMDB 클래스를 비활성화합니다.
- 연결된 비 CMDB 클래스의 자동 비활성화를 트리거합니다.
- 비 CMDB 클래스를 비활성화해도 연결된 CMDB 클래스에는 영향을 주지 않습니다.
- 종속 관계가 있는 클래스 비활성화(종속 관계가 통합 허브 ETL에 있는 경우에만 적용):
- 비활성화된 클래스와 단일 종속 관계가 있는 모든 클래스의 자동 비활성화를 트리거합니다.
클래스에 여러 종속 관계가 있는 경우 모든 종속 클래스를 비활성화해야만 자동으로 비활성화됩니다.
예를 들어 파일 시스템 클래스가 컴퓨터 및 서버 클래스 모두와 종속 관계를 가지는 시나리오가 있습니다. 컴퓨터 클래스를 비활성화해도 파일 시스템 클래스는 자동으로 비활성화되지 않습니다. Server 클래스도 비활성화하면 파일 시스템 클래스가 자동으로 비활성화됩니다.
- 조건부 클래스 또는 조건부 클래스 내의 클래스 매핑을 비활성화합니다.
- 조건부 클래스를 비활성화하거나 활성화하면 조건부 클래스 내의 모든 조건부 클래스 매핑이 자동으로 비활성화되거나 활성화됩니다.
조건부 클래스 내에서 클래스 매핑 비활성화: 통합 실행 중에 비활성화된 클래스가 채워지지 않도록 방지합니다. 그러나 연결된 'If', 'Else if' 또는 'Else' 조건 자체는 조건부 클래스의 조건 내에서 유효합니다. 예를 들어, 다음 클래스 매핑을 비활성화하는 경우:
[만약에] [operating_system] [포함] [리눅스] 그런 다음 [Class] [is] [Linux Server]입니다.
그러면 Linux Server 클래스가 채워지지 않지만 [If] [operating_system] [contains] [Linux] 조건이 적용됩니다.
CMDB 클래스 및 속성에 데이터 열 매핑
CMDB에서 소스 데이터 열을 매핑할 대상 클래스와 속성을 선택합니다. 데이터 열을 특정 대상 클래스에 매핑하거나 대상 클래스의 선택이 특정 데이터 값에 따라 달라지도록 조건을 추가할 수 있습니다.
시작하기 전에
이 태스크 정보
매핑하는 데이터 열은 변환되지 않은 소스 데이터 열 또는 변환된 데이터 열일 수 있습니다. 예를 들어, 데이터 열을 컴퓨터 및 소프트웨어 패키지 클래스에 통합하려면 이러한 클래스를 대상 클래스로 선택한 다음 데이터 열을 해당 클래스의 특정 속성에 매핑합니다.
클래스, 관계 또는 조회 규칙에 대한 매핑을 구성하면 이러한 항목은 항상 처음에 활성화됨으로 설정됩니다. 매핑 비활성화의 결과에 대한 자세한 내용은 클래스 매핑 비활성화를 참조하십시오.
프로시저
관계 추가
통합을 위해 대상 CMDB 클래스 사이에 존재하는 관계를 추가합니다.
시작하기 전에
- 관계에 추가하려는 클래스는 활성화된 상태여야 합니다.
- 편집하려는 기본 관계 또는 조건부 관계 내의 관계는 활성화된 상태여야 합니다.
- 편집하려는 조건부 관계에서 하나 이상의 관계 조건이 활성화된 상태여야 합니다. 그렇지 않으면 관계 편집 버튼이 회색으로 표시됩니다.
필요한 역할: cmdb_inst_admin
이 태스크 정보
중첩된 데이터와의 관계를 만들 때 중첩된 데이터의 형제 객체 간에 관계를 만들 수 없습니다. 중첩된 데이터에 대한 샘플 페이로드를 예로 사용하면 인터페이스와 소프트웨어 간에 관계를 만들 수 없습니다.
ITOM 가시성사용 가능한 경우 는 향상된 검색 패턴을 사용하여 CI 관계를 식별하고 기본 시스템의 제안된 관계 테이블에 추가합니다. 해당하는 경우 제안된 관계 테이블을 사용하여 (CSDM) 표준을 준수 일반 서비스 데이터 모델 하는 관계를 선택합니다.
프로시저
매핑 결과 미리 보기
샘플 데이터 통합의 결과를 미리 봅니다.
시작하기 전에
이 태스크 정보
요약 페이지에서 상세 정보를 본 후에는 아무 단계로 돌아가 조정한 다음 통합을 다시 실행할 수 있습니다.
프로시저
통합 일정 제공
이 ETL 변환 맵을 사용하여 CMDB에 데이터를 임포트하기 위한 일정을 구성합니다.
시작하기 전에
프로시저
통합 허브 ETL의 변환 유형
통합 허브 ETL의 다양한 변환을 사용하여 CMDB에 매핑할 소스 데이터를 변환하고 준비합니다.
CMDB용 통합 커먼즈 스토어 앱에서 변환한 항목은 통합 허브 ETL에서도 사용할 수 있습니다.
연결
입력 필드의 값을 단일 문자열로 결합하여 선택적 joining_string 필드에 결합합니다.
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_concat_operation |
| 입력 필드 | source_sys_rte_eb_fields |
| 출력 필드 | target_sys_rte_eb_field |
| 추가 필드 | joining_string (선택 사항) |
| 예제 | |
|---|---|
| 입력 | "input_1", "input_2", "input_3" |
| 추가 필드 | joining_string = ”, ” |
| 결과 | "input_1, input_2, input_3" |
부울로 변환
수신 값을 부울로 변환합니다. 'true' 및 '1' 값은 'true'(대/소문자 구분 안 함)로 변환되고 다른 값은 'false'로 변환됩니다.
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_to_boolean_operation |
| 입력 필드 | source_sys_rte_eb_field |
| 출력 필드 | target_sys_rte_eb_field |
- 다음 입력은 모두 "예"를 반환합니다.
- 예
- 1
- 다음 입력은 모두 "아니오"를 반환합니다.
- "input_1"
- “”
- 0
- 11
날짜로 변환
수신 값에 적용 date_format 하여 수신 값을 값으로 GlideDateTime 변환하려고 시도합니다. 잘못된 경우 를 사용하여 GlideDateTime 직접 변환을 시도합니다.date_format
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_to_date_operation |
| 입력 필드 | source_sys_rte_eb_field |
| 출력 필드 | target_sys_rte_eb_field 구문 분석할 수 없는 경우 빈 값을 반환합니다. |
| 추가 필드 | date_format (Java 단순 날짜 형식) |
| 예제 | |
|---|---|
| 입력 | "2018/09/20 오전 11:21:00 EST" |
| 추가 필드 | date_format = "yyyy/MM/dd hh:mm:ss a z" |
| 결과 | “2018-09-20 16:21:00” |
| 예제 | |
|---|---|
| 입력 | "2018/09/20 01:21:00 PM EST" |
| 추가 필드 | date_format = "yyyy/MM/dd hh:mm:ss a z" |
| 결과 | “2018-09-20 18:21:00” |
| 예제 | |
|---|---|
| 입력 | "09/20/18” |
| 추가 필드 | date_format = "yyyy/MM/dd hh:mm:ss a z" |
| 결과 | “0018-09-20 00:00:00” |
숫자로 변환
수신 값을 숫자로 변환합니다.
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_to_numeric_operation |
| 입력 필드 | source_sys_rte_eb_field |
| 출력 필드 | target_sys_rte_eb_field 수신 값이 숫자가 아닌 경우 출력이 비어 있습니다. |
| 예제 | |
|---|---|
| 입력 | 1.23 |
| 결과 | 1.23 |
| 예제 | |
|---|---|
| 입력 | 1.00 |
| 결과 | 1 |
| 예제 | |
|---|---|
| 입력 | input_1 |
| 결과 | null |
| 예제 | |
|---|---|
| 입력 | 2 |
| 결과 | null |
복사
소스 필드의 값을 모든 대상 필드에 복사합니다.
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_copy_operation |
| 입력 필드 | source_sys_rte_eb_field |
| 출력 필드 | target_sys_rte_eb_fields |
| 추가 필드 | overwrite_existing_value (선택 사항, 부울): true인 경우 대상 필드의 값이 바뀝니다. 그렇지 않으면 비어 있지 않은 값을 덮어쓰지 않습니다. |
선행 숫자 추출
대상 필드를 소스 필드에서 발견된 첫 번째 숫자 값으로 설정합니다.
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_extract_numeric_operation |
| 입력 필드 | source_sys_rte_eb_field |
| 출력 필드 | target_sys_rte_eb_field |
| 추가 필드 |
|
| 예제 | |
|---|---|
| 입력 | "100MB" |
| 결과 | "100" |
| 예제 | |
|---|---|
| 입력 | "100.123MB" |
| 결과 | “100.123" |
| 예제 | |
|---|---|
| 입력 | "100.123MB" |
| 추가 필드 | decimal_places = 2 |
| 결과 | “100.12” |
| 예제 | |
|---|---|
| 입력 | "100MB" |
| 추가 필드 | decimal_places = 2 |
| 결과 | “100.00” |
| 예제 | |
|---|---|
| 입력 | "100MB" |
| 추가 필드 | remainder_target_field = <필드> |
| 결과 | "100" 및 <필드> = "MB" |
Glide 조회
의 데이터베이스 target_table에서 조회를 수행합니다.
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_glide_lookup_operation |
| 입력 필드 | source_sys_rte_eb_fields |
| 출력 필드 | target_sys_rte_eb_fields |
| 추가 필드 |
|
| 예제 | |
|---|---|
| 입력 |
|
| 추가 필드 |
|
| 결과 | 출력 필드 1: 25ab9c4d0a0a0bb300f7dabdc0ca7c1c |
최소/최대
대상 필드를 모든 입력 필드의 최대 값 또는 최소값으로 설정합니다.
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_min_max_operation |
| 입력 필드 | source_sys_rte_eb_fields |
| 출력 필드 | target_sys_rte_eb_field |
| 추가 필드 |
|
| 예제 | |
|---|---|
| 입력 | “2”, “-1”, “0” |
| 추가 필드 |
|
| 결과 | “2” |
| 예제 | |
|---|---|
| 입력 | "a", "b" |
| 추가 필드 |
|
| 결과 | "ᄂ" |
| 예제 | |
|---|---|
| 입력 | “2”, “-1”, “0” |
| 추가 필드 |
|
| 결과 | “-1” |
| 예제 | |
|---|---|
| 입력 | "a", "b" |
| 추가 필드 |
|
| 결과 | "ᅡ" |
멀티 입력 스크립트
입력이 여러 개인 스크립트를 실행하여 해당 스크립트의 == 출력을 target_field 설정합니다.
각 소스 필드는 '배치' 변수 내에서 JavScript 필드로 사용할 수 있습니다. JavaScript 필드의 이름은 엔터티 필드의 필드 속성입니다(보고 sys_rte_eb_field.field, 아님 sys_rte_eb_field.name).
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_multi_in_script_operation |
| 입력 필드 | source_sys_rte_eb_fields |
| 출력 필드 | target_sys_rte_eb_field |
| 추가 필드 |
|
| 기록 | record_type | operating_system | record_with_os |
|---|---|---|---|
| 1 | computer | Windows XP | |
| 2 | computer | Linux | |
| 3 | computer | Windows XP |
(function(batch, output) {
for (var i = 0; i < batch.length; i++) {
// batch[i] is the unique set of inputs/individual record
// batch[i].<field> gives access to the field value
var in0 = gs.nil(batch[i].record_type) ? '' : batch[i].record_type;
var in1 = gs.nil(batch[i].operating_system) ? '' : batch[i].operating_system;
// output[i] is the output for the specific combination of inputs/individual record
output[i] = in0 + "_" + in1;
}
}
})(batch, output); /* Example Script
// In this example the script input fields are 'input_field_1', 'input_field_2' - replace these with the fields used as script inputs // There is a static field 'input' that has all the input field values concatenated with a '|' (function(batch, output) {
for (var i = 0; i < batch.length; i++) {
//step1: access the input variables
var a = batch[i].input_field_1; //Value of the first source field.
var b = batch[i].input_field_2; //Value of the second source field.
//step2: Your script/code goes here.
var c = a + b;
//step3: set the output for each elements
output[i] = b;
}
})(batch, output);
*/Rexeg 바꾸기
지정한 match_regex,과 일치하는 수신 문자열의 각 하위 문자열을 지정된 replacement_regex 문자열 값으로 바꿉니다.
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_regex_replace_operation |
| 입력 필드 | source_sys_rte_eb_field |
| 출력 필드 | target_sys_rte_eb_field |
| 추가 필드 |
|
| 예제 | |
|---|---|
| 입력 | "String&With(Special)$Characters" |
| 추가 필드 |
|
| 결과 | "특수 문자가 있는 문자열" |
교체
지정 match_string한 .과 일치하는 수신 문자열의 각 하위 문자열을 문자열 값으로 replacement_string 바꿉니다.
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_replace_operation |
| 입력 필드 | source_sys_rte_eb_field |
| 출력 필드 | target_sys_rte_eb_field |
| 추가 필드 |
|
| 예제 | |
|---|---|
| 입력 | "원래 문자열" |
| 추가 필드 |
|
| 결과 | "교체 문자열" |
반올림 숫자
숫자 값을 가장 가까운 정수로 반올림합니다. 숫자가 아닌 숫자는 잘립니다.
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_round_numeric_operation |
| 입력 필드 | source_sys_rte_eb_field |
| 출력 필드 | target_sys_rte_eb_field |
| 예제 | |
|---|---|
| 입력 | “1.5” |
| 결과 | "2" |
| 예제 | |
|---|---|
| 입력 | “1.4” |
| 결과 | "1" |
| 예제 | |
|---|---|
| 입력 | "나는 끈이야" |
| 결과 | "" |
스크립트
입력이 있는 스크립트를 실행하여 해당 스크립트의 target_field == 출력을 설정합니다.
이 변환은 다중 입력 스크립트 변환으로 대체되었으며 기존 구성과의 이전 버전과의 호환성을 위해 포함됩니다.
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_script_operation |
| 입력 필드 | source_sys_rte_eb_field |
| 출력 필드 | target_sys_rte_eb_field |
| 추가 필드 |
|
(function(batch, output) {
for (var i = 0; i < batch.length; i++) {
// batch[i] is the unique set of inputs/individual record
// batch[i].input gives access to the field value
var in0 = gs.nil(batch[i].input) ? '' : batch[i].input;
// output[i] is the output for the specific combination of inputs/individual record
output[i] = in0 + " modified by script”;
}
}
})(batch, output); /* Example Script
(function(batch, output) {
for (var i = 0; i < batch.length; i++) {
//step1: access the input variables
var a = batch[i].input; //Value of the source field.
//step2: Your script/code goes here.
var b = a + 1;
//step3: set the output for each elements
output[i] = b;
}
})(batch, output);
*/ 설정
대상 필드의 값을 에 지정된 set_value문자열로 설정합니다.
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_set_operation |
| 입력 필드 | source_sys_rte_eb_field |
| 출력 필드 | target_sys_rte_eb_field |
| 추가 필드 |
|
분할
에서 소스 필드의 값을 splitting_string 분할하고 분할 target_sys_rte_eb_fields된 각 결과 항목을 순서대로 에 할당합니다.
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_split_operation |
| 입력 필드 | source_sys_rte_eb_field |
| 출력 필드 | target_sys_rte_eb_fields |
| 추가 필드 | splitting_string (문자열) |
| 예제 | |
|---|---|
| 입력 | "값1||값2||value3", target_sys_rte_eb_fields {target1,target2,target3} |
| 추가 필드 | splitting_string = ”||” |
| 결과 | 대상1: 값1, 대상2: 값2, 대상3: 값3 |
| 예제 | |
|---|---|
| 입력 | "값1||값2||value3", target_sys_rte_eb_fields {target1} |
| 추가 필드 | splitting_string = ”||” |
| 결과 | 대상1: 값1 |
| 예제 | |
|---|---|
| 입력 | "value1", target_sys_rte_eb_fields {target1,target2,target3} |
| 추가 필드 | splitting_string = ”||” |
| 결과 | 대상1: 값1, 대상2: <null>, 대상3: <null> |
다듬기
값에서 선행 및 후행 공백을 source_sys_rte_eb_field 제거하고 결과를 할당합니다. target_sys_rte_eb_field 이 변환은 Java String.trim()과 같습니다.
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_trim_operation |
| 입력 필드 | source_sys_rte_eb_field |
| 출력 필드 | target_sys_rte_eb_field |
| 예제 | |
|---|---|
| 입력 | " 값 1 " |
| 결과 | " 값 1 " |
대문자
값을 대문자 source_sys_rte_eb_field 로 표시하고 결과를 에 할당합니다.target_sys_rte_eb_field
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_upper_case_operation |
| 입력 필드 | source_sys_rte_eb_field |
| 출력 필드 | target_sys_rte_eb_field |
| 예제 | |
|---|---|
| 입력 | " 값 1 " |
| 결과 | "값1" |
대문자 트리밍
대문자와 트리밍 변환을 모두 결합합니다.
| 세부사항 | |
|---|---|
| 테이블 | sys_rte_eb_upper_case_trim_operation |
| 입력 필드 | source_sys_rte_eb_field |
| 출력 필드 | target_sys_rte_eb_field |
| 예제 | |
|---|---|
| 입력 | " 값 1 " |
| 결과 | "값1" |