코드 페이지
본 절에서는 OpenFrame Base 시스템의 구성 요소 중 하나인 코드 페이지에 대해 설명한다.
1. 개요
일반적으로 Mainframe에 저장된 사용자 데이터는 EBCDIC(또는 EBCDIK) 코드 셋에 따라 저장되어 있다. 하지만 OpenFrame 솔루션은 오픈 환경의 표준인 ASCII 코드 셋에 따라서 사용자 데이터를 저장한다.
따라서 Mainframe의 데이터를 오픈 환경으로 이관할 때나 Mainframe과의 업무 연동을 위해 오픈 환경에서 Mainframe으로 데이터를 전송할 때 코드 셋을 변환하기 위한 매핑 테이블로서 코드 페이지를 관리한다.
2. 마이그레이션과 코드변환
Mainframe에서 운영 중이던 사용자의 업무 시스템을 OpenFrame 솔루션을 이용하여 오픈 환경 플랫폼으로 전환하기 위해서는 Mainframe의 사용자 리소스를 OpenFrame에서 운영할 수 있도록 전환하는 과정이 필요하다. 이처럼 OpenFrame 시스템에서 사용자 업무 시스템을 운영하기 위해 Mainframe 리소스를 전환하는 절차를 마이그레이션이라고 한다. OpenFrame 마이그레이션 절차는 리소스의 종류에 따라 다양하지만 EBCDIC(또는 EBCDIK) 코드 셋으로 저장된 리소스를 ASCII 코드 셋으로 변환하는 작업은 대부분의 리소스 마이그레이션 절차에서 동일하게 적용되는 사항이다. OpenFrame은 EBCDIC(또는 EBCDIK) 코드 셋으로 저장된 리소스를 ASCII 코드 셋으로 변환하기 위해 dsmigin이라는 툴 프로그램을 제공한다.
dsmigin 툴 프로그램은 EBCDIC(또는 EBCDIK) 문자를 ASCII 문자로 변환하기 위해 내부적으로 Code Page Manager(이하 CPM) 모듈을 사용한다. CPM 모듈은 2개의 서로 다른 코드 페이지에 대한 매핑을 관리하는 모듈이다.
|
3. CPM 모듈
CPM 모듈은 2개의 서로 다른 코드 페이지에 대한 매핑을 관리하는 모듈이다. cpmmgr 툴 프로그램은 주어진 CPM 데이터를 읽어들여 매핑 정보를 출력하거나 편집할 수 있으며, 간단한 문장이나 파일을 변환하는 테스트도 가능한 툴 프로그램이다.
3.1. cpmmgr
cpmmgr 툴 프로그램을 실행시키면 사용자의 명령어를 입력받을 수 있는 프롬프트가 나오며, 사용자는 약어로 된 명령어를 입력할 수 있다.
다음은 cpmmgr -h 명령을 실행한 화면이다.
OpenFrame Code Page Manager(CPM) Usage: cpmmgr <file> <file> Specify file to manage
명령어의 종류는 다음의 명령어를 통해 확인할 수 있으며 출력 화면에 나타나는 명령어에 대한 설명은 다음과 같다.
>> help
명령어 | 설명 |
---|---|
cc(Change Code Mapping) |
현재 CPM 데이터에 매핑된 코드 중 하나를 사용자가 원하는 매핑 코드로 바꿀 수 있도록 지원하는 명령어이다. |
cf(Convert File) |
임의의 파일을 현재 CPM 데이터를 사용하여 변환한다. |
ct(Convert Text) |
사용자가 입력하는 임의의 스트링 또는 16진수 값을 현재 CPM 데이터를 사용하여 변환한다. |
pd(Print Double-Byte Code Mapping) |
현재 CPM 데이터에 저장된 2Byte 코드 매핑 정보를 출력한다. |
ps(Print Single-Byte Code Mapping) |
현재 CPM 데이터에 저장된 1Byte 코드 매핑 정보를 출력한다. |
pr(Print Single/Double Byte Code Range) |
현재 CPM 데이터에 저장된 코드 매핑의 범위를 출력한다. |
pc(Print Code Not Exist in CPM) |
2Byte 코드 정보를 파일로 입력받아 현재 CPM 데이터에 저장되지 않은 2Byte 매핑 정보를 출력한다. |
pt(Print Mapping Table) |
현재 CPM 데이터에 저장된 코드 매핑 정보를 파일로 출력한다. |
rr(Reset Single/Double Byte Code Range) |
현재 코드 페이지를 토대로 byte code range를 다시 생성하고 새로운 코드페이지를 출력한다. |
cr(Change Single/Double Byte Code Range) |
현재 코드 페이지의 byte code range 변경하고 새로운 코드페이지를 출력한다. |