ETCL 개발주의사항
------------------------------------------------------------------------------
[ 데이터 적재 ]
- 원천파일의 각 컬럼별 자리수가 초과하는지 확인
- 원천파일의 항목이외의 기본값을 넣기위해 로드컨트롤 쿼리를 수정
날짜 SYSDATE
일련번호 RECNUM
시퀀스 SEQUENCE(시작, SEED)
특정값 CONSTANT 'XXX'
- 적재에러를 무시하고 싶은경우 로드옵션에 ERRORS = -1
- 파일FFD, DBFFD 컬럼명칭이 동일해야 매핑됨
[ FFD ]
- 타겟테이블 DBFFD 생성
- 언로드할 원천파일용 FFD를 생성(DBFFD참조)
- 필요에 따라 원천파일 가공이 일어나는 경우 추가 FFD 생성
- 다중선택으로 컬럼복사
[ 데이터 언로드 ]
- 언로드 쿼리에서 모든 문자열은 TRIM해서 가져와야함(로드할때 자리수초과 에러가 많이 남)
- 한개 테이블을 가져올 경우 해당 DBFFD와 내려받을 FDD를 지정해 언로드블럭 사용
- 조인등 기타로직이 들어가는 쿼리인경우 USQL블럭으로 해결함(결과 SELECT문장 직전에 다음문장 삽입)
set TEMPORARY OPTION Temp_Extract_Name1 = '/batnas/Snr/ACR/GCR/CGCR_UNFY_CUST_BASE_TMP_00.OUT';
set TEMPORARY OPTION Temp_Extract_Binary = 'OFF';
set TEMPORARY OPTION Temp_Extract_Swap = 'OFF';
set TEMPORARY OPTION Temp_Extract_Column_delimiter = '^|';
set TEMPORARY OPTION Temp_Extract_Null_As_Zero = 'ON';
set TEMPORARY OPTION Temp_Extract_Append = 'OFF';
- 디폴트경로: $$ACR_GCR_PATH/ACR/
[ 소트옵션 ]
- No Duplication : 설정한 키에 대한 중복제거
- Record정렬 : 모든레코드단위정렬
- Stable : 첫레코드중심 중복제거
- Mastering : 여러개입력파일에서 같은컬럼명 기준 소트
[네이밍규칙]
Project: [P(Project) C(etCl) D(Daily, Monthly) B(unload) or C(load)]_GCR_TargetTable_00
(PCDB, PCDC, PCMB, PCMC_GCR_TargetTable_00)
Block: [ST(sort) MG(merge) GR(group) JN(join) TR(convert) UN(unload) LD(load) SP(usql) SH(shell)
+ A(adw) or N(bsa) or B(badw) or C(etcl)
+ _SourceorTargetTable_00
(LDC_CGCR_CLTR_ADR_BASE_TMP_00)
Control-M: D(Daily or Monthly) M(A계정계 or M정보계) GCR + 2(dbsvr) + 0001(?)
(DMGCR20001)
FILE: BlockName_[YYYYMMDD].dat (dat or log or ffd or ctl or bad)
[디렉토리]
$$ACR_NAS_PATH : /batnas/Snr/ACR
$$ACR_NAS_PATH/GCR/ACR/unload/UNC_CGCR_BC_MEST_TMP_00.out
[로드컨트롤옵션]
direct = true ERRORS = -1 rows=10000 SKIP_INDEX_MAINTENANCE=TRUE
[정합성체크]
- 특정데이터만 데이터적재하고 원천쿼리와 적재쿼리를 돌려 엑셀카피후 화면비교
[출처] ETCL 개발 주의사항|작성자 아이칭
http://blog.naver.com/pie22/130047521869
Posted by 홍반장