Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

SLT 복제와 SAP Connector 구성

SAP SLT는 데이터베이스 트리거로 변경을 포착하여 원천 시스템의 데이터를 복제합니다. Foundry 동기화가 SAP 객체를 처음 읽으면 전체 적재를 수행하고 이후에는 queue의 변경분을 읽습니다. 전체 적재만 반복하는 스냅샷 방식도 구성할 수 있습니다. SLT queue의 정리는 SLT가 관리합니다.

SLT 구성에는 전용 context인 queue alias를 만듭니다. 이 alias와 원천 시스템으로 향하는 RFC destination 이름은 서로 다른 설정입니다.

현재 OData 경로

Connector 2.34 (SP34) 이상은 ODP 기반 추출에 OData를 사용할 수 있으며 SLT 시스템에 PALODATA 구성 요소와 SAP_BASIS 7.50 SP09 이상이 필요합니다.

SAP는 비SAP 애플리케이션의 ODP-RFC 사용을 제한합니다. 이전 RFC 경로를 계속 사용할 수 있다고 가정하지 말고 SAP SLT 소스의 OData 전환 및 보안 패치 조건을 적용합니다. OData에서의 테이블당 활성 구독 한도도 Foundry 소스 조건을 따릅니다.

OData 경로에서는 다음 SAP Notes를 읽고 해당하는 조치를 적용합니다.

SAP Note대상 문제
2854759OData V2 추출의 날짜 필드 처리
2878969ODP OData function import 이름 잘림
3062232Pointer의 마지막 skiptoken에 deltatoken이 없는 경우
3023446OData V2 delta 요청에서 odata.maxpagesize 무시
2888122원천에서 최신 delta 요청을 삭제하여 이후 delta가 불가능한 경우

이전 ODP 직접 경로의 구성 요건

SP33 이하 구성을 이해하거나 전환할 때에는 다음 기존 요건을 구분합니다. 이 요건을 만족하는 것만으로 현재 ODP-RFC 사용이 허용되는 것은 아닙니다.

  • Connector 설치의 SAP_BASIS 7.4 SP14 이상
  • SLT와 원천의 DMIS 2011_1_730 SP15 이상
  • 모든 Mass Transfer ID(MTID)에 1:N 복제를 허용하는 SLT 설정

SLT에 SAP Notes 1660374(fetch 대기 제한)와 2215583(ODQ 데이터 이동 오류)를 적용합니다. 2697016(서로 다른 trigger 설정), 2787584(LTRC 권한), 3032108(1:N 복제 지원)도 확인합니다.

이전 DMIS에서는 한 테이블에 최대 4개 소비자의 1:4 등록 제약이 있을 수 있습니다. DMIS 2018 SP4부터 서버의 새 CDC 기능에는 이 소비자 수 제한이 없습니다. 이 서버 기능과 Foundry OData 동기화의 단일 활성 구독 제약은 별개입니다.

자원 준비

복제 전에 데이터베이스 공간과 SAP 작업 프로세스의 용량을 정합니다. SM50에서 SLT 서버의 가용 background 및 dialog process를 확인합니다. Connector가 다른 애플리케이션 서버에 있으면 그 서버도 확인해야 합니다. 가용 프로세스가 없으면 전송이 실패합니다.

원천 RFC 연결

SLT가 원천 ERP에서 읽도록 RFC destination을 만듭니다. 다음 설정에서 Source RFC Destination은 이 원천 방향의 연결 이름을 사용합니다.

SLT 구성 만들기

설치 후 마법사 또는 LTRC 중 하나를 사용합니다. 두 방법을 모두 수행할 필요는 없으며 설치 후 마법사를 권장합니다.

설치 후 마법사

/n/PALANTIR/POST_INST에서 7단계 Create SLT configuration만 활성화하여 실행합니다.

설정의미
Context Name고유 구성 이름
Context DescriptionLTRC와 Foundry에 표시할 설명
Data Transfer Jobs데이터 전송 작업 수
Initial Load Jobs초기 적재 작업 수
Calculation Jobs초기 적재 범위 계산 작업 수
Authorization Group기본 지정 없음
Source RFC Destination원천 시스템의 RFC destination
Read from Single Client단일 client의 데이터만 읽을 때 사용
Allow Multiple Usage여러 구독을 허용할 때 사용

LTRC에서 직접 구성

  1. LTRC에서 새 구성을 만들고 General Data의 이름과 설명을 입력합니다.
  2. Source System에서 RFC Connection과 앞서 만든 원천 RFC destination을 선택합니다.
  3. Allow Multiple Usage를 활성화합니다. 이 값은 생성 뒤 변경할 수 없고 나중에 활성화하려면 구성을 삭제하고 다시 만들어야 합니다. 단일 구독 사용에는 영향을 주지 않으므로 처음부터 켜는 것을 권장합니다.
  4. 운영에서는 Read from Single Client를 켭니다. Client 번호는 RFC 연결에 지정한 값을 사용합니다. 기존 SLT의 다른 구성과 trigger 옵션이 일치해야 하므로 SAP Note 2372636도 확인합니다.
  5. Target System에서 RFC Connection을 선택하고 Scenario를 Operational Data Provisioning(ODP)으로 정합니다. 높은 SAP_BASIS SP에서는 Other 아래에 이 시나리오가 있을 수 있습니다.
  6. Target RFC Destination은 NONE으로, Queue Alias는 원천 SAP SID 등을 구분할 이름으로 정합니다. 이 alias가 Foundry 동기화의 context가 됩니다.
  7. Data Transfer Settings에서 전송, 초기 적재와 계산 작업 수를 정하고 구성을 검토하여 생성합니다.
  8. LTRC의 해당 구성에서 Expert Functions를 열고 ODP용 BAdI implementation이 활성화되어 있는지 확인합니다. 활성화되지 않으면 ODP가 정상 동작하지 않습니다.
  9. SA38에서 SAP_RSADMIN_MAINTAIN을 실행하여 SAP Note 1660374에 따라 RODPS_FETCH_TIMEOUT을 초 단위로 설정합니다.

Connector와 SLT가 서로 다른 서버인 경우

요건을 충족하는 다른 SAP 인스턴스에 Connector를 설치했다면 Connector와 SLT 사이의 RFC도 필요합니다. 해당 연결을 만든 뒤 /n/PALANTIR/PARAM에 다음 값을 지정합니다.

Param IDParam NameParam Value
SLTRFC_CONFIGURATIONSLT 서버로 연결하는 RFC 이름. SLT_SERVER_RFC는 예시입니다.

관련 값이 구성 테이블에 없을 때의 기본은 timestamp OFF, fetchOption XML, pageSize 50000입니다.

큰 초기 적재의 저장 공간

ODP는 원천 데이터를 SLT의 ODQDATA_F에 준비합니다. 이후 Connector가 페이지 데이터를 /PALANTIR/PAG_01, /PALANTIR/PAG_02에 만듭니다. 모든 페이지를 Foundry로 성공적으로 전달한 뒤 close 요청으로 /PALANTIR/PAG*의 해당 항목을 정리합니다.

큰 과거 데이터나 전체 테이블을 초기 수집할 때에는 ODQ와 페이지 테이블이 차지할 공간을 고려합니다. 공간이 부족하면 SLT 복제와 Foundry 전달이 실패할 수 있습니다.

자료형 관련 보정

날짜와 시간 길이

일부 이전 SAP_BASIS SP14에서는 DATS와 TIMS를 16자리 길이로 보고하는 문제가 있었습니다. 실제 DATS는 YYYYMMDD의 8자리, TIMS는 HHMMSS의 6자리입니다. 관련 SAP 수정 전 보정이 필요하면 다음 값을 사용합니다.

Param IDParam NameParam Value
SLTSLT_DATA_DATS8
SLTSLT_DATA_TIMS6

QUAN 소수 자릿수

QUAN은 기본적으로 소수 세 자리로 취급하지만 실제 테이블은 다른 자릿수를 사용할 수 있습니다. 세 자리로 강제 해석하는 문제를 피하려면 자료형 보정을 설정합니다.

Param IDParam NameParam Value
SLTSLT_DTYPE_QUANDEC

이 매개변수는 해당 자료형을 어떤 형식으로 해석할지 정하는 것이며 업무 데이터의 실제 자릿수와 결과를 확인해야 합니다.