Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM
차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4. MAPPING LIST...8 5. IPO 중 VB COMMAND 자동작성...10
1. INPUT & OUTPUT DATABASE LAYOUT 1) 설명 DATABASE TABLE 에 대한 ERD 에서 DDL 을 생성하거나 이미 정의되어 있는 DDL 을 확보하여 access 를 위한 DATABASE CONVERSION 프로그램 내의 부품인 INPUT/OUTPUT 정의문을 생성한다 이 과정은 반복되는 작업으로써 자동화작업을 통한 효율적 처리가 가능하다. ERD ERD 로부터 자동으로 DDL 문을 생성할수 있는 경우가 대부분의 경우이며 ER Win 과 같은 툴을 이용함이 바람직하다. 단 이경우 대부분 실제와의 차이로 인해 ERD 에서 생성한 DDL 과 실제 DLL 이 불일치하는 경우가 있으므로 주의해야한다. 2
DDL 3
2) Solution Script Program MAGMA PROGRAM for ERD to DDL UPD 2008/1/23 I : DDL STMT FROM ER-WIN O : ADD xxx CUT EXCEPT CREATE IF 1 = 'CREATE TABLE ' CLEAN WRITE CLEAN ALLMOVE WRITE WRITE HEAD MEMBER// DO 999 TIMES READ CLEAN IF 1(2) = ');' BREAK IF 8(2) NE ' ' MOVE #1(50) TO 1(50) MOVE ',' TO 51 SEPARATOR ' ' MOVE 8(PREFIX) TO 52 WRITE END-DO 4
LOOP 2. IPO 중 VB DATA DEFINE 자동작성 1) 설명 DDL 로부터 VB 프로그램의 DATA DEFINE 부분을자동작성해 주는 프로그램에 의해 변환 프로그램의 부품을 작성한다 복수개의 파일정의를 가진 파일 5
복수개의 파일정의 파일을 읽어서 지정 폴더에 분할파일로 분리됨 6
MERGE PROCEDURE 복수개의 분할 파일 정의서를 다시 하나의 파일로 MERGE 함 PARSING PROCEDURE 토큰간의 관계성 메타정보를 생성하여 리포지토리에 저장한다 ================================================== STEP MELT ---------------------- 2005-08-04 -- 04:12:00 ---- STEP04 RULE = SCAN$DBD.RUL LMODEL-TYPE = _ 7
PKG01-INPUT = [PKG_PATH]Trace\MERGE.OUT PKG01-OUTPUT = $ // REPORT SCRIPT 리포지토리로부터 동일컬럼명에 대한 연관 테이블 정보를 논리매핑시키어 결과화일을 생성한다 =========================================S05========= Action 2008-01-23 -- 17:56:19 -- SELECT_MEMBER_LIKE L=1,S=COL,T=TBL,LIKE-MBR=Y,MBR=UC_%,REVERSE=Y // FORM SCRIPT 논리매핑 결과화일로부터 ASIS 외 TOBE 컬럼명을 테이블별로 매핑할수 있는 엑셀형태의 작업용 문서를 작성한다 ---------STEP 2 / FORM SCRIPT AUTO GENERATION S06 KEY=1-2-3-4-5 REPORT=COMMA FILL=YES EXIST=1-2-3-4-5 PATH-NAME=NO TITLE=0-2D MATRIX REPORT (BEFORE 4D MATRIX) / COLUMN MAPPING TITLE=1-1.TABLE MEMBER TITLE=2-2.TABLE NAME TITLE=3-3.Eng COL(Column Object) TITLE=4-4.Kor COL(Column Object) TITLE=5-5.MAPPING TABLE(Column Object) LEVEL=01,SOURCE-OUT=1,T-O=2 L=2,S-O=2,TARGET-OUT=3 L=3,S-O=3,T-O=4 L=4,S-O=4,T-O=5 // LEVEL=02,SOURCE-OUT=2,TARGET-OUT=3,TX-O=4,TX=GNM$N/A 8
9
2) Solution Script Program MAGMA PROGRAM for DDL to VB DATA DEFINE OLD SYSTEM TABLE -------------------IF 1 EQ ''' IF 2 EQ ' OLD SYSTEM TABLE // ' ALLMOVE WRITE DO 200 TIMES READ IF 2 EQ ' new table define' BREAK ALLMOVE WRITE END-DO ' new table define -------------------IF 1 EQ ''' IF 2 EQ ' new table define' 10
ALLMOVE WRITE DO 200 TIMES END-DO ' old data buffer to new data buffer -------------------IF 1 EQ ''' IF 2 EQ ' old data buffer to new data buffer' ALLMOVE WRITE DO 200 TIMES READ IF 2 EQ ' new data buffer' BREAK ALLMOVE WRITE END-DO // 11
3. DATABASE UNLOAD 1) 설명 ORACLE/DB2 상에 실제로 존재하는 ASIS TABLE 내의 전체 ROW 를 UNLOAD 한다 이는 SAM(FLAT FILE)형태로 결과가 만들어져야하며 그 이유는 변환 프로그램의 변환속도를 보장받기 위함이다 UNLOAD 작업은 프로그램보다는 UTILITY 를 이용하는 편이 바람직하다. 2) DATANASE UNLOAD Sample 12
4. MAPPING LIST 1) 설명 복수매핑리스트(1:N)를 이용하여 정확한 매핑(1:1)을 표시한다 2) MAPPING LIST Sample 13
5. IPO 중 VB COMMAND 자동작성 1) 설명 생성 및 확인과정을 거친 매핑리스트로부터 VB 프로그램의 PROCEDURE 부분을 자동작성해 주는 프로그램에 의해 변환 프로그램의 부품을 작성한다 2) Solution Script Program MAGMA PROGRAM for Mapping to VB COMMAND LAST STEP FOR CONVERSION AUTO CODE GEN... 20080129// IM,HONGSOON!!!!!! ---ING... ------------------------------------------------- CLEAN SEPARATOR ',' WRITE BATCH FIND ',' IN 1(100) ALLMOVE CLEAN END-FIND IF 1(PREFIX) <> #1 ALLSAVE CLEAN 14
MAKE STMT. CLEAN MOVE 'rs_' TO 10 MOVE 1(THIRD) TO 13 MOVE '=' TO 60 MOVE 1(4TH) TO 62 MOVE ''' TO 90 MOVE 1(5TH) TO 92 CHECK T MOVE 1(5TH) TO #50 IF #50(2) <> 'T_' MOVE ''' TO 6 WRITE LOOP -BOF MOVE ' ' TO #1 // 15
2) Sample Output ASIS TABLE for VB conversion program COBOL 인 경우도 동일하게 자동작성할 수 있다 16
TOBE TABLE for VB conversion program COBOL 인 경우도 동일하게 자동작성할 수 있다 17
3) 보고서 작성 Script 끝 18