OpenFrame

Size: px
Start display at page:

Download "OpenFrame"

Transcription

1 OpenFrame 툴참조안내서 OpenFrame/Base v5.1, Batch for VOS3 v2.0 Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved.

2 Copyright Notice Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 263 분당스퀘어 (AK 프라자 ) 12 층우 ) Restricted Rights Legend All TmaxSoft Software (Tmax OpenFrame ) and documents are protected by copyright laws and the Protection Act of Computer Programs, and international convention. TmaxSoft software and documents are made available under the terms of the TmaxSoft License Agreement and may only be used or copied in accordance with the terms of this agreement. No part of this document may be transmitted, copied, deployed, or reproduced in any form or by any means, electronic, mechanical, or optical, without the prior written consent of TmaxSoft Co., Ltd. 이소프트웨어 (Tmax OpenFrame ) 사용서의내용과프로그램은저작권법, 컴퓨터프로그램보호법및국제조약에의해서보호받고있습니다. 사용서의내용과여기에된프로그램은 TmaxSoft Co., Ltd. 와의사용권계약하에서만사용이가능하며, 사용권계약을준수하는경우에만사용또는복제할수있습니다. 이사용서의전부또는일부분을 Tmaxsoft의사전서면동의없이전자, 기계, 녹음등의수단을사용하여전송, 복제, 배포, 2차적저작물작성등의행위를하여서는안됩니다. Trademarks Tmax and Tmax OpenFrame are registered trademarks of TmaxSoft Co., Ltd. Other products, titles or services may be registered trademarks of their respective companies. Tmax 와 Tmax OpenFrame 은 TmaxSoft Co., Ltd. 의등록상표입니다. 기타모든제품들과회사이름은각각해당소유주의상표로서참조용으로만사용됩니다. Open Source Software Notice This product includes open source software developed and/or licensed by "OpenSSL", "RSA Data Security, Inc.", "Apache Foundation", and "Jean-loup Gailly and Mark Adler". Information about the aforementioned and the related open source software can be found in the "${INSTALL_PATH}/license/oss_licenses" directory. 본제품은 OpenSSL, RSA Data Security, Inc., Apache Foundation 및 Jean-loup Gailly와 Mark Adler 에의해개발또는라이선스된오픈소스소프트웨어를포함합니다. 관련상세정보는제품의디렉터리 ${IN STALL_PATH}/license/oss_licenses 에기재된사항을참고해주십시오. 안내서정보안내서제목 : OpenFrame 툴참조안내서발행일 : 소프트웨어버전 : OpenFrame/Base v5.1, Batch for VOS3 v2.0 안내서버전 : v2.1.2

3 내용목차 안내서에대하여... vii 제1장 개요 툴소개... 1 제2장 초기화툴 mascat voladd pdsgen lockds... 9 제3장 마이그레이션툴 cobgensch pligensch sqlgensch dsmigin dsmigout tplipp hcob85c 제4장 데이터셋관리툴 dsview dsedit dsload dssave dslist dstouch dscopy dsmove dsshm dscreate dsdelete gdgcreate gdgdelete idcams listvol listcat lockm 제5장 카탈로그관리툴 icfdump icfload icfscan icfspchk OpenFrame iii

4 제6장 Batch 시스템툴 tjesinit dlclean jclview textrun dlupdate 제7장 기타툴 enpasswd oferror offile ofversion iv OpenFrame 툴참조안내서

5 그림목차 [ 그림 3.1] PL/I 스키마파일생성과 OpenFrame 데이터셋생성과정 [ 그림 3.2] tplipp 구조 [ 그림 6.1] jclview -초기화면 [ 그림 6.2] jclview -메뉴선택화면 [ 그림 6.3] jclview - JCL 파일 open 후화면 [ 그림 6.4] jclview - 데이터셋정보열람화면 [ 그림 6.5] jclview - GDG 멤버정보조회화면 [ 그림 6.6] jclview - 데이터셋검색화면 OpenFrame v

6

7 안내서에대하여 안내서의대상 본안내서는리호스팅솔루션인 Tmax OpenFrame ( 이하 OpenFrame) 에서필요로하는각종툴프로그 램을사용하는사용자를대상으로기술한다. 안내서의전제조건 본안내서를정확히사용하려면 OpenFrame 의개념을이해하고있어야한다. OpenFrame 에대한이해를 돕기위해 OpenFrame 안내서중 시작하기안내서 와 Batch 안내서 를먼저숙지할것을권장한다. 안내서의제한조건 본안내서는 OpenFrame 에서제공하는문법을제외하고는언급하지않는다. 참고 Mainframe 의 COBOL 관련은참고문헌에된안내서를참고한다. 안내서에대하여 vii

8 안내서구성 툴참조안내서는총 7개의장으로구성되어있다. 각장의주요내용은다음과같다. 제1장 : 개요각장에서다룰툴의전반적인개요에대해기술한다. 제 2 장 : 초기화툴 초기화툴프로그램을사용하여 OpenFrame 을초기화하는방법에대해기술한다. 제 3 장 : 마이그레이션툴 마이그레이션툴프로그램을사용하여데이터셋관련작업을처리하는방법에대해기술한다. 제 4 장 : 데이터셋관리툴 데이터셋관리툴프로그램을사용하여데이터셋관련작업을처리하는방법에대해기술한다. 제 5 장 : 카탈로그관리툴 카탈로그관리툴프로그램을사용하여데이터셋관련작업을처리하는방법에대해기술한다. 제 6 장 : 배치시스템툴 배치시스템에서필요로하는툴프로그램사용법에대해기술한다. 제 7 장 : 기타툴 사용자편의를위해제공되는초기화툴, 마이그레이션툴, 데이터셋관리툴, 카탈로그관리툴, 배치 시스템툴이외의툴을사용하는방법에대해기술한다. viii OpenFrame 툴참조안내서

9 안내서규약 표기 <AaBbCc123> <Ctrl>+C [Button] 진하게 " "( 따옴표 ) ' 입력항목 ' 하이퍼링크 > 참고 의미프로그램소스코드의파일명, 디렉터리 Ctrl과 C를동시에누름 GUI의버튼또는메뉴이름강조다른관련안내서또는안내서내의다른장및절언급화면 UI에서입력항목에대한메일계정, 웹사이트메뉴의진행순서하위디렉터리또는파일있음하위디렉터리또는파일없음참고또는주의사항 [ 그림 1.1] [ 표 1.1] AaBbCc123 그림이름 표이름 명령어, 명령어수행후화면에출력된결과물, 예제코드 [ ] _..., +, * 옵션인수값선택인수값스페이스파라미터등이반복되어나옴 안내서에대하여 ix

10 시스템사용환경 요구사항 Platform IBM AIX 5.x HP-UX 11.xx Solaris 9 (SunOS 5.9) Linux IA x Hardware 최소 120MB 하드디스크공간 256MB 이상메모리공간 1GB 이상하드디스크와 512MB 이상메모리공간권장 Database Tibero 3.0 Oracle 9i 또는 10g Compiler COBOL2002 컴파일러 x OpenFrame 툴참조안내서

11 관련안내서 안내서 OpenFrame OpenFrame 의기본개념과개발사상에대해기술한안내서이다. 시작하기안내서 OpenFrame TJES 안내서 OpenFrame Batch 안내서 OpenFrame Base 안내서 OpenFrame 데이터셋안내서 Tibero TSAM 안내서 TJES가 OpenFrame 시스템의 Batch JOB 관리하는내용에대해기술한안내서이다. OpenFrame/Batch를구성하는전반적인기능에대해기술한안내서이다. OpenFrame/Base를구성하는전반적인기능에대해기술한안내서이다. OpenFrame 데이터셋에대한소개와데이터셋종류및카탈로그방법등에대해기술한안내서이다. VSAM에대응하는제품인 TSAM에대한소개와데이터셋종류및관리방법, 데이터셋처리방법에대해기술한안내서이다. 참고문헌 제품 Mainframe 안내서 COBOL2002 使用の手引手引編 VOS3 COBOL85 言語文法書 안내서에대하여 xi

12 연락처 Korea TmaxSoft Co., Ltd 263 BundangSquare (AK Plaza) 12th floor, Seohyeon-dong, Bundang-gu, Seongnam-si, Gyeonggi-do, South Korea Tel: Fax: Web (Korean): 기술지원 : USA TmaxSoft, Inc. 560 Sylvan Avenue Englewood Cliffs, NJ U.S.A Tel: Fax: info@tmaxsoft.com Web (English): Japan TmaxSoft Japan Co., Ltd. 5F Sanko Bldg, Mita, Minato-Ku, Tokyo, Japan Tel: Fax: info@tmaxsoft.co.jp Web (Japanese): xii OpenFrame 툴참조안내서

13 China TmaxSoft China Co., Ltd. Beijing Silver Tower, RM 1508, 2# North Rd Dong San Huan, Chaoyang District, Beijing, China, China Tel: ~8 Fax: Web (Chinese): 안내서에대하여 xiii

14

15 제 1 장개요 1.1. 툴소개 OpenFrame 툴프로그램은 Batch JOB으로실행되는 OpenFrame 유틸리티프로그램과는다르게, UNIX 셸에서직접사용자의입력을받아서실행되는프로그램을의미한다. OpenFrame 툴프로그램은 Mainframe에서사용되었던애플리케이션이나데이터셋등을마이그레이션하기위한기능을제공하거나, OpenFrame Batch 시스템또는 Online 시스템을운영하는데필요한기능을제공한다. 초기화툴 다음은 OpenFrame 초기화를위한프로그램목록이다. 프로그램명 mascat voladd pdsgen lockds OpenFrame 제품을처음설치할때, 마스터카탈로그를생성하는툴이다. OpenFrame 제품을처음설치할때, VVDS를생성하고마스터카탈로그에등록하는툴이다. PDS를생성하거나 OpenFrame 인스톨러에서시스템에필요한 PDS를생성하는툴이다. Batch 시스템을부팅하기전에초기화처리로서, Lock 데이터셋혹은로그데이터셋을생성또는제거하는툴이다. 마이그레이션툴 다음은 OpenFrame 마이그레이션을위한프로그램목록이다. 프로그램명 cobgensch pligensch Mainframe 데이터셋을 OpenFrame 데이터셋으로마이그레이션하는과정에서필요한데이터셋마이그레이션스키마파일을생성하는툴이다. COBOL Copybook 소스파일을참조하여스키마파일을생성한다. Mainframe 데이터셋을 OpenFrame 데이터셋으로마이그레이션하는과정에서필요한데이터셋마이그레이션스키마파일을생성하는툴이다. pligensch는 PL/I 소스파일을참조하여스키마파일을생성한다. 제 1 장개요 1

16 프로그램명 sqlgensch dsmigin dsmigout tplipp hcob85c Mainframe 데이터셋을 OpenFrame 데이터셋으로마이그레이션하는과정에서필요한데이터셋마이그레이션스키마파일을생성하는툴이다. sqlgensch는 SQL 테이블생성스크립트를참조하여스키마파일을생성한다. EBCDIC 코드형태의 Mainframe 데이터셋을 ASCII 코드형태의 OpenFrame 데이터셋으로마이그레이션할때사용하는툴이다. ASCII 코드형태의 OpenFrarme 데이터셋을 EBCDIC 코드형태의 Mainframe 데이터셋으로변환하여 UNIX 파일로 Export하는툴이다. Mainframe에서사용하던 PL/I 프로그램소스를 OpenFrame에서동작할수있도록 PL/I 프로그램소스를수정하는툴이다. OpenFrame 엔진이 Hitachi용 COBOL 프로그램을원활하게처리할수있도록프로그램소스를전처리하고이를 Shared Object로컴파일하는툴이다. 데이터셋관리툴 다음은데이터셋관리를위한프로그램목록이다. 프로그램명 dsview dsedit dsload dssave dslist dstouch dscopy dsmove dsshm dscreate dsdelete gdgcreate gdgdelete idcams listvol listcat 데이터셋의내용을보여주는툴이다. 데이터셋의내용을보여주고데이터셋의내용을변경하는툴이다. Non-VSAM 데이터셋을 UNIX 파일로백업하는기능을제공하는툴이다. dsload로백업한 UNIX 파일을다시 Non-VSAM 데이터셋으로갱신하는툴이다. 특정볼륨에있는데이터셋에대한정보를출력하는툴이다. 카탈로그나 VTOC에저장된데이터셋의통계정보및생성일자를갱신하는툴이다. 데이터셋을다른볼륨이나다른이름으로복사하는툴이다. 데이터셋을이동시키는툴로, 데이터셋의볼륨을변경하거나이름을변경하는경우에사용한다. 데이터셋을할당할때생성되는 DCB 구조체의저장공간인공유메모리를관리하는툴이다. Non-VSAM 데이터셋을신규로생성하는툴이다. 기존 Non-VSAM 데이터셋을삭제하는툴이다. GDG 항목을신규로생성하는툴이다. 기존 GDG 항목을삭제하는툴이다. VSAM 데이터셋혹은사용자카탈로그를생성하거나삭제하는툴이다. 시스템에등록된볼륨정보를출력하는툴이다. 특정카탈로그에등록된항목에대한정보를출력하는툴이다. 2 OpenFrame 툴참조안내서

17 프로그램명 lockm 데이터셋을독점적으로사용하기위한데이터셋 Lock 정보를조회하고삭제할수 있는툴이다. 카탈로그관리툴 다음은카탈로그의관리를위한프로그램목록이다. 프로그램명 icfdump icfload icfscan icfspchk 카탈로그정보를백업하여차후에문제가발생했을경우이를복구하는툴이다. icfdump로백업한데이터를사용하여현재카탈로그시스템을백업할당시의시점으로복구하는툴이다. 카탈로그에등록된엔트리의유효성및유형별통계를산출하는툴이다. 카탈로그를기준으로 VSAM 볼륨의사용공간을확인하는툴이다. Batch 시스템툴 다음은 Batch 시스템의운영편의를위한프로그램목록이다. 프로그램명 tjesinit dlclean jclview textrun dlupdate OpenFrame/Batch에서시스템데이터셋뿐만아니라 JOBQ와 SPOOL 등을초기화하기위해사용되는툴이다. dlupdate를한후에임시데이터셋에옮겨놓은이전라이브러리들을삭제하는툴이다. tjesmgr와같이 UNIX 터미널화면에서실행되는 JCL 파일뷰어를제공하는툴이다. JOB을 submit하고 JOB의실행결과를보여주는툴이다. 사용자가만든라이브러리를변경하고자할때사용하는툴이다. 제 1 장개요 3

18 기타툴 다음은기타운영편의를위해제공되는툴목록이다. 프로그램명 enpasswd oferror offile ofversion 사용자의비밀번호를 64Byte 문자열로인코딩하는툴이다. OpenFrame에서발생하는에러에대한간략한에러번호, 에러코드, 에러메시지를출력하는툴이다. OpenFrame 전모듈에대한버전트랙킹을위한툴이다. 설치된 OpenFrame 서브제품의종류와각서브제품의버전을출력하는툴이다. 각프로그램의사용법과사용예제는각절에서상세히한다. 4 OpenFrame 툴참조안내서

19 제 2 장초기화툴 2.1. mascat mascat은 OpenFrame 제품을처음설치할때, 마스터카탈로그를생성하는프로그램이다. OpenFrame 제품을처음설치할때, 데이터셋과관련해서기본적으로수행해야하는절차는다음과같다. 1. 디바이스및볼륨설정디바이스에대한설정파일인 unit.conf 파일과볼륨에대한설정파일인 volume.conf 파일을 OpenFrame 운영환경에맞게설정한다. 2. Non-VSAM 볼륨디렉터리생성 UNIX 명령어인 mkdir 을사용해서 volume.conf 파일에설정된대로볼륨디렉터리를생성한다. 3. VSAM 볼륨테이블스페이스생성 VSAM 데이터셋이저장되는공간인데이터베이스테이블스페이스를생성한다. SQL 명령어중 CREATE TABLESPACE 사용한다. 4. 마스터카탈로그생성 OpenFrame 제품과같이배포되는 mascat 프로그램을사용해서마스터카탈로그를생성한다. 5. VVDS (VSAM Volume Dataset) 데이터셋생성및등록 OpenFrame 제품과같이배포되는 voladd 프로그램을사용해서각볼륨별로 VVDS 를생성하고마스 터카탈로그에등록한다. 제 2 장초기화툴 5

20 사용법 mascat 프로그램을실행하는방법은다음과같다. Usage: mascat create dsname volser mascat remove dsname 항목 create remove dsname volser 마스터카탈로그를생성한다. 마스터카탈로그를제거한다. 마스터카탈로그의이름을지정한다. 마스터카탈로그가생성될볼륨시리얼을지정한다. 사용예제 다음은 이라는볼륨에 SYS1.MASTER.ICFCAT 이라는이름으로마스터카탈로그를생성하는예 이다. $ mascat create SYS1.MASTER.ICFCAT 관련환경설정 mascat 프로그램은마스터카탈로그 VSAM 데이터셋을생성하기위해 ds.conf 파일의 [SYS1_CLIENT] 절에기술된 TSAM 서버로접속한다. <ds.conf> [SYS1_CLIENT] mascat 프로그램으로생성된마스터카탈로그 VSAM 데이터셋을 OpenFrame 카탈로그로사용하기위해서는카탈로그접속정보를 ds.conf 파일의 [ICF_STORAGE] 절과 [ICF_BACKUP] 절에등록해야한다. mascat 프로그램으로생성된마스터카탈로그는 ds.conf 파일의 [ICF_CATALOG] 절에등록해야한다. 위의사용예제에서생성된마스터카탈로그를 ds.conf 파일에다음과같이설정해야한다. 6 OpenFrame 툴참조안내서

21 <ds.conf> [ICF_CATALOG] MASCAT_VSER= MASCAT_NAME=SYS1.MASTER.ICFCAT 2.2. voladd voladd는 OpenFrame 제품을처음설치할때, VVDS를생성하고마스터카탈로그에등록하는툴이다. OpenFrame 제품을운용중에볼륨을추가하는경우에도사용된다. 테이블스페이스와 volume.conf 파일에대한설정을마친후에프로그램을사용해야한다. 사용법 voladd 프로그램을실행하는방법은다음과같다. Usage: voladd define volser voladd delete volser 항목 define delete volser VVDS를정의한다. VVDS를삭제한다. 정의하거나삭제하려고하는볼륨의시리얼번호를지정한다. 사용예제 다음은 이라는볼륨에 VVDS 를생성하고카탈로그에등록하는예이다. $ voladd define 다음은 VSPOOL 이라는볼륨에 VVDS 를생성하고마스터카탈로그에등록했다가삭제하는예이다. $ voladd define VSPOOL $ voladd delete VSPOOL 제 2 장초기화툴 7

22 관련환경설정 voladd 프로그램이 VVDS를생성하기위해접속하는 TSAM 서버정보가설정되어있다. <ds.conf> [SYS1_CLIENT] voladd 프로그램이 VVDS 를카탈로그에등록하기위해접속하는 TSAM 서버정보가설정되어있다. <ds.conf> [ICF_STORAGE] 주의 VVDS 도 ICF 카탈로그의일부이므로 VVDS 를생성할때에는 ds.conf 파일의 [SYS1_CLIENT] 절의 내용이 [ICF_STORAGE] 절의내용과동일한지확인이필요하다 pdsgen pdsgen은 PDS를생성하거나 OpenFrame 인스톨러에서시스템에필요한 PDS를생성하는툴이다. PDS 를생성할때데이터셋에 Lock을실행하지않으므로, 운영중에는사용하지않고인스톨할때만사용하도록권장한다. 사용법 pdsgen 프로그램을실행하는방법은다음과같다. Usage: pdsgen dsname volser [-f recfm] [-l lrecl] 항목 dsname volser [-f recfm] [-l lrecl] 생성할 PDS 이름을지정한다. 생성한 PDS를저장할볼륨시리얼을지정한다. 생성할 PDS의레코드포맷을지정한다. 생성할 PDS의레코드길이를지정한다. pdsgen 을통해생성된 PDS 는기본속성으로 RECFM=FB, LRECL=80, BLKSIZE=4096 의속성을가진다. 8 OpenFrame 툴참조안내서

23 사용예제 다음은 TEST.PDS 를 볼륨에생성하는예이다. $ pdsgen TEST.PDS 위의프로그램을실행하면다음과같은 TEST.PDS 파일이생성된다. Data Set Name... : TEST.PDS Data Set Type... : NONVSAM Catalog Name... : SYS1.MASTER.ICFCAT Management Class. : Creation Date.. : 2009/08/24 Data Set Owner. : igkang Expiration Date. : ***None*** Storage Class... : Volume Serial.. : Device Type... : 3380 Data Class.... : Organization.. : PO Record Format.. : FB KEYLEN..... : 0 Record Length.. : 80 KEYPOS..... : 0 Block Size... : 4096 Current Allocation Primary Space.. : N.A. Number of Extents : N.A. Secondary Space. : N.A. Data Set Size.. : 0 Last Access Date Last Access Date : ***None*** Last Access Time : **None** 2.4. lockds lockds 는 OpenFrame 시스템에서사용되는 Lock 데이터셋및 Log 데이터셋을생성, 삭제하거나해당데 이터셋의내용을초기화 (truncate) 하는기능을제공하는툴이다. 주의 Batch 시스템이기동중일때에는 lockds 를사용하지않도록주의한다. 사용법 lockds 프로그램을실행하는방법은다음과같다. 제 2 장초기화툴 9

24 Usage: lockds [command] [options] command command create remove truncate 환경설정파일 ds.conf [LOCK_SERVER] 절의 LOCK_DATASET 항목과 LOG_DATASET 항목에지정된 Lock 또는 Log 데이터셋을생성하며마스터카탈로그에등록된다. 환경설정파일 ds.conf [LOCK_SERVER] 절의 LOG_DATASET 항목에지정된 Lock 또는 Log 데이터셋을삭제한다. 데이터셋을별도로백업하지않는점에주의한다. 환경설정파일 ds.conf [LOCK_SERVER] 절의 LOCK_DATASET 항목에지정된 Lock 또는 Log 데이터셋을초기화한다. 데이터셋은삭제하지않고내용만삭제한다. [options] 옵션 [-d] [-l] [-v] Lock 데이터셋에대해지정한명령어를수행한다. Log 데이터셋에대해지정한명령어를수행한다. lockds의버전을출력한다. 사용예제 다음은 Lock 데이터셋을생성하는예이다. $ lockds create -d 다음은 Log 데이터셋을삭제하는예이다. $ lockds remove -l 다음은 Log 데이터셋의내용을초기화하는예이다. $ lockds truncate -d 참고 lockds을실행하다가문제가발생한경우에는먼저 ds.conf [TSAM_CLIENT] 절에정의된 DATABASE 항목의설정값을확인하고정상적으로데이터베이스에접속이되는지를확인한다. 또한동일설정파일의 [LOCK_SERVER] 절의 LOCK_DATSET 항목과 LOG_DATASET 항목에지정된데이터셋이름이정확한지를확인한다. 10 OpenFrame 툴참조안내서

25 제 3 장마이그레이션툴 3.1. cobgensch cobgensch는 Mainframe 데이터셋을 OpenFrame 데이터셋으로마이그레이션하는과정에서필요한데이터셋마이그레이션스키마파일을생성하는툴이다. 데이터셋마이그레이션스키마파일을생성하는프로그램으로는 cobgensch과 pligensch가있다. cobgensch는 COBOL Copybook 소스파일을참조하여스키마파일을생성하고, pligensch는 PL/I 소스파일을참조하여스키마파일을생성한다. 데이터셋마이그레이션을수행할때원본데이터파일인 UNIX 소스파일의한레코드에여러 char-set이섞여있는경우에는 (EBCDIC, ASCII 코드가섞여있거나 2Byte 문자, Packed Decimal, Zoned Decimal이사용된경우등 ) 레코드단위의일괄적인단순코드변환을할수없다. 따라서레코드의각필드에대한코드변환규칙을스키마파일에정의한다. 이후 dsmigin 프로그램을실행할때각데이터셋에해당하는스키마파일을지정하여데이터셋마이그레이션작업을수행한다. cobgensch 프로그램은 COBOL 소스파일이나 COBOL Copybook 파일로마이그레이션스키마파일을생성한다. 생성된스키마파일들저장할디렉터리경로는 ds.conf 파일 [DATASET_DIRECTORY] 절의 SCHEMA_DIR 항목에지정한다. 사용법 cobgensch 를실행하는방법은다음과같다. Usage: cobgensch input_file [options] 입력항목 항목 input_file COBOL 소스파일또는 COBOL Copybook 파일을지정한다. [options] 제 3 장마이그레이션툴 11

26 옵션 [-r rec_len] [-o output] 스키마파일을사용할데이터셋이고정길이레코드이고레코드길이를알고있는경우에레코드길이를지정하면, 스키마파일을생성할때레코드길이정합성을체크한다. 생성될스키마파일의이름을지정한다. 지정하지않는경우 input_file 명을기본값으로사용한다. Output 파일명을지정했을경우볼륨시리얼지정여부에따라 <volser>_<out put>.conv 또는 <output>.conv 란이름으로스키마파일이생성된다. [-v volser] 생성될스키마파일명에사용될볼륨시리얼을지정한다. 지정하지않는경우생 성될스키마파일명은볼륨시리얼을포함하지않는다. 이옵션을지정했을경우 <volser>_<output>.conv 란이름으로스키마파일이 생성된다. [-d] [-V] scanner 와 parser 를포함한모든생성된디버그메시지를보여준다. cobgensch 의버전정보를화면에출력한다. 사용예제 다음은 COBOL Copybook 파일의간단한예제이다. <COB.TESTDATA1.cpy> FD I-FILE RECORDING MODE IS F RECORD CONTAINS 95 CHARACTERS BLOCK CONTAINS 0 RECORDS LABEL RECORDS ARE STANDARD DATA RECORD ARE I-REC. 01 I-REC. 05 I-SAGNO PIC X(11). 05 I-DAMBO PIC X(02). 05 I-PHNO PIC X(03). 05 I-BKNO PIC 9(03). 05 I-BKDT PIC X(10). 05 I-BKDT-I PIC X(01). 05 I-BSGB PIC X(02). 05 I-BSHG PIC X(02). 05 I-CIGB PIC X(02). 05 I-CIHG PIC X(02). 05 I-JHGB PIC X(02). 12 OpenFrame 툴참조안내서

27 05 I-TTJC PIC S9(13) COMP I-TTIC PIC S9(13). 05 I-NAME PIC X(20). 05 I-TEST1 PIC Z(10). 05 I-TEST2 PIC +(10). 05 I-TEST3 PIC -(10). 05 I-TEST4 PIC I-TEST5 PIC I-TEST6 PIC $(10). 05 I-TEST7 PIC \(10). 다음은 cobgensch 를실행하여스키마파일을생성하는예이다. $ cobgensch COB.TESTDATA1.cpy 위의 cobgensch 를실행한결과정상적으로스키마파일이생성되었다. input filename = COB.TESTDATA1.cpy schema filename = /home/tmax/openframe/schema/cob.testdata1.conv 다음은 cobgensch 를실행하여잘못된레코드길이를지정했을경우정합성을체크하는예이다. $ cobgensch COB.TESTDATA1.cpy -r 100 위의 cobgensch 를실행한결과, 레코드길이정합성체크에서에러가발생했다. input filename = COB.TESTDATA1.cpy input record length = 100 ** input record length is different from scheme record length!!! ** (input reclen = 100, scheme reclen = 150) Failed to generate a schema file. rc - -1 schema filename = /home/tmax/openframe/schema/cob.testdata1.conv 다음은올바른레코드길이를지정하여 cobgensch 를실행하는예이다. $ cobgensch COB.TESTDATA1.cpy -r 150 위의 cobgensch 를실행한결과정상적으로스키마파일이생성되었다. 레코드길이가 150 Byte 로지정한 값과일치하므로정합성을체크할때오류가발생하지않았다. input filename = COB.TESTDATA1.cpy input record length = 150 scheme filenama = /home/tmax/openframe/schema/cob.testdata1.conv 제 3 장마이그레이션툴 13

28 다음은위의 cobgensch 를실행한후생성된스키마파일의예이다. <COB.TESTDATA1.conv> * scheme L1, 01, I-REC, NULL, 0, 1, L2, 05, I-SAGNO, EBC_ASC, 11, 1, L3, 05, I-DAMBO, EBC_ASC, 2, 1, L4, 05, I-PHNO, EBC_ASC, 3, 1, L5, 05, I-BKNO, U_ZONED, 3, 1, L6, 05, I-BKDT, EBC_ASC, 10, 1, L7, 05, I-BKDT-I, EBC_ASC, 1, 1, L8, 05, I-BSGB, EBC_ASC, 2, 1, L9, 05, I-BSHG, EBC_ASC, 2, 1, L10, 05, I-CIGB, EBC_ASC, 2, 1, L11, 05, I-CIHG, EBC_ASC, 2, 1, L12, 05, I-JHGB, EBC_ASC, 2, 1, L13, 05, I-TTJC, PACKED, 7, 1, L14, 05, I-TTIC, ZONED, 13, 1, L15, 05, I-NAME, EBC_ASC, 20, 1, L16, 05, I-TEST1, U_ZONED, 10, 1, L17, 05, I-TEST2, U_ZONED, 10, 1, L18, 05, I-TEST3, U_ZONED, 10, 1, L19, 05, I-TEST4, EBC_ASC, 10, 1, L20, 05, I-TEST5, U_ZONED, 10, 1, L21, 05, I-TEST6, U_ZONED, 10, 1, L22, 05, I-TEST7, U_ZONED, 10, 1, * condition L0, "\0", ( L1 L2 L3 L4 L5 L6 L7 L8 L9 L10 L11 L12 L13 L14 L15 L16 L17 L18 L19 L20 L21 L22 ) 관련환경설정 다음과같이 ds.conf 파일에생성된스키마파일을저장할디렉터리경로를지정한다. <ds.conf> [DATASET_DIRECTORY] SCHEMA_DIR=schema_dir 14 OpenFrame 툴참조안내서

29 3.2. pligensch pligensch는 Mainframe 데이터셋을 OpenFrame 데이터셋으로마이그레이션하는과정에서필요한데이터셋마이그레이션스키마파일을생성하는툴이다. pligensch는 cobgensch 프로그램과동일한스키마파일을생성하지만, cobgensch는 COBOL COPYBOOK 을사용하는반면 pligensch는 PL/I 소스파일을참조하여 Mainframe 데이터셋의레코드구조를파악한후스키마파일을생성한다. 생성된스키마파일을저장할디렉터리경로는 ds.conf 파일 [DATASET_DI RECTORY] 절의 SCHEMA_DIR 항목에지정한다. 다음은 PL/I 스키마파일생성과 OpenFrame 데이터셋생성과정을한그림이다. [ 그림 3.1] PL/I 스키마파일생성과 OpenFrame 데이터셋생성과정 pligensch 에 PL/I 소스를입력하면레코드구조를담은스키마파일이생성된다. dsmigin 수행할때스키 마파일과 Mainframe 데이터셋을입력파라미터로지정하여 OpenFrame 데이터셋을생성할수있다. 사용법 pligensch 를실행하는방법은다음과같다. Usage: pligensch [options] file1 [file2...] [options] 옵션 [-h] [-y] [-l] [-d] [-I dir] [-r reclen] [-o output] pligensch에서사용가능한옵션에대한정보를보여준다. parser에서생성된디버그메시지를보여준다. scanner에서생성된디버그메시지를보여준다. scanner와 parser를포함한모든생성된디버그메시지를보여준다. PL/I의 include 파일들이존재하는위치를지정한다. 스키마파일을사용할데이터셋이고정길이레코드이고레코드길이를알고있는경우에레코드길이를지정하면, 스키마파일을생성할때레코드길이정합성을체크한다. 생성될스키마파일의이름을지정한다. 지정하지않는경우 file# 에지정한입력파일명을기본값으로사용한다. 제 3 장마이그레이션툴 15

30 옵션 Output 파일명을지정했을경우볼륨시리얼지정여부에따라 <volser>_<out put>.conv 또는 <output>.conv 란이름으로스키마파일이생성된다. [-v volser] 생성될스키마파일명에사용될볼륨시리얼을지정한다. 지정하지않는경우생성될스키마파일명은볼륨시리얼을포함하지않는다. 이옵션을지정했을경우 <volser>_<output>.conv 란이름으로스키마파일이생 성된다. [-s] [-f aix] [-f liant] [-V] 입력파일이 sub-structure만을포함하는파일일때지정한다. 입력으로받을 PL/I 소스가 AIX PL/I일때지정한다. -f 옵션을지정하지않으면기본적으로 AIX PL/I로인식한다. 입력으로받는 PL/I 소스가 Liant Open PL/I일때지정한다. cobgensch의버전정보를화면에출력한다. 입력항목 항목 file1 PL/I 소스파일명을지정한다. 사용예제 다음은 PL/I Include 파일의간단한예이다. <PLI.TESTDATA1.inc> 3 TEST1 CHAR(02), 3 TEST2 CHAR(05), 3 TEST3, 5 TEST4 PIC (03)9, 5 TEST5 PIC (03)X, 3 TEST6 FIXED DEC (3, 0); 다음은 pligensch 를실행하여 COBOL 스키마파일을생성하는예이다. 위 PL/I include 파일은 DECLARE 구문부터시작하지않고, sub-structure 만을포함하고있으므로 -s 옵션을지정하여실행한다. $ pligensch s PLI.TESTDATA1.inc 위의 pligensch 를실행한결과정상적으로 COBOL 스키마파일이생성되었다. 16 OpenFrame 툴참조안내서

31 input filename = PLI.TESTDATA1.inc Schema filename = /home/tmax/openframe/schema/pli.testdata1.conv - created 다음은 pligensch 를실행하여 PL/I 스키마파일을생성하고, 정합성을체크하는예이다. $ pligensch -r 10 s PLI.TESTDATA1.inc 위의 pligensch 를실행한결과, 레코드길이정합성체크에서에러가발생했다. input filename = PLI.TESTDATA1.inc input record length = 10 ** input record length is different from schema record length!!! ** (input reclen = 10, schema reclen = 15) Failed to generate a schema file. rc=-1 다음은올바른레코드길이를지정하여 pligensch 를실행하는예이다. $ pligensch -r 15 s PLI.TESTDATA1.inc 위의 pligensch 를실행한결과정상적으로스키마파일이생성되었다. 레코드길이가 15 Byte 로지정한값 과일치하므로정합성을체크할때오류가발생하지않았다. input filename = PLI.TESTDATA1.inc input record length = 15 Schema filename = /home/tmax/openframe/schema/pli.testdata1.conv - created 다음은 pligensch 를실행한후생성된스키마파일의예이다. <PLI.TESTDATA1.conv> * scheme L1, 01, TEST1_STRUCTURE, NULL, 0, 1, L2, 03, TEST1, EBC_ASC, 2, 1, L3, 03, TEST2, EBC_ASC, 5, 1, L4, 03, TEST3, NULL, 0, 1, L5, 05, TEST4, ZONED, 3, 1, L6, 05, TEST5, EBC_ASC, 3, 1, L7, 03, TEST6, PACKED, 2, 1, * condition L0, "\0", ( L1 L2 L3 L4 L5 L6 L7 ) 제 3 장마이그레이션툴 17

32 관련환경설정 다음과같이 ds.conf 파일에생성된스키마파일을저장할디렉터리경로를지정한다. <ds.conf> [DATASET_DIRECTORY] SCHEMA_DIR=schema_dir 3.3. sqlgensch sqlgensch는 Mainframe에서이용하는데이터베이스를 OpenFrame의데이터베이스로마이그레이션하는과정에서필요하다. Mainframe에서이용한데이터베이스의 DDL(Data Definition Language) 파일을이용하여데이터베이스마이그레이션에필요한스키마, Copybook, Tibero용 DDL, Tibero Import용컨트롤파일을생성하는툴이다. sqlgensch의기능중스키마파일생성기능은 cobgensch, pligensch과동일한스키마를생성하는것이다. 사용법 sqlgensch 를실행하는방법은다음과같다. Usage: sqlgensch [options] file1 [file2...] [options] 옵션 [-c] [-s] [-t] [-q] [-V] COBOL Copybook을생성한다. 스키마파일을생성한다. Tibero로 Import하기위한컨트롤파일을생성한다. 데이터베이스의테이블생성을위한 DDL문을생성한다. sqlgensch의버전정보를화면에출력한다. 입력항목 옵션 file1 Mainframe 에서이용한데이터베이스의 DDL 파일명을지정한다. 18 OpenFrame 툴참조안내서

33 사용예제 다음은 sqlgensch 를실행하여 COBOL Copybook 을생성하는예이다. $ sqlgensch c dbddl.txt 다음은 sqlgensch 를실행하여스키마를생성하는예이다. $ sqlgensch -s dbddl.txt 다음은 sqlgensch 를실행하여 Tibero Import 용컨트롤파일을생성하는예이다. $ sqlgensch -t dbddl.txt 다음은 sqlgensch 를실행하여 Tibero 용 DDL 문을생성하는예이다. $ sqlgensch -q dbddl.txt 3.4. dsmigin dsmigin는 EBCDIC 코드형태의 Mainframe 데이터셋을 ASCII 코드형태의 OpenFrame 데이터셋으로마이그레이션할때사용하는툴이다. Mainframe 데이터셋을 UNIX 환경의 OpenFrame 데이터셋으로마이그레이션할때일반적으로다음과같은절차가수행된다. 1. FTP를이용하여 Mainframe 데이터셋을 UNIX 파일로다운로드한다. Binary Mode로다운로드한다. 2. 데이터셋을마이그레이션할때스키마파일이필요한경우해당데이터셋을사용하는 COBOL 이나 PL/I 소스파일을참조하여스키마파일을작성한다. 3. dsmigin 툴을이용하여 UNIX 에다운로드된파일을 OpenFrame 데이터셋으로 Import 하는작업을수행 한다. 사용법 dsmigin 프로그램을실행하는방법은다음과같다. Usage: dsmigin src_file <dest_file dataset_name> [options] 입력항목 제 3 장마이그레이션툴 19

34 항목 src_file dest_file 또는 dataset_name 마이그레이션을수행할 UNIX 소스파일명또는파일경로를지정한다. 생성할파일또는데이터셋이름을지정한다. [options] 옵션 [-C] [-I] [-S] [-m member_name] EBCDIC 문자로작성된파일을 ASCII 문자로변환만하고 OpenFrame으로 Import 하지않을경우지정한다. 출력파일로 OpenFrame 데이터셋명이아닌일반텍스트파일을지정해야한다. 변환작업만하는경우 Tmax 서버는사용되지않는다. [-C] 옵션과반대로변환작업을수행하지않고입력파일을직접 OpenFrame으로적재하는경우지정한다. 입력파일로주어진데이터가소스파일일경우지정한다. 이옵션이지정되면, 레코드포맷 (RECFM) 은 L 타입이된다. 생성할멤버이름 (PDS를생성할경우 ) 또는생성할상대세대번호 (GDG를생성할경우 ) 를지정한다. - SDS(Sequential Data Set) 를생성하는경우에는 <dataset_name> 만지정한다. - PDS(Partitioned Data Set) 를생성하는경우에는 <dataset_name> 과 [mem ber_name] 을모두지정한다. - GDS(Generation Data Set) 을생성할경우에는 <dataset_name> 과세대번호 (-1, 0, +1,...) 를지정한다. 세대번호는 [member_name] 으로지정할수있으며, 새로생성하는멤버일경우 "+1" 을사용한다. [-u unit] [-v volume] 데이터셋이생성될 UNIT 그룹명을지정한다. 데이터셋이생성될볼륨시리얼을지정한다. 이옵션을지정하지않을경우에는 ds.conf 파일의 [DATASET_DEFAULT] 절 DEFAULT_VOLSER 항목에등록되어있는디폴트볼륨시리얼에데이터셋이 생성된다. [-c user_catalog] [-e encoding_code] 데이터셋이등록될사용자카탈로그를지정한다. 지정하지않을경우에는마스터카탈로그에데이터셋이등록된다. EBCDIC에서 ASCII로코드를변환할때 EBCDIC 2Byte 문자를어떤 ASCII 문자코드로변환할지를지정한다. - US : 영어 (Default) - KR : 한국어 (EUC-KR) 20 OpenFrame 툴참조안내서

35 옵션 - JP : 일본어 (Shift-JIS) - JAK : 일본어 (JEF) [-s scheme] [-cob cobol_type] UNIX 소스파일의한레코드에여러 char-set이섞여있는경우에는 (EBCDIC, ASCII 코드가섞여있거나 2Byte 문자, Packed Decimal, Zoned Decimal이사용된경우등 ) 레코드단위의단순코드변환이불가능하기때문에 cobgensch 또는 pligensch 프로그램을이용하여스키마파일을생성한후해당스키마파일을지정한다. 스키마파일을지정하지않은경우 ds.conf 파일 [DATASET_DIREC TORY] 절의 SCHEMA_DIR 항목에정의된디렉터리에서소스파일명과매치하는스키마파일을사용한다. 사용된 COBOL 언어의타입을지정한다. COBOL 타입에설정할수있는값은 MF(MicroFocus COBOL), NET(Net COBOL) 이있으며, 이옵션을지정하지않은경우디폴트값은 MF 이다. [-k keylen] [-p keypos] [-l rec_len] [-o dsorg] 마이그레이션될데이터셋이 ISAM 타입일경우키길이를지정한다. 또한, DSORG를 IS로설정해야한다. 마이그레이션될데이터셋이 ISAM 타입일경우키위치를지정한다. 또한, DSORG를 IS로설정해야한다. 데이터셋의레코드길이 (LRECL) 를지정한다. 고정길이레코드일경우마이그레이션되는데이터셋의실제레코드길이가지정한레코드길이와일치하는지체크할수있다. 가변길이레코드일경우에는최대레코드길이를지정한다. 레코드길이를지정하지않으면스키마파일에서얻어온레코드길이를기본값으로사용한다. 생성할데이터셋의 DSORG를지정한다. DSORG 에설정할수있는값은 PS, PSU, DA, DAU, IS 등이있으며, 이옵션을 지정하지않은경우기본값은 PS 이다. [-b blksize] [-f recfm] [-d delimiter] [-w lockwait] 데이터셋의블록사이즈 (BLKSIZE) 를지정한다. 데이터셋의레코드포맷 (RECFM) 을지정한다. 지정할수있는레코드포맷으로는 F(Fixed), FB(Fixed Blocked), V(Variable), VB(Variable Blocked), L(Line) 타입이있다. UNIX 소스파일에서레코드간의구분을위해사용된 delimiter를지정한다. 개행문자, 탭등과같은문자를 delimiter로사용할경우에는 "( 따옴표 ) 안에 escape 문자를사용하여 "\n", "\t" 으로표현한다. Import 대상데이터셋에 Lock이실행중인경우 Lock이해제될때까지대기하고있다가해제되면작업을수행한다. 이옵션을지정하지않은경우적재대상데이터셋에이미 Lock 이실행중이면 에러메시지를출력하고작업수행을중단한다. 제 3 장마이그레이션툴 21

36 옵션 [-n] [-sosi sosi_type] OpenFrame으로적재하지않고변환작업만실행할경우레코드구분을위하여각레코드마다 delimiter로개행문자를붙여준다. SOSI 문자는레코드의 1Byte 문자필드에 2Byte 문자가혼합해서사용되는경우 2Byte 문자를구분하기위해사용된다. SOSI 타입에설정할수있는값은다음과같으며, 기본값은 SOSI를변환하지않고그대로유지하는 1이다. [SOSI 타입 ] - 1 = so[ebc]si -> so[asc]si : SOSI를변환하지않음 (Default) - 2 = so[ebc]si ->_[ASC]_ : SOSI를스페이스로변환 - 3 = so[ebc]si -> [ASC] : SOSI 삭제 - 4 = so[jef]si -> so[asc]si : JEF SOSI를 ASCII SOSI로변환한다. [-N] [-R] 마이그레이션과정에서데이터셋을카탈로그에등록하지않을경우지정한다. 데이터셋이이미카탈로그에등록된경우에 re-catalog 를위한옵션이다. 카탈로그에서대상데이터셋의등록정보를찾아, 해당볼륨으로데이터셋을 Import한다. UNIT, 볼륨정보는그대로유지하고, 그외기타 DCB 정보는새롭게갱신한다. 이옵션을지정하면 unit(-u) 이나 volume(-v) 파라미터는무시되며, 이옵션을지정하지않은경우 Import 대상데이터셋이이미카탈로그에등록되어있다면에러메시지를출력하고작업수행을중단한다. [-F] 대상데이터셋이카탈로그에이미등록되어있다면해당데이터셋을삭제하고, 다시데이터셋 Import 작업을수행하여카탈로그에등록한다. UNIT, 볼륨, 생성 일자등데이터셋의기존등록정보는모두새롭게갱신된다. 이옵션을지정하지않은경우적재대상데이터셋이이미카탈로그에이미등록 되어있다면에러메시지를출력하고작업수행을중단한다. [-D] [-V] EBCDIC 에서 ASCII 로의코드변환과마이그레이션디버깅결과를화면에출력 한다. dsmigin 의버전정보를화면에출력한다. 22 OpenFrame 툴참조안내서

37 사용예제 다음은 PDS 멤버를생성하는예이다. $ dsmigin OFR.DATA.PDSEXAM01.TXT OFR.DATA.PDSEXAM01 -m MEMBER1 다음은 SDS 를생성하는예이다. $ dsmigin OFR.DATA.SDSEXAM01.TXT OFR.DATA.SDSEXAM01 다음은 GDS 를생성하는예이다. $ dsmigin OFR.DATA.GDGEXAM01.TXT OFR.DATA.GDGEXAM01 -m +1 다음은스키마파일의간단한 sample 을보여주는예이다. <DSI.TESTDATA1.conv> ############################ # conversion scheme sample # ############################ * scheme L1, 01, O-RECORD, NULL, 0, 1, L2, 05, FIELD, EBC_ASC, 80, 1, * condition L0, "\0", ( L1 L2 ) ############################ 다음은 UNIX 파일을데이터셋으로적재하는예이다. $ dsmigin DSI.TESTDATA1.txt DSI.TESTDATA1 -s DSI.TESTDATA1.conv -l 80 -v e KR 위의 dsmigin 를실행한결과는다음과같다. =====< DSMIGIN START >===== source file : DSI.TESTDATA1.txt dataset name: DSI.TESTDATA1 member name : unit: volume: schema file : DSI.TESTDATA1.conv encoding type: KR record length: 80 record format: F 제 3 장마이그레이션툴 23

38 dsorg: delimiter: DSMIGIN: (record count = 100) =====< DSMIGIN FINISH >==== 다음은 dsmigin 를실행한후데이터셋등록정보를확인하는예이다. $ tjesmgr psds DSI.TESTDATA1 위의 tjesmgr 를실행한결과는다음과같다. Data Set Name... : DSI.TESTDATA1 Data Set Type... : NONVSAM Catalog Name... : SYS1.MASTER.ICFCAT Management Class. : MCLAS001 Creation Date.. : 2009/01/16 Data Set Owner. : OpenFrame Expiration Date. : 9999/12/31 Storage Class... : Volume Serial.. : Device Type... : 3380 Data Class.... : Organization.. : PS Record Format.. : F KEYLEN..... : 0 Record Length.. : 80 KEYPOS..... : 0 Block Size... : 80 Current Allocation Primary Space.. : N.A. Number of Extents : N.A. Secondaty Space. : N.A. Data Set Size.. : Last Access Date Last Access Date : 2009/01/16 Last Access Time : 11:05:08 관련환경설정 다음과같이 ds.conf 파일에디폴트볼륨시리얼을지정한다. <ds.conf> [DATASET_DEFAULT] DEFAULT_VOLSER=default_volser 다음과같이 ds.conf 파일에디폴트스키마디렉터리를지정한다. 24 OpenFrame 툴참조안내서

39 <ds.conf> [DATASET_DIRECTORY] SCHEMA_DIR=default_schema_directory 다음과같이 ofsys.conf 파일에디폴트 COBOL 타입을지정한다. <ofsys.conf> [COMPILER] COBOL_COMPILER=default_cobol_type 참고 관련툴프로그램으로는 3.5. dsmigout 이있다 dsmigout dsmigout은 ASCII 코드형태의 OpenFrarme 데이터셋을 EBCDIC 코드형태의 Mainframe 데이터셋으로변환하여 UNIX 파일로내보내는 (Export) 툴이다. 가변길이데이터셋을이출할때, 레코드길이를나타내기위하여각레코드마다 RDW(Record Descriptor Word) 를붙여준다. 또한, L 타입의데이터셋을이출할때는개행문자를 delimiter로사용하여각레코드를구분한다. 사용법 dsmigout 프로그램을실행하는방법은다음과같다. Usage: dsmigout dataset_name dest_file [options] 입력항목 항목 dataset_name dest_file 내보내려는데이터셋의이름을기술한다. 데이터셋은카탈로그에등록되어있어야한다. Output으로생성될파일이름을기술한다. [options] 옵션 [-X] OpenFrame 에 ASCII 문자로적재된파일을 EBCDIC 문자로변환하지않고내 보내는경우지정한다. 제 3 장마이그레이션툴 25

40 옵션 [-v] [-e encoding] 추출하려는데이터셋이위치한볼륨시리얼번호를지정한다. 만약, 지정한볼륨에데이터셋이존재하지않을경우에러메시지를출력하고프로그램을종료한다. ASCII에서 EBCDIC으로코드를변환할때 2Byte ASCII 문자를어떤 EBCDIC 문자코드로변환할지를지정한다. encoding 값에따른변환처리는다음과같다. - KR : 한국어 (EUC-KR) - US : 영어 - JP : 일본어 (Shift-JIS) - JAK : 일본어 (JEF) [-s scheme] OpenFrame 데이터셋의한레코드에여러 char-set이섞여있는경우에는 (EBCDIC, ASCII 코드가섞여있거나 2Byte 문자, Packed Decimal, Zoned Decimal 이사용된경우등 ) 레코드단위의단순코드변환이불가능하기때문에 cobgensch 또는 pligensch 프로그램을이용하여스키마파일을생성한다. 스키마파일이생성되면해당파일을지정한다. [-sp] SOSI 문자는레코드의 1Byte 문자필드에 2Byte 문자가혼합해서사용되는경 우 2Byte 문자를구분하기위해사용된다. dsmigin 툴에서 SOSI 를스페이스로변환했다면이옵션을사용하여다시스페 이스에서 SOSI 로변환할수있다. [-D] [-V] ASCII 에서 EBCDIC 으로의코드변환과마이그레이션디버깅결과를화면에출 력한다. dsmigout 의버전정보를화면에출력한다. 사용예제 다음은스키마파일의간단한예이다. <DSI.TESTDATA1.conv> ############################ # conversion scheme sample # ############################ 26 OpenFrame 툴참조안내서

41 * scheme L1, 01, O-RECORD, NULL, 0, 1, L2, 05, FIELD, EBC_ASC, 80, 1, * condition L0, "\0", ( L1 L2 ) ############################ 다음은 dsmigout 결과를보여주는예이다. $ dsmigout DSI.TESTDATA1 DSI.TESTDATA1.out -e KR -s DSI.TESTDATA1.conv 위의 dsmigout 을실행한결과는다음과같다. ==> 100 records exported. DSI.TESTDATA1 의레코드들이 EBC_ASC 변환방식에의해서바뀌어 DSI.TESTDATA1.out 으로출력된 다. 관련환경설정 다음과같이 ds.conf 파일에디폴트스키마디렉터리를지정한다. <ds.conf> [DATASET_DIRECTORY] SCHEMA_DIR=default_schema_directory 참고 관련툴프로그램으로는 3.4. dsmigin 이있다 tplipp tplipp는 Mainframe에서사용하던 PL/I 프로그램소스를 OpenFrame에서동작할수있도록 PL/I 프로그램소스를수정하는툴이다. UNIX에서 Mainframe에서사용하던 PL/I 프로그램을실행하면파일에대한 I/O를할때데이터셋이아닌 UNIX 파일에 I/O를하기때문에 OpenFrame의데이터셋에 I/O를할수있도록수정이필요하다. 이외에도 UNIX에서지원하지않는오퍼레이터콘솔을제공하기위해 OpenFrame 콘솔서버를사용할수있도록수정하는기능, PL/I 기본 sort module 대신 external sort를이용하도록수정하는기능이있다. 다음은 tplipp 구조를한그림이다. 제 3 장마이그레이션툴 27

42 [ 그림 3.2] tplipp 구조 tplipp 에원본 PL/I 소스를입력하면수정된 PL/I 소스가나오고이를컴파일하면 OpenFrame 에서동작하 는 PL/I 바이너리가생성된다. 참고 기본적으로 AIX PL/I 이나 Open Liant PL/I 의컴파일러에서지원하지않는문법은 OpenFrame 에서 도지원하지않는다. 사용법 tplipp 를실행하는방법은다음과같다. Usage: tplipp [-h] [-V] [-y] [-l] [-d] [-info] [-l dir] [-o file] [-fetch] [-s] [-f aix] [-f liant] [-u RC_STOP=n] [-u RC_FILE=n] [-u RC_ERR=n] [-console] [-mfcobol] [-ims][-extsort] 옵션 [-h] [-V] [-y] [-l] [-d] [-info] [-I dir] [-o file] [-fetch] [-s] [-f aix] [-f liant] [-u RC_STOP=n] tplipp에서사용가능한옵션에대한정보를보여준다. tplipp의버전정보를보여준다. parser에서생성된디버그메시지를보여준다. scanner에서생성된디버그메시지를보여준다. parser와 scanner를포함한모든생성된디버그메시지를보여준다. PL/I 소스내에서사용된파일정보를간략하게보여준다. PL/I의 include 파일들이존재하는위치를지정한다. 전처리결과를출력할파일명을지정한다. 모든 External Procedure를 Fetchable module로인식한다. C에서사용하기위해 PL/I을공유라이브러리로만들때이용한다. 입력으로받는 PL/I 소스가 AIX PL/I 일때지정한다. -f 옵션을주지않았을때의기본값으로사용한다. 입력으로받는 PL/I 소스가 Liant Open PL/I 일때지정한다. PL/I가동작할때 STOP 명령에의해프로그램이종료되는경우의반환값을지정한다. 28 OpenFrame 툴참조안내서

43 옵션 [-u RC_FILE=n] [-u RC_ERR=n] [-console] [-mfcobol] [-ims] [-extsort] PL/I가동작할때 FILE ERROR에의해프로그램이종료되는경우의반환값을지정한다. PL/I가동작할때 ERROR condition에의해프로그램이종료되는경우의반환값을지정한다. PL/I 소스내의 DISPLAY 문과 REPLY 명령이 OpenFrame에서제공하는콘솔서버를이용할때지정한다. PL/I에서 MF COBOL 프로시저를호출할때지정하는옵션이다. -fetch 옵션을지정한경우이옵션은무시된다. IMS를이용할때지정하는옵션이다. PLISRTA, PLISRTB, PLISRTC, PLISRTD 함수를 PL/I 기본 sort module 대신 External Sort 로이용하기위한옵션이다. 참고 PL/I 언어가아닌 COBOL 언어에대한유사한기능을하는전처리툴로 cobolprep 가있다 hcob85c hcob85c는 OpenFrame 엔진이 Hitachi용 COBOL 프로그램을원활하게처리할수있도록프로그램소스를전처리하고이를 Shared Object로컴파일하는툴이다. Hitachi Mainframe에서사용하는 COBOL85와그확장기능 ( 일본어변수명사용등 ) 을원활하게지원하기위해 Hitachi의 UNIX용 COBOL 컴파일러인 COBOL2002를사용하도록개발되었다. 본장에서는 hcob85c의환경설정과사용법, 전처리대상항목등에대해한다. 사용법 hcob85c 를실행하는방법은다음과같다. Usage: hcob85c [options] filename [options] 옵션 [-h] [-v] [-d] 툴사용법을확인한다. hcob85c의버전을확인한다. 디버그모드로동작한다. 컴파일단계별로결과파일을저장한다. 결과파일에대한은전처리단계별결과파일 [32] 을참고한다. 제 3 장마이그레이션툴 29

44 입력항목 항목 filename 전처리할 COBOL 프로그램소스파일을지정한다. 확장자가.cob 인경우내부 적으로컴파일전에사용하므로오동작을방지하기위해사용할수없다. 사용예제 다음은 COBOL.TXT 파일을전처리하고컴파일하는예이다. $ hcob85c COBOL.TXT 결과물로는 COBOL.so 가생성된다. 관련환경설정 hcob85c 를사용하기위해서는다음의환경설정이필요하다. 참고 COBOL2002 에대한환경설정은 COBOL2002 의안내서를참고한다. <cobol.conf> [HCOB85] COMMAND=ccbl2002 OPTIONS=-Comp5 -Bin1Byte -CompatiV3 -Compati85,All -DynamicLink,Call -MainNotCBL -Pic,Std LINK=link_command [link_options] COPY_EXT=extension COPY_PATH=path [HCOB85] hcob85c 의정보를설정하는절이다. 항목 COMMAND OPTIONS COBOL 컴파일러의 Binary를지정하는항목으로, ccbl2002를지정한다. COBOL 컴파일러에설정할옵션을지정한다. 각옵션의은표다음내용을참고한다. 위의예제는필수옵션이므로수정하지않는것을권고한다. OPTIONS의수정은충분한검토가필요하며, 권고사항을변경할경우에는 COBOL의동작을보장할수없다. 단, 표다음의 OPTIONS에추가설정이가능하다고명시된옵션은사용자의판단에따라필요할경우추가할수있다. 30 OpenFrame 툴참조안내서

45 항목 LINK Shared Object로만들기위해 Link할때사용할명령어와옵션을입력한다. link_command -o shared_obj_name obj_name [link_options] 형태로실행된다. LINK에 COBOL2002의 libcbl2kml과 libcl2k을링크하기위한옵션은반드시주어져야한다. 예 ) LINK=ld -shared -L/opt/HILNGcbl2k/lib -lcbl2kml -lcbl2k COPY_EXT COPY_PATH Copybook의확장자를지정한다. 콤마 (,) 를구분자로하여복수로지정할수있다. Copybook의검색경로를지정한다. 세미콜론 (;) 을구분자로하여복수로지정할수있다. OPTIONS 다음은앞에서한항목중 OPTIONS에대한이다. 필수옵션다음은 cobol.conf 파일 [HCOB85] 절의 OPTIONS 항목에설정해야하는필수옵션이다. 항목 -Comp5 -Bin1Byte -CompatiV3 -Compati85,All -DynamicLink,Call -MainNotCBL -Pic,Std COMP5 타입을사용할수있도록하기위해지정한다. Binary 타입으로 1Byte 만할당할수도있게한다. VOS3 COBOL85와의호환을위해지정한다. COBOL85와의호환을위해지정한다. 호출대상프로그램이정적으로 Link되어있지않은경우, 동적 Link를하기위해설정한다. COBOL이아닌프로그램에서호출되는프로그램을컴파일할때지정한다. OpenFrame에서는 PGMRTS00이나 ADM 등에서 dlcall을통해호출하기때문에이옵션을설정해야한다. Shared Object로컴파일하기위해지정한다. 추가옵션 다음은 cobol.conf 파일 [HCOB85] 절의 OPTIONS 항목에추가로설정이가능한옵션이다. 항목 -SrcList 소스리스팅에관한옵션이다. COBOL2002 안내서를참고하여적합한파라 미터와함께설정한다. 제 3 장마이그레이션툴 31

46 항목 -Stdversion 사용하고있는 COBOL 상황에따라규격사양을지정한다. 지정하지않으면 JIS87, ISO85, ANSI85, ISO2002에따라처리한다. 처리규칙에대한은 COBOL2002 안내서를참고한다. 예제 다음은 cobol.conf 의예제이다. [HCOB85] COMMAND=ccbl2002 OPTIONS=-Comp5 -Bin1Byte -CompatiV3 -Compati85,All -DynamicLink,Call -MainNotCBL -Pic,Std LINK=ld -shared -L/opt/HILNGcbl2k/lib -lcbl2kml -lcbl2k COPY_EXT=cpy,TXT COPY_PATH=/home/Copybook1;/home/Copybook2 전처리단계별결과파일 hcob85c는전처리과정에서단계별로결과파일을생성한다. 보통종료할때삭제되지만, -d 옵션을이용하여디버그모드로구동할경우, 결과파일이삭제되지않고남게되어문제의원인을파악하는데도움을준다. 다음은원본파일이 COBOL.TXT라고가정하고한전처리단계별결과파일이다. 일반 파일 COBOL.cob COBOL.err COBOL.lst COBOL.so 전처리가완료된소스이다. 컴파일과정에서출력되는내용을저장하는파일이다. COBOL2002에서소스내용을출력하는리스트파일이다. ( 옵션설정에따라생성되지않을수있다.) COBOL.o를필요모듈들과함께 Link하여만든 Shared Object이다. 디버그용 파일 COBOL.copy COBOL.rplc COBOL.netcob COBOL.arng 입력소스에서 COPY 문을전처리한후의소스이다. COBOL.copy를입력으로하여 REPLACE문을전처리한후의소스이다. COBOL.rplc를입력으로하여기타모든전처리를수행한후의소스이다. COBOL.netcob를입력으로하여칼럼재조정등을수행한후의소스이다. 32 OpenFrame 툴참조안내서

47 파일 COBOL.log COBOL.o 전처리과정의메시지를저장한파일이다. 컴파일된 Object 이다. 전처리항목 hcob85c 는대부분의 COBOL 소스를그대로보존하지만, 몇몇항목에대해서는전처리가필요하다. 다음 은전처리되는항목과그내용에관한이다. 참고 각항목의사용법에대한자세한내용은 "VOS3 COBOL85 言語文法書 " 를참고한다. COPY 문 COPY 문은 COBOL 컴파일러의전처리명령으로외부에저장된소스 (Copybook) 를삽입하기위해사용한다. 원래는 COBOL 컴파일러에서처리되지만 Copybook 내의소스도전처리가필요한부분이있을수있기때문에 OpenFrame의전처리기에서원본소스에모두삽입하는처리를한다. 다음은 hcob85c에서지원하는 COPY 문의사용법이다. COPY Copybook [{OF IN} library] [SUPRESS] [PREFIXING prefix] [SUFFIXING suffix] [REPLACING {operand_1 BY operand_2}...] 항목 Copybook library 복사할 Copybook 이름을지정한다. 복사할 Copybook 이위치한라이브러리이름을지정한다. 지정하지않으면 SYSLIB 이지정된다. SUPRESS PREFIXING prefix 복사하는 Copybook 내용이 source listring 에출력되지않도록하는옵션이다. 복사하는 Copybook 내용중다음에해당하는 DATA DIVISION 의데이터명에 prefix 를접두사로추가한다. - 레벨번호직후의 FILLER 이외의데이터명 - REDEFINES 구직후의데이터명 ( 단, 01 레벨은제외한다.) - RENAMES 구직후의데이터명및그수식어 제 3 장마이그레이션툴 33

48 항목 - OCCURS 구의 INDEXED BY 지정의지표명 - KEY IS 지정의데이터명및그수식어 SUFFIXING suffix 복사하는 Copybook 내용중다음에해당하는 DATA DIVISION 의데이터명에 suffix 를접미사로추가한다. - 레벨번호직후의 FILLER 이외의데이터명 - REDEFINES 구직후의데이터명 ( 단, 01 레벨은제외한다.) - RENAMES 구직후의데이터명및그수식어 - OCCURS 구의 INDEXED BY 지정의지표명 - KEY IS 지정의데이터명및그수식어 REPLACING operand_1, operand_2 복사하는 Copybook 내용중 operand_1을 operand_2로치환한다. 다음은 REPLACING의오퍼랜드로지정할수있는항목이다. - pseudo-text : "==" 로둘러싸인문자열과 seperator의조합이다. ( 치환할때 "==" 는포함되지않는다.) - identifier - literal - COBOL 단어 : COPY 는사용할수없다. 다음은 COPY 문의예제이다. COBOL 소스가 Copybook PAYLIB 으로저장되어있는경우이다. 01 A. 02 B PIC S C PIC S A-HOURS PIC S99 OCCURS 1 TO 9 TIMES DEPENDING ON B OF A. 예제 1 다음은 COPY 문의 library 옵션을사용하는예제이다. COPY PAYLIB 34 OpenFrame 툴참조안내서

49 다음과같이원본 COBOL 소스와동일한소스가 COPY 된다. 01 A. 02 B PIC S C PIC S A-HOURS PIC S99 OCCURS 1 TO 9 TIMES DEPENDING ON B OF A. 예제 2 다음은 COPY 문의 library, REPLACING 옵션을사용하는예제이다. COPY PAYLIB REPLACING A BY PAYROLL B BY PAY-CODE. 다음과같이 A 는 PAYROLL 로, B 는 PAY-CODE 로치환된다. 01 PAYROLL. 02 PAY-CODE PIC S C PIC S A-HOURS PIC S99 OCCURS 1 TO 9 TIMES DEPENDING ON PAY-CODE OF PAYROLL. 예제 3 다음은 COPY 문의 REPLACING의오퍼랜드에 pseudo-text를사용하는예제이다. 예제 2에서 A-HOURS의 A는데이터명의부분이기에치환되지않는다. 부분치환을하기위해서는다음과같이 pseudo-text를이용한다. PAYLIB2가다음과같은경우를가정한다. 01 A. 02 B PIC S C PIC S :TAG:-HOURS PIC S99 OCCURS 1 TO 9 TIMES DEPENDING ON B OF A. 다음과같이 COPY 문을수행한다. COPY PAYLIB2 REPLACING ==:TAG:== BY ==PAY==. 결과는다음과같다. 01 A. 02 B PIC S C PIC S PAY-HOURS PIC S99 OCCURS 1 TO 9 TIMES DEPENDING ON B OF A. 제 3 장마이그레이션툴 35

50 모든데이터명에 PAY- 를일괄적으로붙이고싶을경우에는다음과같이 COPY 문을수행한다. COPY PAYLIB PREFIXING PAY-. 결과는다음과같다. 01 PAY-A. 02 PAY-B PIC S PAY-C PIC S PAY-A-HOURS PIC S99 OCCURS 1 TO 9 TIMES DEPENDING ON B OF A. DEPENDING 구는 PREFIXING이나 SUFFIXING의대상이아니기때문에변환되지않는다. REPLACE 문 REPLACE 문은 COBOL 컴파일러의전처리명령으로, COBOL 프로그램의일부분을치환하기위해사용한다. 원래는 COBOL 컴파일러에서처리되지만 REPLACE 문처리후의소스도전처리가필요한부분이있을수있기때문에 OpenFrame의전처리기에서원본소스의 REPLACE 문을처리한다. 소스전체의 COPY 문처리후에동작한다. REPLACE 문이나온부분부터다음 REPLACE 문의바로전까지가치환의대상이된다. REPLACE 문이나오지않으면소스의마지막까지치환한다. 다음은 hcob85c에서지원하는 REPLACE 문의사용법이다. REPLACE {{pseudo-text1 BY pseudo-test2}... OFF}. 항목 pseudo-test1 pseudo-test2 OFF "==" 로둘러싸인문자열과 seperator의조합이다. "==" 는치환할때포함되지않는다. 1개이상의텍스트워드를포함해야한다. "==" 로둘러싸인문자열과 seperator 의조합이다. "==" 는치환할때포함되지않는다. 0개이상의텍스트워드를포함해야한다. 현재작동중인 REPLACE 문의동작을중지시킨다. OPEN 문 OPEN 문은데이터셋을 OPEN하는문장이다. OS의파일이아닌 OpenFrame의데이터셋을 OPEN하기위해서는 OpenFrame에서제공하는라이브러리를 CALL하도록변경해야한다. 다음은 hcob85c에서지원하는 OPEN 문의사용법이다. 36 OpenFrame 툴참조안내서

51 OPEN { INPUT {filename [{REVERSED {[WITH ]NO REWIND}]}... OUTPUT {filename [[WITH ]NO REWIND]}... I-O filename... EXTEND filename...} 전처리과정에서 OPEN 문은다음의 CALL 문으로변경된다. CALL 'acobfh_open' USING BY REFERENCE FILE-DESCRIPTOR-VARIABLE(fd) BY CONTENT 'ddname' BY VALUE ddname_len {BY REFERENCE fstat1 BY VALUE 0} {BY REFERENCE fstat2 BY VALUE 0} BY VALUE organization BY VALUE access_mode BY VALUE open_mode BY VALUE misc {BY REFERENCE rel_key BY VALUE 0} BY VALUE open_flags BY REFERENCE ret {BY REFERENCE record_name OF fdname BY VALUE 0} {BY REFERENCE depending BY VALUE 0} BY VALUE n_buf BY VALUE n_reckey BY VALUE n_altkey BY VALUE n_nomkey {BY VALUE LENGTH OF record_name OF fdname }... {BY VALUE reckey_comp_num BY VALUE {0 1} {BY REFERENCE reckey_name BY VALUE LENGTH OF reckey_name}...} {BY VALUE altkey_comp_num BY VALUE {0 1} {BY REFERENCE altkey_name BY VALUE LENGTH OF altkey_name}...} {BY VALUE nomkey_comp_num BY VALUE {0 1} {BY REFERENCE nomkey_name BY VALUE LENGTH OF nomkey_name}...} END-CALL 다음은 CALL 문의각항목에대한이다. 항목 fd ddname ddname_len fstat1 fstat2 organization OPEN하려는 FD에내부적으로할당한인덱스이다. OPEN하려는 FD에 assign된 DD의이름이다. ddname의길이이다. FD의 FILE STATUS 구문에 1번째로주어진데이터명이다. 주어지지않았다면 BY VALUE 0로 NULL이전달된다. FD의 FILE STATUS 구문에두번째로주어진데이터명이다. 주어지지않았다면 BY VALUE 0로 NULL이전달된다. SELECT 문에주어진 ORGANIZATION 구에해당하는값이전달된다. 제 3 장마이그레이션툴 37

52 항목 access_mode open_mode misc rel_key open_flags ret record_name fdname depending n_buf n_reckey n_altkey n_nomkey reckey_comp_num reckey_name altkey_comp_num altkey_name nomkey_comp_num nomkey_name SELECT 문에주어진 ACCESS구에해당하는값이전달된다. OPEN 문의 INPUT, OUTPUT, I-O, EXTEND에해당하는값이전달된다. SELECT 문에 OPTIONAL 지정여부가전달된다. SELECT 문에 RELATIVE KEY 구가지정된경우, 설정된데이터명이전달된다. 주어지지않았다면 BY VALUE 0로 NULL이전달된다. OPEN 문에지정된 REVERSED나 NO REWIND 등에해당하는값이전달된다. acobfh_open의결과를돌려받을변수를지정한다. FD에연결된 record buffer 이름이전달된다. 주어지지않았다면 BY VALUE 0로 NULL이전달된다. FD 이름을지정한다. FD의 DEPENDING ON구에지정된데이터명이전달된다. 주어지지않았다면 BY VALUE 0로 NULL이전달된다. record buffer의수를지정한다. RECORD KEY의지정여부를전달한다. ALTERNATE RECORD KEY의지정여부가전달된다. NOMINAL KEY의지정여부가전달된다. RECORD KEY의수가전달된다. RECORD KEY의이름이전달된다. ALTERNATE RECORD KEY의수가전달된다. ALTERNATE RECORD KEY의이름이전달된다. NOMINAL KEY의수가전달된다. NOMINAL KEY의이름이전달된다. READ 문 READ 문은데이터셋에서레코드를읽는문장이다. OS의파일이아닌 OpenFrame의데이터셋을읽기위해서는 OpenFrame에서제공하는라이브러리를 CALL하도록변경해야한다. 다음은 hcob85c에서지원하는 READ 문의사용법이다. - Format 1: sequential 파일 READ 시 READ file-name [NEXT] [RECORD] [INTO identifier] [[AT ]END impertive-statement1] [NOT [AT ]END impertive-statement2] [END-READ] - FORMAT 2: random access 파일 READ 시 38 OpenFrame 툴참조안내서

53 READ file-name [RECORD] [INTO identifier] [KEY [IS ]keyname] [INVALID [KEY ]impertive-statement3] [NOT INVALID [KEY ]impertive-statement4] [END-READ] 전처리과정에서 READ 문은다음의 CALL 문으로변경된다. CALL 'acobfh_read' USING BY REFERENCE FILE-DESCRIPTOR-VAR(fd) {BY REFEFENCE into-identifier BY VALUE LENGTH OF into-identifier BY VALYE 0 BY VALUE 0} # INTO 가있으면전자 BY VALUE read_flags BY REFERENCE FILE-STATUS-VAR(fd) BY VALUE reckey_num {BY REFERENCE reckey BY VALUE LENGTH of reckey}... # reckey_num 만큼반복 END-CALL # AT END 존재시추가 IF FILE-STATUS-VAR(fd) = 'CC' THEN imperative-statement1 END-IF # NOT AT END 존재시추가 IF FILE-STATUS-VAR(fd) NOT = 'CC' THEN imperative-statement2 END-IF # INVALID KEY 존재시추가 IF FILE-STATUS-VAR(fd) = 'AA' THEN imperative-statement3 END-IF # NOT INVALID KEY 존재시추가 IF FILE-STATUS-VAR(fd) NOT = 'AA' THEN imperative-statement4 END-IF 항목 fd into-identifier read_flags reckey_num reckey READ하려는파일에내부적으로할당한인덱스이다. INTO 구에주어진 identifer이다. NEXT 구의지정여부가전달된다. record key의개수가전달된다. record key의 dataname이다. 제 3 장마이그레이션툴 39

54 REWRITE 문 REWRITE 문은직접 Access가가능한데이터셋에서레코드를변경하는문장이다. I-O 모드로 OPEN되어야만 REWRITE할수있다. OS의파일이아닌 OpenFrame의데이터셋을변경하기위해서는 OpenFrame 에서제공하는라이브러리를 CALL하도록변경해야한다. 다음은 hcob85c에서지원하는 REWRITE 문의사용법이다. REWRITE record-name [FROM from-identifier] [INVALID [KEY ]impertive-statement1] [NOT INVALID [KEY ]impertive-statement2] [END-REWRITE] 전처리과정에서 REWRITE 문은다음의 CALL 문으로변경된다. # FROM구존재시만하기내용추가 CALL 'cmove' USING BY REFERENCE from-identifier BY VALUE LENGTH OF from-identifier BY REFERENCE record-name BY VALUE LENGTH OF record-name END-CALL # FROM 구관련처리종료 CALL 'acobfh_rewrite' USING BY REFERENCE FILE-DESCRIPTOR-VAR(fd) BY REFEFENCE record-name BY VALUE LENGTH OF record-name BY VALUE rewrite_flags BY REFERENCE FILE-STATUS-VAR(fd) END-CALL # INVALID KEY 존재시추가 IF FILE-STATUS-VAR(fd) = 'AA' THEN imperative-statement1 END-IF # NOT INVALID KEY 존재시추가 IF FILE-STATUS-VAR(fd) NOT = 'AA' THEN imperative-statement2 END-IF 항목 fd from-identifier record-name rewrite_flags REWRITE하려는 FD에내부적으로할당한인덱스이다. FROM 구에주어진 identifer이다. REWRITE 대상레코드에갱신할내용이저장된변수이거나상수이다. REWRITE 문의주어진값그대로전달된다. 정해진기본값이전달되므로특별한의미는없다. 40 OpenFrame 툴참조안내서

55 WRITE 문 WRITE 문은데이터셋에레코드를기록하는문장이다. OUTPUT 또는 I-O 모드로 OPEN되어야만 WRITE 할수있다. OS의파일이아닌 OpenFrame의데이터셋을변경하기위해서는 OpenFrame에서제공하는라이브러리를 CALL하도록변경해야한다. 다음은 hcob85c에서지원하는 WRITE 문의사용법이다. WRITE record-name [FROM from-identifier] { [ {BEFORE AFTER} [ADVANCING] { {line-identifier integer } [{LINE LINES} ] memonic-name PAGE } ] phrase-1 [ invalid-key ] [ not-invalid-key ] } [END-WRITE] phrase-1: [ [AT] { END-OF-PAGE EOP } imperative-statement1 ] [ NOT [AT] { END-OF-PAGE EOP } imperative-statement2 ] invalid-key : [INVALID [KEY ]impertive-statement3] not-invalid-key : [NOT INVALID [KEY ]impertive-statement4] [END-REWRITE] 전처리과정에서 WRITE 문은다음의 CALL 문으로변경된다. # FROM구존재시만하기내용추가 CALL 'cmove' USING BY REFERENCE from-identifier BY VALUE LENGTH OF from-identifier BY REFERENCE record-name BY VALUE LENGTH OF record-name END-CALL # FROM 구관련처리종료 CALL 'acobfh_write' USING BY REFERENCE FILE-DESCRIPTOR-VAR(fd) BY REFEFENCE record-name BY VALUE LENGTH OF record-name BY VALUE line_count_str BY VALUE line_cont_num # about BEFORE/AFTER ADVANCING BY VALUE write_flags BY REFERENCE FILE-STATUS-VAR(fd) END-CALL # AT END-OF-PAGE 존재시추가 IF FILE-STATUS-VAR(fd) = 'EE' THEN imperative-statement1 END-IF 제 3 장마이그레이션툴 41

56 # NOT AT END-OF-PAGE 존재시추가 IF FILE-STATUS-VAR(fd) NOT = 'EE' THEN imperative-statement2 END-IF # INVALID KEY 존재시추가 IF FILE-STATUS-VAR(fd) = 'AA' THEN imperative-statement3 END-IF # NOT INVALID KEY 존재시추가 IF FILE-STATUS-VAR(fd) NOT = 'AA' THEN imperative-statement4 END-IF 항목 fd from-identifier record-name line_count_str line_count_num write_flags WRITE하려는 FD에내부적으로할당한인덱스이다. FROM 구에주어진 identifer이다. WRITE 대상레코드에갱신할내용이저장된변수이거나상수이다. WRITE 문의주어진값그대로전달된다. BEFORE/AFTER ADVACING에주어진 line-identifier나 mnemonic-name, PAGE 등을전달하기위해사용된다. mnemonic-name의경우 ENVIRONMENT DIVISION에 SPECIAL-NAME구로지정된값이있다면이로치환하여전달한다. BEFORE/AFTER ADVACING에주어진 integer값을전달하기위해사용한다. BEFORE/AFTER 구의지정에따라적절한 flag를설정하여전달한다. START 문 START 문은 indexed나 relative 데이터셋에서연속적으로레코드를읽기위해특정레코드위치로이동하는문장이다. OS의파일이아닌 OpenFrame의데이터셋에접근하기위해서는 OpenFrame에서제공하는라이브러리를 CALL하도록변경해야한다. 다음은 hcob85c에서지원하는 START 문의사용법이다. START file-name [KEY [IS] { { EQUAL [TO] = } { GREATER [THAN] > } { NOT LESS THAN NOT < } { GREATER [THAN] OR EQUAL [TO] >= } } data-name] [INVALID [KEY ]impertive-statement1] 42 OpenFrame 툴참조안내서

57 [END-START] [NOT INVALID [KEY ]impertive-statement2] 전처리과정에서 START 문은다음의 CALL 문으로변경된다. CALL 'acobfh_start' USING BY REFERENCE FILE-DESCRIPTOR-VAR(fd) BY VALUE start_flags BY REFERENCE FILE-STATUS-VAR(fd) BY VALUE 1 BY REFERENCE data-name BY VALUE LENGTH OF data-name END-CALL # INVALID KEY 존재시추가 IF FILE-STATUS-VAR(fd) = 'AA' THEN imperative-statement1 END-IF # NOT INVALID KEY 존재시추가 IF FILE-STATUS-VAR(fd) NOT = 'AA' THEN imperative-statement2 END-IF 항목 fd data-name start_flags START하려는 FD에내부적으로할당한인덱스이다. RECORD의키와비교할값이저장된변수이다. 키의비교조건을전달한다. DELETE 문 DELETE 문은 indexed나 relative 데이터셋에서 1개레코드를삭제하기위해사용한다. 레코드의 KEY값은 FD와연결된 record buffer에저장되어있어야한다. OS의파일이아닌 OpenFrame의데이터셋에접근하기위해서는 OpenFrame에서제공하는라이브러리를 CALL하도록변경해야한다. 다음은 hcob85c에서지원하는 DELETE 문의사용법이다. DELETE file-name [RECORD] [INVALID [KEY ]impertive-statement1] [NOT INVALID [KEY ]impertive-statement2] [END-DELETE] 전처리과정에서 DELETE 문은다음의 CALL 문으로변경된다. record buffer는 acobfh_open을통해이미전달되어있다. CALL 'acobfh_delete' USING BY REFERENCE FILE-DESCRIPTOR-VAR(fd) BY VALUE delete_flags 제 3 장마이그레이션툴 43

58 BY REFERENCE FILE-STATUS-VAR(fd) END-CALL # INVALID KEY 존재시추가 IF FILE-STATUS-VAR(fd) = 'AA' THEN imperative-statement1 END-IF # NOT INVALID KEY 존재시추가 IF FILE-STATUS-VAR(fd) NOT = 'AA' THEN imperative-statement2 END-IF 항목 fd delete_flags DELETE 하려는 FD 에내부적으로할당한인덱스이다. 정해진기본값이전달되므로특별한의미는없다. CLOSE 문 CLOSE 문은데이터셋을닫기위해사용한다. OS의파일이아닌 OpenFrame의데이터셋에접근하기위해서는 OpenFrame에서제공하는라이브러리를 CALL하도록변경해야한다. 다음은 hcob85c에서지원하는 CLOSE 문의사용법이다. CLOSE file-name [ { { RELL UNIT } [ { [FOR] REMOVAL ] WITH NO REWIND } ] [WITH] { LOCK NO REWIND } ] 전처리과정에서 CLOSE 문은다음의 CALL 문으로변경된다. CALL 'acobfh_close' USING BY REFERENCE FILE-DESCRIPTOR-VAR(fd) BY VALUE close_flags BY REFERENCE FILE-STATUS-VAR(fd) END-CALL 항목 fd close_flags CLOSE 하려는 FD 에내부적으로할당한인덱스이다. CLOSE 의옵션이전달된다. SORT 문 SORT 문은 1개이상의데이터셋의레코드를정렬하기위해사용한다. OpenFrame의데이터셋에접근하고 OpenFrame에서제공하는 SORT 엔진을사용하기위해서는적절한전처리과정이필요하다. 다음은 hcob85c에서지원하는 SORT 문의사용법이다. 44 OpenFrame 툴참조안내서

59 참고 사용법에대한자세한내용은 "VOS3 COBOL85 言語文法書 " 를참고한다. SORT sd-filename [ON] { ASECNEDING DESCENDING } [KEY] {key-name}... [ [WITH] DUPLICATES [IN] [ORDER] ] [ [COLLATING] SEQUENCE [IS] colseq ] { USING {using-filename}... INPUT PROCEDURE [IS] procedure-name1 [ {THROUGH THRU} procedure-name2 ] } { GIVING {giving-filename}... OUTPUT PROCEDURE [IS] procedure-name3 [ {THROUGH THRU} procedure-name4 ] } 전처리과정에서 SORT 문은다음의 CALL 문으로변경된다. CALL 'aextsm_setup' USING BY VALUE 1 { BY REFERENCE record-name OF sd-filename BY VALUE 0 } # SD 에 record buffer 가주어졌을때는전자, 없으면후자 BY VALUE with_duplicate { BY CONTENT 'col_seq' BY VALUE col_seq_len BY VALUE 0 BY VALUE 0 } # SEQUENCE 가있으면전자, 없으면후자 BY REFERENCE SORT-CORE-SIZE-VAR BY REFRENCE SORT-STATUS-VAR BY VALUE key-num BY VAULE using-dd-num BY VALUE giving-dd-num BY VALUE rec-num # 아래는 key-num 만큼반복 { BY REFERENCE key-name BY VALUE LENGTH OF key-name BY CONTENT 'key-format' BY VALUE sort-order }... # 아래는 using-dd-num 만큼반복 { BY CONTENT 'using-filename' BY VALUE using-filename-len }... # 아래는 giving-dd-num 만큼반복 { BY CONTENT 'giving-filename' BY VALUE giving-filename-len }... # 아래는 rec-num 만큼반복 {BY VALUE LENGTH OF record-name OF sd-filename }... END-CALL # aextsm_setup 의에러체크 IF SORT-STATUS-VAR = 16 GOBACK. ENDIF # 입력레코드전달 # input procedure 가주어졌을때 제 3 장마이그레이션툴 45

60 PERFORM input-proc # input procedure 가주어지지않고 USING DD 가주어졌을때 CALL 'aextsm_put' USING BY REFERENCE SORT-STATUS-VAR END-CALL # aextsm_put 의에러체크 IF SORT-STATUS-VAR = 16 GOBACK. ENDIF # SORT 실행 CALL 'aextsm_run' USING BY REFERENCE SORT-STATUS-VAR END-CALL # aextsm_run 의에러체크 IF SORT-STATUS-VAR = 16 GOBACK. ENDIF # 출력레코드반환 # output procedure 가주여졌을때 PERFORM output-proc # output procedure 가주어지지않고, GIVING DD 가주어졌을때 CALL 'aextsm_get' USING BY REFERENCE SORT-STATUS-VAR END-CALL # aextsm_get 의에러체크 IF SORT-STATUS-VAR = 16 GOBACK. ENDIF # SORT 종료 CALL 'aextsm_end' END-CALL # aextsm_end 의에러체크 IF SORT-STATUS-VAR = 16 GOBACK. ENDIF 항목 record-name sd-filename with-duplicate colseq colseq-len sd-filename과연결된 record buffer의이름을지정한다. SD 문으로선언된 SORT 식별자를지정한다. WITH DUPLICATE 구지정여부를전달하여 stable SORT 여부를결정한다. 정렬순서를지정한다. COLLATING SEQUENCE 문에주어진이름을지정한다. colseq로주어지는이름의길이를지정한다. 46 OpenFrame 툴참조안내서

61 항목 key-num using-dd-num giving-dd-num rec-num key-name key-format sort-order using-filename using-filename-len giving-filename giving-filename-len SORT의정렬키의수를지정한다. USING으로주어진입력 DD의수를지정한다. GIVING으로주어진출력 DD의수를지정한다. SORT 문과연결된 SD 문의 record buffer 수를지정한다. 정렬키의이름을지정한다. 정렬키의형식을지정한다. 정렬키별오름차순, 내림차순을지정한다. 입력데이터셋의 FD 이름을지정한다. 입력데이터셋의 FD 이름의길이를지정한다. 출력데이터셋의 FD 이름을지정한다. 출력데이터셋의 FD 이름의길이를지정한다. MERGE 문 MERGE 문은 2개이상의데이터셋의레코드를 MERGE하기위해사용한다. OpenFrame의데이터셋에접근하고 OpenFrame에서제공하는 MERGE 엔진을사용하기위해서는적절한전처리과정이필요하다. 다음은 hcob85c에서지원하는 MERGE 문의사용법이다. MERGE sd-filename [ON] { ASECNEDING DESCENDING } [KEY] {key-name}... [ [COLLATING] SEQUENCE [IS] alphabet-name ] { USING {using-filename}... INPUT PROCEDURE [IS] procedure-name1 [ {THROUGH THRU} procedure-name2 ] } { GIVING {giving-filename}... OUTPUT PROCEDURE [IS] procedure-name3 [ {THROUGH THRU} procedure-name4 ] } 전처리과정에서 MERGE 문은다음의 CALL 문으로변경된다. CALL 'aextsm_setup' USING BY VALUE 1 { BY REFERENCE record-name OF sd-filename BY VALUE 0 } # SD 에 record buffer 가주어졌을때는전자, 없으면후자 BY VALUE with_duplicate { BY CONTENT 'col_seq' BY VALUE col_seq_len BY VALUE 0 BY VALUE 0 } # SEQUENCE 가있으면전자, 없으면후자 BY REFERENCE SORT-CORE-SIZE-VAR BY REFRENCE SORT-STATUS-VAR BY VALUE key-num BY VAULE using-dd-num 제 3 장마이그레이션툴 47

62 BY VALUE giving-dd-num BY VALUE rec-num # 아래는 key-num 만큼반복 { BY REFERENCE key-name BY VALUE LENGTH OF key-name BY CONTENT 'key-format' BY VALUE sort-order }... # 아래는 using-dd-num 만큼반복 { BY CONTENT 'using-filename' BY VALUE using-filename-len }... # 아래는 giving-dd-num 만큼반복 { BY CONTENT 'giving-filename' BY VALUE giving-filename-len }... # 아래는 rec-num 만큼반복 {BY VALUE LENGTH OF record-name OF sd-filename }... END-CALL # aextsm_setup 의에러체크 IF SORT-STATUS-VAR = 16 GOBACK. ENDIF # 입력레코드전달 # input procedure 가주어졌을때 PERFORM input-proc # input procedure 가주어지지않고 USING DD 가주어졌을때 CALL 'aextsm_put' USING BY REFERENCE SORT-STATUS-VAR END-CALL # aextsm_put 의에러체크 IF SORT-STATUS-VAR = 16 GOBACK. ENDIF # SORT 실행 CALL 'aextsm_run' USING BY REFERENCE SORT-STATUS-VAR END-CALL # aextsm_run 의에러체크 IF SORT-STATUS-VAR = 16 GOBACK. ENDIF # 출력레코드반환 # output procedure 가주여졌을때 PERFORM output-proc # output procedure 가주어지지않고, GIVING DD 가주어졌을때 CALL 'aextsm_get' USING BY REFERENCE SORT-STATUS-VAR END-CALL # aextsm_get 의에러체크 IF SORT-STATUS-VAR = OpenFrame 툴참조안내서

63 GOBACK. ENDIF # SORT 종료 CALL 'aextsm_end' END-CALL # aextsm_end 의에러체크 IF SORT-STATUS-VAR = 16 GOBACK. ENDIF 항목 record-name sd-filename with-duplicate colseq colseq-len key-num using-dd-num giving-dd-num rec-num key-name key-format sort-order using-filename using-filename-len giving-filename giving-filename-len sd-filename과연결된 record buffer의이름을지정한다. SD 문으로선언된 MERGE 식별자를지정한다. WITH DUPLICATE 구지정여부를전달하여 stable MERGE 여부를결정한다. MERGE 순서를지정한다. COLLATING SEQUENCE 문에주어진이름을지정한다. colseq로주어지는이름의길이를지정한다. MERGE의키의수를지정한다. USING으로주어진입력 DD 수를지정한다. GIVING으로주어진출력 DD 수를지정한다. MERGE 문과연결된 SD 문의 record buffer 수를지정한다. MERGE 키의이름을지정한다. MERGE 키의형식을지정한다. MERGE 키별오름차순, 내림차순을지정한다. 입력데이터셋의 FD 이름을지정한다. 입력데이터셋의 FD 이름의길이를지정한다. 출력데이터셋의 FD 이름을지정한다. 출력데이터셋의 FD 이름의길이를지정한다. RELEASE 문 RELEASE 문은주어진 record를 SORT의입력레코드로전달하기위해사용한다. OpenFrame의 SORT 에접근하기위해서 OpenFrame에서제공하는라이브러리를 CALL하도록변경해야한다. 다음은 hcob85c에서지원하는 RELEASE 문의사용법이다. RELEASE record-name FROM from-identifier 전처리과정에서 RELASE 문은다음의 CALL 문으로변경된다. 제 3 장마이그레이션툴 49

64 # from 구존재시 MOVE from-identifier TO record-name. # 통상 CALL 'aextsm_release' USING BY REFERENCE record-name BY VALUE LENGTH OF record-name BY REFERENCE SORT-STATUS-VAR END-CALL # aextsm_release 의에러체크 IF SORT-STATUS-VAR = 16 GOBACK. ENDIF 항목 from-identifer record-name FROM 구에주어진변수또는상수를지정한다. SORT 에전달할 record 변수이름을지정한다. RETURN 문 RETURN 문은 SORT/MERGE의결과를레코드단위로반환하기위해사용한다. OpenFrame의 SORT, MERGE에접근하기위해서 OpenFrame에서제공하는라이브러리를 CALL하도록변경해야한다. 다음은 hcob85c에서지원하는 RETURN 문의사용법이다. RETURN sd-file-name [RECORD] [INTO into-identifier] [ [AT] END imperative-statement1 ] [ NOT [AT] END imperative-statement2 ] END-RETURN 전처리과정에서 RETURN 문은다음의 CALL 문으로변경된다. CALL 'aextsm_return' USING BY REFERENCE record-name OF sd-file-name BY REFERENCE RETURN-CODE-VAR BY REFERENCE SORT-STATUS-VAR END-CALL # aextsm_release 의에러체크 IF SORT-STATUS-VAR = 16 GOBACK. ENDIF # AT END 구존재시 IF RETURN-CODE-VAR = 1 THEN imperative-statement1 END-IF 50 OpenFrame 툴참조안내서

65 # NOT AT END 구존재시 IF RETURN-CODE-VAR NOT = 1 THEN # INTO 문존재시반환된레코드이동 IF SORT-STATUS-VAR = ZERO THEN MOVE record-name OF sd-file-name TO into-identifier END-IF imperative-statement2 END-IF 항목 record-name sd-file-name into-identifier sd-file-name으로주어진 SD의레코드영역이름을지정한다. SORT/MERGE에사용된 SD 이름을지정한다. 반환된 RECORD가추가로저장될변수를지정한다. ACCEPT 문 ACCEPT 문은데이터나시스템날짜관련정보등을주어진변수로전송하기위해사용한다. 이중에서는콘솔로부터전송되는데이터도있는데, OpenFrame의콘솔시스템과연계하기위하여 OpenFrame에서제공하는라이브러리를 CALL하도록변경해야한다. 다음은 hcob85c에서지원하는 ACCEPT 문의사용법이다. # 데이터전송 ACCEPT identifier [FROM source] # 날짜관련 ACCEPT identifier FROM { DATE DAY DAY-OF-WEEK TIME } source가 CONSOLE인경우전처리과정에서 ACCEPT 문은다음의 CALL 문으로변경된다. 이외의경우는변경되지않는다. CALL 'console_accept_cob' USING identifier BY VALUE LENGTH OF identifier END-CALL 항목 identifier ACCEPT 문을수행한후데이터가저장될변수이다. 제 3 장마이그레이션툴 51

66 DISPLAY 문데이터를하드웨어장치에표시하기위해사용한다. 대상장치가콘솔인경우, OpenFrame의콘솔시스템과연계하기위하여 OpenFrame에서제공하는라이브러리를 CALL하도록변경해야한다. 다음은 hcob85c에서지원하는 DISPLAY 문의사용법이다. DISPLAY {identifier literal}... [UPON target] [WITH NO ADVANCING] target 이 CONSOLE 인경우전처리과정에서 DISPLAY 문은다음의 CALL 문으로변경된다. 이외의경우 는변경되지않는다. CALL 'console_display_cob' USING BY VALUE num_object { BY REFERENCE identifier BY VALUE LENGTH OF identifier BY CONTENT string_literal BY VALUE LENGTH OF string_literal BY REFERENCE other_literal BY VALUE LENGTH OF other_literal }... # num_object 만큼반복 END-CALL 항목 num_object identifier string_literal other_literal DISPLAY 문에주어진 identifier나 literal의총수이다. DISPLAY 문에주어진 identifier이다. DISPLAY 문에주어진 literal 중작은따옴표 (') 나큰따옴표 (") 로둘러싸인경우이다. DISPLAY 문에주어진 literal 중 string_literal을제외한경우이다. STOP 문 STOP 문은프로그램의실행을한시적으로또는확정적으로중지시키기위해사용한다. RUN이아닌 literal 이사용된경우, 콘솔과연계할필요성이있기때문에수정이필요하다. 다음은 hcob85c에서지원하는 STOP 문의사용법이다. STOP { RUN literal } 전처리과정에서 STOP 문은다음의 CALL 문으로변경된다. #STOP RUN 의경우 GOBACK #STOP literal 의경우 # CONSOLE 에 literal 표시 CALL 'console_display_cob' USING BY VALUE 1 { BY CONTENT string_literal BY VALUE LENGTH OF string_literal BY REFERENCE other_literal BY VALUE LENGTH OF other_literal } END-CALL # 응답받을변수초기화 52 OpenFrame 툴참조안내서

67 INITIALIZE xxx # operator 응답대기 CALL 'console_accept_cob' USING BY REFERENCE xxx BY VALUE LENGTH OF xxx END-CALL # 응답확인및분기 IF xxx = 'CANCEL' GOBACK ELSE CONTINUE END-IF 항목 fd close_flags STOP 하려는 FD 에내부적으로할당한인덱스이다. CLOSE 의옵션이전달된다. CALL 'CBLTDA' 문 CALL 'CBLTDA' 문은 COBOL에서 ADM의기능을사용할수있도록한다. OpenFrame의 ADM과의호환성을위해몇가지파라미터가추가되어야한다. CALL 'CBLTDA' 는가변파라미터를사용한다. C 함수에서가변파라미터를받기위해서처음파라미터로파라미터의수를넘기도록추가한다. CALL 'CBLTDA' 의 1 번째파라미터가 GU 또는 GHU 를포함하고있다면 CBLTDA 의마지막파라미터 로 3 번째파라미터로주어진변수의크기를전달한다. 다음은 CBLTDA 를 CALL 하는예제이다. CALL 'CBLTDA' USING BY REFERENCE DLI-GU IO-PCB-MASK INPUT-MESSAGE-IO-AREA. 전처리과정에서위의문장은다음과같이변환된다. CALL 'CBLTDA' USING BY CONTENT 3 BY REFERENCE DLI-GU IO-PCB-MASK INPUT-MESSAGE-IO-AREA BY CONTENT LENGTH OF INPUT-MESSAGE-IO-AREA. 제 3 장마이그레이션툴 53

68 일본어 literal 다음은 VOS3 의 COBOL85 에서는지원되는일본어 literal 타입이다. literal NC NN NA NK NH NX 일본어직접정수이다. 가명한자정수이다. KEIS 정수이다. 가타카나정수이다. 히라가나정수이다. 16진한자정수이다. Hitachi 의 COBOL2002 에서는지원되는일본어 literal 타입은 NC, ND, NX 이다. 지원하는 literal 타입이 1:1 대응되지않기때문에, 현재는 NC 와 NX 만 Mapping 하고, 나머지는 NC 로변경 하고있다. 54 OpenFrame 툴참조안내서

69 제 4 장데이터셋관리툴 4.1. dsview dsview 는데이터셋의내용을보여주는툴이다. 사용법 dsview 프로그램을실행하는방법은다음과같다. Usage: dsview [-s] dataset_name [member_name] [-v volume_serial] [-c user_catalog] 항목 [-s] 시스템데이터셋의내용을조회할때사용하는옵션이다. ds.conf 파일의 [SYS1_CLIENT] 절과 [TSAM_CLIENT] 절의접속계정이같은 경우에는옵션에상관없이시스템데이터셋의내용을볼수있다. dataset_name [member_name] [-v volume_serial] [-c user_catalog] 조회할데이터셋의이름을지정한다. 조회할데이터셋의멤버이름을지정한다. 조회할데이터셋의볼륨시리얼을지정한다. 보고자하는데이터셋이카탈로그에등록되어있지않은경우이옵션을설정하여지정한볼륨디렉터리에존재하는데이터셋을볼수있다. 조회할데이터셋이사용자카탈로그에등록되어있는경우이옵션을설정한다. 단, 사용자카탈로그에 alias가설정되어있어서데이터셋이름만으로찾을수있는경우에는이옵션을지정하지않아도된다. 자세한내용은 데이터셋안내서 의 제4장통합카탈로그의카탈로그관리 를참고한다. dsview 에서사용할수있는명령어는다음과같다. 항목 <CTRL>+b <CTRL>+f ^ 이전페이지로이동한다. 다음페이지로이동한다. 현재행의첫문자로이동한다. 제 4 장데이터셋관리툴 55

70 항목 $ 125G :125 G h,j,k,l 현재행의마지막문자로이동한다. 125 라인으로이동한다. 125 라인으로이동한다. 마지막행으로이동한다. 왼쪽, 위쪽, 아래쪽, 오른쪽으로이동한다. 숫자를앞에붙이면숫자만큼이동한다. 예 ) 5h - 5 칸왼쪽으로이동한다. /abc /abc 5 // n <CTRL>+l :h :q abc를검색한다. 5행에서 abc를검색한다. Hexa code로검색한다. 다음내용을검색한다. 화면을새로고침한다. 도움말을보여준다. 종료한다. 사용예제 다음은시스템데이터셋의내용을보여주는예이다. $ dsview -s SYS1.JOBQ 다음은데이터셋에속한멤버의내용을보여주는예이다. $ dsview AAA.PDS TESTPGM 다음은지정한볼륨에위치한데이터셋의내용을보여주는예이다. $ dsview AAA.BBB -v DEFVOL 다음은사용자카탈로그에등록되어있는데이터셋의내용을보여주는예이다. $ dsview AAA.BBB -c USERCAT 56 OpenFrame 툴참조안내서

71 관련환경설정 다음은카탈로그에등록되어있지않은 Non-VSAM 데이터셋의내용을보기위한설정이다. <dstool.conf> [DSVIEW] NOCATALOG_VIEW=[YES NO] 항목 YES NO 카탈로그에등록되어있지않은데이터셋이라도디폴트볼륨에있는 Non-VSAM 데이터셋의내용을볼수있다. 카탈로그에등록되어있지않은데이터셋의내용은볼수없다. 참고 데이터셋에대한자세한내용은 OpenFrame 안내서중 데이터셋안내서 를참고한다 dsedit dsedit은 dsview에서좀더발전된형태로데이터셋의내용을보여주고데이터셋의내용을변경하도록해주는툴이다. dsedit는데이터셋의내용을조회하는 dsview에서데이터셋내용을변경할수있는기능이추가된툴이다. 데이터셋의레코드추가나삭제는불가능하며기존레코드의변경만가능하다. 데이터셋변경작업중에는해당데이터셋에독점적 (Exclusive) 인잠금 (Lock) 을실행시킨다. 단, VSAM 데이터셋에대한변경은할수없다. 시용법 dsedit 프로그램을실행하는방법은다음과같다. Usage: dsedit [-s] dataset_name [member_name] [-v volume_serail] [-c user_catalog] 항목 [-s] 시스템데이터셋의내용을변경할때사용하는옵션이다. 설정파일중 ds.conf 파일의 [SYS1_CLIENT] 절과 [TSAM_CLIENT] 절의접속 계정이같은경우에는옵션에상관없이시스템데이터셋의내용을볼수있다. dataset_name [member_name] 변경할데이터셋의이름이다. 변경할데이터셋의멤버이름이다. 제 4 장데이터셋관리툴 57

72 항목 [-v volume_serial] [-c user_catalog] 변경할데이터셋의볼륨시리얼을지정한다. 변경할데이터셋이카탈로그에등록되어있지않은경우이옵션을설정하여지정한볼륨디렉터리에존재하는데이터셋을찾아올수있다. 변경할데이터셋이사용자카탈로그에등록되어있는경우이옵션을설정한다. 단, 사용자카탈로그에 alias가설정되어있어서데이터셋이름만으로찾을수있는경우에는이옵션을지정하지않아도된다. 자세한내용은 데이터셋안내서 의 제4장통합카탈로그의카탈로그관리 를참고한다. dsedit 에서사용할수있는명령어는다음과같다. 항목 <CTRL>+b <CTRL>+f ^ $ 125G :125 G h,j,k,l 이전페이지로이동한다. 다음페이지로이동한다. 현재행의첫문자로이동한다. 현재행의마지막문자로이동한다. 125 라인으로이동한다. 125 라인으로이동한다. 마지막행으로이동한다. 왼쪽, 위쪽, 아래쪽, 오른쪽으로이동한다. 숫자를앞에붙이면숫자만큼이동한다. 예 ) 5h - 5 칸왼쪽으로이동한다. /abc /abc 5 // n R ESC Backspace <CTRL>+l :h :q abc를검색한다. 5행에서 abc를검색한다. Hexa code로검색한다. 다음내용을검색한다. Replace 모드의시작이다. VSAM의 key는변경할수없다. Replace한내용을저장한다. Replace 모드중에변경내용을되돌린다. 화면을새로고침한다. 도움말을보여준다. 종료한다. 58 OpenFrame 툴참조안내서

73 사용예제 다음은시스템데이터셋의내용을보여주는예이다. $ dsedit -s SYS1.JOBQ 다음은데이터셋에속한멤버의내용을보여주는예이다. $ dsedit AAA.PDS TESTPGM 다음은지정한볼륨에위치한데이터셋의내용을보여주는예이다. $ dsedit AAA.BBB -v DEFVOL 다음은사용자카탈로그에등록되어있는데이터셋을보고자할경우에대한예이다. $ dsedit AAA.BBB -c USERCAT 관련환경설정 카탈로그에등록되어있지않은 Non-VSAM 데이터셋의내용을보기위한설정이다. <dstool.conf> [DSVIEW] NOCATALOG_VIEW=[YES NO] 항목 YES NO 카탈로그에등록되어있지않은데이터셋이라도디폴트볼륨에있는 Non-VSAM 데이터셋의내용을볼수있다. 카탈로그에등록되어있지않은데이터셋의내용은볼수없다. 참고 데이터셋에대한자세한내용은 OpenFrame 안내서중 데이터셋안내서 를참고한다. 제 4 장데이터셋관리툴 59

74 4.3. dsload dsload는 dsedit의기능을보완하기위한툴로서 Non-VSAM 데이터셋을 UNIX 파일로백업하는기능을제공하는툴이다. 백업한파일을내용을수정한후, dssave 툴을사용하면편집된파일을다시 Non-VSAM 데이터셋으로갱신할수있다. 사용법 dsload 프로그램을실행하는방법은다음과같다. Usage: dsload dsname [options] 입력항목 항목 dsname 백업하려고하는데이터셋의이름이다. [options] 옵션 [-c catalog] [-m member] [-t target] 백업하려고하는데이터셋이사용자카탈로그에등록되어있는경우에설정한다. 단, 사용자카탈로그에 alias가설정되어있어서데이터셋이름만으로찾을수있는경우에는이옵션을지정하지않아도된다. 백업하려고하는데이터셋의멤버이름이다. 타겟파일의 UNIX 파일경로이다. 이옵션을지정하지않은경우, 아래의환경설정중 LOAD_DIR 에지정된디렉터 리를타겟 UNIX 파일경로로사용하고, 데이터셋이름과동일한파일을생성한 다. [-d delimiter] 데이터셋레코드사이의 delimiter 를지정한다. 특별히 newline 으로하고자하는 경우 NEWLINE 이라고지정한다. 이옵션을지정하지않은경우, 아래의환경설정중에 DELIMITER 의값을참조 한다. [-F] 대상파일이이미존재하는경우기존의파일을덮어쓰기한다. 60 OpenFrame 툴참조안내서

75 사용예제 다음은데이터셋을 UNIX 파일로백업하는일반적인예이다. $ dsload AAA.BBB 다음은데이터셋의멤버를 UNIX 파일로백업하는예이다. $ dsload AAA.PDS -m MEMBER01 다음은사용자카탈로그에등록되어있는데이터셋을 UNIX 파일로백업하는예이다. $ dsload AAA.BBB -c USERCAT 다음은데이터셋을 UNIX 파일로백업하되, UNIX 에동일한파일이존재할경우덮어쓰기하는예이다. $ dsload AAA.BBB F 다음은데이터셋을 UNIX 파일로백업하며, 레코드간의 delimiter 를 %% 으로지정하는예이다. $ dsload AAA.BBB -d %% 관련환경설정 다음과같이 dstool.conf 파일에 dsload할때데이터셋의크기를제한한다. 설정된값보다작은크기의데이터셋만사용가능하다. 0보다큰수를 Byte 단위로지정한다. <dstool.conf > [DSLOAD] SIZE_LIMIT=size_limit 다음과같이 dstool.conf 파일에 dsload 할때파일을생성할 UNIX 디렉터리경로를지정한다. LOAD_DIR 과 [-t target] 옵션을둘다설정하지않은경우에러가발생한다. <dstool.conf> [DSLOAD] LOAD_DIR=load_dir 다음과같이 dstool.conf 파일에 dsload 할때레코드의 delimiter 로문자또는 NEWLINE 을지정한다. DE LIMITER 와 [-d delimiter] 옵션을둘다설정하지않은경우 delimiter 는 NULL 스트링이다. 제 4 장데이터셋관리툴 61

76 <dstool.conf> [DSLOAD] DELIMITER=delimiter 참고 관련툴프로그램으로는 4.4. dssave 가있다 dssave dssave는 dsedit의기능을보완하기위한툴이다. 변경할데이터셋을 dsload를통해서 UNIX 파일로백업한후, 변경한 UNIX 파일을다시 Non-VSAM 데이터셋으로갱신하는기능을한다. dssave 툴프로그램을사용하면새로운데이터셋을생성하지는않고, 기존에이미카탈로그에등록되어있는데이터셋의내용에덮어쓰기를한다. 사용법 dssave 프로그램을실행하는방법은다음과같다. Usage: dssave dsname [options] 입력항목 항목 dsname 갱신하려고하는데이터셋의이름이다. [options] 옵션 [-c catalog] [-m member] [-s source] 갱신하려고하는데이터셋이사용자카탈로그에등록되어있는경우에설정한다. 단, 사용자카탈로그에 alias가설정되어있어서데이터셋이름만으로찾을수있는경우에는이옵션을지정하지않아도된다. 갱신하려고하는데이터셋의멤버이름이다. 소스파일의 UNIX 파일경로이다. 이옵션을지정하지않은경우, 아래의환경설정중 LOAD_DIR 에지정된디렉터 리를소스 UNIX 파일경로로사용하고, 이디렉터리에서데이터셋이름으로파 일을찾는다. [-d delimiter] 데이터셋레코드사이의 delimiter 를지정한다. 특별히 newline 으로하고자하는 경우 NEWLINE 이라고지정한다. 62 OpenFrame 툴참조안내서

77 옵션 이옵션을지정하지않은경우, 아래의환경설정중에 DELIMITER 의값을참조 한다. [-B] [-R] [-T] 적용데이터셋의레코드포맷 (RECFM) 이고정길이 (FB) 일때, 소스파일의한레코드의길이가짧다면그길이만큼레코드의뒷부분을스페이스로채워준다. 데이터셋으로갱신하고난후소스파일을삭제한다. 소스파일을데이터셋으로갱신할수있는지와레코드의길이, 포맷, delimiter를확인한다. 사용예제 다음은 UNIX 파일을 Non-VSAM 데이터셋으로갱신하는일반적인예이다. $ dssave AAA.BBB 다음은 UNIX 파일을 Non-VSAM 데이터셋의멤버로갱신하는예이다. $ dssave AAA.PDS -m MEMBER01 다음은 UNIX 파일을사용자카탈로그에등록된 Non-VSAM 데이터셋으로갱신하는예이다. $ dssave AAA.BBB -c USERCAT 다음은데이터셋레코드간의 delimiter 를 %% 으로지정하는예이다. $ dssave AAA.BBB -d %% 다음은 RECFM=FB 인 Non-VSAM 데이터셋으로갱신하는경우부족한레코드길이를스페이스로채우 는예이다. $ dssave AAA.BBB B 다음은 UNIX 파일을데이터셋으로갱신한후소스파일을삭제하는예이다. $ dssave AAA.BBB R 제 4 장데이터셋관리툴 63

78 다음은 UNIX 파일을데이터셋으로갱신할수있는지확인하는예이다. $ dssave AAA.BBB -T 참고 dssave 를수행하기위해서는사전에 dsload 툴을사용하여 UNIX 에소스파일을생성해두어야한다. 관련환경설정 다음과같이 dstool.conf 파일에 dssave할때소스파일의 UNIX 디렉터리경로를지정한다. LOAD_DIR과 [-s source] 옵션을둘다설정하지않은경우에러가발생한다. <dstool.conf> [DSLOAD] LOAD_DIR=load_dir 다음과같이 dstool.conf 파일에 dssave 할때레코드의 delimiter 로문자또는 NEWLINE 을지정한다. DELIMITER 와 [-d delimiter] 옵션을둘다설정하지않은경우 delimiter 는 NULL 스트링이다. <dstool.conf> [DSLOAD] DELIMITER=delimiter 참고 관련툴프로그램으로는 4.3. dsload 가있다 dslist dslist는특정볼륨에있는데이터셋에대한정보를조회하거나혹은특정카탈로그에등록된데이터셋에대한정보를조회할때사용하는툴이다. dslist는사용자의옵션에따라다음과같은기능을제공한다. 특정볼륨에들어있는데이터셋에대한정보를조회한다. 특정카탈로그에등록된데이터셋에대한정보를조회한다. 생성일자, 마지막참조일자및데이터셋크기별로조건을주어서조건에해당하는데이터셋정보를 조회한다. 64 OpenFrame 툴참조안내서

79 사용법 dslist 프로그램을실행하는방법은다음과같다. Usage: dslist [options] [dsname] [options] 옵션 [-c catalog] [-v volume] [-n dsname] [-l] [-a] [-cd date] [-rd date] [-sz size] 특정카탈로그에등록된데이터셋을조회할때사용된다. 지정된카탈로그에등록된데이터셋정보만조회된다. 특정볼륨에속해있는데이터셋을조회한다. 지정한볼륨에해당하는데이터셋정보만조회된다. 조회하고자하는데이터셋이름을정확하게지정한다. 와일드카드문자를사용할수있다. 데이터셋에대한정보를상세하게출력한다. 데이터셋에대한정보를상세하게출력하고, PDS 멤버에대한목록및연관되어있는카탈로그항목을출력한다. 특정날짜에생성된데이터셋의목록을출력한다. 날짜는 YYYYMMDD 형식으로지정하거나 YYYYMMDD-YYYYMMDD의형식으로기간을지정할수도있다. 특정날짜에참조된데이터셋의목록을출력한다. 날짜는 YYYYMMDD 형식으로지정하거나 YYYYMMDD-YYYYMMDD의형식으로기간을지정할수도있다. 조회하고자하는데이터셋의크기범위를 MIN-MAX 형식으로지정한다. 입력항목 항목 [dsname] 조회하고자하는데이터셋이름의앞글자일부를지정한다. 참고와일드카드를사용하여조회하려고하는데이터셋의이름을지정하는경우다음과같이사용할수있다. - AAA.* 는 AAA.BBB나 AAA.CCC처럼 AAA. 으로시작하는 2개의퀄리파이어로구성된데이터셋을찾는다. - AAA.** 는 AAA.BBB, AAA.CCC, AAA.BBB.FFF, AAA.BBB.GGG처럼 AAA. 으로시작하는모든데이터셋을찾는다. 제 4 장데이터셋관리툴 65

80 사용예제 다음은볼륨 에속해있는데이터셋의정보를조회하는예이다. $ dslist -v 위의 dslist 프로그램수행후출력되는내용은다음과같다. dslist version 5.0.1(1) igkangingyukang:ofsrc5/base(#2) :54:22 Print Dataset List and Information SYS1.VTOC.V VOLUME DSORG RECFM LRECL PROD.BATCHLIB PO FB 80 SYS1.JCLLIB PO F 80 SYS1.PROCLIB PO FB 80 TEST.ADAPTA PS FB 80 TEST.ADAPTA PS FB 80 TEST.ADAPTC PS FB 80 TEST.ADAPTC PS FB 80 TEST.ADAPTC PS FB 80 TEST.ADAPTE PS FB 80 TEST.FBA.FAF PS FBA 133 TEST.IMS PS FBA 133 TEST.IMS IS FB 80 TEST.IMS PS FB 80 TEST.IMS38275.SECOND PS FB 80 TEST.IMS38357.IN PS FB 33 TEST.IMS38357.OUT PS FB 33 TEST.JCLLIB PO F 80 TEST.NVSMJOB PS F 20 TEST.SAMPLE PS FB 50 TEST.SPNAME PS FBA 133 TEST.TESTGDG.G0001V PS FB 80 TEST.TESTGDG.G0002V PS FB * Total 22 entries in volume printed. 다음은볼륨 에속해있는데이터셋중이름이 SYS1 으로시작되는데이터셋의정보를상세조회 하는예이다. $ dslist -v SYS1.** -a 위의 dslist 프로그램수행후출력되는내용은다음과같다. 66 OpenFrame 툴참조안내서

81 dslist version 5.0.1(1) igkangingyukang:ofsrc5/base(#2) :54:22 Print Dataset List and Information Data Set Name... : SYS1.JCLLIB Data Set Type... : NONVSAM Management Class Creation Date.. : 2008/06/10 Data Set Owner. : Expiration Date. : 9999/12/31 Storage Class Volume Serial.. : Device Type... : 3380 Data Class Organization.. : PO Record Format.. : F KEYLEN..... : 0 Record Length.. : 80 KEYPOS..... : 0 Block Size... : 80 Current Allocation Primary Space.. : 2048(MB) Number of Extents : 0 Secondary Space. : 0(KB) Data Set Size.. : 0 Last Access Date Last Access Date : 2008/06/10 Last Access Time : 11:25: Data Set Name... : SYS1.PROCLIB Data Set Type... : NONVSAM Management Class Creation Date.. : ***None*** Data Set Owner. : igkang Expiration Date. : ***None*** Storage Class Volume Serial.. : Device Type... : 3380 Data Class Organization.. : PO Record Format.. : FB KEYLEN..... : 0 Record Length.. : 80 KEYPOS..... : 0 Block Size... : 80 Current Allocation Primary Space.. : N.A. Number of Extents : N.A. Secondary Space. : N.A. Data Set Size.. : 0 Last Access Date Last Access Date : 2008/11/17 Last Access Time : 19:21:43 제 4 장데이터셋관리툴 67

82 * Total 2 entries in volume printed dstouch dstouch는카탈로그나 VTOC에저장된데이터셋의통계정보 ( 총레코드개수, 데이터셋크기 ) 및생성일자를갱신하는툴이다. 데이터셋의실제총레코드개수가카탈로그에저장되어있는개수와다른경우실제레코드개수로카탈로그의정보를갱신한다. 사용법 dstouch 프로그램을실행하는방법은다음과같다. Usage: dstouch [-s] dsname [member] [-v volser] [-c catalog] [-d date] 항목 [-s] dsname [member] [-v volser] [-c catalog] [-d date] 시스템데이터셋인경우지정한다. 정보를갱신하려고하는데이터셋의이름을지정한다. 정보를갱신하려고하는데이터셋의멤버이름을지정한다. 데이터셋이위치한볼륨시리얼을지정한다. 데이터셋이카탈로그에등록되어있지않은경우, 반드시지정해주어야한다. 데이터셋이사용자카탈로그에등록되어있는경우지정한다. 단, 사용자카탈로그 alias가설정되어있어서데이터셋이름만으로사용자카탈로그를찾을수있는경우에는이옵션을지정하지않아도된다. 정보를갱신하려고하는데이터셋의생성일자를 YYYYMMDD 형식으로지정한다. 참고 [-c catalog] 에대한자세한내용은 OpenFrame 안내서중 데이터셋안내서 의 제 4 장통합카탈로 그의카탈로그관리 를참고한다. 사용예제 다음은카탈로그되어있는 TEST.AAA 데이터셋의총레코드의개수를갱신하는예이다. $ dstouch TEST.AAA 68 OpenFrame 툴참조안내서

83 다음은카탈로그되어있는 PDS TEST.BBB 의멤버 MEMBER01 의정보를갱신하는예이다. $ dstouch TEST.BBB MEMBER01 다음은사용자카탈로그 USERCAT 에등록되어있는 TEST.CCC 데이터셋의총레코드개수를갱신하는 예이다. $ dstouch TEST.CCC -c USERCAT 다음은 TEST.AAA 데이터셋의총레코드개수를갱신하고생성일자 2007 년 4 월 30 일로변경하는예이다. $ dstouch TEST.AAA -d 참고 데이터셋에대한자세한내용은 OpenFrame 안내서중 데이터셋안내서 를참고한다 dscopy dscopy 는데이터셋을다른볼륨이나다른이름으로복사하는툴이다. 사용법 dscopy 프로그램을실행하는방법은다음과같다. Usage: dscopy [options] source dest [options] 옵션 [-c catalog] [-v volume] [-t volume] 입력데이터셋을찾기위해검색할카탈로그를지정한다. 입력데이터셋이위치하는볼륨시리얼을지정한다. 출력데이터셋이위치할볼륨시리얼을지정한다. 입력항목 항목 source dest 입력데이터셋이름을기술한다. 출력데이터셋이름을기술한다. 제 4 장데이터셋관리툴 69

84 사용예제 다음은카탈로그된데이터셋을복사하는예이다. $ dsmove TEST.DSCOPY01 TEST.DSCOPY02 위의 dscopy 프로그램실행전 TEST.DSCOPY01 의정보는다음과같다. Data Set Name... : TEST.DSCOPY01 Data Set Type... : NONVSAM Catalog Name... : SYS1.MASTER.ICFCAT Management Class. : Creation Date.. : 2009/08/24 Data Set Owner. : igkang Expiration Date. : ***None*** Storage Class... : Volume Serial.. : Device Type... : 3380 Data Class.... : Organization.. : PS Record Format.. : FB KEYLEN..... : 0 Record Length.. : 80 KEYPOS..... : 0 Block Size... : 4096 Current Allocation Primary Space.. : 2048(MB) Number of Extents : 0 Secondary Space. : 0(KB) Data Set Size.. : 0 Last Access Date Last Access Date : 2009/08/24 Last Access Time : 19:56:01 dscopy 프로그램을실행하면다음메시지가출력된다. dscopy version 5.1.1(3) igkang@ingyukang:ofsrc5/base(#4) :06:06 Copy an Existing Dataset DSCOPY SOURCE=TEST.DSCOPY01,DEST=TEST.DSCOPY02,CATALOG=,VOLSER=,TARGET= COMPLETED SUCCESSFULLY. dscopy 프로그램실행후 TEST.DSCOPY02 의정보는다음과같다. Data Set Name... : TEST.DSCOPY02 Data Set Type... : NONVSAM Catalog Name... : SYS1.MASTER.ICFCAT 70 OpenFrame 툴참조안내서

85 Management Class. : Creation Date.. : 2009/08/24 Data Set Owner. : igkang Expiration Date. : ***None*** Storage Class... : Volume Serial.. : Device Type... : 3380 Data Class.... : Organization.. : PS Record Format.. : FB KEYLEN..... : 0 Record Length.. : 80 KEYPOS..... : 0 Block Size... : 4096 Current Allocation Primary Space.. : 2048(MB) Number of Extents : 0 Secondary Space. : 4096(KB) Data Set Size.. : 0 Last Access Date Last Access Date : 2009/08/24 Last Access Time : 20:00: dsmove dsmove는데이터셋을이동시키는기능을하는툴이다. 데이터셋의이름은유지하면서볼륨만변경하거나, 데이터셋의이름만변경하는경우, 그리고설정에따라서데이터셋의이름과볼륨을모두변경할수도있다. 데이터셋이이동될때데이터셋의생성일자는입력데이터셋의생성일자로유지된다. 사용법 dsmove 프로그램을실행하는방법은다음과같다. Usage: dsmove [options] source dest [options] 옵션 [-c catalog] [-v volume] [-t volume] 입력데이터셋을찾기위해검색할카탈로그를지정한다. 입력데이터셋이위치하는볼륨시리얼을지정한다. 출력데이터셋이위치할볼륨시리얼을지정한다. 입력항목 항목 source 입력데이터셋이름을기술한다. 제 4 장데이터셋관리툴 71

86 항목 dsmove 가정상종료되면입력데이터셋은삭제된다. dest 출력데이터셋이름을기술한다. 사용예제 다음은카탈로그된데이터셋의볼륨만을변경하는예이다. $ dsmove TEST.DSMOVE01 TEST.DSMOVE01 -t 위의 dsmove 프로그램실행전 TEST.DSMOVE01 의정보는다음과같다. Data Set Name... : TEST.DSMOVE01 Data Set Type... : NONVSAM Catalog Name... : SYS1.MASTER.ICFCAT Management Class. : Creation Date.. : 2009/02/03 Data Set Owner. : igkang Expiration Date. : ***None*** Storage Class... : Volume Serial.. : Device Type... : 3380 Data Class.... : Organization.. : PS Record Format.. : FB KEYLEN..... : 0 Record Length.. : 80 KEYPOS..... : 0 Block Size... : 4096 Current Allocation Primary Space.. : 2048(MB) Number of Extents : 0 Secondary Space. : 0(KB) Data Set Size.. : 0 Last Access Date Last Access Date : 2009/02/03 Last Access Time : 12:56:46 dsmove 프로그램을실행하면다음메시지가출력된다. dsmove version 5.0.1(7) igkang@ingyukang:ofsrc5/base(#2) :54:22 Move or Rename a Dataset DSMOVE SOURCE=TEST.DSMOVE01,DEST=TEST.DSMOVE01,CATALOG=,VOLSER=,TARGET= COMPLETED SUCCESSFULLY. 72 OpenFrame 툴참조안내서

87 dsmove 프로그램을실행한후 TEST.DSMOVE01 의정보는다음과같다. Data Set Name... : TEST.DSMOVE01 Data Set Type... : NONVSAM Catalog Name... : SYS1.MASTER.ICFCAT Management Class. : Creation Date.. : 2009/02/03 Data Set Owner. : igkang Expiration Date. : ***None*** Storage Class... : Volume Serial.. : Device Type... : 3480 Data Class.... : Organization.. : PS Record Format.. : FB KEYLEN..... : 0 Record Length.. : 80 KEYPOS..... : 0 Block Size... : 4096 Current Allocation Primary Space.. : 2048(MB) Number of Extents : 0 Secondary Space. : 4096(KB) Data Set Size.. : 0 Last Access Date Last Access Date : 2009/02/03 Last Access Time : 12:58:43 위의예제에서데이터셋 TEST.DSMOVE01 의볼륨이 에서 으로바뀌었다. 볼륨 은테이프볼륨으로설정된상태라 Device Type 도 3480(TAPE DEVICE) 으로바뀌었다. 다음은데이터셋의이름을변경하는예이다. $ dsmove TEST.DSMOVE02 TEST.DSMOVE03 dsmove 프로그램실행전 TEST.DSMOVE02 의정보는다음과같다. Data Set Name... : TEST.DSMOVE02 Data Set Type... : NONVSAM Catalog Name... : SYS1.MASTER.ICFCAT Management Class. : Creation Date.. : 2009/02/03 Data Set Owner. : igkang Expiration Date. : ***None*** Storage Class... : Volume Serial.. : Device Type... : 3480 제 4 장데이터셋관리툴 73

88 Data Class.... : Organization.. : PS Record Format.. : FB KEYLEN..... : 0 Record Length.. : 80 KEYPOS..... : 0 Block Size... : 4096 Current Allocation Primary Space.. : N.A. Number of Extents : N.A. Secondary Space. : N.A. Data Set Size.. : 0 Last Access Date Last Access Date : 2009/02/03 Last Access Time : 13:04:40 dsmove 프로그램실행후다음메시지가출력된다. dsmove version 5.0.1(7) igkangingyukang:ofsrc5/base(#2) :54:22 Move or Rename a Dataset DSMOVE SOURCE=TEST.DSMOVE02,DEST=TEST.DSMOVE03,CATALOG=,VOLSER=,TARGET= COMPLETED SUCCESSFULLY. 데이터셋 TEST.DSMOVE02 는삭제되고, 데이터셋 TEST.DSMOVE03 이생성된다. TEST.DSMOVE03 의정보는다음과같다. Data Set Name... : TEST.DSMOVE03 Data Set Type... : NONVSAM Catalog Name... : SYS1.MASTER.ICFCAT Management Class. : Creation Date.. : 2009/02/03 Data Set Owner. : igkang Expiration Date. : ***None*** Storage Class... : Volume Serial.. : Device Type... : 3480 Data Class.... : Organization.. : PS Record Format.. : FB KEYLEN..... : 0 Record Length.. : 80 KEYPOS..... : 0 Block Size... : 4096 Current Allocation Primary Space.. : 4096(KB) Number of Extents : 0 Secondary Space. : 4096(KB) Data Set Size.. : 0 Last Access Date Last Access Date : 2009/02/03 Last Access Time : 13:05:16 74 OpenFrame 툴참조안내서

89 위의예제에서데이터셋이름은 TEST.DSMOVE03 으로변경되고, Last Access Date(Time) 을제외한나 머지정보는동일하다 dsshm dsshm 은데이터셋을할당할때생성되는 DCB(Data Control Block) 구조체의저장공간인공유메모리 (Shared Memory) 에대해정보를조회하고, 삭제하는등의관리를도와주는툴이다. 참고데이터셋의할당에사용되는공유메모리는자동으로재사용이되는구조로설계되어있어서정상적으로 OpenFrame이운영될경우에는특별히주의할필요가없으나, 비정상적인프로그램의종료등으로인하여데이터셋의할당에사용되는공유메모리가재사용되지않는경우, 새로운작업에필요한데이터셋의할당공간이부족해져서작업을실행시키지못하는경우가발생할수있다. 이때 DSALC_ERR_NO_AVAILABLE_SLOT 에러가발생하는데, 이런경우에는 dsshm 프로그램으로사용되지않는데이터셋할당공간을삭제하거나 OpenFrame을재기동하면문제를해결할수있다. 시스템이불안정하여작업이비정상적으로종료되는경우가빈번하거나, 재부팅을하지않고하지않고오랜기간동안 OpenFrame을운영하는경우에는가끔씩데이터셋의할당에사용되는공유메모리의상태를확인해줄것을권장한다. 사용법 dsshm 프로그램을실행하는방법은다음과같다. Usage: dsshm command [options] command command list delete 공유메모리의목록을조회한다. 공유메모리공간을삭제한다. [options] 옵션 [-a] [-i index] [-r from to] [-d date] [-j jobid] 공유메모리에저장된정보를상세하게출력한다. 조회하거나삭제할공유메모리의인덱스를지정한다. 조회하거나삭제할공유메모리의범위를지정한다. 조회하거나삭제할공유메모리의할당일자를지정한다. 조회하거나삭제할공유메모리의작업 ID를지정한다. 제 4 장데이터셋관리툴 75

90 옵션 [-p pid] [-n name] 조회하거나삭제할공유메모리의할당 PID 를지정한다. 조회하거나삭제할공유메모리의데이터셋이름을지정한다. 사용예제 다음은데이터셋할당에사용되는공유메모리의목록을조회하는예이다. 목록의내용이많으므로 SYS1.JOBQ 로시작하는데이터셋의할당내용만조회한다. $ dsshm list -n SYS1.JOBQ 위의프로그램을실행하면다음과같은목록이출력된다. dsshm version 5.0.0(1) base50@ingyukang:ofsrc5/base(#1) :24:55 Dataset Shared Memory Slot Mangement Program [000012] JOBID=,DATE= ,PID=6207,DCB_NAME=SYS1.MASTER.ICFCAT:SYS1.JOBQ [000013] JOBID=,DATE= ,PID=6210,DCB_NAME=SYS1.MASTER.ICFCAT:SYS1.JOBQ [000014] JOBID=,DATE= ,PID=6210,DCB_NAME=SYS1.MASTER.ICFCAT:SYS1.JOBQ.ID [000016] JOBID=,DATE= ,PID=6210,DCB_NAME=SYS1.MASTER.ICFCAT:SYS1.JOBQ.NAME... [000081] JOBID=,DATE= ,PID=6208,DCB_NAME=SYS1.MASTER.ICFCAT:SYS1.JOBQ [000082] JOBID=,DATE= ,PID=6208,DCB_NAME=SYS1.MASTER.ICFCAT:SYS1.JOBQ.ID [000083] JOBID=,DATE= ,PID=6208,DCB_NAME=SYS1.MASTER.ICFCAT:SYS1.JOBQ.NAME [000084] JOBID=,DATE= ,PID=6208,DCB_NAME=SYS1.MASTER.ICFCAT:SYS1.JOBQ.STAT *** Total 48 allocation items printed dscreate dscreate 는 Non-VSAM 데이터셋생성에필요한아규먼트를사용자로부터직접받아서 Non-VSAM 데이 터셋을신규로생성하는툴프로그램이다. 사용법 dscreate 프로그램을실행하는방법은다음과같다. Usage: dscreate [options] dsname [options] 76 OpenFrame 툴참조안내서

91 옵션 [-c catalog] [-v volume] [-u unit] [-m member] [-o dsorg] [-f recfm] [-b blksize] [-l lrecl] [-k keylen] [-p keypos] [-s space] 데이터셋을특정카탈로그에등록하려고할때지정한다. 새로운데이터셋이위치하게될볼륨정보를지정한다. 새로운데이터셋이할당될 UNIT의유형을지정한다. PDS의멤버이름을지정한다. 데이터셋의 DSORG 파라미터를지정한다. 데이터셋의레코드형식 (RECFM) 파라미터를지정한다. 데이터셋의블록크기를지정한다. 데이터셋의레코드크기를지정한다. 데이터셋의키길이를지정한다. (ISAM 데이터셋 ) 데이터셋의키위치를지정한다. (ISAM 데이터셋 ) 데이터셋의공간파라미터를지정한다. (TRK/CYL/unit,primary,secondary,directory) [-x expdt] [-r retpd] [-N] [-R] 데이터셋의만료일자를지정한다. (YYYYMMDD 형식 ) 데이터셋의보존기간을지정한다.( 보존날자수 ) 데이터셋을신규로생성하되카탈로그에등록하지않는다. (NOCATALOG 옵션 ) 데이터셋을생성하지않고카탈로그에항목만등록한다. (RECATALOG 옵션 ) 입력항목 항목 dsname 생성하려고하는데이터셋의이름을지정한다. 사용예제 다음은 볼륨에데이터셋을신규로생성하는예이다. $ dscreate AAA.BBB -v f FB -l 120 -b s CYL,10,10 다음은데이터셋을생성하면서특정사용자카탈로그에등록하는예이다. $ dscreate AAA.BBB -c USERCAT -f FB -l 120 -v 제 4 장데이터셋관리툴 77

92 4.11. dsdelete dsdelete 는기존에존재하는 Non-VSAM 데이터셋을삭제하는툴프로그램이다. 사용법 dsdelete 프로그램을실행하는방법은다음과같다. Usage: dsdelete [options] dsname [options] 옵션 [-c catalog] [-v volume] [-m member] [-U] 특정카탈로그에등록된데이터셋을삭제하려고할때지정한다. 삭제할데이터셋이위치한볼륨정보를지정한다. PDS의멤버이름을지정한다. 데이터셋을제거하지않고카탈로그에항목만삭제한다. (UNCATALOG 옵션 ) 입력항목 항목 dsname 삭제하려고하는데이터셋의이름을지정한다. 사용예제 다음은 볼륨에있는데이터셋을삭제하는예이다. $ dsdelete AAA.BBB -v 다음은특정사용자카탈로그에등록된데이터셋을삭제하는예이다. $ dsdelete AAA.BBB -c USERCAT 78 OpenFrame 툴참조안내서

93 4.12. gdgcreate gdgcreate 는 GDG 항목생성에필요한파라미터를사용자로부터직접받아서 GDG 항목을신규로생성 하는툴프로그램이다. 사용법 gdgcreate 프로그램을실행하는방법은다음과같다. Usage: dscreate [options] gdgname [options] 옵션 [-c catalog] [-l limit] [-x expdt] [-E] [-S] GDG 항목을특정카탈로그에등록하려고할때지정한다. GDG LIMIT 값을설정한다. 지정하지않는경우 255의값이설정된다. GDG 항목의만료일자를지정한다. (YYYYMMDD 형식 ) GDG LIMIT 값을초과할때, 연관된 GDS를카탈로그에서삭제한다. (EMPTY 옵션 ) 카탈로그에서삭제할때, GDS를제거한다. (SCRATCH 옵션 ) 입력항목 항목 gdgname 생성하려고하는 GDG 항목의이름을지정한다. 참고 현재의 OpenFrame 버전에서는 EMPTY 옵션과 SCRATCH 옵션을지원하지않는다. 실제로는모든 GDG 항목이 NOEMPTY 옵션과 SCRATCH 옵션을가진것으로간주된다. 사용예제 다음은 GDG LIMIT 가 12 인 GDG 항목을생성하는예이다. $ gdgcreate TEST.GDGBASE -l 12 다음은 GDG 항목을특정사용자카탈로그에등록하는예이다. $ gdgcreate TEST.GDGBASE -c USERCAT 제 4 장데이터셋관리툴 79

94 4.13. gdgdelete gdgdelete 는기존에등록된 GDG 항목을삭제하는툴프로그램이다. 사용법 gdgdelete 프로그램을실행하는방법은다음과같다. Usage: dscreate [options] gdgname [options] 옵션 [-c catalog] [-F] 특정카탈로그에등록된 GDG 항목을삭제하려고할때지정한다. 연관된 GDS 이존재할때, 함께삭제한다. (FORCE 옵션 ) 입력항목 항목 gdgname 삭제하려고하는 GDG 항목의이름을지정한다. 사용예제 다음은 GDG 항목을 GDS 과함께삭제하는예이다. $ gdgdelete TEST.GDGBASE -F 다음은특정사용자카탈로그에등록된 GDG 항목을삭제하는예이다. $ gdgdelete TEST.GDGBASE -c USERCAT 80 OpenFrame 툴참조안내서

95 4.14. idcams idcams는 IDCAMS 유틸리티의기능을 UNIX 셸에서직접실행할수있도록만든툴프로그램이다. idcams 툴프로그램을이용하면 VSAM 데이터셋혹은사용자카탈로그를생성하거나삭제할수있고, REPRO 명령을이용해서데이터셋을복사하거나, BLDINDEX 명령을이용해서기존 VSAM 데이터셋에대한보조인덱스를구성할수있다. 참고 Non-VSAM 데이터셋의생성과삭제및 GDG 항목의생성과삭제기능은 idcams 툴프로그램에서는제공하지않는다. 대신 dscreate, dsdelete, gdgcreate, gdgdelete 등별도툴프로그램을제공한다. 사용법 idcams 프로그램을실행하는방법은다음과같다. Usage: idcams command [options] command 항목 define delete bldindex repro VSAM 데이터셋이나사용자카탈로그를정의한다. VSAM 데이터셋이나사용자카탈로그를삭제한다. 기존 VSAM 데이터셋에대한보조인덱스를구성한다. VSAM 혹은 Non-VSAM 데이터셋의내용을복사한다. 사용자카탈로그정의옵션 옵션 [-t type] 사용자카탈로그를정의함을명시한다. (USERCATALOG/UCAT) type 항목은 -t 구분자없이지정가능하다. [-n name] [-v volume] [-s space] 정의하려고하는사용자카탈로그의이름을지정한다. 사용자카탈로그가위치하게될볼륨정보를지정한다. 데이터셋의공간파라미터를지정한다. (TRK/CYL/unit,primary,secondary) ALIAS 정의옵션 제 4 장데이터셋관리툴 81

96 옵션 [-t type] ALIAS 를정의함을명시한다. (ALIAS) type 항목은 -t 구분자없이지정가능하다. [-n name] [-r relate] 정의하려고하는 ALIAS 의이름을지정한다. ALIAS 에연결될카탈로그항목의이름을지정한다. VSAM 데이터셋정의옵션 옵션 [-t type] VSAM 데이터셋을정의함을명시한다. (CLUSTER/CL) type 항목은 -t 구분자없이지정가능하다. [-n name] [-o recorg] [-v volume] [-s space] [-c catalog] [-b cisize] [-l lrecl] [-k keys] 정의하려고하는 VSAM 데이터셋의이름을지정한다. 정의하려고하는 VSAM 데이터셋의구조를지정한다. (KS/ES/RR) VSAM 데이터셋이위치하게될볼륨정보를지정한다. 데이터셋의공간파라미터를지정한다. (TRK/CYL/unit,primary,secondary) 데이터셋을특정카탈로그에등록하려고할때지정한다. VSAM 데이터셋의컨트롤인터벌크기를지정한다. VSAM 데이터셋의레코드크기를지정한다. (average,maximum) VSAM 데이터셋의키정보를지정한다. (length,offset) 보조인덱스정의옵션 옵션 [-t type] 보조인덱스를정의함을명시한다. (ALTERNATEINDEX/AIX) type 항목은 -t 구분자없이지정가능하다. [-n name] [-r relate] [-v volume] [-s space] [-c catalog] [-b cisize] [-l lrecl] [-k keys] 정의하려고하는보조인덱스의이름을지정한다. 보조인덱스에연결될 Base Cluster 이름을지정한다. 보조인덱스가위치하게될볼륨정보를지정한다. 보조인덱스의공간파라미터를지정한다. (TRK/CYL/unit,primary,secondary) 보조인덱스를특정카탈로그에등록하려고할때지정한다. 보조인덱스의컨트롤인터벌크기를지정한다. 보조인덱스의레코드크기를지정한다. (average,maximum) Base Cluster에서보조인덱스키정보를지정한다. (length,offset) 82 OpenFrame 툴참조안내서

97 옵션 [-U] [-N] Base Cluster에서 AIX 키값이유일한값을갖는지지정한다. (UNIQUEKEY 속성 ) Base Cluster가변경됨에따라 AIX 데이터도변경되는지지정한다. (NOUPGRADE 속성 ) PATH 정의옵션 옵션 [-t type] PATH 를정의함을명시한다. (PATH) type 항목은 -t 구분자없이지정가능하다. [-n name] [-p pathentry] [-c catalog] [-N] 정의하려고하는 PATH의이름을지정한다. PATH를구성하는카탈로그항목의이름을지정한다. VSAM 데이터셋혹은보조인덱스를담고있는카탈로그를지정한다. Base Cluster의업그레이드셋이할당되어야하는지지정한다. (NOUPDATE 속성 ) 삭제옵션 옵션 [-n name] 삭제하려고하는항목의이름을지정한다. name 항목은 -n 구분자없이지정가능하다. [-t type] [-c catalog] [-F] 삭제하려고하는항목의유형을지정한다. (ALIAS/AIX/CL/PATH/UCAT) 삭제하려고하는항목을담고있는카탈로그를지정한다. 비어있지않은항목도삭제하기위해지정한다. (FORCE 옵션 ) BLDINDEX 옵션 옵션 [-i ids] [-o ods] [-c catalog] Base Cluster를지정한다. 보조인덱스를지정한다. 위항목들을담고있는카탈로그를지정한다. REPRO 옵션 옵션 [-i ids] [-o ods] 복사하려고하는항목이름을지정한다. 타겟데이터셋이름을지정한다. 제 4 장데이터셋관리툴 83

98 옵션 [-f from] [-t to] [-r ridtype] [-s skip] [-c count] [-R] 소스데이터셋에서복사를시작할위치를지정한다. 복사중인데이터셋에서복사를중지할위치를지정한다. from 값과 to 값을지정하는방식을지정한다. (KEY/NUM/ADDR) 레코드를복사하기전건너뛸레코드의개수를지정한다. 복사하려고하는레코드의개수를지정한다. 타겟데이터셋에있는레코드를교체할지지정한다. (REPLACE 옵션 ) 사용예제 다음은 볼륨에 USERCAT1 사용자카탈로그를정의하는예이다. $ idcams define UCAT -n USERCAT1 -v 위의명령으로정의한사용자카탈로그를 listcat 으로조회한결과는다음과같다. Data Set Name... : USERCAT1 Data Set Type... : UCAT Catalog Name... : SYS1.MASTER.ICFCAT Management Class. : Creation Date.. : 2009/08/25 Data Set Owner. : igkang Expiration Date. : ***None*** Storage Class... : Volume Serial.. : Device Type... : 3380 Data Class.... : Organization.. : KSDS AVGLRECL.... : N.A. KEYLEN..... : N.A. MAXLRECL.... : N.A. KEYPOS..... : N.A. CISIZE..... : N.A. AIXRKP..... : N.A. Current Allocation Primary Space.. : 1024(KB) Number of Extents : 0 Secondary Space. : 1024(KB) Data Set Size.. : 0 Last Access Date Last Access Date : ***None*** Last Access Time : **None** 84 OpenFrame 툴참조안내서

99 다음은 USERCAT1 과연결된 TEST 라는 ALIAS 를정의하는예이다. $ idcams define ALIAS -n TEST -r USERCAT1 위명령으로정의한 ALIAS 를 listcat 으로조회한결과는다음과같다. Entry Name.... : TEST Entry Type.... : ALIAS Catalog Name... : SYS1.MASTER.ICFCAT Associations UCAT : USERCAT1 다음은 TEST.KSDS 라는이름의 KSDS 를정의하는예이다. $ idcams define CLUSTER -n TEST.KSDS -o KS -k 15,0 -l 250,250 다음은 TEST.ESDS 라는이름의 ESDS 를정의하는예이다. $ idcams define CL -n TEST.ESDS -o ES -v l 250,250 위명령으로정의한 ESDS 를 listcat 으로조회한결과는다음과같다. Data Set Name... : TEST.ESDS Data Set Type... : CLUSTER Catalog Name... : USERCAT1 Management Class. : Creation Date.. : 2009/08/25 Data Set Owner. : igkang Expiration Date. : ***None*** Storage Class... : Volume Serial.. : Device Type... : 3380 Data Class.... : Organization.. : ESDS AVGLRECL.... : 250 KEYLEN..... : 0 MAXLRECL.... : 250 KEYPOS..... : 0 CISIZE..... : 4096 AIXRKP..... : N.A. Current Allocation Primary Space.. : 1024(KB) Number of Extents : 0 Secondary Space. : 1024(KB) Data Set Size.. : 0 제 4 장데이터셋관리툴 85

100 Last Access Date Last Access Date : ***None*** Last Access Time : **None** 다음은 TEST.ESDS 에 TEST.AIX 라는이름의보조인덱스를정의하는예이다. $ idcams define AIX -n TEST.AIX -r TEST.ESDS -k 3,0 -l 40,50 -s TRK,20,10 위명령으로정의한보조인덱스를 listcat 으로조회한결과는다음과같다. Data Set Name... : TEST.AIX Data Set Type... : AIX Catalog Name... : USERCAT1 Management Class. : Creation Date.. : 2009/08/25 Data Set Owner. : igkang Expiration Date. : ***None*** Storage Class... : Volume Serial.. : Device Type... : 3380 Data Class.... : Organization.. : KSDS AVGLRECL.... : 40 KEYLEN..... : 3 MAXLRECL.... : 50 KEYPOS..... : N.A. CISIZE..... : 4096 AIXRKP..... : 0 Current Allocation Primary Space.. : 960(KB) Number of Extents : 0 Secondary Space. : 480(KB) Data Set Size.. : 0 Last Access Date Last Access Date : ***None*** Last Access Time : **None** 다음은 TEST.AIX 보조인덱스에 TEST.PATH 라는이름의 PATH 를정의하는예이다. $ idcams define PATH -n TEST.PATH -p TEST.AIX -c USERCAT1 위명령으로정의한 PATH 를 listcat 으로조회한결과는다음과같다. Entry Name.... : TEST.PATH Entry Type.... : PATH Catalog Name... : USERCAT1 Attributes Creation Date.. : 2009/08/25 Expiration Date. : ***None*** Entry Owner... : igkang 86 OpenFrame 툴참조안내서

101 Associations AIX : TEST.AIX 다음은 USERCAT1 에등록된 TEST.KSDS 를삭제하는예이다. $ idcams delete TEST.KSDS -c USERCAT1 다음은 USERCAT1 카탈로그를 FORCE 옵션으로삭제하는예이다. $ idcams delete -n USERCAT1 -t UCAT -F 다음은 TEST.ESDS 으로부터 TEST.AIX 보조인덱스를구성하는예이다. $ idcams bldindex -i TEST.ESDS -o TEST.AIX 다음은 TEST.ISAM 데이터셋으로부터 TEST.KSDS 에키값이 "AAAA" 부터 "FFFF" 까지인레코드를복사 하는예이다. $ idcams repro -i TEST.ISAM -o TEST.KSDS -f AAAA -t FFFF -r KEY listvol listvol 은시스템에등록된볼륨정보를출력하는툴이다. 사용법 listvol 프로그램을실행하는방법은다음과같다. Usage: listvol [options] [volser] [options] 옵션 [-l] 볼륨에대한정보를상세하게출력한다. 입력항목 항목 [volser] 조회하고자하는볼륨시리얼번호를지정한다. 제 4 장데이터셋관리툴 87

102 항목 지정하지않은경우에는모든볼륨에대한정보가출력된다. 사용예제 다음은시스템에등록된볼륨의목록을조회하는예이다. $ listvol 위의 listvol 프로그램수행후출력되는내용은다음과같다. listvol version 5.1.0(4) igkang@ingyukang:ofsrc5/base(#4) :06:06 List Registered Volume Information VOLUME FREE(MB) TOTAL(MB) USE(%) VOLUME PATH /home/igkang/volume/ /home/igkang/volume/ /home/igkang/volume/ DISK /home/igkang/volume/disk01 VSPOOL /home/igkang/openframe/spool * Total 5 volume entries printed. 다음은볼륨 에대해정보를상세하게출력하는예이다. $ listvol -l 위의 listvol 프로그램수행후출력되는내용은다음과같다. listvol version 5.1.0(4) igkang@ingyukang:ofsrc5/base(#4) :06:06 List Registered Volume Information Volume Serial... : Device Type.... : 3380 Device Attr.... : PUBLIC PERMANENT Volume Path.... : /home/igkang/volume/ Space Limit.... : 2048(MB) Statistics Used : 28644(MB) Available.... : 44634(MB) Total : 73279(MB) Usage : 39.09(%) 88 OpenFrame 툴참조안내서

103 * Total 1 volume entries printed listcat listcat 은특정카탈로그에등록된항목에대한정보를출력하는툴이다. 사용법 listcat 프로그램을실행하는방법은다음과같다. Usage: listcat [options] [entname] [options] 옵션 [-c catalog] [-n entname] [-l] [-a] 특정카탈로그에등록된항목을조회할때사용된다. 지정된카탈로그에등록된항목정보만조회된다. 조회하고자하는항목의이름을정확하게지정한다. 와일드카드문자를사용할수있다. 카탈로그항목에대한정보를상세하게출력한다. 카탈로그항목에대한정보를정보를상세하게출력하고, 연관되어있는카탈로그항목도같이출력된다. PDS인경우멤버에대한목록이출력된다. 입력항목 항목 [entname] 조회하고자하는항목이름의앞글자일부를지정한다. 참고와일드카드를사용하여조회하려고하는항목의이름을지정하는경우다음과같이사용할수있다. - AAA.* 는 AAA.BBB나 AAA.CCC처럼 AAA. 으로시작하는 2개의퀄리파이어로구성된항목을찾는다. - AAA.** 는 AAA.BBB, AAA.CCC, AAA.BBB.FFF, AAA.BBB.GGG처럼 AAA. 으로시작하는모든항목을찾는다. 제 4 장데이터셋관리툴 89

104 사용예제 다음은마스터카탈로그에등록된항목정보를조회하는예이다. $ listcat -c SYS1.MASTER.ICFCAT 위의 listcat 프로그램을수행한후출력되는내용은다음과같다. listcat version 5.1.1(2) igkang@ingyukang:ofsrc5/base(#4) :06:06 List Catalog Entry Information SYS1.MASTER.ICFCAT VOLUME ENTTYPE VSAM NVSM SYS1.DSLOCK.DATA CLUSTER KSDS SYS1.DSLOCK.LOG CLUSTER KSDS SYS1.JCLLIB NONVSAM PDS SYS1.JESST CLUSTER KSDS SYS1.JOBQ CLUSTER KSDS... SYS1.VVDS.V CLUSTER ESDS SYS1.VVDS.V CLUSTER ESDS SYS1.VVDS.V CLUSTER ESDS... TEST.DSCOPY NONVSAM SDS TEST.DSCOPY NONVSAM SDS TEST.GDGBASE GDG TEST.GDGBASE.G0001V NONVSAM GDS TEST.GDGBASE.G0002V NONVSAM GDS * Total 82 entries in catalog SYS1.MASTER.ICFCAT printed. 다음은사용자카탈로그 IYA.UCAT 에등록된항목중, IYA.NONVSAM 데이터셋에대한정보를상세조 회하는예이다. $ listcat -c IYA.UCAT -l IYA.NONVSAM 위의 listcat 프로그램을수행한후출력되는내용은다음과같다. listcat version 5.1.1(2) igkang@ingyukang:ofsrc5/base(#4) :06:06 List Catalog Entry Information Data Set Name... : IYA.NONVSAM Data Set Type... : NONVSAM Catalog Name... : IYA.UCAT 90 OpenFrame 툴참조안내서

105 Management Class. : Creation Date.. : 2009/07/14 Data Set Owner. : igkang Expiration Date. : ***None*** Storage Class... : Volume Serial.. : Device Type... : 3380 Data Class.... : Organization.. : PS Record Format.. : FB KEYLEN..... : 0 Record Length.. : 80 KEYPOS..... : 0 Block Size... : 4096 Current Allocation Primary Space.. : 2048(MB) Number of Extents : 0 Secondary Space. : 0(KB) Data Set Size.. : 0 Last Access Date Last Access Date : 2009/07/14 Last Access Time : 11:38: * Total 1 entries in catalog IYA.UCAT printed lockm lockm 은데이터셋을독점적으로사용하기위해서관리되는데이터셋 Lock 정보를조회하고, 필요한경 우에 Lock 정보를삭제할수있는기능을제공하는툴프로그램이다. 참고일반적으로 Batch 작업이정상적으로종료된경우에는데이터셋에대한 Lock 정보는깨끗하게정리되나, 작업이실행중에비정상적인방법으로종료되는경우에는간혹데이터셋 Lock 정보가남아서후속작업이진행되지않는경우가있다. 이런경우에는 lockm 프로그램으로 Lock 목록을조회한후, 정리되지않은 Lock 항목을삭제하면문제를해결할수있다. 사용법 lockm 프로그램을실행하는방법은다음과같다. Usage: lockm command [options] command command lock 데이터셋 Lock 항목을요청한다. 제 4 장데이터셋관리툴 91

106 command list clear 데이터셋 Lock 목록을조회한다. 데이터셋 Lock 항목을삭제한다. LOCK 옵션 옵션 [-n name] 요청하려고하는 Lock 의이름을지정한다. name 항목은반드시지정되어야한다. [-t type] [-w time] 요청하려고하는 Lock 의유형을지정한다. (EX/SHR) Lock 요청대기옵션을지정한다. (FOREVER/NOWAIT) LIST 옵션 한번에 1 개이상의옵션은지정될수없다. 옵션 [-p pid] [-n name] [-j jobid] 조회할 Lock 항목의소유 PID를지정한다. 조회할 Lock 항목의이름을지정한다. 조회할 Lock 항목의작업 ID를지정한다. CLEAR 옵션 최소 1 개이상의옵션이지정되어야한다. 옵션 [-n name] [-p pid] [-j jobid] 삭제할 Lock 항목의이름을지정한다. 삭제할 Lock 항목의소유 PID를지정한다. 삭제할 Lock 항목의작업 ID를지정한다. 사용예제 다음은 TESTCAT 카탈로그의 TESTDS.TESTLOCK 데이터셋에대해강제로 Lock 을요청하는경우의예 이다. $ lockm lock -n TESTCAT:TESTDS.TESTLOCK 92 OpenFrame 툴참조안내서

107 다음은 lockm 툴프로그램을사용하여현재시스템에서관리되는 Lock 목록을조회하는예이다. $ lockm list 위의프로그램을실행하면다음과같은목록이출력된다. lockm version 5.1.0(1) igkang@ingyukang:ofsrc5/base(#4) :06:06 Dataset Lock Token Management Program PID NODENAME JOBID TYPE LOCKNAME *6158 ingyukang SHR SYS1.MASTER.ICFCAT:TEST.IMS43643.FIRST *6163 ingyukang EX TESTCAT:TESTDS.TESTLOCK * List command completed successfully. 다음은 lockm 툴프로그램을사용하여 Lock 항목을삭제하는예이다. $ lockm clear -n TESTCAT:TESTDS.TESTLOCK 제 4 장데이터셋관리툴 93

108

109 제 5 장카탈로그관리툴 5.1. icfdump icfdump는 OpenFrame 제품을운용하면서관리되는카탈로그정보를백업하여차후에문제가발생했을경우이를복구할수있도록해주는툴이다. icfdump 프로그램으로백업을한카탈로그덤프데이터는 icfload 프로그램으로복구할수있다. 카탈로그백업을수행하고나면, 카탈로그데이터가저장된디렉터리에 2개의 UNIX 파일이생성된다. 파일명 dataset.lst catalog.dat 백업에사용된카탈로그데이터셋의종류와이름그리고볼륨정보가저장된다. 카탈로그에저장되어있던카탈로그엔트리에대한정보가저장된파일이다. 사용법 icfdump 프로그램을실행하는방법은다음과같다. Usage: icfdump volser dumpdir icfdump all dumpdir icfdump dumpdir 항목 volser all dumpdir 특정볼륨에저장되어있는카탈로그데이터만백업하고싶은경우에사용한다. volser을지정하지않은경우모든볼륨에대한백업을수행한다. 모든볼륨에대한카탈로그데이터백업을수행한다. 백업하려고하는카탈로그데이터가저장될디렉터리를지정한다. 사용예제 다음은모든카탈로그데이터를현재디렉터리밑에있는 dump01 디렉터리에백업하는예이다. $ icfdump all dump01 제 5 장카탈로그관리툴 95

110 참고카탈로그데이터를덤프하는중에특정카탈로그엔트리에대한오류가발생하면해당오류메시지를화면에출력하고계속해서백업과정을진행한다. 이경우오류메시지를정확하게분석해서작업을계속진행할것인지의여부를결정해야한다 icfload icfload는 icfdump로백업한카탈로그덤프데이터를사용하여현재카탈로그시스템을백업할당시의시점으로복구하는툴이다. 또한 icfload에는카탈로그데이터셋을초기화시키는과정이포함되어있어서사용되지않는카탈로그레코드등이정리되어카탈로그데이터셋의크기가작아지는효과가있다. 사용법 icfload 프로그램을실행하는방법은다음과같다. Usage: icfload volser dumpdir icfload all dumpdir icfload dumpdir 항목 volser 특정볼륨에대한카탈로그내용만복구할경우에지정한다. volser 를지정하지않은경우모든볼륨에대한카탈로그내용을복구한다. all dumpdir 모든볼륨에대한카탈로그데이터를복구한다. icfdump 프로그램으로백업된데이터가저장된디렉터리를지정한다. 사용예제 다음은현재디렉터리밑에있는 dump01 디렉터리에백업된데이터를기준으로모든카탈로그내용을복 구하는예이다. $ icfload all dump01 96 OpenFrame 툴참조안내서

111 참고특정볼륨을기준으로카탈로그를백업한경우에는해당볼륨을기준으로만카탈로그복구가가능하다. 하지만모든볼륨에대해서카탈로그백업을한경우에는특정볼륨또는모든볼륨에대해서카탈로그복구를할수있다 5.3. icfscan icfscan 은카탈로그에등록된엔트리의유효성및유형별통계를산출하는툴이다. OpenFrame 시스템운 영중총카탈로그엔트리의증감에대한보고와등록된엔트리의유효성검증을위해사용할수있다. 사용법 icfscan 프로그램을실행하는방법은다음과같다. Usage: icfscan [-c user_catalog] [-h] [-i] 항목 [-c user_catalog] 지정된사용자카탈로그만을점검한다. user_catalog 을지정하지않은경우, 모든카탈로그에대한엔트리의유효성과 유형별통계를산출한다. [-h] [-i] 도움말을출력한다. 처리과정에대한메시지를출력한다. 사용예제 다음은모든카탈로그에대하여엔트리의유효성과유형별통계를산출하는예이다. $ icfscan 위예제에서모든카탈로그에대한카탈로그스캔을시도한후결과를보여준다. ICFSCAN [I] using master catalog : [SYS1.MASTER.ICFCAT.MJES] ICFSCAN [I] [SYS1.MASTER.ICFCAT.MJES] scanning. ICFSCAN [I] ============================================================ ICFSCAN [E] NONVSAM [DSMOVE.OUT.]...invalid path[/home/saza/openframe/volume_default/dsmove.out.] ICFSCAN [I] ============================================================ ICFSCAN [I] [SYS1.MASTER.ICFCAT.MJES] scan report. ICFSCAN [I] ============================================================ 제 5 장카탈로그관리툴 97

112 ICFSCAN [I] ICF ENTRY TOTAL : 116 ICFSCAN [I] DATASET : 1/ 112 ICFSCAN [I] - NONVSAM : 1/ 58 ICFSCAN [I] - SDS/PDS : 1/ 47 ICFSCAN [I] - GDS : 0/ 11 ICFSCAN [I] - VSAM : 0/ 54 ICFSCAN [I] - CLUSTER : 0/ 9 ICFSCAN [I] - AIX : 0/ 6 ICFSCAN [I] - PATH : 0/ 7 ICFSCAN [I] CATALOG : 0/ 1 ICFSCAN [I] ETC : 0/ 0 ICFSCAN [I] ============================================================ ICFSCAN [I] using user catalog : [TEST.UCAT] ICFSCAN [I] [TEST.UCAT] scanning. ICFSCAN [I] ============================================================ ICFSCAN [I] ============================================================ ICFSCAN [I] [TEST.UCAT] scan report. ICFSCAN [I] ============================================================ ICFSCAN [I] ICF ENTRY TOTAL : 1 ICFSCAN [I] DATASET : 0/ 1 ICFSCAN [I] - NONVSAM : 0/ 1 ICFSCAN [I] - SDS/PDS : 0/ 1 ICFSCAN [I] - GDS : 0/ 0 ICFSCAN [I] - VSAM : 0/ 0 ICFSCAN [I] - CLUSTER : 0/ 0 ICFSCAN [I] - AIX : 0/ 0 ICFSCAN [I] - PATH : 0/ 0 ICFSCAN [I] CATALOG : 0/ 0 ICFSCAN [I] ETC : 0/ 0 ICFSCAN [I] ============================================================ 참고 카탈로그를스캔할때특정카탈로그항목에대해오류가발생한경우, 해당오류메시지를화면에 출력하고계속해서스캔과정을진행한다 icfspchk icfspchk은카탈로그를기준으로 VSAM 볼륨의사용공간을확인하는툴이다. 단, Non-VSAM 데이터셋이사용하는공간에대해서는보고를하지않는다. icfspchk 프로그램은카탈로그에등록되어있는모든볼륨과각볼륨에저장되어있는모든 VSAM 데이터셋에대해서다음의측정값을출력한다. 카탈로그이름, 데이터셋이름, 데이터셋유형 98 OpenFrame 툴참조안내서

113 컨트롤인터벌크기, 평균레코드크기, 최대레코드크기, 전체레코드개수 추정데이터셋크기, 최대데이터셋할당공간 한볼륨안에저장되어있는모든 VSAM 데이터셋에대한보고가끝나면해당볼륨에대한총추정데이 터셋크기와총데이터셋할당공간을출력한다. 참고 icfspchk 은예전에카탈로그 VVDS 의레코드를재사용할수없던문제가있어, VVDS 의디스크공간 사용증가분을측정하기위해개발된툴이다. 사용법 icfspchk 프로그램을실행하는방법은다음과같다. Usage: icfspchk volser icfspchk all 항목 volser all 특정볼륨에대한 VSAM 데이터셋의사용량을확인하기위해지정한다. 모든볼륨에대한 VSAM 데이터셋의사용량을확인하기위해지정한다. 사용예제 다음은볼륨별 VSAM 데이터셋의사용량을출력하는예이다. $ icfspchk all 위예제실행후 VSAM 데이터셋사용량보고를출력한화면이다. prog_name: icfspchk_main.c icf_initialize() success. scan_master_catalog() success. icfspchk: *** VVDS not defined for volume (continue) icfspchk: *** VVDS not defined for volume (continue) icfspchk: *** VVDS not defined for volume VSPOOL. (continue) check_volume_config() success. + scanning catalog dataset... [SYS1.MASTER.ICFCAT] + scanning catalog dataset... [TAPECAT] + examining catalog entries.. (19) entries > Space Usage Report for Volume MJES01 제 5 장카탈로그관리툴 99

114 SYS1.MASTER.ICFCAT:AAA.KSDS01:C=(CISIZE=32,AVGLRECL=16,MAXLRECL=16, RECCOUNT=0,ESTSIZE=0,HARBADS=262144) SYS1.MASTER.ICFCAT:MRDV.B01SYODB:C=(CISIZE=6144,AVGLRECL=6137,MAXLRECL=6137, RECCOUNT=2304,ESTSIZE= ,HARBADS= ) SYS1.MASTER.ICFCAT:MRDV.B01SYODI:C=(CISIZE=1024,AVGLRECL=35,MAXLRECL=35, RECCOUNT=6849,ESTSIZE=239715,HARBADS= )... SYS1.MASTER.ICFCAT:TAPECAT:U=(CISIZE=32768,AVGLRECL=512,MAXLRECL=32704, RECCOUNT=10,ESTSIZE=5120,HARBADS=65536) > Total Space Used in Volume MJES01: Bytes Used / Bytes Allocated report_space_usages() success. icf_finalize() success. 100 OpenFrame 툴참조안내서

115 제 6 장 Batch 시스템툴 6.1. tjesinit tjesinit은 OpenFrame Batch에서시스템데이터셋뿐만아니라 JOBQ와 SPOOL 등을초기화하기위해사용되는툴이다. OpenFrame 시스템초기화작업을담당하는 tjesinit은시스템을초기화할때다음을수행한다. JESST 초기화 tjes.conf 파일로부터 JOBQ 크기, OUTPUTQ 크기, NODELIST, JOB CLASS 설정등을읽어 SYSx.JESST 를초기화한다. JOBQ 초기화 JOBQ 에등록된모든내용을삭제한다. OUTPUTQ 초기화 OUTPUTQ 에등록된모든내용을삭제한다. SPOOL 초기화 SPOOL 볼륨내의 TJES 관련데이터를모두삭제한다. tjesinit 은시스템초기화할때 JESST reset, JOBQ reset 을수행하고 tjes.conf 파일의설정된내용으로부 터 JESST 초기화, SPOOL 초기화, OUTPUTQ 초기화의순서로실행된다. 시스템관리자는다음의사항을확인한후 tjesinit 을수행한다. TSAM 은사용가능한상태이어야한다. OpenFrame 엔진 (Tmax) 은기동되지않은상태이어야한다. JOB 의수행내역이백업되지않고삭제된다. 참고 OpenFrame 시스템을완전히초기화하기위해서는 tjesinit, lockinit 툴을이용하여시스템데이터셋 을초기화해야한다. 제 6 장 Batch 시스템툴 101

116 사용법 tjesinit 프로그램을실행하는방법은다음과같다. Usage: tjesinit 사용예제 다음은 TJES 를초기화하는예이다. $ tjesinit 참고 관련툴프로그램으로는 2.4. lockds 이있다 dlclean dlclean 은 dlupdate 를한후에임시데이터셋에옮겨놓은이전라이브러리들을삭제하는툴이다. 사용법 dlclean 프로그램을실행하는방법은다음과같다. Usage: dlclean 사용예제 tjes.conf 파일의 [DYNAMIC_LIBRARY] 절 TEMPLIB 항목에설정되어있는 PDS 에저장되어있는이전 라이브러리들을모두삭제한다. $ dlclean 관련환경설정 dlclean 를사용할때삭제할라이브러리들이저장되어있는임시데이터셋이다. TEMPLIB 을설정하지않은경우에러가발생한다. 102 OpenFrame 툴참조안내서

117 <tjes.conf> [DYNAMIC_LIBRARY] TEMPLIB= datasetname 참고 관련툴프로그램으로는 6.5. dlupdate 이있다 jclview jclview는 tjesmgr와같이 UNIX 터미널화면에서실행되는 JCL 파일뷰어를제공하는툴이다. curses 라이브러리를사용하여터미널화면에서도윈도우화면처럼풀다운메뉴, 화면스크롤, 팝업창, 단축키등의사용자편의 UI와다중문서인터페이스를제공한다. 이외에도 Batch JOB 테스트에관련된여러가지편의기능을제공하여개발및 SE의작업능률향상에도움을준다. 다음은 jclview의주요기능이다. JCL 파일의멀티경로지원 JCL 프로시저열람 (JCLLIB 문장, /*JOBPARM 의 PROC 문장지원 ) 데이터셋상세정보열람 (JOBCAT, STEPCAT DD 문지원 ) dsview, dsedit, vi 편집기연계호출 멤버데이터셋 (PDS, GDS) 정보열람 데이터셋조건별검색 ( 필터링, 카탈로그, 엔트리타입 ) 다음은 jclview 메뉴구성에대한이다. 상위메뉴 JCL Dataset Help 하위메뉴 Open Select Exit Search Volume Info Find Error Msg About JCL View JCL 파일열기열려진여러개의 JCL 파일중에서보기원하는 JCL 파일선택 JCL View 종료데이터셋조건별검색볼륨정보조회 TJES 에러메시지검색 JCL View 버전정보 제 6 장 Batch 시스템툴 103

118 다음은 jclview 단축키구성에대한이다. 항목 F D Tab Enter Q 기능 Open Edit Select PgUp PgDn Menu Ds Info Close JCL 파일열기 JCL 파일을 vi 편집기를이용하여열기열려진여러개의 JCL 파일중에서보기원하는 JCL 파일선택이전페이지다음페이지메뉴바로이동데이터셋정보출력현재보고있는 JCL 파일닫기 사용법 jclview 프로그램을실행하는방법은다음과같다. $ jclview [JCL File_name] 항목 [JCL File_name] 조회하고자하는 JCL 파일을지정한다. 해당 JCL 의내용을보여준다. JCL 파일명을지정하지않으면 [ 그림 6.1] 의초기화면이나타난다. dataset_name 변경하고자하는기존라이브러리가들어있는 PDS 이름을지정한다. 104 OpenFrame 툴참조안내서

119 사용예제 jclview 의초기화면은다음과같다. [ 그림 6.1] jclview - 초기화면 jclview 메뉴선택화면은다음과같다. [ 그림 6.2] jclview - 메뉴선택화면 제 6 장 Batch 시스템툴 105

120 jclview 에서 JCL 파일을연후화면은다음과같다. [ 그림 6.3] jclview - JCL 파일 open 후화면 jclview 에서데이터셋정보를열람하는화면은다음과같다. [ 그림 6.4] jclview - 데이터셋정보열람화면 106 OpenFrame 툴참조안내서

121 jclview 에서 GDG 멤버정보를조회화면은다음과같다. [ 그림 6.5] jclview - GDG 멤버정보조회화면 jclview 에서데이터셋을검색하는화면은다음과같다. [ 그림 6.6] jclview - 데이터셋검색화면 제 6 장 Batch 시스템툴 107

Tmax

Tmax Tmax JTmaxServer User Guide Tmax v5.0 SP1 Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 263 분당스퀘어 (AK 프라자

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D> VHDL 프로그래밍 D. 논리합성및 Xilinx ISE 툴사용법 학습목표 Xilinx ISE Tool 을이용하여 Xilinx 사에서지원하는해당 FPGA Board 에맞는논리합성과정을숙지 논리합성이가능한코드와그렇지않은코드를구분 Xilinx Block Memory Generator를이용한 RAM/ ROM 생성하는과정을숙지 2/31 Content Xilinx ISE

More information

개발및운영 Tibero DB Link (Tibero To Oracle) - Local 방식

개발및운영 Tibero DB Link (Tibero To Oracle) - Local 방식 Tibero DB Link (Tibero To Oracle) - Local 방식 2014. 04. 16. 목차 1. 구성환경... 3 2. 환경설정... 3 2.1. Tibero 서버 (AIX) 에 Oracle instance Client 파일을업로드... 3 2.2. Oracle Instance Client에대한환경설정등록 (.profile)... 4 2.3.

More information

안내서

안내서 OpenFrame Batch 안내서 소프트웨어 OpenFrame/Batch v4.0 안내서버전 v1.1 Copyright 2008 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2008 TmaxSoft Co., Ltd. All Rights Reserved. TmaxSoft Co., Ltd.

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

Microsoft Word - AnyLink Introduction v3.2.3.doc

Microsoft Word - AnyLink Introduction v3.2.3.doc Copyright 2007 Tmax Soft Co., Ltd. All Rights Reserved. AnyLInk Copyright Notice Copyright 2007 Tmax Soft Co., Ltd. All Rights Reserved. Tmax Soft Co., Ltd. 대한민국서울시강남구대치동 946-1 글라스타워 18 층우 )135-708 Restricted

More information

USER GUIDE

USER GUIDE 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.

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

Tibero

Tibero Tibero 클라이언트설치가이드 Copyright 2013 TmaxData Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2013 TmaxData Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구황새울로 329 번길 5 티맥스빌딩우 ) 463-824 Restricted Rights

More information

튜닝및모니터링 HP JVM 튜닝옵션

튜닝및모니터링 HP JVM 튜닝옵션 HP JVM 튜닝옵션 2013. 11. 01 목차 1. 개요... 3 2. JVM 특징소개... 3 3. JVM 주요옵션소개... 3 4. 분석기술... 16 2 1. 개요 HP JVM 의특징을살펴보고, TroubleShooting 방법과, 실제 Site 튜닝사례를살펴보도록한다. 2. JVM 특징소개 JVM 메모리영역. 3. JVM 주요옵션소개 GC command-line

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

개발및운영 Tibero Perl 연동

개발및운영 Tibero Perl 연동 Tibero Perl 연동 2014. 05. 27. 목차 1. Windows에서의홖경구성... 3 1.1 Tibero ODBC Driver 설치... 3 1.2. Tool 설치... 5 2. Unix에서의홖경구성... 6 2.1 iodbc 설치... 7 2.2 Tibero 설치... 7 2.3 Iodbc drvier manager 등록... 7 3. Tibero

More information

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다.

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다. 설치및환경설정 JDBC 접속세션구분 / 확인 2013. 11. 01 개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다. 사용하기 JEUS 에서설정방법

More information

OpenFrame

OpenFrame OpenFrame 마이그레이션안내서 소프트웨어 OpenFrame/Online v5.3 OpenFrame/Batch v4.0 안내서버전 v1.2 Copyright 2008 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2008 TmaxSoft Co., Ltd. All Rights Reserved.

More information

인디쓔피-IOM핸돜벁닄큐1014pdf, page 59 @ Preflight ( IOM핸돜벁닄큐__1014 )

인디쓔피-IOM핸돜벁닄큐1014pdf, page 59 @ Preflight ( IOM핸돜벁닄큐__1014 ) Publisher: International Organization for Migration 17, route des Morillons 1211 Geneva 19 Switzerland Tel: +41.22.717 91 11 Fax: +41.22.798 61 50 E-mail: hq@iom.int Internet: http://www.iom.int ISBN 978

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 MySQL - 명령어 1. 데이터베이스관련명령 2. 데이터베이스테이블관련명령 3. SQL 명령의일괄실행 4. 레코드관련명령 5. 데이터베이스백업및복원명령 1. 데이터베이스관련명령 데이터베이스접속명령 데이터베이스접속명령 mysql -u계정 -p비밀번호데이터베이스명 C: > mysql -ukdhong p1234 kdhong_db 데이터베이스생성명령 데이터베이스생성명령

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

CD-RW_Advanced.PDF

CD-RW_Advanced.PDF HP CD-Writer Program User Guide - - Ver. 2.0 HP CD-RW Adaptec Easy CD Creator Copier, Direct CD. HP CD-RW,. Easy CD Creator 3.5C, Direct CD 3.0., HP. HP CD-RW TEAM ( 02-3270-0803 ) < > 1. CD...3 CD...5

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

Microsoft PowerPoint - PL_03-04.pptx

Microsoft PowerPoint - PL_03-04.pptx Copyright, 2011 H. Y. Kwak, Jeju National University. Kwak, Ho-Young http://cybertec.cheju.ac.kr Contents 1 프로그래밍 언어 소개 2 언어의 변천 3 프로그래밍 언어 설계 4 프로그래밍 언어의 구문과 구현 기법 5 6 7 컴파일러 개요 변수, 바인딩, 식 및 제어문 자료형 8

More information

PowerPoint Presentation

PowerPoint Presentation FORENSIC INSIGHT; DIGITAL FORENSICS COMMUNITY IN KOREA SQL Server Forensic AhnLab A-FIRST Rea10ne unused6@gmail.com Choi Jinwon Contents 1. SQL Server Forensic 2. SQL Server Artifacts 3. Database Files

More information

[JEUS 7] eclipse plug-in 연동 1. 개요 Eclipse 와 JEUS 7 연동시필요한 plug-in 제공및환경설정에관한가이드제공하여 Eclipse 에서 JEUS 7 기동및 종료테스트할수있는방법을기술하였습니다. 2. Plug-in 설치 2.1 [Step

[JEUS 7] eclipse plug-in 연동 1. 개요 Eclipse 와 JEUS 7 연동시필요한 plug-in 제공및환경설정에관한가이드제공하여 Eclipse 에서 JEUS 7 기동및 종료테스트할수있는방법을기술하였습니다. 2. Plug-in 설치 2.1 [Step 기타지식 [JEUS 7.0] eclipse plug-in 연동 2015. 06. 09 [JEUS 7] eclipse plug-in 연동 1. 개요 Eclipse 와 JEUS 7 연동시필요한 plug-in 제공및환경설정에관한가이드제공하여 Eclipse 에서 JEUS 7 기동및 종료테스트할수있는방법을기술하였습니다. 2. Plug-in 설치 2.1 [Step. 1]

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

휠세미나3 ver0.4

휠세미나3 ver0.4 andromeda@sparcs:/$ ls -al dev/sda* brw-rw---- 1 root disk 8, 0 2014-06-09 18:43 dev/sda brw-rw---- 1 root disk 8, 1 2014-06-09 18:43 dev/sda1 brw-rw---- 1 root disk 8, 2 2014-06-09 18:43 dev/sda2 andromeda@sparcs:/$

More information

안내서

안내서 OpenFrame 데이터셋안내서 소프트웨어 OpenFrame/Batch v4.0 안내서버전 v1.1 Copyright 2008 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2008 TmaxSoft Co., Ltd. All Rights Reserved. TmaxSoft Co., Ltd.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

마리오와 소닉 리우 올림픽™

마리오와 소닉 리우 올림픽™ 마리오와 소닉 리우 올림픽 1 사용하기 전에 준비하기 2 유저 콘텐츠에 대하여 3 인터넷으로 이용 가능한 기능 4 보호자 여러분께 5 amiibo란 시작하기 전에 6 게임 소개 7 게임 시작 방법 8 조작 방법 9 데이터 저장과 삭제 통신으로 더욱 즐기기 10 대전 모드 11 포켓 마라톤 12 기록 기타 13 사용 곡명과 작곡자 소개 14 플레이 정보 송신

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다 10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행

More information

PowerPoint Presentation

PowerPoint Presentation FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org

More information

OpenFrame

OpenFrame OpenFrame SORT 유틸리티참조안내서 OpenFrame/Batch for VOS3 2.0 Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 263

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

목차 1. 노드매니저종류 Java Type SSH Type 노드설정파일및로깅 nodes.xml jeusnm.properties <servername>.properties...

목차 1. 노드매니저종류 Java Type SSH Type 노드설정파일및로깅 nodes.xml jeusnm.properties <servername>.properties... 개발및운영 JEUS7 Node Manager 가이드 2014. 12. 15 목차 1. 노드매니저종류... 3 1.1 Java Type... 3 1.2 SSH Type... 3 2. 노드설정파일및로깅... 3 2.1 nodes.xml... 3 2.2 jeusnm.properties... 4 2.3 .properties... 4 2.4 JeusNodeManager.log...

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 BOOTLOADER Jo, Heeseung 부트로더컴파일 부트로더소스복사및압축해제 부트로더소스는웹페이지에서다운로드 /working 디렉터리로이동한후, wget으로다운로드 이후작업은모두 /working 디렉터리에서진행 root@ubuntu:# cp /media/sm5-linux-111031/source/platform/uboot-s4210.tar.bz2 /working

More information

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

API 매뉴얼

API 매뉴얼 PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations

More information

OpenFrame

OpenFrame OpenFrame OpenStudio DEV/DEP 안내서 소프트웨어 OpenFrame 4.0 Fix#1/OpenStudio v4.0 안내서버전 v1.2 Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2009 TmaxSoft Co., Ltd. All Rights

More information

OpenFrame

OpenFrame OpenFrame 데이터셋안내서 OpenFrame/Base v5.1 Copyright 2010 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2010 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 263 분당스퀘어 (AK 프라자 )

More information

윈백및업그레이드 Tibero Flashback 가이드

윈백및업그레이드 Tibero Flashback 가이드 Tibero Flashback 가이드 2014. 05. 09. 목차 1. FLASHBACK 소개... 3 1.1. Flashback 개요... 3 1.2. Flashback 기능... 3 2. FLASHBACK 기능... 3 2.1. FLASHBACK QUERY... 3 2.1.1. FLASHBACK QUERY 개요... 3 2.1.2. FLASHBACK QUERY

More information

BSC Discussion 1

BSC Discussion 1 Copyright 2006 by Human Consulting Group INC. All Rights Reserved. No Part of This Publication May Be Reproduced, Stored in a Retrieval System, or Transmitted in Any Form or by Any Means Electronic, Mechanical,

More information

DocsPin_Korean.pages

DocsPin_Korean.pages Unity Localize Script Service, Page 1 Unity Localize Script Service Introduction Application Game. Unity. Google Drive Unity.. Application Game. -? ( ) -? -?.. 준비사항 Google Drive. Google Drive.,.. - Google

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

목차 JEUS EJB Session Bean가이드 stateful session bean stateful sample 가이드 sample source 결과확인 http session에

목차 JEUS EJB Session Bean가이드 stateful session bean stateful sample 가이드 sample source 결과확인 http session에 개념정리및샘플예제 EJB stateful sample 문서 2016. 01. 14 목차 JEUS EJB Session Bean가이드... 3 1. stateful session bean... 3 1.1 stateful sample 가이드... 3 1.1.1 sample source... 3 1.1.2 결과확인... 6 1.2 http session에서사용하기...

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

Tibero

Tibero Tibero 전환유틸리티가이드 Copyright 2013 TmaxData Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2013 TmaxData Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구황새울로 329 번길 5 티맥스빌딩우 ) 463-824 Restricted Rights

More information

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law), 1, 2, 3, 4, 5, 6 7 8 PSpice EWB,, ,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law), ( ),,,, (43) 94 (44)

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

개발및운영 Eclipse 를이용한 ANT 활용방법

개발및운영 Eclipse 를이용한 ANT 활용방법 Eclipse 를이용한 ANT 활용방법 2014. 04. 09 목차 Eclipse를이용한 ANT 활용방법... 3 1. ant 사용전준비사항... 3 1.1 ant Install... 3 1.2 Java Project 생성... 5 2. ant 활용방법... 10 2.1 ant project 생성... 10 3. ant 설정... 13 3.1 ant directory...

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

Microsoft PowerPoint - a10.ppt [호환 모드]

Microsoft PowerPoint - a10.ppt [호환 모드] Structure Chapter 10: Structures t and Macros Structure 관련된변수들의그룹으로이루어진자료구조 template, pattern field structure를구성하는변수 (cf) C언어의 struct 프로그램의 structure 접근 entire structure 또는 individual fields Structure는

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

기타자료.PDF

기타자료.PDF < > 1 1 2 1 21 1 22 2 221 2 222 3 223 4 3 5 31 5 311 (netting)5 312 (matching) 5 313 (leading) (lagging)6 314 6 32 6 321 7 322 8 323 13 324 19 325 20 326 20 327 20 33 21 331 (ALM)21 332 VaR(Value at Risk)

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper Windows Netra Blade X3-2B( Sun Netra X6270 M3 Blade) : E37790 01 2012 9 Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs,

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력

More information

FY2005 LIG

FY2005 LIG FY2005 LIG www.lig.co.kr FY2005 LIG 2005 LIG 7-44 "Profitable Growth" 14.5% 3 3,849 0.6%p 14.8% 3 355 306 7,300 5 3,691 2006 4 CI 2 "Profitable Growth 15.2% 2 1,000 VISION LIG LIG Leading Company 482006331

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy... 6 2.2 Compare... 6 2.3 Copy & Compare... 6 2.4 Erase... 6 2

목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy... 6 2.2 Compare... 6 2.3 Copy & Compare... 6 2.4 Erase... 6 2 유영테크닉스( 주) 사용자 설명서 HDD014/034 IDE & SATA Hard Drive Duplicator 유 영 테 크 닉 스 ( 주) (032)670-7880 www.yooyoung-tech.com 목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy...

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070> 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include "QuickSort.h" 7 using namespace std; 8 9 10 Node* Queue[100]; // 추가입력된데이터를저장하기위한 Queue

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

빅데이터분산컴퓨팅-5-수정

빅데이터분산컴퓨팅-5-수정 Apache Hive 빅데이터분산컴퓨팅 박영택 Apache Hive 개요 Apache Hive 는 MapReduce 기반의 High-level abstraction HiveQL은 SQL-like 언어를사용 Hadoop 클러스터에서 MapReduce 잡을생성함 Facebook 에서데이터웨어하우스를위해개발되었음 현재는오픈소스인 Apache 프로젝트 Hive 유저를위한

More information

MS-SQL SERVER 대비 기능

MS-SQL SERVER 대비 기능 Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT

More information

APOGEE Insight_KR_Base_3P11

APOGEE Insight_KR_Base_3P11 Technical Specification Sheet Document No. 149-332P25 September, 2010 Insight 3.11 Base Workstation 그림 1. Insight Base 메인메뉴 Insight Base Insight Insight Base, Insight Base Insight Base Insight Windows

More information

ez-shv manual

ez-shv manual ez-shv+ SDI to HDMI Converter with Display and Scaler Operation manual REVISION NUMBER: 1.0.0 DISTRIBUTION DATE: NOVEMBER. 2018 저작권 알림 Copyright 2006~2018 LUMANTEK Co., Ltd. All Rights Reserved 루먼텍 사에서

More information

Backup Exec

Backup Exec (sjin.kim@veritas.com) www.veritas veritas.co..co.kr ? 24 X 7 X 365 Global Data Access.. 100% Storage Used Terabytes 9 8 7 6 5 4 3 2 1 0 2000 2001 2002 2003 IDC (TB) 93%. 199693,000 TB 2000831,000 TB.

More information

Chapter 1

Chapter 1 3 Oracle 설치 Objectives Download Oracle 11g Release 2 Install Oracle 11g Release 2 Download Oracle SQL Developer 4.0.3 Install Oracle SQL Developer 4.0.3 Create a database connection 2 Download Oracle 11g

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information

Mango220 Android How to compile and Transfer image to Target

Mango220 Android How to compile and Transfer image to Target Mango220 Android How to compile and Transfer image to Target http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys

More information

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 언어 변환 1.4. 기대 효과 4.4. 프로그램 Restructuring 4.5. 소스 모듈 관리 2. SeeMAGMA 적용 전략 2.1. SeeMAGMA

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Spider For MySQL 실전사용기 피망플러스유닛최윤묵 Spider For MySQL Data Sharding By Spider Storage Engine http://spiderformysql.com/ 성능 8 만 / 분 X 4 대 32 만 / 분 많은 DB 중에왜 spider 를? Source: 클라우드컴퓨팅구 선택의기로 Consistency RDBMS

More information

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 RecurDyn 의 Co-simulation 와 하드웨어인터페이스적용 2016.11.16 User day 김진수, 서준원 펑션베이솔루션그룹 Index 1. Co-simulation 이란? Interface 방식 Co-simulation 개념 2. RecurDyn 과 Co-simulation 이가능한분야별소프트웨어 Dynamics과 Control 1) RecurDyn

More information

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_ Sena Technologies 백서 : Latency/Throughput Test September 11, 2008 Copyright Sena Technologies, Inc 2008 All rights strictly reserved. No part of this document may not be reproduced or distributed without

More information

T100MD+

T100MD+ User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+

More information

PRO1_09E [읽기 전용]

PRO1_09E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_09E1 Information and - ( ) 2 3 4 5 Monitor/Modify Variables" 6 7 8 9 10 11 CPU 12 Stop 13 (Forcing) 14 (1) 15 (2) 16 : 17 : Stop 18 : 19 : (Forcing) 20 :

More information

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다. PDMLink 에등록된 Office 문서들의 PDF 문서변환기능및 Viewer 기능을알아보자 PDM Link에서지원하는 [Product View Document Support] 기능은 Windows-Base 기반의 Microsoft Office 문서들을 PDMLink용 Viewer인 Product View를통한읽기가가능한 PDF Format 으로변환하는기능이다.

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information