FileIO 시작하기

본 장에서는 FileIO 모듈을 생성하는 과정에 대해 알아보고 각 과정마다 필요한 세부 절차 및 기능에 대하여 설명한다.

본 안내서의 내용은 스튜디오 환경에서 작성되었다.

1. 개요

본 장에서는 다음과 같은 주제와 순서로 FileIO를 생성한다.

  1. FileIO 기본 정보 등록

    FileIO를 생성하기 위한 첫 절차로 FileIO 메뉴를 선택한 후 FileIO 대화상자에서 생성과 관련된 기본 정보를 등록하는 방법에 대하여 설명한다. 상세한 내용은 FileIO 기본 정보 등록을 참고한다.

  2. FileIO 편집기 사용

    FileIO 편집기의 화면 구성과 상세 기능에 대하여 설명한다. 상세한 내용은 FileIO 편집기 사용을 참고한다.

  3. FileIO 생성하기

    FileIO를 생성하는 절차와 방법을 설명한다. 상세한 내용은 FileIO 생성하기를 참고한다.

  4. 컴파일, Dlupdate

    생성된 FileIO를 컴파일, Dlupdate하는 과정과 방법에 대하여 설명한다. 상세한 내용은 컴파일, Dlupdate를 참고한다.

2. FileIO 기본 정보 등록

  1. 작업영역 내비게이터에서 오른쪽 마우스 버튼을 클릭한 후 [New] > [FileIO] 메뉴를 선택한다.

  2. 다음과 같이 FileIO 대화상자가 나타난다. FileIO 대화상자는 FileIO를 생성하기 위한 기본 정보를 등록하는 역할을 수행한다.

    figure3 1
    FileIO 대화상자

    다음은 FileIO 대화상자의 각 항목에 대한 설명이다.

    항목 설명

    리소스 그룹

    WebAdmin에 등록된 리소스 그룹만 표시되며 필수항목이다. 만약 원하는 리소스 그룹이 없는 경우 WebAdmin에서 추가할 수 있다.

    리소스 그룹을 추가하기 위해서는 WebAdmin에 접속한 후 [메타관리] > [메타시스템] > [리소스 그룹 관리] 메뉴를 선택한다. 리소스 그룹관리 화면에서 현재 설정된 리소스 그룹을 확인하고 추가할 리소스 그룹을 등록한다.

    논리명

    등록할 FileIO의 논리명을 입력한다.

    물리명

    등록할 FileIO의 물리명을 입력한다.

    Excel 파일 Import

    Excel 파일 Import는 구조체 생성을 위한 Excel 고유 템플릿을 다운로드하여 구조체 항목이 작성된 Excel 파일을 구조체 편집기로 가져오는 기능이다.

    만약 구조체의 기본 정보를 등록할 때 이 기능을 사용하는 경우 리소스 그룹, 논리명, 물리명, 리소스 설명 항목 전체가 비활성화된다

    Property 확인 후 등록

    Excel에 정의된 구조체 필드 항목이 서버에 존재하지 않는 경우 확인 후 메타 데이터를 등록할지 여부를 선택한다.

    서버와 같은 물리명의 구조체 업데이트

    Excel로 구조체를 import할 때 물리명이 동일한 구조체가 서버에 존재하는 경우 업데이트할지 여부를 선택한다.

    찾아보기..

    Import 대상이 되는 Excel 파일을 선택한다.

  3. 위와 같이 FileIO 대화상자에서 FileIO 생성을 위한 기본 정보를 모두 설정한 후 [완료(F)] 버튼을 클릭하면 등록된 정보에 따라 FileIO를 편집할 수 있는 화면으로 이동한다. FileIO 편집기에 대한 내용은 FileIO 편집기 사용을 참고 한다.

3. FileIO 편집기 사용

FileIO 편집기 화면은 다음과 같이 3개의 영역으로 구성된다.

figure3 2
FileIO 편집기 화면 구성

① 파일 데이터 포맷

② 컬럼 검색 및 추가

③ 컬럼 편집

① 파일 데이터 포맷

파일에 Read/Write하는 단위 데이터 포맷을 설정하는 영역이다. FileIO는 정형화된 포맷을 통해 파일에 접근한다. 따라서 접근이 가능한 파일의 포맷을 설정해야 한다.

figure3 3
FileIO 편집기 화면 – 파일 데이터 포맷

다음은 파일 데이터 포맷 영역의 각 항목에 대한 설명이다.

항목 설명

FixedLength

필드의 구분을 미리 정의한 길이로 분리하는 데이터 포맷이다.

Delimiter

필드의 구분을 특정 구분자로 분리하는 데이터 포맷이다. 이 데이터 포맷을 선택하면 Delimiter 정의 부분이 활성화되면서 구분 문자를 설정할 수 있다.

② 컬럼 검색 및 추가

기존에 체크인된 구조체를 검색하는 영역이다. 만약 검색할 구조체가 없다면 ProMapper를 이용하여 구조체를 생성후 체크인한 다음 다시 이 영역에서 생성된 구조체를 검색한다.

figure3 4
FileIO 편집기 화면 – 컬럼 검색 및 추가
  • 검색 조건

    다음은 검색 조건 설정에 대한 항목 설명이다.

    항목 설명

    검색

    검색할 구조체명을 입력한다.

    범위선택

    전체, 사용자를 선택한다.

    검색명칭 선택

    논리명, 물리명를 선택한다.

    검색어위치 선택

    시작어부터, 입력어포함를 선택한다.

  • 버튼

    버튼 설명

    [새로고침]

    검색결과를 다시 가져온다.

  • 조회 결과

    다음은 검색 조건에 해당하는 조회 결과에 대한 항목 설명이다.

    항목 설명

    논리명

    리소스의 논리명

    물리명

    리소스의 물리명

    리소스 그룹

    리소스가 속해 있는 리소스그룹

    소유자

    리소스의 소유자

    Revision

    리소스의 누적 변경횟수

③ 컬럼 편집

Data ColumnSet 컬럼 그리드에 컬럼 검색 및 추가 영역에서 검색된 구조체를 추가하거나 Property Pool Veiw를 이용하여 컬럼을 추가하는 영역이다.

figure3 5
FileIO 편집기 화면 – 컬럼 편집

다음은 컬럼 편집 영역의 각 항목에 대한 설명이다.

항목 설명

논리명

필드의 논리명을 설정한다.

물리명

필드의 물리명을 설정한다.

타입

필드의 타입을 설정한다.

길이

필드의 길이를 설정한다.

배열크기

필드를 배열로 사용하고자 할 때 반복 횟수를 설정한다.

Decimal

소수점 이하 자리 수를 지정한다.

설명

필드에 대한 설명을 입력한다.

[▲]

필드를 위로 한 칸씩 이동한다.

[▼]

필드로 아래로 한 칸씩 이동한다.

컬럼을 추가하는 방법은 컬럼 검색 및 추가 영역과 Property Pool View에 따라 다르다.

  • 컬럼 검색 및 추가

    다음은 컬럼 검색 및 추가 영역에서 구조체를 검색하여 컬럼 편집 영역에 구조체를 추가하는 화면이다.

    figure3 6
    FileIO 편집기 화면 – 구조체 검색

    컬럼 검색 및 추가 영역에서 검색된 구조체를 더블클릭하거나 드래그 앤드 드롭하면 컬럼 편집의 Data ColumnSet 영역에 자동으로 구조체가 추가된다.

    다음은 Data ColumnSet 영역에서 논리명 컬럼의 아이콘에 대한 설명이다.

    항목 설명

    image

    등록되지 않은 메타이거나 구조체 필드의 필수입력 값의 누락으로 인해 나타나는 아이콘이다. 마우스 커서를 이동하면 오류의 원인을 해결할 수 있는 툴팁이 나타난다.

    image

    서버에 등록된 메타의 정보와 일치하지 않을 때 나타나는 아이콘이다. 메타 정보와 일치하지 않는 이유는 대부분 데이터 타입, 길이, 논리명 등이 구조체 필드 정보와 메타 정보가 일치하지 않아 발생한다. 일치된 메타 정보를 사용하려면 일치해야 할 정보를 확인하고 필드 또는 메타 정보를 수정한다.

    컬럼 편집 영역은 구조체 또는 컬럼을 쉽게 추가하고 삭제할 수 있다. 이 기능은 컬럼 편집 영역에서 오른쪽 마우스 버튼을 클릭하면 다음과 같은 메뉴가 나타난다.

    figure3 7
    FileIO 편집기 화면 – 컬럼 편집 기능
    메뉴 설명

    삭제(Delete)

    선택한 구조체 또는 컬럼을 삭제한다.

    복사(Ctrl+C)

    선택한 구조체 또는 컬럼을 복사한다.

    붙여넣기(Ctrl+V)

    복사한 구조체 또는 컬럼을 붙여 넣는다.

  • Property Pool

    다음은 Property Pool를 이용하여 컬럼 편집 영역으로 검색된 컬럼을 추가하는 방법이다.

    figure3 8
    FileIO 편집기 화면 – Property Pool

    위 그림에서 검색된 필드를 드래그 앤드 드롭하면 컬럼 편집 영역의 Data ColumnSet에 자동으로 필드가 추가된다. 추가된 구조체 필드의 컬럼 편집 작업 즉, FileIO 구조체를 작성하는 과정을 마친 후 FileIO를 저장한다.

4. FileIO 생성하기

본 절에서는 시나리오로 FileIO 모듈을 생성하는 방법에 대해서 설명한다.

다음은 FileIO 모듈을 생성하는 절차이다.

  1. 작업영역 내비게이터에서 오른쪽 마우스 버튼을 클릭한 후 [New] > [FileIO] 메뉴를 선택하면 다음과 같이 FileIO 대화상자가 나타난다.

    figure3 9
    FileIO 대화상자

    FileIO 기본 정보를 등록한다.

    항목 입력값

    리소스 그룹

    DBIO_C

    논리명

    FileIO_Test_Logical

    물리명

    FileIO_Test_Physical

  2. FileIO 편집기 화면이 다음과 같이 나타난다.

    figure3 10
    FileIO 편집기 화면
  3. 파일의 데이터 포맷을 Delimiter로 선택하고 구분자는 콤마(,)를 입력한다.

    figure3 11
    FileIO 편집기 화면 – 파일 데이터 포맷 설정
  4. ‘test’ 단어로 시작하는 구조체를 FileIO 편집기컬럼 검색 및 추가 영역에서 검색한다. 검색된 결과 중에 구조체 하나를 선택한 후 컬럼 편집 영역에 추가한다.

    figure3 12
    FileIO 편집기 화면 – 구조체 검색
  5. [Property Pool]에서 ‘test’로 시작하는 컬럼을 검색한다. 검색된 결과 중에 컬럼 하나를 선택한 후 컬럼 편집 영역에 추가한다.

    figure3 13
    FileIO 편집기 화면 – 컬럼 검색
  6. 추가된 구조체와 컬럼의 속성을 편집한 후 FileIO 모듈을 저장한다.

    figure3 14
    FileIO 편집기 화면 – 컬럼 편집

5. 컴파일, Dlupdate

FileIO 모듈의 컴파일은 크게 2단계로 진행한다.

  1. 컴파일

    FileIO에서 사용하는 구조체들을 컴파일한다.

  2. Dlupdate

    컴파일한 구조체들을 Shared Memory에 배포한다.

FileIO는 컴파일 과정을 수행함으로써 모듈이 생성되는 것이 아니라 FileIO 모듈을 EMB 모듈에 삽입했을 때 소스가 생성된다. 그래서 FileIO 모듈 자체의 컴파일은 필요하지 않다. 다시 말해 FileIO 모듈 자체를 컴파일하는 것이 아니라 FileIO 내부에서 변환할 때 사용하는 ProMapper의 구조체에 대한 컴파일을 수행하는 것이다.

다음은 FileIO 생성하기 과정을 수행한 후 해당 모듈을 컴파일하는 절차이다.

  1. 작업영역 내비게이터에서 생성할 FileIO 모듈을 선택한 후 오른쪽 마우스 버튼을 클릭하면 다음과 같이 서브 메뉴가 나타난다. 컴파일을 수행하기 위해 [Compile Resoure] 메뉴를 선택한다.

    figure3 15
    Compile Resource 메뉴

    해당 FileIO 모듈을 선택한 후 <Alt> + C 단축키를 누르거나 컴파일 아이콘을 클릭하면 [Compile Resource] 메뉴를 선택했을 때와 동일하게 FileIO 모듈을 컴파일할 수 있다.

  2. 다음과 같이 Compile Resource 창이 나타난다. 이 창은 컴파일 진행 상태를 표시하는 역할을 수행한다.

    figure3 16
    Compile Resource 창
  3. 정상적으로 컴파일이 완료되면 컴파일 로그가 콘솔에 나타난다.

  4. 컴파일 과정이 정상적으로 완료되면 FileIO 리소스를 선택한 후 오른쪽 마우스 버튼을 클릭하면 다음과 같이 서브 메뉴가 나타난다. 해당 메뉴에서 [Dlupdate]를 선택한다.

    figure3 17
    Dlupdate 메뉴

    해당 FileIO 모듈을 선택한 후 <Alt> + D 단축키를 누르거나 Dlupdate 아이콘을 클릭하면 [Dlupdate] 메뉴를 선택했을 때와 동일하게 FileIO 모듈을 배포할 수 있다.