OpenFrame

Size: px
Start display at page:

Download "OpenFrame"

Transcription

1 OpenFrame 유틸리티참조안내서 OpenFrame/Batch for VOS3 2.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 "Jeanloup 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 및 Jeanloup 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장 데이터셋유틸리티 JSCVSUT JSDEDIT JSDPCPY JSDPRNT JSDSCPY JSDUPDT JSFCTLG JSFDCDP JSFILST JSFMOVE 제3장 기타유틸리티 DSDIFF EZTPA FTP JDJDUMMY PGMRTS SDSF 색인 OpenFrame iii

4

5 그림목차 [ 그림 2.1] PDS 데이터셋복사 [ 그림 2.2] 데이터셋병합 [ 그림 2.3] 특정멤버복사 [ 그림 2.4] INDD 문을사용하여 INPUT 처리 [ 그림 2.5] COPY 문의서브명령어로 INDD를사용하는경우 [ 그림 2.6] 1번째입력레코드필드복사 [ 그림 2.7] 2번째입력레코드필드복사 [ 그림 3.1] EZTAP00 동작 [ 그림 3.2] PGMRTS00 동작구조 OpenFrame v

6

7 안내서에대하여 안내서의대상 본안내서는리호스팅솔루션인 Tmax OpenFrame ( 이하 OpenFrame)/Batch 시스템을사용하는사용자 를대상으로기술한다. 안내서의전제조건 본안내서를정확히사용하려면 OpenFrame/Batch 의개념을이해하고있어야한다. OpenFrame/Batch 에대한이해를돕기위해 OpenFrame 안내서중 Batch 안내서 를먼저숙지할것을권장한다. 안내서의제한조건 본안내서에서는유틸리티에서현재지원하지않는기능, 옵션, 파라미터에대해별도로표기하였으며이 에대한은생략한다. 안내서에대하여 vii

8 안내서구성 유틸리티참조안내서는총 3개의장으로구성되어있다. 각장의주요내용은다음과같다. 제1장 : 개요각장에서할유틸리티의전반적인개요에대해기술한다. 제 2 장 : 데이터셋유틸리티 데이터셋유틸리티프로그램을사용하여여러가지데이터셋관련작업을처리하기위한방법에대해 기술한다. 제 3 장 : 기타유틸리티 사용자의편의를위해제공되는데이터셋유틸리티외의유틸리티를사용하는방법에대해기술한다. viii OpenFrame 유틸리티참조안내서

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

10 시스템사용환경 요구사항 Platform IBM AIX 5.x HPUX 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/Base 를구성하는전반적인기능에대해기술한안내서이다. Base 안내서 OpenFrame JCL 문법안내서 OpenFrame 데이터셋안내서 OpenFrame 마이그레이션안내서 OpenFrame 툴참조안내서 OpenFrame 시스템의 VOS3 JCL의문법지원사항과상세내용에대해서기술한안내서이다. OpenFrame 데이터셋에대한소개와데이터셋종류및카탈로그방법등에대해기술한안내서이다. Mainframe 환경의리소스를 OpenFrame 환경으로마이그레이션할때필요한정보와전환절차또는주의사항등에대해기술된안내서이다. OpenFrame 시스템을운용하는데사용하는다양한툴프로그램에대해기술된안내서이다. 참고문헌 제품 Mainframe 안내서 VOS3 시스템유틸리티 / 독립유틸리티해설문법서 C0 VOS3 데이터셋유틸리티해설문법서 D0 VOS3 VSAM 유틸리티해설문법서 E0 CAEasyTrieve Plus Reference Guide 6.4 Communications Server IP User's Guide and Commands 안내서에대하여 xi

12 연락처 Korea TmaxSoft Co., Ltd 263 BundangSquare (AK Plaza) 12th floor, Seohyeondong, Bundanggu, Seongnamsi, Gyeonggido, 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, MinatoKu, 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 장개요 본장에서는 OpenFrame 에서제공하는유틸리티에대해소개한다 유틸리티소개 OpenFrame 유틸리티프로그램은 OpenFrame 엔진과함께제공되는사용자편의를위한프로그램으로 JCL을통해 Batch JOB으로실행된다. 유틸리티프로그램은다음과같이분류된다. 데이터셋유틸리티 소트유틸리티 기타유틸리티 각유틸리티에대한은해당절에서자세하게기술한다. 참고 소트유틸리티에대해서는 OpenFrame 안내서중 "SORT 유틸리티참조안내서 " 를참고한다. 제 1 장개요 1

16

17 제 2 장데이터셋유틸리티 본장에서는데이터셋유틸리티에대해기술한다 JSCVSUT JSCVSUT는 OpenFrame의 VSAM과 NonVSAM 데이터셋및카탈로그정보를생성하고관리하기위한유틸리티프로그램이다. SYSIN DD에입력된각명령은각각의명령이의미하는작업을수행하기위한명령어와이를위한각종옵션또는파라미터들로구성된다. JSCVSUT는실행할명령들을 SYSIN DD에서읽어들여동작한다. OpenFrame의 JSCVSUT 프로그램은기존 Mainframe의 JSCVSUT 명령을그대로사용하여 OpenFrame 의 VSAM 데이터셋과 NonVSAM 데이터셋그리고카탈로그를대상으로동작한다. 사용자입장에서 Mainframe의 JSCVSUT와동일한작업을수행한다. JSCVSUT는 2가지종류의명령어로분류된다. 기능명령어실제로사용자가수행하려는특정작업을나타내는명령어이다. 명령어 ALTER BLDINDEX CHECKCAT DEFINE 이미정의되어있는데이터셋또는카탈로그자체의속성을변경한다. 특정데이터셋에대한보조인덱스를생성한다. 데이터셋의카탈로그정보와 VTOC 정보를비교한다. 다음과같은데이터셋오브젝트 ( 또는카탈로그엔트리 ) 를정의하기위해사용한다. ALIAS ALTERNATEINDEX CLUSTER GENERATIONDATAGROUP NONVSAM PATH USERCATALOG MASTERCATALOG DELETE VSAM 과 NonVSAM 데이터셋및카탈로그를제거한다. 제 2 장데이터셋유틸리티 3

18 명령어 EXPORT EXTRACT IMPORT LISTCAT LISTENT LISTST PRINT REPRO SPLITMRG SRCHCAT VERIFY 카탈로그와 VSAM 데이터셋을이식가능한데이터셋으로반출하거나백업데이터셋을생성한다. CHECKCAT 명령에사용되는데이터셋의카탈로그정보및 VTOC 정보를추출한다. EXPORT 명령으로생성된이식가능한카탈로그와 VSAM 데이터셋을반입하거나백업된상태의데이터셋을원래의상태로복원한다. 카탈로그에등록된 VSAM과 NonVSAM 데이터셋에대한정보를보여준다. 볼륨에등록된 VSAM과 NonVSAM 데이터셋에대한정보를보여준다. 카탈로그상태에대한정보를보여준다. VSAM과 NonVSAM 데이터셋에저장되어있는레코드를출력하여보여준다. VSAM과 NonVSAM 데이터셋의내용을복사한다. 카탈로그를분할또는병합한다. 카탈로그에등록된 VSAM과 NonVSAM 데이터셋을검색한다. VSAM 데이터셋의비정상종료 (close) 로인해잘못된데이터셋정보로카탈로그되어있는지확인하고올바르게수정한다. 또한레코드수등의정보도정확하게반영되어있는지확인한다. VSAM 데이터셋을종료할때해당데이터셋의마지막위치와레코드수등의통계정보가카탈로그에저장된다. 정상적으로종료되지않은경우카탈로그정보와실제데이터셋의상태정보가일치하지않을수있으므로, VERIFY 명령으로이러한불일치를올바르게변경할수있다. 보조명령어 JSCVSUT 명령어들의실행을제어하기위한보조성격의명령어이다. 명령어 IFTHENELSE Null 실행된명령의컨디션코드값 (LASTCC 또는 MAXCC) 에따라다음에실행할명령을분기하기위해사용한다. 아무동작도발생시키지않는문법적용도의명령이다. IFTHENELSE 명령의 THEN 이나 ELSE 다음에특별한작업을수행하지않는다는 것을명시적으로나타내기위해서사용한다. SET CANCEL PARM MAXCC나 LASTCC의값을특정한값으로강제설정하기위해사용한다. 프로그램실행중 CANCEL 명령어를만나면 JSCVSUT의실행이중지되고, CANCEL 명령이후의나머지명령들은처리되지않는다. JSCVSUT가실행되는동안에적용되는옵션및파라미터값을지정한다. 현재는지원하지않는다. 4 OpenFrame 유틸리티참조안내서

19 JSCVSUT을이용하여코딩할때공통적으로적용되는규약은다음과같다. 하이픈 () 하나의명령을여러라인에걸쳐서작성할경우, 라인의맨뒤에하이픈 () 을입력하고그다음라인에계속이어서명령의나머지부분을코딩한다. 하이픈 () 은키워드나파라미터값의중간에코딩할수없으며일반적으로키워드나파라미터값의경계가되는부분에라인이계속이어진다는의미로사용한다. 하이픈 () 을사용하여코딩하는예는다음과같다. LISTCAT ENT( TEST.CLUS1 TEST.KSDS1 TEST.RRDS1 TEST.SDS1 주의 여러라인에걸쳐서작성된명령어의맨마지막라인에는하이픈 () 을코딩하지않도록주의한다. 주석주석은 JSCVSUT 명령사이에입력할수있다. 단, 키워드나파라미터값의중간에는주석이올수없다. 또한, 주석의시작문자 '/*' 는라인의 1번째컬럼에기술할수없다. 주석에특별한기능은없지만하나의명령으로간주되기때문에명령중간에주석을추가하는경우에는해당라인의맨뒤에하이픈 () 을입력해야한다. 주석은공백이나콤마 (,) 와같이 JSCVSUT 문법에서필드를구분하는역할도하므로 /* 와 */ 사이에입력한다. 다음은주석을올바르게기술한예이다. /* This is JSCVSUT Comment */ /* This is multi line Comment comment continued from above line */ LISTCAT ENT( /* Comment 1 */ TEST.KSDS1 /* Comment 3 */ TEST.SDS1 /* Comment 4 */ ) /* Comment 5 */ 주의 IFTHENELSE 문의중간에주석을사용하는경우에는주석에의해서 IFTHENELSE 구조가의도 하지않은위치에서끝나지않도록주의해야한다. 제 2 장데이터셋유틸리티 5

20 DD 설정 OpenFrame 의 JSCVSUT 는 JCL 을통해 Batch 작업으로실행하는방식과 UNIX 시스템의명령어라인에 서직접실행하는인터랙티브방식을모두지원한다. JCL 을통한 JOB 실행 (using JCL as JOB) JCL 을통해서 JOB 의한 STEP 으로서 JSCVSUT 를실행하는경우 JSCVSUT 는다음과같은 DD 문을사 용한다. SYSIN DD JSCVSUT 가실행할명령을기술한다. 데이터셋의레코드길이는 72 칼럼을넘을수없으며, 명령이길어질경우하이픈 () 을사용한다. SYSPRINT DD 또는 SYSOUT DD 추가적인 DD JSCVSUT 실행결과와실행중발생한주의를필요로하는정보성메시지, 경고메시지그리고에러메시지등을저장할데이터셋을기술한다. SYSPRINT DD를기술하지않거나지정데이터셋의할당, 열기에실패한경우 JSCVSUT는아무런명령도수행하지않고종료되며컨디션코드 16을반환한다. JSCVSUT 명령중에서일부는 JCL에기술된 DD를통해명령의대상이되는 ddname 이나 entryname을간접적으로지정할수있다. 이경우 JSCVSUT는데이터셋을동적으로할당하지않고 JOB의실행을제어하는 tjclrun에의해 JOB 레벨에서미리할당된데이터셋을승계받아사용한다. 일반적으로명령어의대상이되는데이터셋을지정하는파라미터는 JCL에기술된 ddname을이용하여 FILE(ddname) 형태의파라미터이름을갖는다. JSCVSUT에서동적할당을이용하여데이터셋을지정하는파라미터는 DATASET(entryname) 형태의파라미터이름을갖는다. 다음은앞에서한추가적인 DD 에대한예로, REPRO BLDINDEX PRINT 의파라미터를이용하여 JCL 에서할당된데이터셋을승계받아서동작하도록한다. INFILE(ddname), OUTFILE(ddname) 다음은 REPRO BLDINDEX PRINT 의파라미터로, JSCVSUT 에서동적으로데이터셋을할당하여동작하 는예이다. INDATASET(entryname), OUTDATASET(entryname) 6 OpenFrame 유틸리티참조안내서

21 JCL을통해서 JOB의한 STEP으로 JSCVSUT를실행시키기위해서는 JSCVSUT를호출하는 JOB STEP 에앞에서한 DD를기술하고 EXEC PGM에 JSCVSUT를지정한후해당 JCL을전송 (submit) 한다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //REPRO EXEC PGM=JSCVSUT //INDD DD DSN=VSAM.KSDS1,DISP=(OLD,KEEP) //OUTDD DD DSN=VSAM.KSDS2,DISP=SHR //SYSPRINT DD SYSOUT=* //SYSIN DD * REPRO INFILE(INDD) OUTFILE(OUTDD) SKIP(50000) COUNT(10000) /* // 명령어라인에서실행 (using from Command line) UNIX 시스템의명령어라인에서 JSCVSUT를직접실행한다. 이경우 SYSIN DD 및 SYSPRINT DD 대신에표준입출력스트림 (stdin/stdout/stderr) 을사용하여작동한다. 즉, stdin으로부터 JSCVSUT 명령어를읽어들여명령어단위로실행하고, stdout/stderr로는작업의결과및에러메시지를출력하는인터랙티브한인터프리터방식이다. UNIX 시스템의명령어라인에다음과같은명령을실행하면 JSCVSUT는 DEFINE.TEST.CLUS1.CMD라는 VSAM 데이터셋을제거하고다시정의하는동작을한다. $ JSCVSUT < DEFINE.TEST.CLUS1.CMD TEST.CLUS1.CMD는일반적인 UNIX 텍스트파일로아래와같은내용을담고있다. DE FINE.TEST.CLUS1.CMD 파일은 JSCVSUT UNIX 명령어라인에서 stdin 리다이렉션을보여준다. DELETE TEST.CLUS1 CLUSTER DEFINE CLUSTER (NAME(TEST.CLUS1) VOLUMES(100000) INDEXED KEYS(07 0) CYL (70 10) RECORDSIZE( )) DATA (NAME(TEST.CLUS1.DATA) CONTROLINTERVALSIZE(4096) ) INDEX (NAME(TEST.CLUS1.INDEX) CONTROLINTERVALSIZE(4096) ) 제 2 장데이터셋유틸리티 7

22 제약사항 (Limitation) DD(ddname) 를통해할당된데이터셋을승계하여사용하기위해서는 OpenFrame/Batch 환경, 특히 tjclrun 을필요로한다. 따라서 JCL을통해 JOB STEP으로 JSCVSUT를실행하는경우에가능했던 ddname을사용한데이터셋의지정이 UNIX 시스템의명령어라인에서는불가능하다. UNIX 명령어를실행하는경우 JSCVSUT 명령의대상이되는데이터셋을지정하기위해서는항상 DATASET(entryname) 형태로지정하여사용해야한다. 기능명령어 ALTER DEFINE 문으로카탈로그에이미등록되어있는데이터셋과카탈로그엔트리의정보일부를변경할수있다. ALTER 명령어구문은다음과같다. 참고 PDS 멤버에대한 ALTER 문은지원하고있지않다. ALTER entryname [NEWNAME(entryname)] [EMPTY NOEMPTY] [LIMIT(limit)] [NULLIFY( [OWNER] [RETENTION] ) [OWNER(ownerid)] [SCRATCH NOSCRATCH] [TO(date) FOR(days)] [CATALOG(catname)] entryname NEWNAME (entryname) EMPTY NOEMPTY 속성을변경하고자하는기존데이터셋이나카탈로그엔트리의 entryname을지정한다. 변경하고자하는엔트리명의새로운이름을지정한다. ( 약어 : NEWNM) PDS 멤버에대한 ALTER 구문은지원하고있지않다. 세대데이터그룹에존재하는세대데이터셋의수가제한값을초과했을때, 기존에존재하는세대데이터셋을어떻게삭제할지를결정한다. 8 OpenFrame 유틸리티참조안내서

23 EMPTY: 기존의모든세대데이터셋을삭제한다. ( 약어 : EMP) NOEMPTY: 기존의세대테이터셋중가장오래된데이터셋을삭제한다. ( 약어 : NEMP) OpenFrame에서는 NOEMPTY 기능만지원하고있다. LIMIT(limit) 세대데이터그룹에존재할수있는최대세대수를지정한다. ( 약어 : LIM) 이값은 1~255 범위내에서만지정할수있다. LIMIT으로지정한값보다실제세대데이터그룹에존재하는세대데이터셋이많은경우, 데이터셋의수가 LIMIT에지정한값이될때까지, 가장오래된데이터셋부터삭제한다. NULLIFY 무효대상을결정한다. ( 약어 : NULL) OWNER: 소유자식별명을무효로한다. RETENTION: TO 또는 FOR 파라미터로지정된만기일자를무효로한다. ( 약어 : RETN) OWNER SCRATCH NOSCRATCH 변경될엔트리의소유자를지정한다. 세대데이터셋이삭제될때 VTOC에등록된데이터셋정보도모두삭제할지를결정한다. SCRATCH: VTOC에등록된세대데이터셋의정보도삭제한다. ( 약어 : SCR) NOSCRATCH: VTOC에등록된세대데이터셋의정보를삭제하지않는다. 하지만카탈로그에등록된정보는삭제되었기때문에, 카탈로그를통한데이터셋으로의접근은할수없다. ( 약어 : NSCR) OpenFrame에서는 SCRATCH 기능만지원하고있다. GDS가카탈로그로부터등록을해제하면볼륨에있는데이터셋도함께삭제한다. TO(date) FOR(days) 수정하려는엔트리에대한보존기간을지정한다. TO: 보존기간을 [yy]yyddd 형식으로지정한다. FROM: 보존일수를 0~9999 범위내에서지정한다 를지정하면영구보존된 다. CATALOG (catname) entryname 으로지정된카탈로그엔트리를찾을때사용할카탈로그를명시적으로지 정한다. 지정하지않는경우에는카탈로그검색순서에따라결정된다. ( 약어 : CAT) 제 2 장데이터셋유틸리티 9

24 카탈로그엔트리타입과카탈로그엔트리에해당하는사용자데이터셋에데이터가적재되어있는지여부에따라서변경가능한속성과변경불가능한속성이있다. 다음은 OpenFrame JSCVSUT의 ALTER 명령이지원하는각카탈로그엔트리타입에따른변경가능한속성을요약한표이다. O 로표시되어있는곳이변경가능한속성이다. 엔트리타입 AIX AIX AIX CLUS CLUS CLUS PATH UCAT UCAT NON GDG 변경가능속성 DATA IN DEX TER TER DATA TER IN DATA IN DEX VSAM DEX NEWNAME O O EMPTY O NOEMPTY O LIMIT O NULLIFY O O O OWNER O O O RETENTION O O O SCRATCH O NOSCRATCH O TO O O O FOR O O O 참고 본안내서에서다루지않은파라미터에대해서는 Hitachi 의 "VOS3 VSAM Utility" 를참고한다. 변경하고자하는카탈로그엔트리에새로운속성값을지정하기위해서는각파라미터외에도변경할대상이되는카탈로그엔트리를지정하기위한파라미터가필요하다. 다음은 TESTCAT이라는사용자카탈로그에등록된 TEST.GDG1란이름의 GDG의최대세대수를 255 로, 만료일자를 2006년의 300번째날짜로속성을변경하는예이다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //ALTGDG EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //SYSIN DD * ALTER TEST.GDG1 LIMIT(255) TO( ) CATALOG(TESTCAT) 10 OpenFrame 유틸리티참조안내서

25 /* // BLDINDEX BLDINDEX 명령을사용하여기존에존재하는데이터셋에대한보조인덱스를구성한다. BLDINDEX 명령은내부적으로보조인덱스클러스터에하나의보조키와다수개의기본키로구성되는레코드를적재하는역할을담당한다. BLDINDEX는 BIX라는약어를사용할수있다. BLDINDEX 명령어구문은다음과같다. BLDINDEX {INFILE(ddname) INDATASET(entryname)} {OUTFILE(ddname) OUTDATASET(entryname)} [CATALOG(catname)] INFILE(ddname) INDATASET(entryname) 보조인덱스를구성하는데사용할베이스클러스터를지정한다. INFILE: JSCVSUT 호출전에실행환경에의해서미리할당된데이터셋을사용하는경우에는 ddname을사용한다. ( 약어 : IFILE) INDATASET: JSCVSUT 자체적으로데이터셋을할당하는경우에는 entry name 을사용한다. ( 약어 : IDS) OUTFILE(ddname) OUTDATASET(entry name) BLDINDEX 결과로구성되는보조인덱스클러스터를지정한다. BLDINDEX 전에보조인덱스는미리 DEFINE되어야한다. OUTFILE: JSCVSUT 호출전에실행환경에의해서미리할당된데이터셋을사용하는경우에는 ddname을사용한다. ( 약어 : ODS) OUTDATASET: JSCVSUT 자체적으로데이터셋을할당하는경우에는 entryname 을사용한다. ( 약어 : ODS) CATALOG(catname) entryname 으로지정된카탈로그엔트리를찾을때사용할카탈로그를명시 적으로지정한다. 지정하지않는경우에는카탈로그검색순서에따라결정 된다. ( 약어 : CAT) 다음은 VSAM.KSDS1 의보조인덱스인 VSAM.AIX1 을구성하는예이다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //BLDAIX EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //BASE DD DSN=VSAM.KSDS1,DISP=OLD //AIX DD DSN=VSAM.AIX1,DISP=OLD 제 2 장데이터셋유틸리티 11

26 //SYSIN DD * BLDINDEX INFILE(BASE) OUTFILE(AIX) /* // CHECKCAT CHEKCCAT 명령을사용하여카탈로그정보를 VTOC 정보와비교한다. 다음은 CHECKCAT 명령의 2가지기능이다. VSAM 데이터셋및 NonVSAM 데이터셋의비교 EXTRACT 명령으로추출한데이터셋의카탈로그정보와 VTOC 정보를비교한다. 비교한정보를토대로불일치한데이터셋에대하여복구하기위한 VSAM 유틸리티명령어를생성하고지정된데이터셋에출력한다. VSAM 데이터셋의비교 EXTRACT 명령으로추출한데이터셋의카탈로그정보와 VTOC 정보를비교한다. VSAM 데이터셋및 NonVSAM 데이터셋의비교를위한 CHECKCAT 명령어구문은다음과같다. CHECKCAT CATFILE(ddname) VOLFILE(ddname) CMDFILE1(ddname) CMDFILE2(ddname) CMDFILE3(ddname) CMDFILE4(ddname) [IGNORE NOIGNORE] [LIMIT(limit)] [LIST NOLIST] CATFILE(ddname) VOLFILE(ddname) CMDFILE1(ddname) EXTRACT 명령으로추출한카탈로그정보를포함하고있는 NonVSAM 데이터셋의 ddname을지정한다. ( 약어 : CFILE) EXTRACT 명령으로추출한 VTOC 정보를포함하고있는 NonVSAM 데이터셋의 ddname을지정한다. ( 약어 : VFILE) VSAM 데이터셋에대한 DEFINE 관련명령어가출력되는 NonVSAM 데이터셋의 ddname을지정한다. 출력데이터셋은 80Byte 고정장블록형식이어야한다. ( 약어 : CMD1) 12 OpenFrame 유틸리티참조안내서

27 CMDFILE2(ddname) CMDFILE3(ddname) CMDFILE4(ddname) IGNORE NOIGNORE VSAM 데이터셋에대한 DELETE 관련명령어가출력되는 NonVSAM 데이터셋의 ddname을지정한다. 출력데이터셋은 80Byte 고정장블록형식이어야한다. ( 약어 : CMD2) NonVSAM 데이터셋에대한 DEFINE 관련명령어가출력되는 NonVSAM 데이터셋의 ddname을지정한다. 출력데이터셋은 80Byte 고정장블록형식이어야한다. ( 약어 : CMD3) NonVSAM 데이터셋에대한 DELETE 관련명령어가출력되는 NonVSAM 데이터셋의 ddname을지정한다. 출력데이터셋은 80Byte 고정장블록형식이어야한다. ( 약어 : CMD4) 카탈로그에등록된데이터셋중에 VOLFILE 파라미터로지정한볼륨에해당하는엔트리만을비교할지를결정한다. IGNORE: VOLFILE 파라미터에지정한볼륨에해당하는엔트리만비교한다. ( 약어 : IGN) NOIGNORE: 카탈로그에등록되어있는모든엔트리에대하여비교한다. ( 약 어 : NIGN) 기본값은 NOIGNORE 이다. LIMIT(limit) LIST NOLIST CHECKCAT의 CMDFILE 데이터셋에생성되는 DEFINE GENERATIONDATA GROUP 구문의최대세대수를지정한다. 이파라미터를생략하면기본값인 255 가지정된다. ( 약어 : LIM) 비교한결과값의출력방식을결정한다. LIST: 모든엔트리에대한결과를출력한다. NOLIST: 불일치엔트리에대한결과만출력한다. ( 약어 : NLIST) 기본값은 NOLIST 이다. VSAM 데이터셋의비교를위한 CHECKCAT 명령어구문은다음과같다. CHECKCAT CATALOG(catname) FILE(ddname[ ddname...]) [IGNORE NOIGNORE] [LIST NOLIST] CATALOG(cat name) FILE(ddname) 비교대상 VSAM 데이터셋엔트리를포함하고있는카탈로그를지정한다. ( 약어 : CAT) 비교대상 VSAM 데이터셋엔트리를포함하고있는볼륨의 ddname 을지정한다. 제 2 장데이터셋유틸리티 13

28 IGNORE NOIGNORE 카탈로그에등록된데이터셋중에 VOLFILE 파라미터로지정한볼륨에해당하는엔트리만을비교할지를결정한다. IGNORE: VOLFILE 파라미터에지정한볼륨에해당하는엔트리만비교한다. ( 약어 : IGN) NOIGNORE: 카탈로그에등록되어있는모든엔트리에대하여비교한다. ( 약어 : NIGN) 기본값은 NOIGNORE 이다. LIST NOLIST 비교한결과값의출력방식을결정한다. LIST: 모든엔트리에대한결과를출력한다. NOLIST: 불일치엔트리에대한결과만출력한다. ( 약어 : NLIST) 기본값은 NOLIST 이다. 다음은 CHECKCAT 명령어로 USER.CAT1 사용자카탈로그에등록되어있는 VSAM 데이터셋엔트리와 볼륨일렬번호가 과 인볼륨에들어있는 VSAM 데이터셋엔트리를비교하는예이다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //CHECKCAT EXEC PGM=JSCVSUT //VOLIN1 DD VOL=SER=100000,DISP=OLD //VOLIN2 DD VOL=SER=200000,DISP=OLD //SYSPRINT DD SYSOUT=A //SYSIN DD * CHECKCAT CATALOG(USER.CAT1) FILE(VOLIN1 VOLIN2) LIST /* // DEFINE DEFINE 명령에서공통적으로사용가능한파라미터는다음과같다. DEFINE NAME(entryname) {CYLINDERS(primary[ secondary]) RECORDS(primary[ secondary) TRACKS(primary[ secondary)} {VOLUMES(volser[ volser...] DEVICETYPE(devtype)}) 14 OpenFrame 유틸리티참조안내서

29 [CONTROLINTERVALSIZE(size)] [OWNER(ownerid)] [RECORDSIZE(average maximum)] [TO(date) FOR(days)]) [DATA (...)] [INDEX (...)] [CATALOG(catname)] 참고 DEFINE 명령별로지정가능한실제파라미터의종류는각각의 DEFINE 명령절에서한다. 본 절에서는공통적으로사용하는파라미터에관해한다. DEFINE 의약어로 DEF 를사용할수있다. DEFINE 구문에서공통적으로지정할수있는파라미터는다음과같다. NAME(entryname) CYLINDERS RECORDS TRACKS (primary[ secondary]) DEFINE 명령으로생성또는정의하려는카탈로그객체의이름을지정한다. VSAM 클러스터 (CLUSTER, ALTERNATEINDEX, USERCATALOG) 를생성할때해당데이터셋에할당할저장소의용량을지정한다. CYLINDERS, TRACKS는저장매체의종류에종속적인단위로할당을할때사용된다. 나머지는저장매체의종류에비종속적인단위로할당할때사용된다. 기본 (primary) 할당과추가 (secondary) 할당으로지정한다. 기본할당은데이터셋을생성할때처음할당되는것을의미하고추가할당은이후데이터셋에데이터가계속저장되어저장소를추가적으로할당하는경우를의미한다. ( 약어 : CYL REC TRK) VOLUMES(volser[ volser...]) DEVICETYPE(dev type) CONTROLINTERVAL SIZE(size) VOLUMES, DEVICETYPE 중원하는을지정한다. VOLUMES: 데이터셋을생성하는경우데이터셋을저장할볼륨의볼륨일련번호를지정한다. ( 약어 : VOL) DEVICETYPE: 엔트리가존재하는볼륨의장치타입을지정한다. 단, OpenFrame 에서는이옵션을지원하고있지않다. ( 약어 : DEVT) VSAM 클러스터 (CLUSTER, ALTERNATEINDEX, USERCATALOG) 의컨트롤인터벌크기를지정한다. 컨트롤인터벌은 NonVSAM 의 BLKSIZE 에해당하는개념으로 VSAM 은실제로 디스크에 I/O 하는경우컨트롤인터벌단위로동작한다. 제 2 장데이터셋유틸리티 15

30 CONTROLINTERVALSIZE는 512Byte에서 8KByte 사이에서 512Byte의배수단위로지정해야하고, 8KByte에서 32KByte 사이의값인경우는 2KByte의배수단위로지정해야한다. 그렇지않은경우내부적으로해당범위에따라서지정된값보다작지않은가장가까운 512Byte나 2 KByte의배수단위의값으로결정된다. CONTROLINTERVALSIZE를지정하지않으면 VSAM이임의의적당한값으로결정한다. ( 약어 : CISZ 또는 CNVSZ) OWNER(ownerid) RECORDSIZE (average maximum) 데이터셋의소유자를지정한다. CLUSTER, ALTERNATEINDEX, USERCATALOG를생성할때해당데이터셋에저장될레코드의크기를 average와 maximum으로지정한다. 두값을동일하게지정하면고정길이레코드 (Fixed Length Record) 를의미한다. USERCATALOG에지정된이파라미터는무시된다. USERCATALOG는 VSAM 이처리하는데이터셋이기때문에 VSAM은 USERCATALOG의 RECORDSIZE 파라미터로항상 ( ) 을사용한다. CLUSTER에대해서는이파라미터가생략된경우 SPANNED 파라미터가지정되어있으면 ( ) 이기본값으로사용되고그렇지않은경우 ( ) 가기본값으로사용된다. ALTERNATEINDEX에대해서이파라미터가생략된경우는항상 ( ) 이기본값으로사용된다. ALTERNATEINDEX는일반적으로많은수의 NONUNIQUE KEY가존재하는점을고려해서 VSAM 내부적으로 SPANNED가지정된 KSDS처럼처리된다. AL TERNATEINDEX에는 SPANNED 파라미터는무시된다. ( 약어 : RECSZ) TO(date) FOR(days) 데이터셋및카탈로그엔트리를생성할때해당객체의만료일자를지정한다. TO: 만료일자를지정한다. FOR: 유효일수를지정한다. 생성일로부터유효일수를더한날짜가만료일자 가된다. DATA(parameters) INDEX(parameters) CLUSTER, ALTERNATEINDEX, USERCATALOG와같이데이터컴포넌트와인덱스컴포넌트를가질수있는 VSAM 클러스터를생성하는경우데이터컴포넌트와인덱스컴포넌트각각에대해서별도로위에서한파라미터 ( 일부해당하는파라미터 ) 를따로지정할수있다. 예를들어저장소할당크기를나타내는 CYLINDERS 파라미터는 DEFINE CLUSTER 할때 CLUSTER 의서브파라미터로서지정해도되고 DATA 나 INDEX 16 OpenFrame 유틸리티참조안내서

31 컴포넌트의서브파라미터로서지정해도된다. 이렇게별도로지정한경우컴포 넌트별로따로적용하는것이가능하다면컴포넌트별로다른값이적용된다. CATALOG(catname) DEFINE 명령으로정의하는카탈로그엔트리가등록될카탈로그이름을지정한다. 생략하면해당 JOB의 STEPCAT이나 JOBCAT에지정된카탈로그또는카탈로그엔트리이름의일부를 ALIAS로사용하는 USERCATALOG가있는경우해당 USERCATALOG에등록된다. 마지막까지등록할카탈로그가결정되지않으면마스터카탈로그에등록한다. ( 약어 : CAT) 자세한사항은 "OpenFrame 데이터셋안내서 " 의 " 제 4 장통합카탈로그 " 에서카 탈로그검색순서를참고한다. DEFINE ALIAS NonVSAM 데이터셋이나사용자카탈로그의별칭으로사용할 ALIAS를카탈로그에생성한다. ALIAS에해당하는카탈로그엔트리역시원래의데이터셋이름과별칭만을포함하고있다. 별도의사용자데이터를저장하기위한데이터셋은존재하지않는다. 참고 사용자카탈로그를제외한 VSAM 데이터셋에대한 ALIAS 는생성할수없다. DEFINE ALIAS 명령어구문은다음과같다. DEFINE ALIAS (NAME(aliasname) RELATE(entryname)) [CATALOG(catname)] NAME(aliasname) RELATE(entryname) CATALOG(catname) 생성할 ALIAS 이름을지정한다. ALIAS 이름은등록될카탈로그내에서유일해야한다. ALIAS가가리키는실제엔트리의 entryname을지정한다. ( 약어 : REL) 생성할 ALIAS를등록할카탈로그지정한다. ( 약어 : CAT) 사용자카탈로그에대한 ALIAS 를생성하는경우마스터카탈로그를지정한다. 다음은 TEST.NVSAM1 의 ALIAS 로 TEST.ALIAS1 을생성하고 TESTCAT 카탈로그에등록하는예이다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //DEFALI EXEC PGM=JSCVSUT 제 2 장데이터셋유틸리티 17

32 //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE ALIAS(NAME(TEST.ALIAS1) RELATE(TEST.NVSAM1)) CATALOG(TESTCAT) /* // DEFINE ALTERNATEINDEX DEFINE ALTERNATEINDEX( 이하 AIX) 명령을이용하여특정데이터셋 (BASE CLUSTER) 에대한별도의인덱스방법을제공하는 AIX 데이터셋을정의한다. VSAM은베이스클러스터에레코드가추가되거나삭제또는변경되는경우, 이와연관된 AIX들에대해서자동적으로변경을수행하여 AIX가지속적으로올바르게베이스클러스터에대한별도의인덱스를수행할수있도록한다. 내부구조상 AIX 데이터셋도하나의 KSDS 클러스터구조를갖는데이터셋이므로 DEFINE AIX에사용되는대부분의파라미터는 DEFINE CLUSTER의파라미터와동일하다. ALTERNATEINDEX 명령어의약어로 AIX를사용한다. DEFINE ALTERNATEINDEX 명령어구문은다음과같다. DEFINE ALTERNATEINDEX (NAME(entryname) RELATE(entryname) {CYLINDERS(primary[ secondary]) RECORDS(primary[ secondary]) TRACKS(primary[ secondary])} {VOLUMES(volser[ volser...]) DEVICETYPE(devtype)} [CONTROLINTERVALSIZE(size)] [ERASE NOERASE] [KEYS(length offset 64 0)] [OWNER(ownerid)] [RECORDSIZE(average maximum )] [TO(date) FOR(days)] [UNIQUEKEY NONUNIQUEKEY] [UPGRADE NOUPGRADE]) [DATA ({CYLINDERS(primary[ secondary]) RECORDS(primary[ secondary]) TRACKS(primary[ secondary])} [{VOLUMES(volser[ volser...]) DEVICETYPE(devtype)}] [CONTROLINTERVALSIZE(size)] [ERASE NOERASE] [KEYS(length offset)] [NAME(entryname)] 18 OpenFrame 유틸리티참조안내서

33 [OWNER(ownerid)] [RECORDSIZE(average maximum)] [UNIQUEKEY NONUNIQUEKEY])] [INDEX ({CYLINDERS(primary[ secondary]) RECORDS(primary[ secondary]) TRACKS(primary[ secondary])} [{VOLUMES(volser[ volser...]) DEVICETYPE(devtype)}] [CONTROLINTERVALSIZE(size)] [NAME(entryname)] [OWNER(ownerid)])] [CATALOG(catname)] DEFINE AIX 명령에지정할수있는주요파라미터는다음과같다. RELATE(entryname) 현재정의하는 AIX 와연관된베이스클러스터데이터셋이름을지정한다. ( 약 어 : REL) 베이스클러스터로사용할데이터셋은 VSAM 데이터셋중에서 KSDS와 ESDS 구조의데이터셋만가능하다. AIX를정의하기위해서는미리베이스클러스터로사용할데이터셋을 DEFINE CLUSTER 명령을이용해서만들어야한다. KEYS(length offset) 베이스클러스터데이터레코드내에서 AIX 로사용할키필드를입력한다. 생략할경우 length 와 offset 기본값은다음과같다. length: 64 offset: 0 RECORDSIZE (average maximum) AIX 데이터셋클러스터자체의레코드크기를지정한다. ( 약어 : RECSZ) 생략할경우 average 와 maximum 의기본값은다음과같다. average: 4,086 maximum: 32,600 UNIQUEKEY NONUNIQUEKEY 정의하려는 AIX 의키값이데이터셋전체에서유일한지여부를지정한다. 베이스클러스터인 KSDS 데이터셋은항상 UNIQUEKEY 만지정할수있지만 AIX 를만드는경우는 NONUNIQUEKEY 도지정할수있다. NONUNIQUEKEY 가지정되면하나의보조키와여러개의기본키로이루어진 레코드가 AIX 데이터셋클러스터자체의레코드로저장된다. 기본값은 NONUNIQUEKEY 이다. 제 2 장데이터셋유틸리티 19

34 ( 약어 : UNQK NUNQK) UPGRADE NOUPGRADE 정의하려는 AIX 클러스터의베이스클러스터가변경된경우 AIX 클러스터의내 용을동시에변경하여항상 AIX 클러스터의내용이베이스클러스터에대해올 바른보조인덱스를유지한다. 기본값은 UPGRADE 이다. ( 약어 : UPG NUPG) ERASE NOERASE 엔트리타입이 CLUSTER 이거나 AIX 인데이터셋을카탈로그로부터삭제할때 컴포넌트도함께삭제할지를결정한다. ERASE: 엔트리를삭제할때그에따른컴포넌트도함께삭제한다. ( 약어 : ERAS) NOERASE: 엔트리만삭제하고그에따른컴포넌트는삭제하지않는다. ( 약어 : NERAS) OpenFrame에서는엔트리를삭제할때컴포넌트도같이삭제하고있다. 따라서 NOERASE 옵션을지정해도 ERASE 옵션과동일하게동작한다. 다음은 VSAM.KSDS1에대해보조인덱스 VSAM.AIX1을생성하는예이다. 보조인덱스 VSAM.AIX1 레코드의오프셋 44에서시작되는 7 Byte 부분을보조키로한다. 보조키는유일하지않으며베이스클러스터가변경될때자동적으로업그레이드된다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //DEFAIX EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE AIX (NAME(VSAM.AIX1) RELATE(VSAM.KSDS1) UPGRADE KEYS(7 44) VOL(VOL100)) /* // DEFINE CLUSTER DEFINE CLUSTER 명령을사용해서 VSAM 데이터셋을정의하며, 필수적인속성과부가적인속성들을함께지정할수있다. CLUSTER 명령어의약어로 CL을사용할수있다. DEFINE CLUSTER 명령어구문은다음과같다. 20 OpenFrame 유틸리티참조안내서

35 DEFINE CLUSTER (NAME(entryname) {CYLINDERS(primary[ secondary]) RECORDS(primary[ secondary]) TRACKS(primary[ secondary])} {VOLUMES(volser[ volser...]) DEVICETYPE(devtype)} [CONTROLINTERVALSIZE(size)] [ERASE NOERASE] [INDEXED NONINDEXED NUMBERED] [KEYS(length offset 64 0] [OWNER(ownerid)] [RECORDSIZE(average maximum)] [SPANNED NONSPANNED] [TO(date) FOR(days)] [DATA({CYLINDERS(primary[ secondary]) RECORDS(primary[ secondary]) TRACKS(primary[ secondary])} [{VOLUMES(volser[ volser...]) DEVICETYPE(devtype)}] [CONTROLINTERVALSIZE(size)] [ERASE NOERASE] [KEYS(length offset)] [NAME(entryname)] [OWNER(ownerid)] [RECORDSIZE(average maximum)] [SPANNED NONSPANNED] [INDEX({CYLINDERS(primary[ secondary]) RECORDS(primary[ secondary]) TRACKS(primary[ secondary])} [{VOLUMES(volser[ volser...]) DEVICETYPE(devtype)}] [CONTROLINTERVALSIZE(size)] [NAME(entryname)] [OWNER(ownerid)] [CATALOG(catname)] DEFINE CLUSTER 명령에지정할수있는주요파라미터는다음과같다. VOLUMES(volser[ volser...]) CONTROLINTERVAL SIZE(size) 데이터셋이위치할볼륨을지정한다. ( 약어 : VOL) VSAM 데이터셋의레코드를관리하기위해사용할블록의크기를지정한다. ( 약어 : CISZ 또는 CNVSZ) 지정하지않으면다른파라미터들의값을기반으로 VSAM 이내부적으로값을 정하게된다. 제 2 장데이터셋유틸리티 21

36 SPANNED 파라미터를지정하지않은경우, CONTROLINTERVALSIZE 는최대 길이의레코드를충분히포함할만큼크게지정해야한다. INDEXED NONINDEXED NUMBERED KSDS, ESDS, RRDS 등데이터셋의구조를지정한다. VRDS의경우는 NUMBERED를지정하고 RECORDSIZE를가변길이로지정한다. 기본값은 INDEXED이다. ( 약어 : IXD NIXD NUMD) KEYS(length offset) KSDS 데이터레코드의키필드정보를입력한다. 키필드를입력할경우오프셋과길이의합이가장짧은레코드길이를초과해서는안된다. 키길이는 1~255 Byte 범위내에서지정할수있다. 생략할경우 length와 offset의기본값은다음과같다. length: 64 offset: 0 RECORDSIZE (average maximum) 데이터당레코드의평균길이와최대길이를지정한다. ( 약어 : RECSZ) 평균길이와최대길이값을다른값으로지정하면가변길이레코드임을의미한 다. NONSPANNED 경우기본값은다음과같다. average: 4,089 maximum: 4,089 SPANNED 경우기본값은다음과같다. average: 4,086 maximum: 32,600 SPANNED NONSPANNED 이파라미터가정의된데이터셋은 CONTROLINTERVALSIZE 보다더긴레코 드를저장할수있다. 기본값은 NONSPANNED 이다. NUMBERED 구조의데이터셋인 RRDS 와 VRDS 에대해서는이파라미터를사 용할수없다. ( 약어 : SPND NSPND) 22 OpenFrame 유틸리티참조안내서

37 ERASE NOERASE 엔트리타입이 CLUSTER이거나 AIX인데이터셋을카탈로그로부터삭제할때컴포넌트도함께삭제할지를결정한다. ERASE: 엔트리를삭제할때그에따른컴포넌트도함께삭제한다. ( 약어 : ERAS) NOERASE: 엔트리만삭제하고그에따른컴포넌트는삭제하지않는다. ( 약어 : NERAS) OpenFrame에서는엔트리를삭제할때컴포넌트도같이삭제하고있다. 따라서 NOERASE 옵션을지정해도 ERASE 옵션과동일하게동작한다. 다음은 VSAM.KSDS1 이라는 INDEXED 구조의데이터셋을생성하는예이다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //DEFCLUS EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE CLUSTER (NAME(VSAM.KSDS1) INDEXED KEYS(10 0) VOL(VOL100)) INDEX (NAME (VSAM.KSDS1.I)) DATA (NAME(VSAM.KSDS1.D) CISZ(4096) RECSZ( )) /* // VSAM.KSDS1 에저장되는레코드는 350Byte 의고정길이를갖고키필드는레코드상에서맨앞의 10Byte 에위치하며, VSAM.KSDS1 데이터셋을구성하는인덱스와데이터컴포넌트의이름을각각명시적으로 지정하고있다. DEFINE GDG(Generation Data Group) GDG에해당하는카탈로그엔트리를카탈로그에생성한다. GDG의한세대 (Generation) 에해당하는 NonVSAM 데이터셋 GDS와달리 GDG에해당하는실제데이터셋은존재하지않는다. GDG 카탈로그엔트리는추후해당 GDG 그룹에속하게될여러 GDS를관리하기위한정보만을갖는카탈로그엔트리이다. DEFINE GDG를수행한결과로는아무런데이터셋도생성되지않고, 단순히해당 GDG 그룹을관리하기위한카탈로그엔트리가카탈로그에추가된다. GENERATIONDATAGROUP 명령어의약어로 GDG를사용할수있다. 제 2 장데이터셋유틸리티 23

38 DEFINE GENERATIONDATAGROUP 명령어구문은다음과같다. DEFINE GENERATIONDATAGROUP (NAME(entryname) LIMIT(limit) [EMPTY NOEMPTY] [OWNER(ownerid)] [SCRATCH NOSCRATCH] [TO(date) FOR(days)]) [CATALOG(catname)] NAME(entryname) LIMIT(limit) EMPTY NOEMPTY 생성할 GDG 베이스의이름을지정한다. 생성하는 GDG에몇개까지의 GDS 멤버를포함할수있는지그최대값을지정한다. 예를들어 100이라고지정하면 100개를초과하는 GDS를생성할수없다. GDG 멤버는 1부터 255까지생성할수있다. ( 약어 : LIM) GDG 베이스가 GDS 멤버를포함할수있는최대값에도달했을경우전체 GDS 와 GDG 베이스간의연관 (association) 을끊으려면 (rolled off status) EMPTY를지정한다. NOEMPTY를지정하면가장오래된 GDS만연관이끊기고새로운 GDS를베이스에포함시킨다. GDG 베이스와연관이끊어진 GDS는단순한 NonVSAM 데이터셋으로간주된다. 기본값은 NOEMPTY이다. OpenFrame에서는 NOEMPTY 기능만지원하고있다. ( 약어 : EMP NEMP) OWNER(ownerid) SCRATCH NOSCRATCH 생성할 GDG 베이스의소유자를명시적으로지정한다. GDG 베이스에포함될수있는 GDS 멤버한계에도달한경우 EMPTY와 NOEMPTY 속성에따라서전체혹은가장오래된 GDS 데이터셋과 GDG 베이스간의연관이끊어질때 (rolled off) 해당 GDS가사용하는데이터를지울지 (SCRATCH) 아니면그냥둘지 (NOSCRATCH) 를지정한다. 기본값은 NOSCRATCH이다. OpenFrame에서는 SCRATCH 기능만지원하고있다. GDS가카탈로그로부터등록을해제하면볼륨에있는데이터셋도함께삭제한다. ( 약어 : SCR NSCR) TO(date) FOR(days) GDG 그룹의유효일을설정한다. TO: 유효일의마지막날짜를율리우스날짜형태로지정한다. (2006 년 1 월 1 일 은 로지정 ) 24 OpenFrame 유틸리티참조안내서

39 FOR: 날짜수를지정한다. (30 을지정할경우오늘부터 30 일간을의미 ) CATALOG(catname) 생성할 GDG 베이스가등록될카탈로그의이름을지정한다. ( 약어 : CAT) 다음은 GDS 멤버를 100개까지포함할수있는 TEST.GDG1이라는이름의 GDG 베이스를생성하고 2006 년 12월 31일까지를 GDG 베이스의유효기간으로설정하여 TESTCAT이라는카탈로그에등록하는예이다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //DEFGDG EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE GDG (NAME(TEST.GDG1) LIMIT(100) TO( )) CATALOG(TESTCAT) /* // DEFINE NONVSAM 일반적인 PS(Physical Sequential) 타입의 NonVSAM 데이터셋을생성하고만들어진데이터셋을카탈로그에등록한다. NONVSAM 명령어의약어로 NVSAM를사용할수있다. 참고 GDG 에속하는하나의 GDS 는 NonVSAM 데이터셋이기때문에 DEFINE NONVSAM 명령을사용 해서 GDS 를생성할수있다. DEFINE NONVSAM 명령어구문은다음과같다. DEFINE NONVSAM (NAME(entryname) [DEVICETYPE(devtype[ devtype...])] [VOLUMES(volser[ volser...])] [OWNER(ownerid)] [TO(date) FOR(days)]) [CATALOG(catname)] NAME(entryname) 만들어질 NonVSAM 데이터셋의이름을지정한다. 제 2 장데이터셋유틸리티 25

40 GDG에속하는 GDS를생성하기위해서는 GDGname.GxxxxVyy의형태로 entry name을지정해야한다. 예를들면 TEST.GDG1.G0001V00에서 Gxxxx는세대번호이고, Vyy는버전번호이다. 이름규칙에대한자세한내용은 OpenFrame 데이터셋안내서 를참고한다. DEVICETYPE (devtype[ devtype...]) VOLUMES NonVSAM 데이터셋이저장될볼륨의디바이스타입을지정한다. 3380, 3390, 3480과같은디바이스타입을지정해야한다. SYSDA와같은에소테릭디바이스그룹 (esoteric device group) 은사용할수없다. ( 약어 : DEVT) NonVSAM 데이터셋을저장할볼륨의볼륨일련번호를지정한다. ( 약어 : VOL) (volser[ volser...]) OWNER(ownerid) TO(date) FOR(days) NonVSAM 데이터셋의소유자를명시적으로지정한다. NonVSAM 데이터셋의유효일을설정한다. TO: 유효일의마지막날짜를율리우스날짜형태로지정한다. (2006년 1월 1일은 로지정 ) FOR: 날짜수를지정한다. (30 을지정할경우오늘부터 30 일간을의미 ) CATALOG(catname) NonVSAM 데이터셋의카탈로그엔트리정보가등록될카탈로그를지정한다. ( 약어 : CAT) 다음은 NonVSAM 데이터셋인 TEST.NVSAM1 을생성하고 TESTCAT 카탈로그에등록하는예이다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //DEFNVS EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE NONVSAM (NAME(TEST.NVSAM1) VOLUMES(100000)) CATALOG(TESTCAT) /* // DEFINE PATH DEFINE PATH 명령을통해서베이스클러스터에대한직접적인접근경로를정의하거나보조인덱스를경유하여베이스클러스터에접근하는간접적인접근경로를정의한다. DEFINE PATH 명령어구문은다음과같다. DEFINE PATH (NAME(entryname) [PATHENTRY(entryname)] 26 OpenFrame 유틸리티참조안내서

41 [OWNER(ownerid)] [TO(date) FOR(days)] [UPDATE NOUPDATE] [CATALOG(catname)] NAME(entryname) PATHENTRY(entry name) DEFINE PATH 문으로현재정의하는 PATH의이름을지정한다. PATH가 AIX와베이스클러스터의쌍으로이루어지는경우에는 AIX 데이터셋의이름을지정한다. 베이스클러스터자체에대한 PATH를정의하는경우라면베이스클러스터데이터셋의이름을지정하며베이스클러스터데이터셋본래의인덱스방법을지칭하는단순한별칭으로생각할수있다. 하지만하나의베이스클러스터에여러개의 PATH를정의할수있기때문에실제로액세스할때적용되는속성을달리지정하는용도로사용할수있다. OWNER(ownerid) TO(date) FOR(days) 접근경로의소유자를명시적으로지정한다. 접근경로의유효일을설정한다. TO: 유효일의마지막날짜를율리우스날짜형태로지정한다. (2006년 1월 1일은 로지정 ) FOR: 날짜수를지정한다. (30 을지정할경우오늘부터 30 일간을의미 ) UPDATE NOUPDATE NOUPDATE: 해당 PATH 를통해서베이스클러스터데이터셋을변경한경우 변경된베이스클러스터의업그레이드셋에대한자동적인변경작업이수행되 지않는다. UPDATE: 해당 PATH를통해서베이스클러스터데이터셋을변경한경우변경된베이스클러스터의업그레이드셋에대한자동적인변경작업이수행된다. 기본값은 UPDATE이다. ( 약어 : UPD NUPD) 다음은보조인덱스 VSAM.AIX1을경유하여 VSAM.AIX1의베이스클러스터에접근하는접근경로 (PATH) 인 VSAM.PATH1을생성하는예이다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //DEFPATH EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE PATH (NAME(VSAM.PATH1) PATHENTRY(VSAM.AIX1) UPDATE) 제 2 장데이터셋유틸리티 27

42 /* // UPDATE 파라미터가지정되어있으므로이접근경로를사용하여베이스클러스터의내용을변경하는경 우 VSAM.AIX1 이외의다른보조인덱스에대해서도업그레이드처리가일어난다. 다음은보조인덱스를경유하지않고직접베이스클러스터에접근하는접근경로 VSAM.PATH2를정의하는예이다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //DEFPATH EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE PATH (NAME(VSAM.PATH2) PATHENTRY(VSAM.KSDS1) UPDATE) /* // UPDATE 파라미터가지정되어있으므로 VSAM.KSDS1 을베이스클러스터로하는보조인덱스가존재하 는경우 VSAM.PATH2 를이용하여베이스클러스터의내용이변경되는경우업그레이드처리가일어난 다. 참고 DEFINE PATH 에관한자세한내용은 Tibero TSAM 안내서 를참고한다. DEFINE USERCATALOG/MASTERCATALOG 시스템에서제공하는하나의마스터카탈로그외에여러개의사용자카탈로그를별도로사용할수있다. 모든데이터셋에관한메타정보를마스터카탈로그에모두등록하는경우마스터카탈로그의크기가필요이상으로커지게되므로시스템의성능저하를초래할수있다. DEFINE USERCATALOG 명령으로시스템마스터카탈로그와비슷한용도로사용할수있는사용자카탈로그를생성할수있다. 이는마스터카탈로그의서브카탈로그로생각할수있다. 생성된사용자카탈로그에대한정보는다시마스터카탈로그에저장된다. 사용자카탈로그의서브카탈로그로또다른사용자카탈로그를생성하는것은불가능하다. 사용자카탈로그는한레벨로만생성할수있으며, 모든사용자카탈로그는마스터카탈로그에만등록되고, 다른사용자카탈로그에는등록될수없다. 일반적으로사용자카탈로그는사용자별로생성하거나관련부서또는업무별로생성한다. MainFrame에서는타입 1과타입 2 두가지카탈로그타입이존재한다. 하지만 OpenFrame은타입 2 카탈로그만지원하기때문에, 타입 1 관련유틸리티명령어또는파라미터등을지원하지않는다. MainFrame 에서타입 1 카탈로그를사용하고있을때에는 CNVTCAT 명령어를사용하여타입 1 카탈로그를타입 2 카탈로그로변환하여 OpenFrame으로이관해야한다. 28 OpenFrame 유틸리티참조안내서

43 OpenFrame에서는마스터카탈로그를생성하기위해서 JSCVSUT의 DEFINE MASTERCATALOG 명령을사용하지않고, OpenFrame에서제공되는 mascat이라는툴을사용한다. 반면사용자카탈로그를추가로생성하는경우에는 JSCVSUT의 DEFINE USERCATALOG 명령을사용한다. USERCATALOG 명령어의약어로 UCAT를사용할수있다. 참고 마스터카탈로그생성과관련한자세한내용은 "OpenFrame 툴참조안내서 의 mascat 을참고한 다. DEFINE USERCATALOG 명령어구문은다음과같다. DEFINE USERCATALOG (NAME(entryname) {CYLINDERS(primary[ secondary]) RECORDS(primary[ secondary]) TRACKS(primary[ secondary])} VOLUME(volser) [CONTROLINTERVALSIZE(size)] [OWNER(ownerid)] [TO(date) FOR(days)]) [DATA ({CYLINDERS(primary[ secondary]) RECORDS(primary[ secondary]) TRACKS(primary[ secondary])} [CONTROLINTERVALSIZE(size)])] [INDEX ({CYLINDERS(primary[ secondary]) RECORDS(primary[ secondary]) TRACKS(primary[ secondary])} [CONTROLINTERVALSIZE(size)])] [CATALOG(mastercatname)] DEFINE USERCATALOG 명령의주요파라미터는다음과같다. NAME(entryname) VOLUME(volser) CATALOG(mastercat name) 생성할사용자카탈로그의이름을지정한다. 사용자카탈로그가저장될볼륨을지정한다. ( 약어 : VOL) 생성된사용자카탈로그가등록될마스터카탈로그의이름을지정한다. 생략해도시스템의마스터카탈로그에자동으로등록된다. ( 약어 : CAT) 참고 본안내서에서언급되지않은에대한은 Hitachi 의 "VOS3 VSAM Utility" 를참고한다. 제 2 장데이터셋유틸리티 29

44 DELETE VSAM 데이터셋과 NonVSAM 데이터셋그리고이외에카탈로그된데이터셋을제거하기위해 DELETE 명령을사용한다. DELETE 명령은이미존재하는을지우는역할을하기때문에많은파라미터를요구하지않는다. 제거하려는의이름과해당의카탈로그엔트리타입만을필요로한다. DELETE 명령어의약어로 DEL을사용할수있다. PDS 멤버에대한 DELETE 구문은지원하고있지않다. PDS 멤버명을지정해도 PDS 전체를삭제한다. DELETE 명령어구문은다음과같다. DELETE (entryname[ entryname...]) [ALIAS ALTERNATEINDEX CLUSTER GENERATIONDATAGROUP NONVSAM PATH USERCATALOG] [ERASE NOERASE] [CATALOG(catname)] entryname 제거할데이터셋이나카탈로그엔트리의이름을지정한다. 괄호안에여러개의이름을지정하면한번의명령으로다수의엔트리를제 거할수있다. ALIAS ALTERNATEINDEX CLUSTER GENERATIONDATA GROUP NONVSAM PATH ALIAS는 ALIAS 엔트리타입이다. 제거할카탈로그엔트리의엔트리타입을지정한다. 엔트리타입지정은필수적이지않지만, 엔트리타입을지정하면실수로이름이동일한의도하지않은을제거하는실수를방지할수있다. AIX, CLUSTER, PATH, TRUENAME은 VSAM 데이터셋의엔트리타입이고나머지는 NonVSAM 데이터셋의엔트리타입이다. ( 약어 : ALIAS AIX CL GDG NVSAM PATH UCAT) USERCATALOG ERASE NOERASE 엔트리타입이 CLUSTER 이거나 AIX 인데이터셋을카탈로그로부터삭제할 때컴포넌트도함께삭제할지를결정한다. 30 OpenFrame 유틸리티참조안내서

45 ERASE: 엔트리를삭제할경우그에따른컴포넌트도함께삭제한다. ( 약어 : ERAS) NOERASE: 엔트리만삭제하고그에따른컴포넌트는삭제하지않는다. ( 약어 : NERAS) OpenFrame에서는엔트리를삭제할경우컴포넌트도같이삭제하고있다. 따라서 NOERASE 옵션을지정해도 ERASE 옵션과동일하게동작한다. CATALOG(catname) 삭제할카탈로그엔트리정보가등록되어있는카탈로그를지정한다. ( 약어 : CAT) 다음은 VSAM 데이터셋엔트리타입의 VSAM.KSDS1과 VSAM.KSDS2를지정한사용기간에관계없이삭제하는예이다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //DELCLUS EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //SYSIN DD * DELETE (VSAM.KSDS1 VSAM.KSDS2) CLUSTER ERASE /* // EXPORT EXPORT 명령을이용하여 VSAM CLUSTER나 ALTERNATE INDEX를외부로이식가능한데이터셋으로반출할수있다. 카탈로그데이터셋자체를백업하기위해서사용된다. EXPORT 명령어의약어로 EXP을사용할수있다. EXPORT 명령어구문은다음과같다. EXPORT entryname {OUTFILE(ddname) OUTDATASET(entryname)} [INFILE(ddname)] entryname OUTFILE(ddname) OUTDATASET(entry name) EXPORT할카탈로그엔트리의 entryname을지정한다. EXPORT 결과로생성될데이터셋을지정한다. EXPORT 결과로생성된데이터셋을카탈로그상에새로만들기를원하거나이미카탈로그되어있는경우는 entryname을사용하고, 실행환경에서 제 2 장데이터셋유틸리티 31

46 JSCVSUT 를호출하기전에미리할당되어있는데이터셋에생성되기를원 하는경우는 ddname 을사용한다. ( 약어 : OFILE ODS) INFILE(ddname) EXPORT 할데이터셋을지정한다. ( 약어 : IFILE) INFILE(ddname) 으로데이터셋을지정하는경우 ddname 은 JSCVSUT 를호 출한 JCL 의 DD 문을통해할당된 ddname 을지정해야한다. ERASE NOERASE 엔트리타입이 CLUSTER이거나 AIX인데이터셋을카탈로그로부터삭제할때컴포넌트도함께삭제할지를결정한다. ERASE: 엔트리를삭제할경우그에따른컴포넌트도함께삭제한다. ( 약어 : ERAS) NOERASE: 엔트리만삭제하고그에따른컴포넌트는삭제하지않는다. ( 약어 : NERAS) OpenFrame에서는엔트리를삭제할경우컴포넌트도같이삭제하고있다. 따라서 NOERASE 옵션을지정해도 ERASE 옵션과동일하게동작한다. 다음은카탈로그 TESTCAT을 TESTCAT.BACKUP으로 EXPORT하는예이다. 카탈로그의내용을반출하여백업한다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //BACKCAT EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //BACK DD DSN=TESTCAT.BACKUP,DISP=OLD //SYSIN DD * EXPORT TESTCAT OUTFILE(BACK) /* // EXTRACT EXTRACT 명령은 CHECKCAT 명령 ( 데이터셋의카탈로그정보와 VTOC 정보비교 ) 의처리대상이되는 VSAM 또는 NonVSAM 데이터셋의카탈로그정보및 VTOC 정보를추출한다. 추출해낸정보는지정한데이터셋에출력한다. 이출력데이터셋은 CHECKCAT 명령어 ( 데이터셋의카탈로그정보와 VTOC 정보비교 ) 의입력데이터셋이된다. EXTRACT 명령어구문은다음과같다. 32 OpenFrame 유틸리티참조안내서

47 EXTRACT {CATFILE(ddname[ ddname...]) VOLFILE(ddname[ ddname...])} OUTFILE(ddname) CATFILE(ddname[ ddname...]) VOLFILE(ddname[ ddname...]) OUTFILE(ddname) CATFILE: CHECKCAT 명령어의처리대상이되는 VSAM 또는 NonVSAM 데이터셋의카탈로그정보를추출하는경우, 카탈로그를정의한 DD명을지정한다. ( 약어 : CFILE) VOLFILE: CHECKCAT 명령어의처리대상이되는 VSAM 또는 NonVSAM 데이터셋의 VTOC 정보를추출하는경우, VTOC을정의한 DD명을지정한다. ( 약어 : VFILE) 추출해낸 VSAM 또는 NonVSAM 데이터셋의카탈로그또는 VTOC 정보를저장할출력데이터셋의 DD명을지정한다. ( 약어 : OFILE) 다음은사용자카탈로그 TESTCAT1과 TESTCAT2에존재하는데이터엔트리의카탈로그정보를 CAT.EXTRACT 데이터셋으로출력하는예이다. //EXTRACT JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) // EXEC PGM=JSCVSUT //CAT001 DD DSN=TESTCAT1,DISP=OLD //CAT002 DD DSN=TESTCAT2,DISP=OLD //SYSPRINT DD SYSOUT=* //EXOUT DD DSN=CAT.EXTRACT,DISP=OLD //SYSIN DD * EXTRACT CATFILE(CAT001 CAT002) OUTFILE(EXOUT) /* // IMPORT IMPORT 명령을이용하면 EXPORT 명령을사용해서생성한백업이나외부의이식가능한데이터셋으로부터다시데이터셋을복원하거나새로생성할수있다. IMPORT 명령어의약어로 IMP를사용할수있다. IMPORT 명령어구문은다음과같다. IMPORT {INFILE(ddname) INDATASET(entryname)} {OUTFILE(ddname) OUTDATASET(entryname)} [OBJECTS((entryname [NEWNAME(newname)] [VOLUMES(volser[ volser...])]) 제 2 장데이터셋유틸리티 33

48 [CATALOG(catname)] [(entryname...)...])] INFILE(ddname) INDATASET(entryname) IMPORT할소스데이터셋을지정한다. JSCVSUT 호출전에실행환경에서미리할당된데이터셋을사용하려는경우에는 ddname을지정하고 JSCVSUT 내부적으로할당하려는경우에는 entryname을사용한다. ( 약어 : IFILE IDS) OUTFILE(ddname) OUTDATASET(entry name) OBJECTS(entryname...) JSCVSUT 호출전에실행환경에서미리할당된데이터셋을사용하려는경우에는 ddname을지정하고 JSCVSUT 내부적으로할당하려는경우에는 entryname을사용한다. ( 약어 : OFILE ODS) IMPORT 작업을수행하는과정에서부수적으로 IMPORT 원본데이터셋에기록된정보중에서일부를변경하는작업을수행할수있다. 변경하고자하는 entryname 과적용할새로운속성을지정한다. 여러개의 entryname 에대해서반복적으로지정할수있다. ( 약어 : OBJ) ERASE NOERASE 엔트리타입이 CLUSTER 이거나 AIX인데이터셋을카탈로그로부터삭제할때컴포넌트도함께삭제할지를결정한다. ERASE: 엔트리를삭제할경우그에따른컴포넌트도함께삭제한다. ( 약어 : ERAS) NOERASE: 엔트리만삭제하고그에따른컴포넌트는삭제하지않는다. ( 약어 : NERAS) OpenFrame에서는엔트리를삭제할경우컴포넌트도같이삭제하고있다. 따라서 NOERASE 옵션을지정해도 ERASE 옵션과동일하게동작한다. CATALOG(catname) IMPORT 과정중에카탈로깅이필요한경우사용할카탈로그를지정한다. ( 약어 : CAT) 다음은 TESTCAT.BACKUP이라는백업데이터셋의내용을카탈로그 TESTCAT으로 IMPORT하는예이다. TESTCAT.BACKUP에저장된내용을이용하여카탈로그 TESTCAT을복원한다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //IMPCAT EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //BACK DD DSN=TESTCAT.BACKUP,DISP=OLD //SYSIN DD * 34 OpenFrame 유틸리티참조안내서

49 /* // IMPORT INFILE(BACK) OUTDATASET(TESTCAT) LISTCAT LISTCAT 명령을사용해서카탈로그에정의된데이터셋에관한다양한정보를출력할수있다. 다음과같은그룹으로관련정보를정리해서보여준다. 엔트리객체의속성 생성시간, 변경시간, 만료시간정보 보호 (protection) 관련정보 데이터셋액세스통계정보 저장공간할당정보 데이터셋의구조에관한정보 LISTCAT 명령어구문은다음과같다. LISTCAT [ALIAS] [ALTERNATEINDEX] [CLUSTER] [DATA] [GENERATIONDATAGROUP] [INDEX] [NONVSAM] [PATH] [USERCATALOG] [{ENTRIES DSNAME DATASET}(entryname[ entryname...]) LEVEL(level)] [NAME HISTORY VOLUME ALLOCATION ALL] [CATALOG(catname)] ALIAS ALTERNATEINDEX, CLUSTER, DATA, 지정된종류의카탈로그엔트리에대해서만 LISTCAT 정보를출력하도록하기위한파라미터이다. 예를들어 LISTCAT CLUSTER라고지정하는경우카탈로그엔트리타입이 CLUSTER인엔트리에대한정보만출력한다. 제 2 장데이터셋유틸리티 35

50 GENERATIONDATA GROUP, INDEX, NONVSAM, PATH, USERCATALOG 2개이상의엔트리타입을지정하는것도가능하다. LISTCAT DATA INDEX 라고지정하면카탈로그엔트리타입이 DATA 이거나 INDEX인엔트리에대한정보만출력된다. 파라미터를지정하지않는경우카탈로그엔트리타입에대한필터링을하지않고모든타입의엔트리정보를모두출력한다. 이와는별도로 ENTRIES 파라미터를지정하는경우엔트리타입이일치하더라도엔트리이름이 ENTRIES 파라미터에지정된이름을만족하지않는엔트리들에대한정보는출력되지않는다. 다음은각파라미터의약어이다. ALTERNATEINDEX 약어 : AIX CLUSTER 약어 : CL GENERATIONDATAGROUP 약어 : GDG INDEX 약어 : IX NONVSAM 약어 : NVSAM USERCATALOG 약어 : UCAT {EN LISTCAT 명령의대상이되는카탈로그엔트리명을지정한다. TRIES DSNAME DATASET} ENTRIES, DSNAME, DATASET: 카탈로그에존재하는엔트리이름중에서 (entryname[ entry name...]) LEVEL(level) ALLENTRIES 지정된 entryname과이름이일치하고세그먼트개수도일치하는이름만명령의대상으로지정된다. ( 약어 : ENT, DS) LEVEL: 카탈로그에존재하는엔트리이름중에서지정된 entryname과이름의앞부분이일치하는이름이명령의대상으로지정된다. 사용자가지정한 entryname의세그먼트개수보다많은세그먼트개수를갖는이름들도명령의대상으로지정된다. ( 약어 : LVL) ENTRIES와 LEVEL의사용예는다음과같다. 카탈로그가다음의엔트리이름들을가지고있는경우 1. A.A.B 2. A.B.B 3. A.B.B.C 4. A.B.B.C.C 5. A.C.C 6. A.D 36 OpenFrame 유틸리티참조안내서

51 7. A.E 8. A ENTRIES(A.*) 를지정한경우, 6, 7이명령의대상으로선택된다. ENTRIES(A.*.B) 를지정한경우, 1, 2가명령의대상으로선택된다. LEVEL(A.*.B) 를지정한경우, 1, 2, 3, 4가명령의대상으로선택된다. LEVEL(A) 를지정한경우, 1,2,3,4,5,6,7 이모두명령의대상으로선택된다. * 는해당세그먼트의모든이름과일치한다. ALLENTRIES: 카탈로그에존재하는모든엔트리에대한리스트를출력할때사용한다. ( 약어 : ALLENT) NAME HISTORY VOLUME ALLOCATION ALL 위의엔트리타입필터및 ENTRIES 파라미터로지정되는엔트리이름조건을만족하는카탈로그엔트리에대한정보를출력하는데있어서얼마나자세한레벨의정보까지출력할지를지정한다. 순서대로 NAME을지정하면가장기본적인정보만이출력되고 ALL을지정하면모든해당엔트리에대한정보가출력된다. 다음은각파라미터의약어이다. HISTORY 약어 : HIST VOLUME 약어 : VOL ALLOCATION 약어 : ALLOC CATALOG(catname) LISTCAT 명령의대상이카탈로그의이름을지정한다. 위의 ENTRIES 나 LEVEL 로지정하는 entryname 은여기에서지정하는카탈로그에서검색된 다. ( 약어 : CAT) 다음은 VSAM.KSDS1 의모든엔트리에대한정보를출력하는예이다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //LISTC EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //SYSIN DD * LISTCAT ENTRIES(VSAM.KSDS1) ALL /* // 다음은앞의 LISTCAT 명령을실행한결과로출력되는내용 (SYSPRINT) 이다. 제 2 장데이터셋유틸리티 37

52 CLUSTER VSAM.KSDS1 HISTORY CREATION (NULL) DATASETOWNER (EMPTY) EXPIRATION (EMPTY) RELEASE 1 VSAM QUIESCED (NO) PROTECTIONPSWD (NULL) ASSOCIATIONS DATA VSAM.KSDS1.D INDEX VSAM.KSDS1.I DATA VSAM.KSDS1.D HISTORY CREATION (NULL) DATASETOWNER (EMPTY) EXPIRATION (EMPTY) RELEASE 1 PROTECTIONPSWD (NULL) ASSOCIATION CLUSTER VSAM.KSDS1 ATTRIBUTES AVGLRECL 350 MAXLRECL 350 KEYLEN 10 RKP 0 AXRKP 0 CISIZE 4096 INDEXED UNIQUEKEY STATISTICS RECDELETED 0 RECINSERTED RECRETRIEVED 0 RECTOTAL RECUPDATED 0 TIMESTAMP (NULL) ALLOCATION HIARBA 0 HIURBA 0 VOLUMES DEVTYPE (NULL) VOLSER (TSAM) INDEX VSAM.KSDS1.I HISTORY CREATION (NULL) DATASETOWNER (EMPTY) EXPIRATION (EMPTY) RELEASE 1 PROTECTIONPSWD (NULL) ASSOCIATION CLUSTER VSAM.KSDS1 ATTRIBUTES AVGLRECL 350 MAXLRECL 350 KEYLEN 10 RKP 0 CISIZE 4096 STATISTICS INDEX: ENTRIES/SECT 254 HILEVELRBA LEVELS 2 SEQSETRBA 4096 RECDELETED 0 RECINSERTED RECRETRIEVED 0 RECTOTAL OpenFrame 유틸리티참조안내서

53 RECUPDATED 0 TIMESTAMP (NULL) ALLOCATION HIARBA 0 HIURBA 0 VOLUMES DEVTYPE (NULL) VOLSER (TSAM) LISTENT LISTENT 명령은지정한카탈로그에등록된엔트리의목록을보여준다. 볼륨일렬번호를지정한경우에는카탈로그에등록된엔트리중지정한볼륨에존재하는엔트리에대한목록을보여준다. LISTENT 명령어구문은다음과같다. LISTENT CATFILE(ddname) [VOLUMES(volser[ volser...])] CATFILE(ddname) VOLUMES(volser[ volser...]) 출력하려는엔트리가등록되어있는카탈로그의 ddname을지정한다. ( 약어 : CFILE) 출력하려는엔트리의볼륨일렬번호를지정한다. 볼륨을지정하지않으면카탈로그에등록된모든엔트리를출력한다. ( 약어 : VOL) 다음은 USER.CAT1 이라는사용자카탈로그에등록되어있는엔트리중지정한볼륨에존재하는엔트리 를출력한다. //LISTENT JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) // EXEC PGM=JSCVSUT //CAT DD DSN=USER.CAT1,DISP=OLD //SYSPRINT DD SYSOUT=A //SYSIN DD * LISTENT CATFILE(CAT) VOLUMES( ) /* // 다음은앞의 LISTENT 명령을실행한결과로출력되는내용 (SYSPRINT) 이다. LISTENT CATFILE(CAT) LISTING FROM CATALOG USER.CAT1 CLUSTER VSAM.KSDS1 DATA VSAM.KSDS1.DAT VOLUME VOLSER (NULL) 제 2 장데이터셋유틸리티 39

54 INDEX VSAM.KSDS1.IDX VOLUME VOLSER (NULL) THE NUMBER OF ENTRIES PROCESSED WAS: CLUSTER 1 DATA 1 GDG 0 INDEX 1 AIX 0 PATH 0 NONVSAM 0 PAGESPACE 0 USERCATALOG 0 TOTAL 3 LISTST 카탈로그에대한정보를출력한다. LISTST 명령어구문은다음과같다. LISTST {CATALOG(catname) ALLCATALOGS} CATALOG(catname) ALLCATALOGS 출력대상을결정한다. CATALOG: 출력하려는카탈로그의이름을지정한다. ( 약어 : CAT) ALLCATALOGS: 시스템에서사용중인모든카탈로그에대한정보를출력 할때지정한다. ( 약어 : ALLCAT) 기본값은 ALLCATALOGS 이다. 다음은 USER.CAT1 이라는사용자카탈로그의정보를출력하는예이다. //LISTST JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) // EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=A //SYSIN DD * LISTST CAT(USER.CAT1) /* // 40 OpenFrame 유틸리티참조안내서

55 다음은앞의 LISTENT 명령을실행한결과로출력되는내용 (SYSPRINT) 이다. LISTST CATALOG(USER.CAT1) *** STATUS *** USER.CAT1 RELEASE < CATALOGTYPE > < CATALOGSTATUS > USERCATALOG USABLE < VOLUME > < UNIT > < USING JOB > N/A 출력된예에서사용자카탈로그명옆에 "RELEASE" 라고명시된부분은 RESTRICT/RELEASE 명령에의한카탈로그의사용이제한또는해제되는것을의미한다. 하지만 OpenFrame에서는카탈로그에대한사용을제한하는기능을제공하지않으므로, 카탈로그는항상 RELEASE인접근가능한상태이다. USING JOB 섹션에는현재카탈로그가사용하고있는 JOB 리스트를보여주지만, 현재이기능은제공하지않고있다. PRINT VSAM 및 NonVSAM 데이터셋에저장되어있는레코드들을출력하여보여준다. PRINT 명령어구문은다음과같다. PRINT {INFILE(ddname) INDATASET(entryname)} [CHARACTER DUMP HEX] [FROMKEY(key) FROMADDRESS(address) FROMNUMBER(number) SKIP(number)] [OUTFILE(ddname)] [TOKEY(key) TOADDRESS(address) TONUMBER(number) COUNT(number)] INFILE(ddname) INDATASET(entryname) PRINT 명령을이용하여내용을출력할데이터셋을지정한다. INFILE: JCL 을통해미리할당된 ddname 을지정해야한다. ( 약어 : IFILE) INDATASET: JSCVSUT 에서직접데이터셋을할당하고그내용을출력한 다. ( 약어 : IDS) CHARACTER DUMP PRINT 출력내용의포맷을지정한다. CHARACTER: 스트링형태로레코드의내용을출력한다. ( 약어 : CHAR) 제 2 장데이터셋유틸리티 41

56 HEX DUMP: 오른쪽에는 16 진수로왼쪽에는스트링형태를나란히출력한다. HEX: 16 진수형태로출력한다. 아무런포맷도지정하지않은경우는기본적값으로 DUMP 가적용된다. FROMKEY(key) FROMADDRESS(ad dress) FROMNUMBER(num ber) SKIP(number) PRINT 문은사용자가출력할레코드의범위를지정할수있다. 각파라미터의의미는다음과같다. FROMKEY: 입력데이터셋이키순서데이터셋 (KSDS), ALTERNATEIN DEX, 또는카탈로그일때지정할수있다. 입력된키를갖는레코드부터출력을시작한다. 키값을갖는레코드가없는경우, 그보다큰키값으로검색한다. 만약지정한키의길이가실제테이터에정의된키길이보다길다면아무레코드도출력하지않는다. ( 약어 : FKEY) FROMADDRESS: 입력데이터셋이엔트리순서데이터셋 (ESDS), 키순서데이터셋 (KSDS), 컴포넌트, 카탈로그일때지정할수있다. 출력하고싶은 1번째레코드의 RBA(Relative Byte Address) 를지정한다. ( 약어 : FADDR) FROMNUMBER: 입력데이터셋이상대데이터셋 (RRDS) 일때지정할수있다. 출력하고싶은첫번째레코드의상대레코드번호를입력한다. ( 약어 : FNUM) SKIP: 몇개의레코드를생략하고출력을시작할것인지를지정한다. OUTFILE(ddname) SYSPRINT 가아닌다른 DD 에 PRINT 결과를출력할경우에사용한다. ( 약 어 : OFILE) PRINT 명령을통해서출력한데이터셋의내용을저장할별도의데이터셋 을지정하고 JCL 을통해미리할당된 ddname 을지정해야한다. 이파라미터를생략하면기본적으로 PRINT 명령은 SYSPRINT 로출력한다. TOKEY(key) TOADDRESS(address) TONUMBER(number) COUNT(number) PRINT 문은사용자가출력할레코드의범위를지정할수있다. TOKEY: 입력데이터셋이키순서데이터셋 (KSDS), ALTERNATEINDEX, 또는카탈로그일때지정할수있다. 입력된키를갖는레코드를마지막으로출력한다. 키값을갖는레코드가없는경우, 그보다작은키값을마지막으로검색한다. 만약, 지정한키의길이가실제테이터에정의된키길이보다길다면아무레코드도출력하지않는다. TOADDRESS: 입력데이터셋이엔트리순서데이터셋 (ESDS), 키순서데 이터셋 (KSDS), 컴포넌트, 카탈로그일때지정할수있다. 출력하고싶은마 지막레코드의 RBA(Relative Byte Address) 를지정한다. ( 약어 : TADDR) 42 OpenFrame 유틸리티참조안내서

57 TONUMBER: 입력데이터셋이상대데이터셋 (RRDS) 일때지정할수있다. 출력하고싶은마지막레코드의상대레코드번호를입력한다. ( 약어 : TNUM) COUNT: 몇개의레코드를출력할것인지를지정한다. 다음은 TEST.KSDS1에저장된레코드를 DUMP 포맷으로출력하는예이다. 출력되는레코드의범위는키값이 인첫레코드부터 10개이다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //PRINT EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //SYSIN DD * PRINT INDATASET(TEST.KSDS1) DUMP FROMKEY( ) COUNT(10) /* // 다음은위의 JCL 을실행한결과, SYSPRINT 에출력된내용이다. KEY OF RECORD = : F 7264 * record* 0010: * * KEY OF RECORD = : F 7264 * record* 0010: * * KEY OF RECORD = : F 7264 * record* 0010: * * KEY OF RECORD = : F 7264 * record* 0010: * * KEY OF RECORD = : F 7264 * record* 0010: * * KEY OF RECORD = : F 7264 * record* 0010: * * KEY OF RECORD = : F 7264 * record* 0010: * * KEY OF RECORD = : F 7264 * record* 0010: * * 제 2 장데이터셋유틸리티 43

58 KEY OF RECORD = : F 7264 * record* 0010: * * KEY OF RECORD = : F 7264 * record* 0010: * * PRINT 10 record(s) JSCVSUT: PRINT OK REPRO DEFINE 명령을통해서데이터셋이이미정의되어있다면 REPRO 명령을이용해서 VSAM과 NonVSAM 데이터셋의내용을다른데이터셋에저장할수있다. 이명령에사용되는 VSAM 데이터셋은카탈로그에등록되어있어야하지만 NonVSAM 데이터셋의경우는카탈로그에등록되어있지않아도된다. Mainframe의카탈로그는일반적으로하나의 KSDS 클러스터에저장되어있기때문에 REPRO 명령은카탈로그내용자체를복사하는용도로사용될수있다. REPRO 명령을이용하지않고일반적인애플리케이션을이용해서레코드를데이터셋에저장하는경우도매우일반적이나 REPRO 명령은레코드의내용에상관하지않고주로관리목적으로데이터셋을복사하는용도로사용된다. REPRO 명령어구문은다음과같다. REPRO {INFILE(ddname) INDATASET(entryname)} {OUTFILE(ddname) OUTDATASET(entryname)} [FROMKEY(key) FROMADDRESS(address) FROMNUMBER(number) SKIP(number)] [REPLACE NOREPLACE] [TOKEY(key) TOADDRESS(address) TONUMBER(number) COUNT(number)] INFILE(ddname) INDATASET(entryname) 복사할원본데이터셋을지정한다. INFILE의경우 JCL을통해서명시된 ddname을값으로지정해야하는반면 INDATASET 파라미터를사용하는경우에는데이터셋의카탈로그에등록된엔트리이름을지정해야한다. ( 약어 : IFILE IDS) OUTFILE(ddname) OUTDATASET(entry name) 원본데이터셋을복사한후저장할대상데이터셋을지정한다. OUTFILE 파라미터의값으로는 ddname 을지정해야하며, OUTDATASET 파라미터의값으로는카탈로그된엔트리이름을지정해야한다. ( 약어 : OFILE ODS) FROMKEY(key) REPRO 문은사용자가복사할레코드의범위를지정할수있다. 44 OpenFrame 유틸리티참조안내서

59 FROMADDRESS(ad dress) FROMNUMBER(num ber) SKIP(number) FROMKEY: 입력데이터셋이키순서데이터셋 (KSDS), ALTERNATEIN DEX, 또는카탈로그일때지정할수있다. 입력된키를갖는레코드부터복사를시작한다. 키값을갖는레코드가없는경우, 그보다큰키값으로검색한다. 만약, 지정한키의길이가실제테이터에정의된키길이보다길다면아무레코드도복사하지않는다. ( 약어 : FKEY) FROMADDRESS: 입력데이터셋이엔트리순서데이터셋 (ESDS), 키순서데이터셋 (KSDS), 컴포넌트, 카탈로그일때지정할수있다. 복사하고싶은 1번째레코드의 RBA(Relative Byte Address) 를지정한다. ( 약어 : FADDR) FROMNUMBER: 입력데이터셋이상대데이터셋 (RRDS) 일때지정할수있다. 복사하고싶은 1번째레코드의상대레코드번호를입력한다. ( 약어 : FNUM) SKIP: 몇개의레코드를생략하고복사를시작할것인지를지정한다. REPLACE NOREPLACE 소스데이터셋을타깃데이터셋으로복사하는과정에서타깃데이터셋에 이미동일한레코드가있는경우의처리방법을지정한다. REPLACE: 기존의레코드를새로운레코드로대체한다. ( 약어 : REP) NOREPLACE: 중복레코드가발견되었다는에러메시지만나타나고타깃 데이터셋의중복레코드에복사하지않는다. ( 약어 : NREP) 기본값은 NOREPLACE 이다. TOKEY(key) TOADDRESS(address) TONUMBER(number) COUNT(number) REPRO 문은사용자가복사할레코드의범위를지정할수있다. TOKEY: 입력데이터셋이키순서데이터셋 (KSDS), ALTERNATEINDEX, 또는카탈로그일때지정할수있다. 입력된키를갖는레코드를마지막으로복사한다. 키값을갖는레코드가없는경우, 그보다작은키값을마지막으로검색한다. 만약, 지정한키의길이가실제테이터에정의된키길이보다길다면아무레코드도복사하지않는다. TOADDRESS: 입력데이터셋이엔트리순서데이터셋 (ESDS), 키순서데이터셋 (KSDS), 컴포넌트, 카탈로그일때지정할수있다. 복사하고싶은마지막레코드의 RBA(Relative Byte Address) 를지정한다. ( 약어 : TADDR) TONUMBER: 입력데이터셋이상대데이터셋 (RRDS) 일때지정할수있다. 복사하고싶은마지막레코드의상대레코드번호를입력한다. ( 약어 : TNUM) COUNT: 몇개의레코드를복사할것인지를지정한다. 다음은 VSAM.KSDS1 데이터셋의 번레코드부터 개의레코드를 VSAM.KSDS2 데이터셋으 로복사하는예이다. 제 2 장데이터셋유틸리티 45

60 //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //REPRO EXEC PGM=JSCVSUT //INDD DD DSN=VSAM.KSDS1,DISP=(OLD,KEEP) //OUTDD DD DSN=VSAM.KSDS2,DISP=SHR //SYSPRINT DD SYSOUT=* //SYSIN DD * REPRO INFILE(INDD) OUTFILE(OUTDD) SKIP(50000) COUNT(10000) /* // SPLITMRG SPLITMRG 명령은하나이상의카탈로그를복수의다른카탈로그에분할또는병합한다. 입력카탈로그에등록된모든엔트리가분할또는병합대상이다. KEYS 파라미터를지정하면입력카탈로그의엔트리는 OUTFILE의 KEYRANGES로지정한키범위에속하는출력카탈로그에분할또는병합한다. SPLITMRG 명령은사용자카탈로그에대해서만작업이가능하다. SPLITMRG 명령어의약어로 SPMG을사용할수있다. SPLITMRG 명령어구문은다음과같다. SPLITMRG {INFILE(ddname[ ddname...]) INDATASET(entryname[ entryname...])} OUTFILE((ddname [OTHER] [ KEYRANGES((fromkey tokey)[ (fromkey tokey)...])])[ (ddname...)]) [KEYS((length offset)[ (length offset)...])] [TEST NOTEST] [KEEP DELETE] [IGNORE(SHR)] INFILE(ddname[ ddname...]) INDATASET(entryname[ entryname...]) 분할또는병합하려는입력카탈로그의 ddname 또는카탈로그명을지정한다. 입력카탈로그를지정할경우다음의사항을고려해야한다. 별명이아닌본명을사용해야한다. 최대 20개의입력카탈로그를지정할수있다. 같은이름의카탈로그를복수개사용할수없다. 마스터카탈로그는지정할수없다. 출력카탈로그로사용하는카탈로그는사용할수없다. 46 OpenFrame 유틸리티참조안내서

61 다음은지정에대한이다. INFILE: JCL 을통해미리할당된 ddname 을지정해야한다. ( 약어 : IFILE) INDATASET: JSCVSUT 에서직접데이터셋을할당해야한다. ( 약어 : IDS) OUTFILE((ddname...)...) 분할또는병합하려는출력카탈로그의 ddname 을지정한다. ( 약어 : OFILE) 출력카탈로그를지정할경우다음의사항을고려해야한다. 별명이아닌본명을사용해야한다. 최대 20개의입력카탈로그를지정할수있다. 같은이름의카탈로그를복수개사용할수없다. 마스터카탈로그는지정할수없다. 입력카탈로그로사용하는카탈로그는사용할수없다. 테스트일경우임의의 DD명을지정한다. 다음은지정에대한이다. OTHER: KEYRANGES 범위에속하지않는엔트리에대하여카탈로그에등록한다. KEYRANGES(fromkey tokey): 카탈로그에등록할엔트리의범위를키를통해지정한다. ( 약어 : KRNG) 다음은 KEYRANGES을지정할때고려해야할사항이다. 1개의 ddname에대하여총 20개의 KEYRANGES를지정할수있다. KEYRANGES에지정하는키의길이는 KEYS 파라미터에정의한길이와일치해야한다. fromkey와 tokey에같은값을지정할수없다. KEYS((length offset)...) KEYRANGES 파라미터를지정했을경우 KEYS 파라미터도반드시지정해 야한다. KEYRANGES 파라미터로지정한키의길이를 1~44Byte, 키의위치를 0~43Byte 내에서지정한다. TEST NOTEST 카탈로그에대한분할또는병합을수행하기전에주어진제어문이제대로 기술되었는지를테스트할때사용한다. TEST: 실제로수행하지않고, 테스트만한다. NOTEST: 테스트하지않고, 실제로수행한다. 제 2 장데이터셋유틸리티 47

62 기본값은 TEST 이다. KEEP DELETE SPLITMRG 명령을종료할때입력카탈로그를삭제할지에대한여부를결정 한다. KEEP: 입력카탈로그를삭제하지않는다. DELETE: 입력카탈로그를삭제한다. ( 약어 : DEL) 기본값은 KEEP 이다. IGNORE(SHR) 입출력으로카탈로그를지정한 DD 문의 DISPOSITION 정보가 SHR 일경우 에도에러없이실행한다. SHR 옵션을지정할경우사용자가카탈로그의분할또는병합작업에대한 정합성을책임져야한다. 다음은 C.CAT1 사용자카탈로그에등록되어있는엔트리들을지정한키범위에따라 USERCAT1과 USERCAT2 사용자카탈로그에분할하는예이다. 엔트리명의 1번째세문자가 AAA~EEE 또는 SSS~ZZZ 범위사이에존재하는경우 USERCAT1 사용자카탈로그에등록하고, MMM~RRR 또는 FFF~KKK 범위내에존재하는경우 USERCAT2 사용자카탈로그에등록한다. //SPM01 JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) // EXEC PGM=JSCVSUT //CATIN DD DSN=C.CAT1,DISP=OLD //CATOUT1 DD DSN=USERCAT1,DISP=OLD //CATOUT2 DD DSN=USERCAT2,DISP=OLD //SYSPRINT DD SYSOUT=A //SYSIN DD * SPLITMRG INFILE(CATIN) OUTFILE((CATOUT1 KEYRANGES((AAA EEE) (SSS ZZZ))) (CATOUT2 KEYRANGES((MMM RRR) (FFF KKK)))) KEYS((3 0)) NOTEST /* // SRCHCAT SRCHCAT 명령은지정한엔트리가어느카탈로그에등록되어있는지를표시한다. 검색대상이되는카탈로그는마스터카탈로그와마스터카탈로그에등록되어있는사용자카탈로그이다. SRCHCAT 명령어구문은다음과같다. 48 OpenFrame 유틸리티참조안내서

63 SRCHCAT ENTRY(entname) ENTRY(ent name) 검색하고싶은엔트리의이름을지정한다. ( 약어 : ENT) 입력가능한엔트리타입은다음과같다. CLUSTER DATA COMPONENT INDEX COMPONENT ALTERNATEINDEX PATH GENERATIONDATAGROUP NONVSAM ALIAS USERCATALOG 다음은 CL.KSDS라는이름의키순서데이터셋 (KSDS) 이어느카탈로그에등록되어있는지를표시하는예이다. //SRC01 JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) // EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=A //SYSIN DD * SRCHCAT ENTRY(CL.KSDS) /* // 다음은위예제를실행한결과이다. SRCHCAT ENT(CL.KSDS) CATALOG NAME USER.CAT1 CLUSTER CL.KSDS CREATION2009/10/02 DATA CL.KSDS.DAT VOLUME VOLSER INDEX CL.KSDS.IDX DEVTYPEX' E' 제 2 장데이터셋유틸리티 49

64 VOLUME VOLSER DEVTYPEX' E' VERIFY 애플리케이션에서 VSAM 데이터셋을개방하고사용하는과정에서비정상적인종료에의해서종료처리가정확하게되지않은경우해당 VSAM 데이터셋이카탈로그에레코드를저장하기위해사용하는저장공간에대한정보를부정확한값으로기록할수있다. 이러한이유로카탈로그에문제가발생한경우 VERIFY 명령은문제가되는 VSAM 데이터셋에대해서올바른저장공간및상태정보를나타내고있는지확인하고, 지정된데이터셋에대한카탈로그정보가잘못된경우올바른값으로갱신한다. 비정상적인종료가발생한경우카탈로그의 STATISTICS/RECTOTAL 정보가실제 VSAM 데이터셋의레코드수와일치하지않을수있으나, VERIFY 명령을수행하면 STATISTICS/RECTOTAL 정보를올바른값으로갱신할수있다. VERIFY 명령어의약어로 VFY를사용할수있다. 참고 VERIFY 명령은 VSAM 데이터셋에대해서만동작한다. VERIFY 명령어구문은다음과같다. VERIFY FILE(ddname) DATASET(entryname) FILE(ddname) DATASET(entry name) VERIFY 명령의대상이되는데이터셋을지정한다. FILE: JCL을통해할당된데이터셋의 ddname을지정해야한다. DATASET: JSCVSUT에서지정된데이터셋을직접할당한다. ( 약어 : DS) 다음은 TEST.CLUS1 데이터셋의카탈로그정보를확인하는예이다. //JOBA JOB OBM,CLASS=B,MSGCLASS=X,MSGLEVEL=(1,1) //VSTEP EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //TESTDD DD DSN=TEST.CLUS1,DISP=OLD //SYSIN DD * VERIFY FILE(TESTDD) /* // 50 OpenFrame 유틸리티참조안내서

65 보조명령어 (Modal command) 한번의 JSCVSUT 실행으로여러개의 JSCVSUT 명령을수행할수있다. 보조명령어는여러개의 JSCVSUT 명령을수행하기위해서필요한기능을제공하는명령어로실제로카탈로그엔트리나오브젝트에대해처리하는기능명령어와구분된다. 참고 현재 JSCVSUT 의보조명령어중 PARM 은지원하지않는다. IFTHENELSE 실행된명령의결과코드값 (LASTCC 혹은 MAXCC) 에따라서다음에실행할명령을분기하기위해서사용된다. IF와 THEN 사이에는조건분기할때평가되는조건을지정해야한다. 조건은컨디션코드 (Condition Code) 와특정상수의비교를통해서기술한다. 예를들어 LASTCC > 8라고지정하면컨디션코드변수중의하나인 LASTCC 값이 8보다큰경우를의미한다. IFTHENELSE 명령어구문은다음과같다. IF {Condition Code} {operator} {number} THEN[ command DO command set END] [ELSE[ command DO command set END]] Condition Code 에지정가능한값과의미는다음과같다. 값 LASTCC 가장최근에실행된명령의실행결과값을저장하는 JSCVSUT 에서사용하는변수이 다. 성공적인경우의 LASTCC 는 0 의값을갖고, 무시할수있는경고가발생한경우의값 은 4 이다. 심각한문제가발생한경우더큰값을갖게된다. MAXCC Operator 현재실행중인명령보다앞서서실행된명령의실행결과값중에서가장큰값을저 장하는데사용하는변수이다. 컨디션코드의값을평가하기위한연산자이다. 지정가능한값과의미는 " 유의사항 " [54] 에있는비교연산자표를참고한다. THEN 문에는 IF 문이참인경우실행할 JSCVSUT 명령을기술하고, ELSE 문에는 IF 문이거짓인경우 실행할명령을기술한다. 만약 IF 문이거짓일경우실행할명령이없다면 ELSE 문을생략할수있다. 제 2 장데이터셋유틸리티 51

66 IFTHENELSE 문은조건에따라서다른명령을수행하는하나의 JSCVSUT 명령으로간주된다. 따라서 IFTHENELSE 문을여러라인에걸쳐서기술하는경우는하이픈 () 을적절히사용해야한다. 다음은 LASTCC의값이 8과동일한경우, MAXCC에 0을설정하는프로그램의일부분을예로보여준다. 실제 IFTHEN 문이동작하는것을보여주기위해서 LASTCC를 8로설정했으며 IFTHEN 문이실행될때는 LASTCC 값이 8이므로 THEN 뒤의 SET MAXCC0이실행된다. 이상태에서 JSCVSUT를종료하면최종적인 MAXCC 값을보고하고종료하므로실행된결과를확인할수있다. SET LASTCC=8 IF LASTCC=8 THEN SET MAXCC=0 다음은 LASTCC의값이 4보다큰경우 TEST.SDS1의엔트리정보를가져오고, LASTCC가 4보다크지않은경우 TEST.SDS2의엔트리정보를가져오는예이다. 일반적으로 SET LASTCC의위치에다른 JSCVSUT 명령어를실행하여그결과에의해서 LASTCC가설정되고, 그결과에따라서조건적으로명령을실행한다. 본예제에서는 IFTHENELSE 문의동작을테스트하기위해강제로 IF 문전에 LASTCC의값을 0으로설정하였다. IF 문의결과에따라 TEST.SDS2가 LISTCAT된다. SET LASTCC=0 IF LASTCC > 4 THEN LISTCAT ENT(TEST.SDS1) ELSE LISTCAT ENT(TEST.SDS2) Null Null은아무동작도발생하지않는문법적인용도의명령으로다음과같은 2가지목적으로사용된다. IFTHENELSE 구문의문법에어긋나지않고 THEN이나 ELSE에아무런명령도지정하지않을경우에사용한다. Null 이 IFTHENELSE 구문외에서사용된경우는빈라인으로처리된다. 주의 THEN이나 ELSE 뒤에서라인을변경하는경우라인이계속이어지는것을의미하는하이픈 () 을지정하지않는다. 하이픈 () 을지정하면 JSCVSUT는 THEN이나 ELSE문다음에명령이있는것으로가정하고처리하기때문에의도한대로명령의분기가되지않는다. 다음은 LASTCC 가 4 보다큰경우에수행하는명령은없으며, LASTCC 가 4 보다작은경우에는 TEST.SDS2 의엔트리정보를가져오는예이다. 52 OpenFrame 유틸리티참조안내서

67 SET LASTCC=0 IF LASTCC > 4 THEN ELSE LISTCAT ENT(TEST.SDS2) SET MAXCC나 LASTCC의값을강제로특정한값으로설정하는데사용한다. 주로특정경고수준의컨디션코드를무시하고 JCL에서 JSCVSUT 이후의 STEP을계속실행하기위한용도로사용된다. 다음은 LASTCC의값이 8과동일한경우 MAXCC의값을 0으로강제설정하는예이다. DEL STEP에서 TEST.SDS1이없는경우 DEL STEP은반환코드 8을반환하고종료하므로 DEF STEP은수행되지않는다. TJES의설정이나 JOB에기술된 COND에따라달라질수있지만, 반환코드가 8인경우 DEF STEP을처리하지않고 JOB이 ABEND 처리되는경우를방지하려면 MAXCC를 0으로강제설정함으로써뒤따르는 DEF STEP이실행되게할수있다. //DEL EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //SYSIN DD * DELETE TEST.SDS1 IF LASTCC=8 THEN SET MAXCC=0 /* //DEF EXEC PGM=JSCVSUT //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE NONVSAM (NAME(TEST.SDS1) VOLUMES(100000)) /* // CANCEL CANCEL 명령어를만나면 JSCVSUT의실행이종료되어 CANCEL 명령이후의나머지명령은처리되지않는다. 다음예제는 LASTCC가 4인경우다음 THEN 명령을수행하는중 CANCEL이실행되어 JSCVSUT의실행을종료하는프로그램의일부이다. LISTCAT ENTRIES(MUST.EXIST.SDS) IF LASTCC=4 THEN CANCEL... 제 2 장데이터셋유틸리티 53

68 LISCAT으로지정한카탈로그엔트리가존재하지않는경우컨디션코드는 4이다. 컨디션코드가 4인경우는메시지레벨조건코드이므로다음 JSCVSUT 명령을계속실행하게된다. 앞의예제는 MUST.EXIST.SDS 이라는데이터셋이없는경우더이상다음명령을실행하지않고곧바로 IF 조건이만족하는경우 CANCEL 명령을실행하여 JSCVSUT의실행을종료한다. 유의사항 컨디션코드 (Condition Code) 는 JSCVSUT가각각의명령을실행한결과가정상인지아니면명령실행중에에러가발생했는지를나타내는일종의에러코드이다. 발생가능한컨디션코드는 0, 4, 8, 12, 16이고큰값일수록명령실행에중대한문제가있었음을나타낸다. 각컨디션코드값에대한은다음과같다. 코드 0 4 의미명령을정상적으로처리한경우반환되는코드이며일부정보성메시지가출력될수있다. 명령이완벽하게처리되지않았지만이를무시하고추가적인명령을수행해도영구적으로에러를발생시키지않을것이라고판단되는상태로, 추가적인명령의수행이가능하며경고성메시지가함께출력된다. 예를들어 LISCAT 명령이실행될때사용자가지정한카탈로그엔트리가존재하지않는경 우컨디션코드는 4 로설정되고다음메시지가출력된다. JSCVSUT: No specified catalog entry found: NOT.EXIST.SDS 8 명령이의미하는동작의일부를수행하지않았지만결과적으로사용자가원하는상태와동 일한결과로귀결되는경우에해당하는상태로추가적인명령의수행이가능하다. 예를들어 DELETE 명령에지정한데이터셋이존재하지않는경우실제로 DELETE 명령의완전한실행은수행되지않았지만결과적으로지정한데이터셋이없다는상태는동일하게된다. 이경우추가적인명령의실행에문제는없으므로컨디션코드는 8로설정되고경고성메시지가출력된다. JSCVSUT(WARNING): No such catalog entry 'NOT.EXIST.SDS' 12 명령의수행과정중에러가있어서꼭수행되어야하는동작이나기능을완료할수없는경우에발생한다. 이러한에러 (logical error) 는동시에지정할수없는논리적으로불일치하는파라미터를지정하는경우이거나꼭지정되어야하는필수파라미터가생략된경우혹은데이터셋의키길이, 레코드크기등으로지정한값이올바르지않을때발생한다. 이러한상황이발생한경우컨디션코드는 12로설정되고에러메시지가출력된다. JSCVSUT(ERROR): {error description or logical error code} 54 OpenFrame 유틸리티참조안내서

69 코드 16 의미 현재명령을수행하는과정에서심각한에러가발생하여사용자가지정한나머지명령을실 행할수없는경우에반환되는컨디션코드값이다. 다음과같은경우에해당코드가발생한다. JSCVSUT의실행로그를사용할수없는경우출력메시지가저장될출력데이터셋을사용할수없는경우컨디션코드 16이발생한다. 예를들어 SYSPRINT DD를열지못한경우 JSCVSUT는더이상의실행하지않고바로종료한다. JSCVSUT 명령을잘못코딩한경우 IFTHENELSE 문을잘못코딩하거나여러라인에걸쳐서명령을코딩할때하이픈 () 을적절히사용하지않은경우에발생한다. 시스템데이터셋이망가진경우 BCS나 VVDS의내용에오류가존재해서명령을수행할수없는경우이며, SYSPRINT DD 를사용할수있는경우라면다음과같은에러메시지가출력된다. JSCVSUT(ERROR): {error description or logical error code} 또는 JSCVSUT(FATAL): {error description} 조건코드변수명 (LASTCC와 MAXCC) JSCVSUT는 LASTCC 및 MAXCC라는변수에컨디션코드값을저장한다. LASTCC에는최근실행한명령의컨디션코드가저장되고, MAXCC에는기존에발생한컨디션코드중에서가장큰값이저장된다. LASTCC 및 MAXCC는 SET 명령을이용해서사용자가직접설정할수있다. 다음은 NOT.EXIST.SDS 데이터셋을삭제한후 LASTCC의값이 8이면강제적으로 MAXCC를 0으로설정하는예이다. DELETE NOT.EXIST.SDS IF LASTCC = 8 THEN SET MAXCC=0 DEFINE... 관련환경설정 JSCVSUT 는 idcams.conf 설정파일을사용한다. 이설정파일의내용을변경하여 JSCVSUT 의몇가지 동작을사용자의요구에맞게조정할수있다. 제 2 장데이터셋유틸리티 55

70 OpenFrame 보안제품인 TACF와함께 JSCVSUT를연동하는경우 JSCVSUT를명령어라인에서실행하면 JSCVSUT는사용자이름 / 기본그룹명 / 비밀번호의입력을요구한다. 매번사용자이름과기본그룹명그리고비밀번호를입력하지않으려면 [DEFAULT_USER] 섹션의각에기본적인사용자정보를설정한다. <idcams.conf> [DEFAULT_USER] USERNAME={username} GROUPNAME={groupname} PASSWORD={password} JCL에의해서 JOB의일부 STEP으로 JSCVSUT가실행되는경우에는 TJES에서필요한사용자정보를제공하므로별도로위의설정을사용하지않는다. TACF와 JSCVSUT를연동하는경우 JSCVSUT의각기능명령어에서데이터셋을접근할때권한체크를수행할지여부를설정한다. [TACF] CHECK_DSAUTH={YES NO} 다음은현재 JSCVSUT 의명령중에서실제기능은하지않으나에러가발생하지않도록처리되는파라미 터에대한표이다. 명령어 공통 ( 패스워드관련 ) 파라미터 [MASTERPW(password)] [CONTROLPW(password)] [UPDATEPW(password)] [READPW(password)] [CODE(code)] [ATTEMPTS(count)] [AUTHORIZATION(name info)] ALTER [FILE(ddname)] [ALLCOMPONENTS] [NULLIFY( [EXCEPTIONEXIT])] [ERASE NOERASE] [EXCEPTIONEXIT(entrypoint)] [{WRITECHECK NOWRITECHECK}] [INHIBIT UNINHIBIT] 56 OpenFrame 유틸리티참조안내서

71 명령어 파라미터 [DFWRITE NODFWRITE] [SHAREOPTIONS(option)] [RECORDSIZE(average maximum)] [KEYS(length offset)] [FREESPACE(rate)] [BUFFERSPACE(size)] [{ADDVOLUMES(volser[ volser...]) REMOVEVOLUMES(volser[ volser...])}] [{UNIQUEKEY NONUNIQUEKEY}] [UPGRADE NOUPGRADE] [UPDATE NOUPDATE] BLDINDEX [{CALLSORT NOCALLSORT[ {INTERNALSORT EXTERNALSORT}]}] [WORKFILES(ddname[ ddname...])] [WASTESPACE] CHECKCAT [CATVOLS((catname) VOLUMES(volser[ volser...]))...)] [CENTERCATALOG((catname KEYRANGES((fromkey tokey)...))...)] [DEFAULTCATALOG(({ALLENTRY ENTRY(entryname)} CATNAME(catname))...)] [SELECTCATALOG(catname[ catname...])] [SELECTVOLUME(volser[ volser...])] [TARGETMASTERCATALOG(catname)] [SYSTEM(TRUST NONE)] [KEY(length offset)] [DATEFORMAT({Y2 Y4})] [OUTFILE(ddname)] DEFINE command [FILE(ddname)] [EXCEPTIONEXIT(entrypoint)] [FILE(ddname)] [FREESPACE(CIpercent[ CApercent])] [MODEL(entryname[ catname])] [{RECORDCOMPRESS NORECORDCOMPRESS}] [REUSE NOREUSE] [SHAREOPTIONS(option])] [UNIQUE SUBALLOCATION] 제 2 장데이터셋유틸리티 57

72 명령어 파라미터 [WRITECHECK NOWRITECHECK]) DELETE [FILE(ddname)] [FILECHECK] [FORCE NOFORCE] [PURGE NOPURGE] [SCRATCH NOSCRATCH] [{WITHSECURITY WITHOUTSECURITY} [PAGESPACE] [SPACE] [JOURNAL] COMPONENT [INCOMPLETE] EXPORT [DISCONNECT] [TEMPORARY PERMANENT] [RECORDS CONTROLINTERVALS] [{KEYSEQUENTIALCHECK NOKEYSEQUENTIALCHECK}] [INHIBITSOURCE NOINHIBITSOURCE] [INHIBITTARGET NOINHIBITTARGET] [FORMAT(format)] [OLDCHECK] EXTRACT IMPORT [RESERVE NORESERVE] [CONNECT] [PURGE NOPURGE] [{REPLACESECURITY REUSESECURITY CREATESECURITY}] [FREESPACE NOFREESPACE] [CONTROLAREASIZE(cisize)] [WASTESPACE] [OBJECTS ([FILE(ddname)])] [BUFFERSPACE(size)] [ORDERED UNORDERED] [KEYRANGES((fromkey tokey)...)])] [ORDERED UNORDERED] 58 OpenFrame 유틸리티참조안내서

73 명령어 LISTCAT 파라미터 [PAGESPACE] [CREATION(days)] [EXPIRATION(days)] [FILE(ddname)] DATEFORMAT({Y2 Y4})] [{EDITFILE(ddname) EDITDATASET(entryname)}] [{FORMAT3 FORMAT4}] [{LIST NOLIST}] [OUTFILE(ddname)] LISTST PRINT [{SYSTEMLIST NOSYSTEMLIST}] [{KEYSEQUENTIALCHECK NOKEYSEQUENTIALCHECK}] [{CONTROLINTERVALS RECORDS}] [SUPPRESS] [{FORCE NOFORCE}] [REGISTERTYPE(type)] REPRO [{COPYDATASET(entryname) COPYFILE(ddname)}] [FORCE NOFORCE] [{KEYSEQUENTIALCHECK NOKEYSEQUENTIALCHECK}] [CONTROLINTERVALS] [REUSE NOREUSE] [WASTESPACE] SPLITMRG [DATASET] [VOLUME] [TERMINAL] [USER] [PROGRAM] [{CENTERCATALOG NOTCENTERCATALOG}] [WORKCAT(catname)] [DATASETID(id)] 제 2 장데이터셋유틸리티 59

74 명령어 파라미터 [WORKSIZE VOLUMES(volser[ volser...]) {CYLINDERS(space[ space]) TRACKS(space[ space]) RECORDS(space[ space])]] DEFINE 서브명령어의경우다음과같다. 서브명령어 ALTERNATEINDEX 파라미터 (BUFFERSPACE(size)] [CONTROLAREASIZE(size)] [DFWRITE NODFWRITE] [EXCEPTIONEXIT(entrypoint)] [FREESPACE(CIpercent[ CApercent] 0 0)] [IMBED NOIMBED] [KEYRANGES((fromkey tokey)...)] [MODEL(entryname[ catname])] [ORDERED UNORDERED] [REPLICATE NOREPLICATE] [REUSE NOREUSE] [SHAREOPTIONS(option)] [SPEED RECOVERY] [TOTALSPACE NOTOTALSPACE] [WRITECHECK NOWRITECHECK]) [DATA ( [BUFFERSPACE(size)] [CONTROLAREASIZE(size)] [DFWRITE NODFWRITE] [EXCEPTIONEXIT(entrypoint)] [FREESPACE(CIpercent[ CApercent])] [KEYRANGES((fromkey tokey)...)] [MODEL(entryname [ catname ])] 60 OpenFrame 유틸리티참조안내서

75 서브명령어 파라미터 [ORDERED UNORDERED] [REUSE NOREUSE] [SHAREOPTIONS(option)] [SPEED RECOVERY] [TOTALSPACE NOTOTALSPACE] [WRITECHECK NOWRITECHECK])] [INDEX ( [DFWRITE NODFWRITE] [EXCEPTIONEXIT(entrypoint)] [IMBED NOIMBED] [MODEL(entryname[ catname ])] [ORDERED UNORDERED] [REPLICATE NOREPLICATE] [REUSE NOREUSE] [SHAREOPTIONS(option)] [TOTALSPACE NOTOTALSPACE] [WRITECHECK NOWRITECHECK])] CLUSTER [BUFFERSPACE(size)] [CONTROLAREASIZE(size) [DFWRITE NODFWRITE] [EXCEPTIONEXIT(entrypoint)] [FREESPACE(CIpercent[ CApercent] 0 0)] [IMBED NOIMBED] [KEYRANGES((fromkey tokey)...)] [MODEL(entryname[ catname])] [ORDERED UNORDERED] [{RECORDCOMPRESS NORECORDCOMPRESS}] [REPLICATE NOREPLICATE] [REUSE NOREUSE] 제 2 장데이터셋유틸리티 61

76 서브명령어 파라미터 [SAMECISZ] [SHAREOPTIONS(option)] [TOTALSPACE NOTOTALSPACE] [WRITECHECK NOWRITECHECK]) [DATA ( [BUFFERSPACE(size)] [CONTROLAREASIZE(size)] [DFWRITE NODFWRITE] [EXCEPTIONEXIT(entrypoint)] [FREESPACE(CIpercent[ CApercent])] [KEYRANGES((fromkey tokey)...)] [MODEL(entryname [ catname ])] [ORDERED UNORDERED] [REUSE NOREUSE] [SHAREOPTIONS(option)] [TOTALSPACE NOTOTALSPACE] [WRITECHECK NOWRITECHECK])] [INDEX ( [DFWRITE NODFWRITE] [EXCEPTIONEXIT(entrypoint)] [IMBED NOIMBED] [MODEL(entryname[ catname ])] [ORDERED UNORDERED] [REPLICATE NOREPLICATE] [REUSE NOREUSE] [SHAREOPTIONS(option)] [TOTALSPACE NOTOTALSPACE] [WRITECHECK NOWRITECHECK])] 62 OpenFrame 유틸리티참조안내서

77 서브명령어 GENERA TIONDATAGROUP NONVSAM PATH 파라미터 ([SCRATCH NOSCRATCH]) [FILESEQUENCENUMBERS(number[ number...])]) [FILE(ddname)] ([MODEL(entryname[ catname])]) USERCATALOG ([BUFFERSPACE(size 3072)] [FILE(ddname)] [FREESPACE(CIpercent[ CApercent] 0 0)] [MODEL(entryname[ catname])] [TYPE({1 2})] [WRITECHECK NOWRITECHECK]) [DATA ( [BUFFERSPACE(size)] [WRITECHECK NOWRITECHECK])] [INDEX ( [WRITECHECK NOWRITECHECK])] 2.2. JSDEDIT 입력데이터셋에주어진 JCL을편집하여새로운 JCL을가진데이터셋을작성하는 JCL 편집유틸리티프로그램이다. 입력데이터셋의편집, 복사하는단위는다음과같다. JCL 전체복사 JCL 의각 JOB 별로선별복사 JCL 의 JOB 마다 STEP 별로선별복사 모든 JOB과 STEP은입력데이터셋과같은순서로출력데이터셋으로복사된다. 입력데이터셋이 JCL 내에입력스트림으로작성되었고이입력데이터셋에저장된 JCL 내에또다시입력스트림이있는경우입력데이터셋내 JCL의입력스트림죵료표시를 "/*" 가아닌 "..*" 로지정한다. 이표기는출력데이터셋에는 "/* " 로변환하여저장된다. 제 2 장데이터셋유틸리티 63

78 DD 설정 DD 설정은다음과같다. SYSUT1 DD SYSUT2 DD SYSIN DD JCL이저장된입력데이터셋을기술한다. 새로생성된 JCL을저장할데이터셋을기술한다. JSDEDIT의명령어를기술한다. 명령어설정 EDIT 어떤 JOB들또는어떤 JOB STEP들을출력데이터셋에포함할지의조건을명시한다. EDIT 문을생략할경우입력데이터셋을출력데이터셋으로복사하게된다. EDIT 명령어구문은다음과같다. [label] EDIT {[START=jobname][,STEPNAME=(namelist)] JOBNAME=(namelist)} [,TYPE={POSITION INCLUDE EXCLUDE}] [,NOPRINT] START 하나의 JOB 을선택하여해당 JOB 전체또는각 STEP 별로복사또는제외할때기술 한다. STEPNAME을지정하지않으면해당 JOB의전 STEP이복사된다. START의 jobname을생략할경우 1번째 EDIT 문이었다면 1번째 JOB을, 2번째 JOB 부터는이전의 EDIT 문이지정한 JOB의다음 JOB을자동으로선택한다. 해당 JOB이정해지면해당 JOB 문장은필수적으로포함되므로여러 JOB으로부터 STEP을발췌하여하나의 JOB으로만드는것은불가능하다. STEPNAME 인자로사용할 namelist 를기술한다. STEP 의 namelist 는다음의 3 가지방법을모두 사용하여기술할수있다. STEP STEPA, STEPB,... STEPASTEPG (STEPA부터 STEPG까지를의미 ) 콤마 (,) 와대쉬 () 를구분자로하여혼용할수있다. 64 OpenFrame 유틸리티참조안내서

79 JOBNAME 여러개의 JOB을복사하거나제외할때이용한다. START 및 STEPNAME과함께이용할수없다. JOBNAME의 namelist는다음의 3가지방법을모두사용하여기술할수있다. JOB JOBA, JOBB,... JOBAJOBG (JOBA부터 JOBG까지를의미 ) 콤마 (,) 와대쉬 () 를구분자로하여혼용할수있다. TYPE EDIT 문의동작을기술한다. 다음중하나의옵션을선택한다. POSITION: 지정된 STEP 또는 JOB부터다음 JOB을만날때까지 (START 문을지정한경우 ) 혹은 JCL 끝까지를출력데이터셋에복사한다. INCLUDE: 지정된 STEP또는 JOB만을출력데이터셋에포함한다. EXLCUDE: 지정된 STEP 또는 JOB을제외한나머지 STEP 또는 JOB을출력데이터셋에포함한다. NOPRINT JOB 스트림을 SYSPRINT 로출력하지않는다. SYSPRINT 로출력되지않도록하려 면반드시이옵션을설정해야한다. 미지원기능이다. 사용예제 다음은 SYSUT1 DD 로주어진데이터셋의 JCL 전체를 SYSUT2 DD 의데이터셋으로복사하는예이다. //STEP1 EXEC PGM=JSDEDIT //SYSPRINT DD SYSOUT=* //SYSUT1 DD DSNAME=OFTEST.JSDEDIT(IN),DISP=OLD //SYSUT2 DD DSNAME=OFTEST.JSDEDIT(OUT1), // DISP=OLD,DCB=(RECFM=FB,LRECL=81,BLKSIZE=81) 다음은 SYSUT1 DD로주어진데이터셋의 JCL을 JOB 단위로 EDIT한후 SYSUT2 DD의데이터셋으로복사하는예이다. //STEP1 EXEC PGM=JSDEDIT //SYSPRINT DD SYSOUT=* //SYSIN DD * EDIT JOB=JOB2,TYPE=POSITION /* 제 2 장데이터셋유틸리티 65

80 //SYSUT1 DD DATA //JOB1 JOB CLASS=A //STEP11 EXEC PGM=JSJDUMMY //TEMP1 DD DSNAME=OFTEST.TEMP1,DISP=OLD //STEP12 EXEC PGM=JSJDUMMY //TEMP2 DD DSNAME=OFTEST.TEMP2,DISP=OLD //STEP13 EXEC PGM=JSJDUMMY //TEMP3 DD DSNAME=OFTEST.TEMP3,DISP=OLD //JOB2 JOB CLASS=B //STEP21 EXEC PGM=JSJDUMMY //TEMP4 DD DSNAME=OFTEST.TEMP4,DISP=OLD //STEP22 EXEC PGM=JSJDUMMY //TEMP5 DD DSNAME=OFTEST.TEMP5,DISP=OLD //JOB3 JOB CLASS=B //STEP31 EXEC PGM=JSJDUMMY //TEMP6 DD DSNAME=OFTEST.TEMP6,DISP=OLD //STEP32 EXEC PGM=JSJDUMMY //TEMP7 DD DSNAME=OFTEST.TEMP7,DISP=OLD /* //SYSUT2 DD DSNAME=OFTEST.JSDEDIT(OUT2), // DISP=OLD,DCB=(RECFM=FB,LRECL=81,BLKSIZE=81) 1 번째 EDIT 문은 JOB2 부터이후모든 JOB 을출력한다. 다음은앞의예제에대한결과로서생성된출력데이터셋의 JCL 이다. //JOB2 //STEP21 //TEMP4 //STEP22 //TEMP5 //JOB3 //STEP31 //TEMP6 //STEP32 //TEMP7 JOB CLASS=B EXEC PGM=JSJDUMMY DD DSNAME=OFTEST.TEMP4,DISP=OLD EXEC PGM=JSJDUMMY DD DSNAME=OFTEST.TEMP5,DISP=OLD JOB CLASS=B EXEC PGM=JSJDUMMY DD DSNAME=OFTEST.TEMP6,DISP=OLD EXEC PGM=JSJDUMMY DD DSNAME=OFTEST.TEMP7,DISP=OLD 다음은 SYSUT1 DD로주어진데이터셋의 JCL을각 JOB별로 STEP을편집한후 SYSUT2 DD의데이터 셋으로복사하는예이다. //STEP1 EXEC PGM=JSDEDIT //SYSPRINT DD SYSOUT=* //SYSIN DD * EDIT START=,TYPE=POSITION,STEPNAME=STEP12 EDIT START=JOB2,TYPE=INCLUDE,STEPNAME=(STEP21,STEP23) EDIT START=JOB3,TYPE=EXCLUDE,STEPNAME=(STPE32STEP34) 66 OpenFrame 유틸리티참조안내서

81 /* //SYSUT1 DD DATA //JOB1 JOB CLASS=A //STEP11 EXEC PGM=JSJDUMMY //TEMP1 DD DSNAME=OFTEST.TEMP1,DISP=OLD //STEP12 EXEC PGM=JSJDUMMY //TEMP2 DD DSNAME=OFTEST.TEMP2,DISP=OLD //STEP13 EXEC PGM=JSJDUMMY //JOB2 JOB CLASS=B //STEP21 EXEC PGM=JSDEDIT //SYSUT1 DD DSNAME=OFTEST.JCLDATA1,DISP=OLD //SYSUT2 DD DSNAME=OFTEST.JCLDATA2,DISP=OLD //STEP22 EXEC PGM=JSJDUMMY //TEMP3 DD DSNAME=OFTEST.TEMP3,DISP=OLD //STEP23 EXEC PGM=JSDEDIT //SYSUT1 DD DSNAME=OFTEST.JCLDATA3,DISP=OLD //SYSUT2 DD DSNAME=OFTEST.JCLDATA4,DISP=OLD //SYSIN EDIT START=JOBA,TYPE=INCLUDE,STEPNAME=(STEPASTEPC)..* //JOB3 JOB CLASS=B //STEP31 EXEC PGM=JSDEDIT //TEMP4 DD DSNAME=OFTEST.TEMP4,DISP=OLD //STEP32 EXEC PGM=JSDEDIT //TEMP5 DD DSNAME=OFTEST.TEMP5,DISP=OLD //STEP33 EXEC PGM=JSDEDIT //TEMP6 DD DSNAME=OFTEST.TEMP6,DISP=OLD //STEP34 EXEC PGM=JSDEDIT //TEMP7 DD DSNAME=OFTEST.TEMP7,DISP=OLD //STEP35 EXEC PGM=JSDEDIT //TEMP8 DD DSNAME=OFTEST.TEMP8,DISP=OLD /* //SYSUT2 DD DSNAME=OFTEST.JSDEDIT(OUT3), // DISP=OLD,DCB=(RECFM=FB,LRECL=81,BLKSIZE=81) 1 번째 EDIT 문은 JOB1 에서 STEP12 이후로만출력한다. 2 번째 EDIT 문은 JOB2 에서 STEP21 와 STEP23 만을출력한다. 마지막 EDIT 문은 JOB3 에서 STEP32 부터 STEP34 까지를제외한나머지 STEP 을모두출력한다. 다음은앞의예제에대한결과로생성된출력데이터셋의 JCL 이다. //JOB1 //STEP12 //TEMP2 //STEP13 JOB CLASS=A EXEC PGM=JSJDUMMY DD DSNAME=OFTEST.TEMP2,DISP=OLD EXEC PGM=JSJDUMMY 제 2 장데이터셋유틸리티 67

82 //JOB2 //STEP21 //SYSUT1 //SYSUT2 //STEP23 //SYSUT1 //SYSUT2 //SYSIN EDIT /* //JOB3 //STEP31 //TEMP4 //STEP35 //TEMP8 JOB CLASS=B EXEC PGM=JSDEDIT DD DSNAME=OFTEST.JCLDATA1,DISP=OLD DD DSNAME=OFTEST.JCLDATA2,DISP=OLD EXEC PGM=JSDEDIT DD DSNAME=OFTEST.JCLDATA3,DISP=OLD DD DSNAME=OFTEST.JCLDATA4,DISP=OLD START=JOBA,TYPE=INCLUDE,STEPNAME=(STEPASTEPC) JOB CLASS=B EXEC PGM=JSDEDIT DD DSNAME=OFTEST.TEMP4,DISP=OLD EXEC PGM=JSDEDIT DD DSNAME=OFTEST.TEMP8,DISP=OLD 유의사항 JSDEDIT 유틸리티프로그램이 Batch 애플리케이션을실행한결과는다음과같다. 정상적으로실행한경우 Batch 애플리케이션에서받은코드를반환한다. 에러가발생한경우 해당에러메시지를 SYSPRINT DD 에출력하고에러에해당하는코드를반환한다. JSDEDIT 유틸리티프로그램에서발생할수있는에러코드는다음과같다. 코드 8 Unrecoverable 형태의에러로, 다음의경우가해당된다. 데이터셋관련 (pgmdd, open/close, read/write) 에러 SYSIN DD 명령어문법에러 OpenFrame 시스템라이브러리초기화실패 기타 JSDEDIT 유틸리티프로그램에러 68 OpenFrame 유틸리티참조안내서

83 2.3. JSDPCPY 1개이상의 PDS에대해서멤버들을전체또는일부만복사하거나병합하기위해사용하는유틸리티프로그램이다. JSDPCPY 유틸리티프로그램으로다음과같은기능을수행할수있다. PDS에대해복사또는병합기능을수행한다. PDS 의특정멤버만선택해서복사하고, 선택된멤버이름을재정의한다. PDS 의특정멤버만제외하고복사한다. PDS 멤버를교체한다. DD 설정 DD 설정은다음과같다. SYSPRINT DD user_defined_name1 DD user_defined_name2 DD SYSIN DD JSDPCPY 메시지를저장하는데이터셋을정의한다. PDS 타입의입력데이터셋을정의한다. PDS 타입의출력데이터셋을정의한다. JSDPCPY 명령어를정의한다. 명령어설정 COPY, COMPRESS, EXPAND PDS의멤버를복사한다. SYSIN DD의 COPY, COMPRESS, EXPAND 명령어구문은다음과같다. [label] COPY COMPRESS EXPAND OUTDD=DDNAME [,INDD=[(]{DDNAME (DDNAME,R)}[,...][)]] [,ALIAS=YES] [,LIST={NO SUPPRESS}] OUTDD INDD 출력데이터셋을위한 DD 이름을기술한다. 입력데이터셋을위한 DD 이름을기술한다. 제 2 장데이터셋유틸리티 69

84 출력데이터셋에복사하려는멤버가이미존재하고있는경우 R(REPLACE) 파라미 터가있으면오버라이드하고없으면복사하지않는다. ALIAS LIST ALIAS 도함께복사혹은제외할때기술하는으로현재미지원기능이다. 복사된멤버들의이름을 SYSPRINT 에기록하는으로현재미지원기능이다. EMPTY PDS 의멤버를초기화한다. [label] EMPTY OUTDD=DDNAME [,KEYLEN=number] OUTDD KEYLEN 초기화할 PDS 를위한 DD 이름을기술한다. 미지원기능이다. SELECT SELECT 문은 COPY 문다음에설정하며, 입력데이터셋의특정멤버를선택하여새로운이름으로 COPY 작업을수행한다. SELECT 명령어구문은다음과같다. [label] SELECT MEMBER=({name1 (name1,newname1[,r]) (name1,,r)} [,{name2 (name2,newname2[,r]) (name2,,r)}][,...]) GROUP={[(]name1[,name2,...][)] ((name1,r)[,name2,...])} MEMBER name 필드에기술한입력데이터셋의멤버를 newname 필드에서지정한새로운이 름으로복사한다. newname 필드를지정하지않은경우, name 필드에기술한멤버명과동일한이름을사용한다. R(REPLACE) 파라미터를선택하면입력데이터셋의멤버이름과출력데이터셋의멤버이름이같을경우입력데이터셋의멤버를출력데이터셋의멤버로오버라이드한다. GROUP name 필드로시작하는입력데이터셋의멤버를복사한다. 70 OpenFrame 유틸리티참조안내서

85 R(REPLACE) 파라미터를선택하면입력데이터셋의멤버이름과출력데이터셋의 멤버이름이같을경우입력데이터셋의멤버를출력데이터셋의멤버로오버라이드 한다. EXCLUDE EXCLUDE 문은 COPY 문다음에설정하며, COPY 문을수행할때입력데이터셋에서특정멤버를제외한다. 이구문은위의 SELECT 문과함께사용할수없다. EXCLUDE 문과 SELECT 문모두지정하지않으면, 데이터셋전체에대한 COPY 작업을수행한다. EXCLUDE 명령어구문은다음과같다. [label] EXCLUDE MEMBER=[(]name1[,name2,...][)] MEMBER 복사하지않을멤버의이름을기술한다. 해당멤버들은 COPY 문을수행할때복사대 상에서제외된다. INDD COPY 문다음에설정하며, 설정한순서로입력데이터셋을출력데이터셋으로새로운 COPY 작업을수행한다. COPY 문의서브명령어로쓰이는 INDD에대해서는여러개의입력데이터셋에대하여각각 EXCLUDE 문이나 SELECT 문을적용하기어렵지만, INDD 문을사용하면여러개의입력데이터셋에대하여각각 EXCLUDE 문과 SELECT 문을사용할수있다. [label] INDD=[(]{DDNAME (DDNAME,R)}[,...][)]] 사용예제 다음은 PDS DATASET1 을 PDS DATASET2 로전체데이터셋을복사하는예이다. //COPYALL JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //JOBSTEP EXEC PGM=JSDPCPY //SYSPRINT DD SYSOUT=A //SYSUT1 DD DSNAME=DATASET1,DISP=(SHR,KEEP) //SYSUT2 DD DSNAME=DATASET2,UNIT=disk,VOL=SER=200000, // DISP=(NEW,CATLG)),SPACE=(TRK,(100,,10)) //SYSIN DD DUMMY 다음처럼 DATASET1 의모든멤버 A, B, F 가 PDS DATASET2 로모두복사된다. 제 2 장데이터셋유틸리티 71

86 [ 그림 2.1] PDS 데이터셋복사 다음은 4개의데이터셋을병합하는예이다. 이미존재하고있는데이터셋 DATASET5에 DATASET1, DATASET3, DATASET4의멤버가복사되어병합된다. SYSIN DD의명령어 INDD 순서에따라 DATASET1 이먼저복사되고, DATASET4, DATASET3의순서로복사된다. //MERGE JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //JOBSTEP EXEC PGM=JSDPCPY //SYSPRINT DD SYSOUT=A //IN01 DD DSNAME=DATASET1,DISP=(SHR,KEEP) //IN02 DD DSNAME=DATASET3,DISP=(SHR,KEEP) //OUT01 DD DSNAME=DATASET5,DISP=(SHR,KEEP) //IN03 DD DSNAME=DATASET4,DISP=(SHR,KEEP) //SYSIN DD * COPYOPER COPY OUTDD=OUT01 INDD=IN01 INDD=IN03 INDD=IN02 /* JSDPCPY가시작되기전 DATASET5에는 A라는멤버가존재하고있다. DATASET1이최초로복사되는데 A라는멤버는이미 OUTPUT에있고, REPLACE 조건이없으므로 A는복사되지않고 B와 F만복사된다. 다음으로 DATASET4가복사되는데멤버 B 역시이미 OUTPUT에있으므로복사되지않고멤버 D와 X만복사된다. 마지막으로 DATASET3이복사된다. 멤버 F와 X가이미 OUTPUT에있으므로복사되지않고멤버 C와 Y만복사된다. 아래그림은위의예제를실행하면서출력데이터셋에멤버가복사되는과정과최종복사된멤버를보여준다. 72 OpenFrame 유틸리티참조안내서

87 [ 그림 2.2] 데이터셋병합 다음은입력데이터셋에서특정멤버를선택하거나제외하여복사하는예이다. MERGE EXEC PGM=JSDPCPY //IN01 DD DSNAME=DATASET4,DISP=(SHR,KEEP) //IN02 DD DSNAME=DATASET3,DISP=(SHR,KEEP) //OUT01 DD DSNAME=DATASET6,DISP=(OLD,KEEP) //SYSPRINT DD SYSOUT=* //SYSIN DD * COPYOPER COPY OUTDD=OUT01 INDD=IN01 EXCLUDE MEMBER=X INDD=IN02 SELECT MEMBER=((F,Z),(C,A,R),(Y,,R)) /* JSDPCPY가실행되기전에 DATASET6에는멤버 A, K, Y가있다. INDD=IN01에의해먼저 DATASET4가복사되는데, EXCLUDE문에의해멤버 X는제외하고, 멤버 B와 D가복사된다. INDD=IN02에의해 DATASET3이복사된다. SELECT 문에의해멤버 F가새로운이름 Z로복사되고, 멤버 C가새로운이름 A로복사된다. 이때 DATASET6에이미멤버 A가있으므로내용을오버라이드한다. 만약 REPLACE가지정되지않았다면, 복사하지않고다음처리로넘어간다. 마지막으로멤버 Y가기존멤버 Y를오버라이드한다. 다음그림은앞의예제를실행하면서출력데이터셋에멤버가복사되는과정과최종복사된멤버를보여준다. 제 2 장데이터셋유틸리티 73

88 [ 그림 2.3] 특정멤버복사 다음은 INDD 문을사용하여여러개의 INPUT 을다르게처리하는경우의예이다. //INDD01 EXEC PGM=JSDPCPY //IN01 DD DSNAME=DATASET11,DISP=(SHR,KEEP) //IN02 DD DSNAME=DATASET12,DISP=(SHR,KEEP) //IN03 DD DSNAME=DATASET13,DISP=(SHR,KEEP) //OUT01 DD DSNAME=DATASET14,DISP=(OLD,KEEP) //SYSPRINT DD SYSOUT=* //SYSIN DD * COPYOPER COPY OUTDD=OUT01 INDD=IN01 EXCLUDE MEMBER=B INDD=IN02 SELECT MEMBER=((B,,R),(Y,N)) INDD=IN03 /* IN01 DD에정의된데이터셋 DATASET11로부터멤버 B를제외한다른멤버 A와 C를복사한다. IN02 DD 에정의된데이터셋 DATASET12로부터멤버 B' 를교체하고, 멤버 Y의이름을바꾸어 N으로복사한다. IN03 DD에정의된데이터셋 DATASET13으로부터전체멤버를복사한다. 단, 같은이름의멤버가이미존재할경우교체하지않는다. 74 OpenFrame 유틸리티참조안내서

89 [ 그림 2.4] INDD 문을사용하여 INPUT 처리 다음은 COPY 문의서브명령어로 INDD 를사용하는경우의예이다. //INDD02 EXEC PGM=JSDPCPY //IN01 DD DSNAME=DATASET11,DISP=(SHR,KEEP) //IN02 DD DSNAME=DATASET12,DISP=(SHR,KEEP) //IN03 DD DSNAME=DATASET13,DISP=(SHR,KEEP) //OUT01 DD DSNAME=DATASET14,DISP=(OLD,KEEP) //SYSPRINT DD SYSOUT=* //SYSIN DD * COPYOPER COPY OUTDD=OUT01,INDD=(INO1,(IN02,R),IN03) /* IN01 DD에정의된데이터셋 DATASET11로부터전체멤버를복사한다. 단, 같은이름의멤버가이미존재할경우교체하지않는다. IN02 DD에정의된데이터셋 DATASET12로부터전체멤버를복사한다. 멤버 B' 은교체된다. IN03 DD에정의된데이터셋 DATASET13으로부터전체멤버를복사한다. 같은이름의멤버가이미존재할경우교체하지않는다. 제 2 장데이터셋유틸리티 75

90 [ 그림 2.5] COPY 문의서브명령어로 INDD 를사용하는경우 유의사항 JSDPCPY 유틸리티프로그램이 Batch 애플리케이션을실행한결과는다음과같다. 정상적으로실행한경우 Batch 애플리케이션에서받은코드를반환한다. 에러가발생한경우 해당에러메시지를 SYSPRINT DD 에출력하고에러에해당하는코드를반환한다. JSDPCPY 유틸리티프로그램에서발생할수있는에러코드는다음과같다. 코드 12 Unrecoverable 형태의에러로, 다음의경우가해당된다. OpenFrame 시스템라이브러리초기화실패 데이터셋관련 (pgmdd, open/close, read/write) 에러 SYSIN DD 명령어문법에러 기타 JSDPCPY 유틸리티프로그램에러 76 OpenFrame 유틸리티참조안내서

91 [ 참고 ] 다음과같은명령어약어를사용할수있다. 명령어 COPY COMPRESS EXPAND EMPTY SELECT EXCLUDE OUTDD INDD ALIAS LIST SUPRESS KEYLEN MEMBER GROUP 약어 C CP EP EM S E O I A L S K M G 2.4. JSDPRNT 순차데이터셋이나 PDS의전체또는일부를실제출력할형식으로데이터를생성하기위한유틸리티프로그램이다. JSDPRNT 유틸리티프로그램은다음과같은경우에사용될수있다. 순차데이터셋또는 PDS 전체를프린트한다. PDS 의특정멤버를프린트한다. 순차데이터셋또는 PDS 의레코드필드를편집하여프린트한다. DD 설정 DD 설정은다음과같다. SYSPRINT DD JSDPRNT 메시지가저장되는데이터셋을기술한다. 제 2 장데이터셋유틸리티 77

92 SYSUT1 DD SYSUT2 DD SYSIN DD 순차데이터셋이나 PDS 타입의입력데이터셋을기술한다. 순차데이터셋타입의출력데이터셋을기술한다. JSDPRNT 명령어를기술한다. 명령어설정 PRINT 데이터를프린트한다. PRINT 문은가장처음에기술해야하는명령어로여러번반복해서지정할수없다. PRINT 명령어구문은다음과같다. [label] PRINT [PREFORM={A M}] [,TYPORG={PS PO}] [,TOTCONV={XE+PZ XC}] [,ORDER={DIR TTR}] [,CNTRL={n] [,STRTAFT=n] [,STOPAFT=n] [,SKIP=n] [,MAXNAME=n] [,MAXFLDS=n] [,MAXGPS=n] [,MAXLITS=n] [,INITPG=n] [,MAXLINE=n] [,CDSEQ=n] [,CDINCR=n] [,EXPAND=YES] PREFORM 각레코드의 1 번째 Byte 가제어문자를의미하는지기술한다. 데이터가이미프린트될포맷으로갖추었고그형태로프린트되어야한다는것을의미한다. PREFORM이기술되면 TYPORG를제외한추가적인 PRINT 문의모든파라미터설정은무시된다. A: ASA 제어문자를의미한다 M: 지원하지않는다. TYPORG 입력데이터셋이순차데이터셋 (PS) 인지분할데이터셋 (PO) 인지기술한다. 기본값 은 PS 이다. 78 OpenFrame 유틸리티참조안내서

93 TOTCONV ORDER CNTRL 입력데이터셋을변환하여출력할경우기술하는으로미지원기능이다. 출력하는멤버의순서를지정하는으로미지원기능이다. 라인스페이스값을설정한다. 라인스페이스로 3을설정할경우 1번째라인에는데이터를쓰고, 2번째와 3번째라인에는공백라인을프린트한다. 이와같은순서로다음데이터도프린트된다. 현재는라인스페이스값을 3까지만허용한다. 허용범위이외의값은모두 1로인식하여처리하게된다. 미지원기능이다. STRTAFT 순차데이터셋을프린트하기전스킵할논리레코드의개수를지정한다. 데이터셋의 n+1 번째논리레코드부터프린트된다. 레코드의범위는 를초과하지않으며, 초과할경우레코드가있는만큼만처리 하게된다. n 은 1 ~ 까지지정할수있다. STOPAFT 프린트되어야할순차데이터셋의논리레코드개수를지정한다. 최대 개의논 리레코드를설정할수있다. 만일 STOPAFT 문과 RECORD 문의 IDENT가함께기술되었다면 STOPAFT에설정된값을만족하거나 IDENT에의해구분되는레코드그룹의마지막일때, 둘중먼저해당되는쪽이나타났을때, 현재입력데이터셋의데이터처리를위한명령어수행이종료된다. n은 1 ~ 32767까지지정할수있다. SKIP MAXNAME MAXFLDS MAXGPS MAXLITS INITPG MAXLINE CDSEQ n번째레코드마다프린트되어야함을의미한다. n은 1 ~ 32767까지지정할수있다. MEMBER 문의최대멤버개수를지정한다. n은 21 ~ 32767까지지정할수있다. ( 기본값 : 20) RECORD 문의최대 FIELD 파라미터개수를지정한다. n은 21 ~ 32767까지지정할수있다. ( 기본값 : 20) 최대 IDENT 파라미터개수를지정한다. n은 21 ~ 32767까지지정할수있다. ( 기본값 : 20) RECORD 문의 IDENT 파라미터에포함될최대리터럴개수를지정한다. n은 201 ~ 32767까지지정할수있다. ( 기본값 : 200) 인쇄를시작할페이지번호를지정하는으로미지원기능이다. 출력될페이지의최대라인수를지정한다. ( 기본값 : 60) 천공하는경우 73~80란에순서번호의초기치를지정하는으로미지원기능이다. 제 2 장데이터셋유틸리티 79

94 CDINCR EXPAND 천공하는경우 73~80란에순서번호의증가치를지정하는으로미지원기능이다. 압축형식을고정형식으로인쇄할경우에지정하는으로미지원기능이다. MEMBER 입력데이터셋이 PDS 일경우특정멤버의데이터만처리하고자할때사용한다. MEMBER 명령어구문은다음과같다. [label] MEMBER NAME=membername NAME PDS 에서프린트되어야할멤버이름을기술한다. RECORD 프린트되어야할레코드의그룹을정의한다. RECORD 명령어구문은다음과같다. [label] RECORD [IDENT=(length,'name',inputlocation)] [,FIELD=(length,[inputlocation],[conversion] [,outputlocation])] [,FIELD= ] IDENT 레코드그룹의마지막레코드를식별한다. 레코드의 inputlocation에서 length만큼의값과 name 값을비교하여값이같으면멤버의마지막레코드가되거나 FIELD가적용되는마지막레코드가된다. length: 마지막레코드를식별하기위한길이를지정한다. 최대 8 Byte까지지정할수있다. 'name': 마지막레코드를식별하기위한값으로반드시작은따옴표 ( ) 안에기술되어야한다. inputlocation: 입력레코드에서 name 값과처리하고자하는데이터의마지막레코드를식별할필드의 1번째시작위치를지정한다. FIELD 레코드편집을위한정보를기술한다. 입력레코드에서 inputlocation 위치부터 length 만큼의데이터를출력레코드의 outputlocation 위치에쓰거나리터럴을 length 만큼 출력레코드의 outputlocation 위치에쓴다. 80 OpenFrame 유틸리티참조안내서

95 length: 편집되어처리되는입력필드의길이또는리터럴의길이를기술한다. inputlocation: 처리되는필드의시작위치를기술한다. outputlocation: 출력레코드에기록될시작위치를지정한다. CONVERSION 현재 JSDPRNT 유틸리티의 RECORD 명령어에서는해당파라미터에대해실제기 능은하지않으나에러를발생시키지않도록지원하고있으며, PZ, XE 이외의값이 사용될경우문법에러가발생한다. TITLE 출력되어야할타이틀이나서브타이틀을기술한다. JSDPRNT에서는 TITLE 문에서 2개의 ITEM을기술할수있다. 1번째 ITEM 문은타이틀을, 2번째 ITEM 문은서브타이틀을정의한다. 기술된타이틀과서브타이틀은매페이지마다출력된다. TITLE 명령어구문은다음과같다. [label] TITLE ITEM=('title'[,outputlocation]) [,ITEM=...] ITEM title 과 outputlocation 은다음과같이설정한다. title: 타이틀이나서브타이틀에대한리터럴을기술한다. 최대 40 Byte 까지지정할 수있다. outputlocation: 출력레코드에서 ITEM 의리터럴이놓여져야할위치를지정한다. EXITS 유저출구루틴을다룰때기술한다. 지원하지않는명령어이다. LABELS 유저라벨을다룰때기술한다. 지원하지않는명령어이다. 사용예제 다음은특정멤버만선택하여지정한프린트형식으로데이터를출력하는예이다. JSDPRNT.TEST.INPUT01 의멤버중 MEMBER2 의레코드가순차적으로 SYSUT2 에정의된 SYSOUT 으로출력된다. 제 2 장데이터셋유틸리티 81

96 만일 MEMBER2의레코드의 21번째 Byte부터 8Byte의값이 'ENDOFREC' 이면이레코드까지만출력한다. 이 SYSOUT은 JOB이종료된후 OUTPUT PROCESSING을통해프린터기에서프린트되며이데이터는한페이지에 30 라인씩프린트된다. //TEST JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //NEWPDS EXEC PGM=JSDPRNT //SYSUT1 DD DSNAME=JSPRNT.TEST.INPUT01,DISP=(SHR,CATLG) //SYSUT2 DD SYSOUT=A //SYSPRINT DD SYSOUT=* //SYSIN DD * PRINT MAXLINE=30 MEMBER NAME=MEMBER2 RECORD IDENT=(8,'ENDOFREC',21) /* 유의사항 JSDPRNT 유틸리티프로그램이 Batch 애플리케이션을실행한결과는다음과같다. 정상적으로실행한경우 Batch 애플리케이션에서받은코드를반환한다. 에러가발생한경우 해당에러메시지를 SYSPRINT DD 에출력하고에러에해당하는코드를반환한다. JSDPRNT 유틸리티프로그램에서발생할수있는에러코드는다음과같다. 코드 8 지정된멤버가 PDS 에존재하지않는경우에발생한다. 해당멤버를넘기고처리를속행한다. 12 Unrecoverable 형태의에러로, 다음의경우가해당된다. OpenFrame 시스템라이브러리초기화실패 데이터셋관련 (pgmdd, open/close, read/write) 에러 SYSIN DD 명령어문법에러 기타 JSDPRNT 유틸리티프로그램에러 82 OpenFrame 유틸리티참조안내서

97 2.5. JSDSCPY 순차데이터셋또는 PDS의멤버를복사하고자할때사용하는유틸리티프로그램이다. JSDSCPY 유틸리티프로그램으로다음과같은기능을수행할수있다. 순차데이터셋이나 PDS의멤버를복사한다. 순차데이터셋으로부터 PDS 를생성한다. 기존의 PDS 에멤버를추가한다. 입력레코드를편집한다. DD 설정 DD 설정은다음과같다. SYSPRINT DD SYSUT1 DD SYSUT2 DD SYSIN DD JSDSCPY의메시지가저장되는데이터셋을정의한다. 입력데이터셋을정의하며, 순차데이터셋이나 PDS의멤버가될수있다. 출력데이터셋을정의하며, 순차데이터셋이나 PDS의멤버또는 PDS가될수있다. JSDSCPY의명령어를정의한다. 명령어설정 JSDSCPY 유틸리티가제공하는기능을수행하기위한명령어를 SYSIN DD에기술한다. SYSIN DD에어떠한명령어도기술되지않은경우는 SYSUT1의데이터셋을 SYSUT2의데이터셋으로복사하는기능을제공한다. 다음은 SYSIN DD에서설정하는 JSDSCPY의명령어이다. GENERATE MEMBER 와 RECORD 의매개변수에대한설정을한다. GENERATE 명령어의구문은다음과같다. [label] GENERATE [,MAXNAME=n] [,MAXFLDS=n] [,MAXGPS=n] 제 2 장데이터셋유틸리티 83

98 [,MAXLITS=n] [,LENGTH=n] MAXNAME MAXFLDS 최대멤버수를지정한다. 21 ~ 3276 개의멤버를지정할수있다. ( 기본값 : 20) 레코드의최대필드수를지정한다. 21 ~ 2730 개까지지정할수있다. ( 기본값 : 20) 미지원기능이다. MAXGPS 레코드의최대 IDENT 개수를지정한다. 21 ~ 2730 개까지지정할수있다. ( 기본값 : 20) 미지원기능이다. MAXLITS 레코드의필드에서사용되는리터럴의최대캐릭터개수를지정한다. 201 ~ 개 까지지정할수있다. ( 기본값 : 20) 미지원기능이다. LENGTH 고정형식의레코드를연결혹은잘라버릴때레코드길이를지정한다. 1 ~ 까 지지정할수있다. 미지원기능이다. RECORD 입력레코드에대해서어떻게처리할것인지조건을기술한다. RECORD 명령어의구문은다음과같다. [label] RECORD [IDENT=(length,'name',inputlocation)] [,FIELD=([length], [{inputlocation 'literal'}], [conversion], [outputlocation] [,outputlength])] [,FIELD=...] [,FILL={'literal' X'literal')] [,LABELS=n] IDENT MEMBER 문이 RECORD 문전에나왔을경우그멤버에복사될입력레코드에대한 조건을나타내고같은레코드의 FIELD 에대해서적용될입력레코드를구별한다. 레코드의 inputlocation 에서 length 만큼의값과 name 값을비교하여값이같으면멤 버의마지막레코드가되거나 FIELD 가적용되는마지막레코드가된다. 84 OpenFrame 유틸리티참조안내서

99 length: name을식별하기위한길이를최대 8 Byte까지지정할수있다. 'name': 마지막레코드를식별하기위한값으로서반드시작은따옴표 (') 안에기술되어야한다. Inputlocation: 입력레코드에서 name값과비교할 FIELD의 1번째시작위치를지정한다. FIELD 레코드편집을위한정보를기술한다. 입력레코드에서 inputlocation 위치부터 length 만큼의데이터를출력레코드의 outputlocation 위치에쓰거나리터럴을 length만큼출력레코드의 outputlocation 위치에쓴다. length: 처리되는입력필드의길이또는리터럴의길이를기술한다. inputlocation: 처리되는필드의시작위치를지정한다. 'literal': outputlocation에위치해야하는리터럴을지정한다. conversion: 파라미터로 PZ, ZP를사용할수있으나해당기능은무시되며이외의값을사용할경우구문에러가발생한다. outputlocation: 출력레코드에쓰여질시작위치를지정한다. outputlength: 출력필드의길이를지정한다. 해당기능은지원되지않는다. FILL LABELS 미지원기능이다. 미지원기능이다. MEMBER PDS 의여러멤버를가지고출력레코드가생성될경우, 생성할멤버개수만큼 MEMBER 문이필요하다. MEMBER 명령어의구문은다음과같다. [label] MEMBER NAME=(name[,alias1][,alias2][,...]) NAME 생성할멤버의이름을기술한다. 참고 현재 JSDSCPY 유틸리티의 MEMBER 문중 alias# 는실제기능은하지않으나에러를발생시키지 않도록지원하고있다. 제 2 장데이터셋유틸리티 85

100 EXITS 유저출구루틴을다룰때기술한다. 지원하지않는명령어이다. LABELS 유저라벨을다룰때기술한다. 지원하지않는명령어이다. 사용예제 다음은순차데이터셋을복사하는예이다. SYSIN DD에명령어가기술되어있지않으므로순차데이터셋인 TEST.INPUT을 TEST.COPY로복사하고, JSDSCPY의메시지는 JOB에서사용하는메시지클래스에저장한다. //COPY JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //COPYSDS EXEC PGM=JSDSCPY //SYSUT1 DD DSNAME=TEST.INPUT,DISP=(SHR,KEEP) //SYSUT2 DD DSNAME=TEST.COPY,DISP=(NEW,CATLG), // DCB=(RECFM=FB,LRECL=120,BLKSIZE=120) //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY 다음은순차데이터셋으로새멤버를갖는 PDS를구성하는예이다. 순차데이터셋인 TEST.INPUT을 MEMBER1, MEMBER2, MEMBER3으로나누어새로생성한 PDS TEST.PDS01에저장한다. //CREATE JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //NEWPDS EXEC PGM=JSDSCPY //SYSUT1 DD DSNAME=TEST.INPUT,DISP=(SHR,KEEP) //SYSUT2 DD DSNAME=TEST.PDS01,DISP=(NEW,CATLG), // DCB=(DSORG=PO,RECFM=FB,LRECL=120,BLKSIZE=120) //SYSPRINT DD SYSOUT=* //SYSIN DD * MEMBER NAME=MEMBER1 GROUP1 RECORD IDENT=(8,'firstxxx',30) MEMBER NAME=MEMBER2 GROUP2 RECORD IDENT=(8,'secondxx',30) MEMBER NAME=MEMBER3 /* 86 OpenFrame 유틸리티참조안내서

101 TEST.INPUT에서입력레코드의 30번째위치부터 37번째까지의값을순차검색하여 firstxxx 인레코드가나타나면 firstxxx 레코드를포함하여현재까지검색된레코드를 MEMBER1에복사한다. 그리고 firstxxx 레코드다음레코드부터다시 secondxx 레코드를검색하기시작한다. secondxx 레코드가검색되면 firstxxx 레코드이후부터 secondxx 레코드를포함하여검색한모든레코드를 MEMBER2에복사하고 secondxx 레코드이후의모든레코드는 MEMBER3에복사된다. 다음은기존의 PDS 에멤버를추가하는예이다. //MERGE JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //MERGEPDS EXEC PGM=JSDSCPY //SYSUT1 DD DSNAME=TEST.INPUT2,DISP=(SHR,KEEP) //SYSUT2 DD DSNAME=JSDSCPY.TEST.PDS01,DISP=(OLD,KEEP) //SYSPRINT DD SYSOUT=* //SYSIN DD * MEMBER NAME=MEMX GROUP1 RECORD IDENT=(8,'endofrec',15) MEMBER NAME=MEMY /* 순차데이터셋인 TEST.INPUT2 의레코드에서 15 번째 Byte 부터 22 번째 Byte 까지레코드의값을 endofrec 와비교하여값이일치하면검색한모든레코드를 MEMX 에복사하고, endofrec 레코드이후의모든레코 드는 MEMY 에복사한다. 그리고기존의 PDS TEST.PDS01 에 PDS 멤버로 MEMX 와 MEMY 를추가한다. 다음은입력레코드를수정하는예이다. TEST.INPUT3 레코드를수정하여 TEST.EDIT0 로복사한다. //EDIT JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //EDIT EXEC PGM=JSDSCPY //SYSUT1 DD DSNAME=TEST.INPUT3,DISP=(SHR,KEEP) //SYSUT2 DD DSNAME=TEST.EDIT0,DISP=(NEW,CATLG), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=80) //SYSPRINT DD SYSOUT=* //SYSIN DD * RECORD IDENT=(8,'firstmem',1),FIELD=(50,76,,31), FIELD=(30,20,,1) RECORD FIELD=(70,41,,11),FIELD=(10,'**********',,1) /* 앞의예제에서 2개의 RECORD 문중 1번째 RECORD의 IDENT 조건에의해서순차적으로입력레코드의 1번째 Byte부터 8 Byte의값으로 'firstmem' 이나올때까지모든레코드에대해 FIELD 조건을적용한다. 즉, 다음그림과같이입력레코드의 76번째 Byte 위치부터 50 Byte 길이만큼의값을출력레코드의 31번째 Byte 위치에복사하고입력레코드의 20번째 Byte 위치부터 30 Byte 길이의값을출력레코드의 1번째 Byte 위치에복사한다. 제 2 장데이터셋유틸리티 87

102 [ 그림 2.6] 1 번째입력레코드필드복사 IDENT 조건에맞는레코드가처리되고난다음부터는 2번째 RECORD 문이다음그림과같이적용된다. 입력레코드의 41번째 Byte 위치부터 70 Byte 길이만큼의값을출력레코드의 11번째 Byte 위치에복사하고출력레코드의처음 10 Byte는리터럴 **********' 로복사한다. [ 그림 2.7] 2번째입력레코드필드복사 유의사항 JSDSCPY 유틸리티프로그램이 Batch 애플리케이션을실행한결과는다음과같다. 정상적으로실행한경우 Batch 애플리케이션에서받은코드를반환한다. 에러가발생한경우 해당에러메시지를 SYSPRINT DD 에출력하고에러에해당하는코드를반환한다. JSDSCPY 유틸리티프로그램에서발생할수있는에러코드는다음과같다. 코드 12 Unrecoverable 형태의에러로, 다음의경우가해당된다. 데이터셋관련 (pgmdd, open/close, read/write) 에러 SYSIN DD 명령어문법에러 88 OpenFrame 유틸리티참조안내서

103 코드 OpenFrame 시스템라이브러리초기화실패 기타 JSDSCPY 유틸리티프로그램에러 2.6. JSDUPDT 리소스 ( 애플리케이션소스, JCL 소스등 ) 를신규생성, 갱신, 복사등을수행하는유틸리티이다. 각레코드는순서번호를붙일수있으며이순서번호에따라각레코드의내용을변경하거나, 삭제하거나, 삽입할수있다. JSDUPDT 유틸리티프로그램으로다음과같은기능을수행할수있다. PDS를신규생성한다. PDS 의멤버를복사, 치환한다. PDS 멤버의레코드를편집한다.( 레코드치환, 추가, 삭제, 순서번호부여 ) 파라미터설정 다음은 JSDUPDT 에서설정할수있는파라미터이다. //EXEC PGM=JSDUPDT[,PARM={NEW MOD}] NEW MOD 데이터셋을신규생성하는경우에지정한다. DD 설정의 SYSUT1 DD 을생략할수있다. 기존데이터셋을수정하는경우에지정한다. DD 설정의 SYSUT1 DD 은반드시존재해야한다. ( 기본값 ) DD 설정 DD 설정은다음과같다. SYSUT1 DD SYSUT2 DD 입력데이터셋을기술한다. 출력데이터셋을기술한다. 제 2 장데이터셋유틸리티 89

104 SYSIN DD JSDUPDT 의명령어를기술한다. 명령어설정 다음은 SYSIN DD 에서설정하는 JSDUPDT 의명령어이다. JSDUPDT 의모든명령은 "./" 기호로시작한다. 그렇지않은문장은 DATA 문장으로취급한다. ADD, REPL, REPRO, CHANGE 입력데이터셋로부터레코드를추가하거나, 치환하거나, 복사하거나편집하여출력데이터셋에레코드를작성한다. ADD, REPL, REPRO, CHANGE 명령어의구문은다음과같다../[label] FUNC [NAME=membername] [,LIST=ALL] [,SEQFLD=nnn] [,F=langidentification] [,PART={YES literal}] [,COLUMN=n] [,UPDATE=INPLACE] [,NEW={PO PS}] [,MEMBER=membername] [,LEVEL=n] [,STATUS=statusinfo] [,INHDR=routinename] [,INTLR=routinename] [,OUTHDR=routinename] [,OUTTLR=routinename] [,TOTAL=(routinename, size)] FUNC NAME LIST SEQFLD ADD, REPL, REPRO CHANGE를기술한다. 신규, 복사, 편집, 치환을하는경우출력 PDS의멤버명을지정한다. 출력데이터셋으로출력되는모든레코드를 SYSPRINT로출력하는으로미지원기능이다. 순서번호의위치와길이를지정한다. 앞에 2 자리수로위치를뒤에 1 자리수로길이를지정한다. 위치는 1 ~ 80 까지길이는 1 ~ 8 까지지정할수있다. 기본값은 738 이다. F 언어식별자를지정하는으로미지원기능이다. 90 OpenFrame 유틸리티참조안내서

105 PART COLUMN UPDATE NEW MEMBER LEVEL STATUS INHDR INTLR OUTHDR OUTTLR TOTAL 미지원기능이다. 레코드의데이터를치환할위치를지정한다. 입력데이터셋과출력데이터셋이동일하여, 해당데이터셋내에서변경이일어나는경우지정한다. 입력데이터셋과출력데이터셋의 DSORG가다를경우출력데이터셋의 DSORG 를지정한다. SDS로부터 PDS로출력하는경우에멤버명을지정한다. 출력데이터셋이 PDS인경우체인지레벨을지정하는으로미지원기능이다. 출력데이터셋이 PDS인경우체인지레벨과일자를지정하는으로미지원기능이다. 입력유저표제라벨처리루틴을지정하는으로미지원기능이다. 입력유저마지막라벨처리루틴을지정하는으로미지원기능이다. 출력유저표제라벨처리루틴을지정하는으로미지원기능이다. 출력유저마지막라벨처리루틴을지정하는으로미지원기능이다. 토탈루틴과영역의크기를지정하는으로미지원기능이다. NUMBER, DELETE NUMBER는순서번호를새로붙이거나다시붙이는경우에이용한다. DELETE는지정된순서번호에해당하는레코드를삭제할때이용한다. NUMBER, DELETE 명령어의구문은다음과같다../[label] NUMBER [NEW1=n] [,INCR=n] [,SEQ1={n ALL}] [,SEQ2=n] [,INSERT=YES]./[label] DELETE SEQ1=n [,SEQ2=n] NEW1 INCR SEQ1 순서번호를작성하는경우의초기치를지정한다. 순서번호를작성하는경우의증가치를지정한다. CHANGE를시작하는순서번호를지정한다. CHANGE 문에서만유효하다. INSERT=YES 와함께지정된경우, 새로추가되는레코드의위치를지정한다. 제 2 장데이터셋유틸리티 91

106 전체레코드를대상으로할때 ALL 을지정한다. SEQ2 CHANGE 를종료하는순서번호를지정한다. CHANGE 문에서만유효하다. 1 개의레코드를삭제하는경우에생략할수있다. INSERT 순서번호가없는레코드를새로추가하는경우 SEQ1 에지정된순서번호다음부터 레코드를추가한다. ENDUP SYSIN 입력의마지막을나타낸다../[label] ENDUP MASK 레코드에캐릭터라인을붙일때지정한다. 지원하지않는명령어이다. ALIAS ALIAS 를다룰때기술한다. 지원하지않는명령어이다. LABEL 유저라벨을다룰때기술한다. 지원하지않는명령어이다. 사용예제 다음은새로운 PDS 와멤버를생성하는예제이다. //JSDUPDT1 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSDUPDT //SYSPRINT DD SYSOUT=A //SYSUT2 DD DSNAME=NEWPDS,DISP=(NEW,CATLG), // VOLUME=SER=DEFVOL,SPACE=(TRK,(50,,10)), // DCB=(RECFM=F,LRECL=80,BLKSIZE=80) //SYSIN DD DATA./ ADD NAME=MEMB1 MEMB1 DATA MEMB1 DATA MEMB1 DATA / ADD NAME=MEMB2 92 OpenFrame 유틸리티참조안내서

107 MEMB2 DATA MEMB2 DATA MEMB2 DATA / ADD NAME=MEMB3 MEMB3 DATA MEMB3 DATA MEMB3 DATA / ENDUP /* 1 번째 ADD 문장은 MEMB1 이라는멤버를생성하고그다음에나오는 DATA 문장을레코드로갖는다. 2 번째 ADD 문장은 MEMB2 이라는멤버를생성하고그다음에나오는 DATA 문장을레코드로갖는다. 3 번째 ADD 문장은 MEMB3 이라는멤버를생성하고그다음에나오는 DATA 문장을레코드로갖는다. 다음은새로운 PDS 에기존 PDS 의멤버를복사하고새로추가하는예제이다. //JSDUPDT2 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSDUPDT //SYSPRINT DD SYSOUT=* //SYSUT1 DD DSNAME=OLDPDS,DISP=SHR //SYSUT2 DD DSNAME=NEWPDS,DISP=(NEW,CATLG), // VOL=SER=DEFVOL,SPACE=(TRK,(100,,10)), // DCB=(RECFM=F,LRECL=80,BLKSIZE=4000) //SYSIN DD DATA./ REPRO NAME=MEMB1./ REPRO NAME=MEMB2./ ADD NAME=MEMB3./ NUMBER NEW1=100,INCR=100 MEMB3 DATA1 MEMB3 DATA2 MEMB3 DATA3./ ENDUP /* 1번째 REPRO 문장은 OLDPDS의멤버 MEMB1을 NEWPDS로복사한다. 2번째 REPRO 문장은 OLDPDS의멤버 MEMB2을 NEWPDS로복사한다. ADD 문장은 MEMB3이라는멤버를생성하고 5 ~ 7번째줄 DATA 문장을레코드로갖는다. NUMBER 문에의해각레코드는 100부터 100씩증가하는순서번호를갖게된다. 다음은기존 PDS 의멤버에순서번호를새로작성하고, 일부레코드를치환하는예이다. //JSDUPDT3 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSDUPDT 제 2 장데이터셋유틸리티 93

108 //SYSPRINT DD SYSOUT=A //SYSUT1 DD DSNAME=OLDPDS,DISP=(OLD,KEEP),VOL=SER=DEFVOL //SYSIN DD *./ CHANGE NAME=MEMB1,UPDATE=INPLACE./ NUMBER SEQ1=ALL,NEW1=100,INCR=50 CHANGE DATA CHANGE DATA / ENDUP /* 1번째 CHANGE 문장은 MEMB1에대해입력데이터셋내에서변경이일어나도록지정한다. NUMBER 문장은 MEMB1의모든레코드에대해순서번호를새로작성하도록한다. 각레코드는 100부터 50씩증가하는순서번호를갖는다. DATA 문장들은고유의순서번호를가지고있다. 순서번호를새로작성하기전기준으로기존레코드를찾아해당레코드로교체한다. 다음은 PDS 의멤버를편집하여 SDS 로출력하는예이다. //JSDUPDT4 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSDUPDT //SYSPRINT DD SYSOUT=A //SYSUT1 DD DSNAME=PDS,DISP=(OLD,KEEP),VOL=SER=DEFVOL //SYSUT2 DD DSNAME=SDS,DISP=(NEW,KEEP),VOL=SER=DEFVOL, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=2000) //SYSIN DD *./ CHANGE NEW=PS,NAME=MEMB1 CHANGE DATA / DELETE SEQ1=250,SEQ2=300 DELETE DATA / ENDUP /* 1번째 CHANGE 문장은 PDS의멤버 MEMB1에대해 SDS로출력할것을지정한다. 1번째 DATA 문장은순서번호 200을갖는레코드에대해해당데이터로교체할것을지정한다. 1번째 DELETE 문장은순서번호 250부터 300까지의레코드를삭제할것을지정한다. 2번째 DATA 문장은순서번호 275를갖는레코드를추가할것을지정한다. 앞서 250부터 300까지의레코드가삭제되었으므로교체가아닌추가작업이이루어진다. 다음은 PDS 의멤버에새로운레코드를추가하는예이다. //JSDUPDT5 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSDUPDT //SYSPRINT DD SYSOUT=A 94 OpenFrame 유틸리티참조안내서

109 //SYSUT1 DD DSNAME=PDS,DISP=(OLD,KEEP),VOL=SER=DEFVOL //SYSUT2 DD DSNAME=PDS,DISP=(OLD,KEEP),VOL=SER=DEFVOL //SYSIN DD *./ CHANGE NAME=MEMB1./ NUMBER SEQ1=150,NEW1=200,INCR=50,INSERT=YES INSERT DATA1 INSERT DATA2 INSERT DATA3 /* CHANGE 문장은 PDS의멤버 MEMB1에대해변경이이루어짐을지정한다. NUMBER 문장은순서번호가 150인레코드다음부터새로운레코드를추가하며새로운레코드는 200부터 50씩증가하게된다는것을지정한다. DATA 문장들은위의요건에따라각각 200, 250, 300의순서번호가부여되어추가된다. 기존에 200 ~ 300 사이의순서번호를가진레코드가있다면위의 DATA 문장과마찬가지로새로추가된순서번호 300 이후로 50씩증가한번호로변경된다. 이러한변경은앞서변경된레코드의순서번호가다음레코드의순서번호보다작을때까지반복된다. 유의사항 JSDUPDT 유틸리티프로그램이 Batch 애플리케이션을실행한결과는다음과같다. 정상적으로실행한경우 Batch 애플리케이션에서받은코드를반환한다. 에러가발생한경우 해당에러메시지를 SYSPRINT DD 에출력하고에러에해당하는코드를반환한다. JSDUPDT 유틸리티프로그램에서발생할수있는에러코드는다음과같다. 코드 12 Unrecoverable 형태의에러로, 다음의경우가해당된다. 데이터셋관련 (pgmdd, open/close, read/write) 에러 SYSIN DD 명령어문법에러 OpenFrame 시스템라이브러리초기화실패 기타 JSDUPDT 유틸리티프로그램에러 제 2 장데이터셋유틸리티 95

110 2.7. JSFCTLG NonVSAM 데이터셋을삭제하거나카탈로그또는언카탈로그를하기위해사용하는유틸리티프로그램이다. JSFCTLG 시스템유틸리티프로그램으로다음과같은기능을수행할수있다. 데이터셋또는 PDS의멤버를해당볼륨에서물리적으로삭제 데이터셋의카탈로그나언카탈로그 참고 OpenFrame 의 JSFCTLG 유틸리티프로그램은현재 Hitachi VOS3 시스템의 JSFCTLG 유틸리티가 제공하는 RENAME 문, ADD 문, REPLACE 문, DELETEP 문, LIST 문은지원하지않고있다. DD 설정 DD 설정은다음과같다. SYSPRINT DD SYSIN DD JSFCTLG 의메시지가저장되는데이터셋을지정한다. JSFCTLG 에서사용하는명령어를기술한다. 명령어설정 SCRATCH 디스크볼륨에저장된데이터셋이나 PDS의멤버를삭제한다. SCRATCH 대상데이터셋이카탈로그에등록되어있는경우카탈로그정보도함께삭제한다. SCRATCH 명령어구문다음과같다. [label] SCRATCH {VTOC DSN[AME]=name} [,VOL[UME]=device=volser] [,MEMBER=name] [,PURGE] [,{SYS FORCE}] VTOC VOLUME 문에서지정한볼륨에존재하는모든데이터셋을삭제하고자할때 지정한다. 96 OpenFrame 유틸리티참조안내서

111 DSNAME=name VOLUME=de vice=volser MEMBER=name PURGE SYS 삭제하고자하는데이터셋이름을지정한다. 삭제하고자하는데이터셋의볼륨을지정한다. 삭제대상데이터셋이카탈로그되어있는경우생략이가능하다. device는볼륨의디바이스이름을지정하게되나문법을맞추기위한것으로실제로는무시된다. PDS의멤버만삭제하고자할때사용하며, 삭제하고자하는멤버의이름을지정한다. 만료일자에이르지않은데이터셋도삭제하고자할때지정하는으로미지원기능이다. 임시데이터셋만을삭제하고자할때지정한다. 예를들어, 데이터셋이름이앰퍼샌드 (&) 문자로시작하면임시데이터셋으로간주되어삭제대상이된다. 이은 VTOC 을지정했을때에만유효하다. FORCE 지정한볼륨의모든데이터셋을삭제하는경우삭제전출력되는오퍼레이터응 답메시지를생략할때지정하는으로미지원기능이다. CATLG 카탈로그에 NonVSAM 데이터셋의 VTOC 기본정보를등록한다. CATLG 명령어구문은다음과같다. [label] CATLG DSN[AME]=name,VOL[UME]=device=volser DSNAME=name VOLUME=de vice=volser 카탈로그에등록할데이터셋이름을지정한다. 카탈로그대상데이터셋이존재하는볼륨을지정한다. device는볼륨의디바이스이름을지정하게되나문법을맞추기위한것으로실제로는무시된다. UNCATLG 카탈로그에등록되어있는 NonVSAM 데이터셋을언카탈로그한다. UNCATLG 문을사용하여등록된카탈로그정보를삭제할수있지만볼륨에저장되어있는물리적인파일은삭제할수없다. 볼륨에저장되어있는파일까지삭제하려면 SCRATCH 문을이용한다. UNCATLG 명령어구문은다음과같다. [label] UNCATLG DSN[AME]=name 제 2 장데이터셋유틸리티 97

112 DSNAME=name 카탈로그정보에서언카탈로그할데이터셋이름을지정한다. 사용예제 볼륨시리얼넘버가 인볼륨 (VTOC) 에존재하는임시데이터셋을삭제하는예제이다. //CATALOG JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSFCTLG //SYSPRINT DD SYSOUT=* //VOLDD DD VOL=SER=100000,DISP=OLD //SYSIN DD * SCRATCH VTOC,VOL=3380=100000,SYS /* 다음은 JSFCTLG.TEST01 데이터셋을 볼륨에카탈로그하는예제이다. //CATALOG JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSFCTLG //SYSPRINT DD SYSOUT=* //SYSIN DD * CATLG DSNAME=JSFCTLG.TEST01,VOL=3380= /* 다음은 TEST.JSFCTLG 데이터셋을언카탈로그하는예제이다. //UNCATLG JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //JS01 EXEC PGM=JSFCTLG //SYSPRINT DD SYSOUT=* //SYSIN DD * UNCATLG DSNAME=TEST.JSFCTLG /* 다음은볼륨시리얼넘버가 인볼륨에서 JSFCTLG.TEST01 데이터셋을삭제하는예제이다. //CATALOG JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSFCTLG //SYSPRINT DD SYSOUT=* //SYSIN DD * SCRATCH DSNAME=JSFCTLG.TEST01,VOL=SER= /* 98 OpenFrame 유틸리티참조안내서

113 유의사항 JSFCTLG 유틸리티프로그램의실행결과는다음과같다. 정상적으로실행한경우코드 0을반환한다. 에러가발생한경우 해당에러메시지를 SYSPRINT DD 에출력하고에러에해당하는코드를반환한다. JSFCTLG 유틸리티프로그램에서발생할수있는에러코드는다음과같다. 코드 8 Warning 형태의에러로, 다음의경우가해당된다. 데이터셋을찾을수없는경우 12 Unrecoverable 형태의에러로, 다음의경우가해당된다. 데이터셋관련 (pgmdd, open/close, read/write) 에러 SYSIN DD 명령어문법에러 기타 JSFCTLG 유틸리티프로그램에러 16 시스템에러와관련된에러로, 다음의경우가해당된다. OpenFrame 시스템라이브러리초기화실패 참고 유사한유틸리티프로그램으로는 2.1. JSCVSUT 가있다 JSFDCDP NonVSAM 데이터셋들을하나의데이터셋으로 DUMP하거나 DUMP한데이터셋을원래대로 RESTORE 하기위해사용하는유틸리티프로그램이다. JSFDCDP 시스템유틸리티프로그램으로다음과같은기능을수행할수있다. NonVSAM 데이터셋의 DUMP 기능 NonVSAM 데이터셋의 RESTORE 기능 제 2 장데이터셋유틸리티 99

114 DUMP와 RESOTRE 명령은주로천재지변에의한시스템손상이나중요데이터의손실을대비하기위한목적으로데이터셋이나볼륨의백업및복원에사용된다. OpenFrame에서는현재 VOS3시스템의 JSFDCDP 유틸리티에서제공하는데이터셋의복사, 데이터셋의비교 (COMP), 데이터셋의출력 (PRINT) 기능은지원하지않는다. DD 설정 데이터셋 DUMP DD 설정은다음과같다. SYSPRINT DD SYSIN DD 입력 DD 출력 DD JSFDCDP의메시지가저장되는데이터셋을지정한다. JSFDCDP의 DUMP 명령어와그와관련된옵션들을기술하는 DD이다. SYSIN DD에기술한컨트롤문장중 IN 문으로지정한 DD 이름과같은 DD로 DUMP 대상데이터셋들의볼륨정보를지정한다. SYSIN DD에기술한컨트롤문장중 OTAPE(OT) 문으로지정한 DD 이름과같은 DD 로새로생성할 DUMP 데이터셋을지정한다. 데이터셋 RESTORE DD 설정은다음과같다. SYSPRINT DD SYSIN DD 입력 DD 출력 DD JSFDCDP의메시지가저장되는데이터셋을지정한다. JSFDCDP에서사용하는명령어를기술한다. SYSIN DD에기술한컨트롤문장중 IN문으로지정한 DD 이름과같은 DD로 RESOTRE 대상 DUMP 데이터셋이기술된 DD이다. SYSIN DD에기술한컨트롤문장중 ODASD(OD) 문으로지정한 DD 이름과같은 DD 로 DUMP 데이터셋을어떤볼륨에저장할것인지지정한다. 출력 DD에서는 DSN(Data Set Name) 을기술하지않는다. 명령어설정 DUMP 여러개의데이터셋을지정하여하나의 DUMP 처리된데이터셋을생성하는명령어이다. DUMP 명령어구문은다음과같다. 100 OpenFrame 유틸리티참조안내서

115 [label] D[UMP] IN=ddname OT[APE]=ddname[,ddname] [,OD[ASD]=ddname [,ED[SN]=(datasetname[,...])] [,EC[H]=(cccchhhhcccchhhh[,...])] [,ID[SN]={(datasetname[,...]) *ALL}] [,IC[H]=(cccchhhhcccchhhh[,...])] [,VO(LCOPY]={Y N}] [,IV[OLID]=volser] [,OV[OLID]=volser] [,IO[WNERID]={ownerid 'ownerid'}] [,OO[WNERID]={ownerid 'ownerid'}] [,VE[RIFY]={Y N}] [,DI[FFEXT]={Y N}] [,PU[RGE]={Y N}] [,ER[ROPT]={S T}] IN=ddname OT[APE]=ddname[,ddname] ODASD=ddname EDSN=(datasetname[,...]) ECH=(cccchhhhccc chhhh[,...]) ID[SN]={(datasetname[,...]) *ALL} ICH=(cccchhhhcccch hhh[,...]) VOLCOPY={Y N} IVOLID=volser 입력 DD명을지정한다. DUMP 대상데이터셋들이존재하는볼륨이기술된 DD 이다. 생략할경우기본값은 IN=IN이다. 출력 DD명을지정한다. DUMP 데이터셋이저장될볼륨이기술된 DD이다. DD 명은 2개까지지정할수있으며생략할경우기본값은 OTAPE=OTAPE이다. OTAPE으로지정한볼륨이 TAPE 형태인경우는내부적으로 DUMP 데이터셋을압축처리하여저장한다. IN에서지정한데이터셋을다른 DASD로복사하려는경우지정하는명령이나 OpenFrame에서는미지원기능으로기술할경우에러가발생한다. IN에서지정한볼륨의데이터셋중 DUMP 대상에서제외시킬데이터셋들을지정한다. 데이터셋명은괄호문자로둘러싸서지정해야한다. DUMP 대상에서제외할영역을실린더번호와트랙번호로지정하는으로미지원기능이다. IN에서지정한볼륨의데이터셋중 DUMP 대상데이터셋들을지정한다. IDSN 문으로데이터셋을지정한경우지정한데이터셋들만 DUMP 처리된다. 데이터셋명은괄호문자로둘러싸서지정해야한다. *ALL을지정한경우입력 DD의모든데이터셋을 DUMP한다. DUMP 대상영역을실린더번호와트랙번호로지정하는으로미지원기능이다. DASD로복사하는경우입력 DASD의볼륨일련번호도복사할지를지정하는으로미지원기능이다. 입력 DASD가오프라인으로지정되었을때그 DASD의볼륨일련번호를지정하는으로미지원기능이다. 제 2 장데이터셋유틸리티 101

116 OVOLID=volser IOWNERID={owner id 'ownerid'} OOWNERID={owner id 'ownerid'} VERIFY={Y N} DIFFEXT={Y N} PURGE={Y N} ERROPT={S T} 출력 DASD가오프라인으로지정되었을때그 DASD의볼륨일련번호를지정하는으로미지원기능이다. 입력 DASD의등록되어있는소유자 ID를지정하는으로미지원기능이다. 출력 DASD의등록되어있는소유자 ID를지정하는으로미지원기능이다. DASD로복사하는경우데이터를검사할지를지정하는으로미지원기능이다. DASD로복사하는경우영역의지정이데이터셋이름으로지정되었을때, 입력 DASD의데이터셋 EXTENT와출력 DASD의 EXTENT가달라도복사할지를지정하는으로미지원기능이다. 출력 DASD에만료일자에이르지않은데이터셋이있을때처리중지할지를지정하는으로미지원기능이다. 입력 DASD에서입출력에러가발생했을때그에러를무시할지를지정하는으로미지원기능이다. RESTORE DUMP 처리된데이터셋을지정한볼륨에복원시키는명령어이다. RESTORE 명령어구문은다음과같다. [label] R[ESTORE] IN=ddname,OD[ASD]=ddname [,ED[SN]=(datasetname[,...])] [,EC[H]=(cccchhhhcccchhhh[,...])] [,ID[SN]={(datasetname[,...]) *ALL}] [,IC[H]=(cccchhhhcccchhhh[,...])] [,VO(LCOPY]={Y N}] [,OV[OLID]=volser] [,OO[WNERID]={ownerid 'ownerid'}] [,VE[RIFY]={Y N}] [,DI[FFEXT]={Y N}] [,PU[RGE]={Y N}] IN=ddname ODASD=ddname 입력 DD명을지정한다. RESTORE 대상 DUMP 데이터셋이기술된 DD이다. 해당 DD에서반드시 DUMP 데이터셋이름을지정해야한다. 생략할경우기본값은 TAPE이다. 출력 DD명을지정한다. RESOTRE된데이터셋들이저장될볼륨을지정한 DD 이다. 기본값은 OUT이다. 102 OpenFrame 유틸리티참조안내서

117 EDSN=(datasetname[,...]) ECH=(cccchhhhccc chhhh[,...]) ID[SN]={(datasetname[,...]) *ALL} ICH=(cccchhhhcccch hhh[,...]) VOLCOPY={Y N} OVOLID=volser OOWNERID={owner id 'ownerid'} VERIFY={Y N} DIFFEXT={Y N} PURGE={Y N} RESOTRE 대상데이터셋중복원에서제외시킬데이터셋들을지정한다. 데이터셋명은괄호문자로둘러싸서지정해야한다. RESTORE 대상에서제외할영역을실린더번호와트랙번호로지정하는으로미지원기능이다. DUMP 데이터셋에서복원시킬데이터셋들을지정한다. IDSN 문으로데이터셋을지정한경우지정한데이터셋들만 RESTORE 처리된다. 데이터셋명은괄호문자로둘러싸서지정해야한다. *ALL을지정한경우입력 DD의모든데이터셋을 RESTORE 처리한다. RESTORE 대상영역을실린더번호와트랙번호로지정하는으로미지원기능이다. DASD로 RESTORE하는경우원본 DASD의볼륨일련번호도복사할지를지정하는으로미지원기능이다. 출력 DASD가오프라인으로지정되었을때그 DASD의볼륨일련번호를지정하는으로미지원기능이다. 출력 DASD의등록되어있는소유자 ID를지정하는으로미지원기능이다. DASD로 RESTORE하는경우데이터를검사할지지정하는으로미지원기능이다. DASD로 RESTORE하는경우영역의지정이데이터셋이름으로지정되었을때, 원본 DASD의데이터셋 EXTENT와출력 DASD의 EXTENT가달라도복사할지를지정하는으로미지원기능이다. 출력 DASD에만료일자에이르지않은데이터셋이있을때처리중지할지를지정하는으로미지원기능이다. COMP 데이터셋의비교를지정하는명령어로 OpenFrame 의 JSFDCDP 유틸리티프로그램은지원하지않는다. 기술할경우에러가발생한다. PRINT 데이터셋의내용을편집해출력하는명령어로 OpenFrame 의 JSFDCDP 유틸리티프로그램은지원하지 않는다. 기술할경우에러가발생한다. 사용예제 IN DD 에서지정한볼륨내에있는모든데이터셋들을 TAPE1, TAPE2 DD 에서지정한데이터셋으로각 각 DUMP 처리하는예제이다. 제 2 장데이터셋유틸리티 103

118 //DUMP01 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //JS01 EXEC PGM=JSFDCDP //SYSPRINT DD SYSOUT=* //IN DD VOL=SER=DEFVOL,UNIT=3380,DISP=OLD //TAPE1 DD DSN=JSFDCDP.DUMP1,VOL=SER=100000,DISP=(NEW,CATLG) //TAPE2 DD DSN=JSFDCDP.DUMP2,VOL=SER=200000,DISP=(NEW,CATLG) //SYSIN DD * DUMP IN=IN,OT=(TAPE1,TAPE2) /* IN DD 의 JSFDCDP.DUMP1 데이터셋을 RESTORE 하여 OUT DD 로지정한 DEFVOL 볼륨에복원처리 하는예제이다. //REST01 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //JS01 EXEC PGM=JSFDCDP //SYSPRINT DD SYSOUT=* //IN DD DSN=JSFDCDP.DUMP1,VOL=SER=100000,DISP=OLD //OUT DD VOL=SER=DEFVOL,DISP=OLD //SYSIN DD * RESTORE IN=IN,OD=OUT /* 유의사항 JSFDCDP 유틸리티프로그램의실행한결과는다음과같다. 정상적으로실행한경우코드 0을반환한다. 에러가발생한경우 해당에러메시지를 SYSPRINT DD 에출력하고에러에해당하는코드를반환한다. JSFDCDP 유틸리티프로그램에서발생할수있는에러코드는다음과같다. 코드 4 Warning 형태의에러로, 다음의경우가해당된다. DUMP 대상데이터셋을찾을수없는경우 RESTORE 대상데이터셋을찾을수없는경우 8 16 SYSIN DD 에서잘못된문법의명령어를입력한경우발생하는에러이다. 프로그램처리오류또는시스템과관련된에러로, 다음의경우가해당된다. 104 OpenFrame 유틸리티참조안내서

119 코드 기타 JSFDCDP 유틸리티프로그램에러 OpenFrame 시스템라이브러리초기화실패 2.9. JSFILST PDS 데이터셋의멤버정보나특정볼륨내에존재하는데이터셋들의정보를조회하는유틸리티프로그램이다. JSFILST 유틸리티프로그램으로다음과같은기능을수행할수있다. PDS 내에존재하는멤버들의목록과정보를조회한다. 볼륨내에존재하는데이터셋의목록과정보를조회한다. DD 설정 DD 설정은다음과같다. SYSPRINT DD SYSIN DD JSFILST 메시지가저장되는데이터셋을정의한다. JSFILST 의명령어를기술한 DD 이다. 명령어설정 LISTPDS PDS 정보와멤버리스트를보여준다. LISTPDS 명령어구문은다음과같다 [label] LISTPDS DSN[AME]=(pdsname[,pdsname[,...]]) [,VOL[UME]=device=volser] [,{DUMP FORMAT}] DSNAME=(pdsname[,pdsname[,...]]) 조회하고자하는 PDS 데이터셋이름을지정하며필수입력이다. 최대 10 개의데이터셋이름을지정할수있다. 제 2 장데이터셋유틸리티 105

120 VOLUME=device=volser DUMP FORMAT DSNAME에기술한데이터셋에포함된볼륨시리얼 ( 볼륨명 ) 을기술한다. device는볼륨의디바이스이름을지정하게되나문법을맞추기위한것으로실제로는무시된다. PDS의출력형식을지정하는으로미지원기능이다. LISTVTOC 지정한볼륨내에존재하는데이터셋목록과정보를보여준다. LISTVTOC 명령어구문은다음과같다. [label] LISTVTOC [,VOL[UME]=device=volser] [,DSN[AME]=(name[,name[,...]]) [,{DUMP FORMAT}] [,DATE=dddyy dddyyyy) VOLUME=device=volser DSNAME=(name[,name[,...]] DUMP FORMAT DATE=dddyy dddyyyy 조회하고자하는볼륨시리얼을기술한다. device는볼륨의디바이스이름을지정하게되나문법을맞추기위한것으로실제로는무시된다. 조회대상데이터셋목록에포함할데이터셋이름을기술한다. 최대 10개의데이터셋이름을지정할수있다. DSNAME 파라미터가없으면조회하려는볼륨에있는모든데이터셋리스트가조회된다. PDS의출력형식을지정하는으로미지원기능이다. 지정한일자로만료되는데이터셋의만료일의뒤로별표 (*) 표시를하여출력하는것을지정하는으로미지원기능이다. 사용예제 다음은 PDS 정보와멤버리스트를확인하는예이다. PDS DATASET1 과 DATASET2 의정보와멤버리스트를 SYSPRINT 에기록한다. //LISTPDS JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1), // USER=ROOT,PASSWORD=SYS1 //STEP01 EXEC PGM=JSFILST //SYSPRINT DD SYSOUT=* //SYSIN DD * LISTPDS DSNAME=(DATASET1,DATASET2),VOL=3380= /* 106 OpenFrame 유틸리티참조안내서

121 다음은위의 JCL 을실행한뒤출력되는내용이다. JSFILST VERSION 5.0.0(4) :36: M JIL0001M =====< JSFILST START >===== MEMBER NAME : ADRDUMP0 DATASIZE : 1375 LAST UPDATE DATE(TIME) : (142821) MEMBER NAME : ADRINIT2 DATASIZE : 2750 LAST UPDATE DATE(TIME) : (143954) MEMBER NAME : ADRREST0 DATASIZE : 954 LAST UPDATE DATE(TIME) : (145104) MEMBER NAME : ADRINIT3 DATASIZE : 2903 LAST UPDATE DATE(TIME) : (145922) MEMBER NAME : ADRDUMP0 DATASIZE : 1344 LAST UPDATE DATE(TIME) : (142343) M JIL0002M =====< JSFILST FINISH >===== 다음은볼륨의디스크정보와데이터셋리스트를확인하는예이다. 볼륨시리얼이 인볼륨에대한 디스크정보와데이터셋리스트를 SYSPRINT 에기록한다. //LISTVOL JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP01 EXEC PGM=JSFILST //SYSPRINT DD SYSOUT=* //SYSIN DD * LISTVTOC VOL=3380= /* 다음은위의 JCL 을실행한뒤출력되는내용이다. JSFILST VERSION 5.0.0(4) adb@buydream:ofsrc5/batch(#1) :36: M JIL0001M =====< JSFILST START >===== SYS1.VTOC.VDEFVOL VOLUME DSORG RECFM LRECL JSFCTLG.PDS DEFVOL PO FB 80 SYS1.IEHMOVE DEFVOL PO L 80 제 2 장데이터셋유틸리티 107

122 CAT.TEST DEFVOL PS FB 100 REIJ.DBDLIB DEFVOL PO L 80 MST.MENUE DEFVOL PS F 1102 IMS.RESLIB DEFVOL PO L 80 SYS1.JSFDCDP DEFVOL PO L 80 JSFCTLG.TEST DEFVOL PS FB 72 USER1.JCLLIB DEFVOL PO L 80 DSEDT.TEST DEFVOL PS FB TEST.TEST DEFVOL PS FB 80 IMS.ACBLIB DEFVOL PO L 80 PRX.RESLV1 DEFVOL PS FB 80 JSFMOVE.SAMPLE1 DEFVOL PS FB 80 SYS1.JCLLIB DEFVOL PO FB 80 TEST.PDS DEFVOL PO L 80 REIJ.PSBLIB DEFVOL PO L 80 KHD05.PARMLIB DEFVOL PO L 80 TESTE.PDS01 DEFVOL PO FB 89 ADRDSSU.GDG.TEST01.G0002V00 DEFVOL PS U M JIL0002M =====< JSFILST FINISH >===== 유의사항 JSFILST 유틸리티프로그램의실행한결과는다음과같다. 정상적으로실행한경우코드 0을반환한다. 에러가발생한경우 해당에러메시지를 SYSPRINT DD 에출력하고에러에해당하는코드를반환한다. JSFILST 유틸리티프로그램에서발생할수있는에러코드는다음과같다. 코드 12 Unrecoverable 형태의에러로, 다음의경우가해당된다. 데이터셋관련 (pgmdd, open/close, read/write) 에러 SYSIN DD 명령어문법에러 기타 JSFILST 유틸리티프로그램에러 16 시스템에러와관련된에러로, 다음의경우가해당된다. OpenFrame 시스템라이브러리초기화실패 108 OpenFrame 유틸리티참조안내서

123 2.10. JSFMOVE NonVSAM 데이터셋을명령어에서지정한볼륨으로이동또는복사하기위해사용하는유틸리티프로그램이다. JSFMOVE 시스템유틸리티프로그램으로다음과같은기능을수행할수있다. SDS, PDS 데이터셋을동일한볼륨이나다른볼륨으로이동또는복사한다. 볼륨내에존재하는모든데이터셋들을다른볼륨으로이동또는복사한다. 데이터셋의일부이름을지정하여해당조건에해당하는데이터셋들을처리한다. PDS 의특정멤버를처리대상에서추가또는배제하거나멤버명을변경하여처리한다. 주의 카탈로그에등록된데이터셋을동일한볼륨에서이동또는복사하려는경우에는반드시데이터셋 이름을변경해야한다. JSFMOVE 는 2 가지종류의명령어로분류된다. 기능명령어 실제로사용자가수행하려는특정작업을나타내는명령어이다. 명령어 MOVE(COPY) DSNAME MOVE(COPY) DSGROUP MOVE(COPY) PDS MOVE(COPY) VOLUME 데이터셋을이동 ( 복사 ) 한다. 데이터셋그룹을이동 ( 복사 ) 한다. PDS 데이터셋을이동 ( 복사 ) 한다. 볼륨내에존재하는모든데이터셋을이동 ( 복사 ) 한다. 보조명령어 기능명령어중 MOVE(COPY) PDS 명령어의경우다음의보조명령어를함께사용할수있다. 명령어 INCLUDE EXCLUDE REPLACE SELECT 처리대상 PDS 데이터셋과멤버를추가한다. 처리대상 PDS 데이터셋과멤버에서제외시킨다. PDS 멤버의교체를지정한다. 처리대상 PDS 멤버를선택하여지정한다. 제 2 장데이터셋유틸리티 109

124 DD 설정 DD 설정은다음과같다. SYSPRINT DD SYSIN DD JSFMOVE 의메시지가저장되는데이터셋을지정한다. JSFMOVE 에서사용하는명령어를기술한다. 기능명령어 MOVE(COPY) DSNAME 데이터셋의이동또는복사를지정하는명령어이다. MOVE(COPY) DSNAME 명령어구문은다음과같다. [label] {MOVE COPY} DSN[AME]=name,TO=device=volser [,FROM=device=volser] [,UNCATLG] [,CATLG] [,RENAME=name] [,FROMDD=ddname] [,TODD=ddname] [,UNLOAD] [,COPYAUTH] DSNAME=name TO=device=volser FROM=device=volser UNCATLG 이동또는복사하고자하는데이터셋이름을지정한다. 이동또는복사하고자하는데이터셋의출력 device명과볼륨을지정한다. device는볼륨의디바이스이름을지정하게되나문법을맞추기위한것으로실제로는무시된다. 이동또는복사하고자하는원본데이터셋이존재하는볼륨을지정한다. device는볼륨의디바이스이름을지정하게되나문법을맞추기위한것으로실제로는무시된다. MOVE 명령에서 FROM을지정하게되면원본데이터셋의카탈로그정보를삭제하지않고출력데이터셋은카탈로그하지않는다. 따라서입력데이터셋이카탈로그되어있으면 FROM은지정하지않는것이좋다. 이동또는복사처리후데이터셋카탈로그정보의삭제를지정한다. 원본데이터셋이카탈로그되어있지않을때는지정하지않도록한다. 기본적으로입력데이터셋의카탈로그정보는삭제되나복사한데이터셋의카탈로그삭제방법은명령어별로다음과같은차이가있다. MOVE의경우복사한데 110 OpenFrame 유틸리티참조안내서

125 이터셋은카탈로그하지않는다. COPY 의경우복사한데이터셋의카탈로 그는 CATLG 명령의지정에따른다. FROM 명령이지정되면 UNCATLG 는무 시처리된다. CATLG RENAME=name FROMDD=ddname TODD=ddname UNLOAD COPYAUTH COPY 명령을기술한경우에만효력이발생하며복사한데이터셋을카탈로그에등록한다. RENAME과 FROM 지정을생략한경우복사한데이터셋을카탈로그시키기위하여원본데이터셋은카탈로그에서삭제한다. 출력데이터셋의새로운이름을지정한다. 동일한볼륨내에서이동또는복사하는경우 RENAME을반드시지정해야한다. DCB 정보와 LABEL 정보를주는 DD 문의 DD명을지정하는으로미지원기능이다. DCB 정보와 LABEL 정보를주는 DD 문의 DD명을지정하는으로미지원기능이다. 입력데이터셋을언로드형식으로변환해이동, 복사하는것을지정하는으로미지원기능이다. 출력데이터셋의권한정보를입력데이터셋의권한정보와같게만들때지정하는으로미지원기능이다. MOVE(COPY) DSGROUP 데이터셋이름의시작부터특정위치까지의일부이름을기술하여해당조건에맞는모든데이터셋들의이동또는복사를지정하는명령어이다. MOVE(COPY) DSGROUPNAME 명령어구문은다음과같다. [label] {MOVE COPY} DSGROUP=name,TO=device=volser [,PASSWORD] [,UNCATLG] [,CATLG] [,TODD=ddname] [,UNLOAD] DSGROUP=name 이동또는복사하고자하는데이터셋의일부이름을지정한다. 예를들어 DSGROUP을 TEST라고지정한경우 TEST.PDS, TEST.SDS.A01과같은점 (.) 으로구분된첫이름이 TEST로시작되는모든데이터셋들을선택하여처리한다. 만약데이터셋의전체이름을기술한경우는그데이터셋만처리한다. 제 2 장데이터셋유틸리티 111

126 TO=device=volser PASSWORD UNCATLG CATLG TODD=ddname UNLOAD 이동또는복사하고자하는데이터셋의출력 device명과볼륨을지정한다. device는볼륨의디바이스이름을지정하게되나문법을맞추기위한것으로실제로는무시된다. OpenFrame에서는미지원하는기능으로지정하더라도무시된다. 원래는작업대상데이터셋이비밀번호로관리되는경우해당데이터셋의이동, 복사를지정한다. 이동또는복사처리후데이터셋카탈로그정보의삭제를지정한다. 원본데이터셋이카탈로그되어있지않을때는지정하지않도록한다. 기본적으로입력데이터셋의카탈로그정보는삭제되나복사한데이터셋의카탈로그삭제방법은명령어별로다음과같은차이가있다. MOVE의경우복사한데이터셋은카탈로그하지않는다. COPY의경우복사한데이터셋의카탈로그는 CATLG명령의지정에따른다. FROM 명령이지정되면 UNCATLG는무시처리된다. COPY 명령을기술한경우에만효력이발생하며복사한데이터셋을카탈로그에등록한다. 복사한데이터셋을카탈로그시키기위하여원본데이터셋은카탈로그에서삭제한다. DCB정보와 LABEL 정보를주는 DD 문의 DD명을지정하는으로미지원기능이다. 출력데이터셋의권한정보를입력데이터셋의권한정보와같게만들때지정하는으로미지원기능이다. MOVE(COPY) PDS PDS 데이터셋의이동또는복사를지정하는명령어이다. MOVE(COPY) PDS 명령어구문은다음과같다. [label] {MOVE COPY} PDS=name,TO=device=volser [,FROM=device=volser] [,EXPAND=n] [,UNCATLG] [,CATLG] [,RENAME=name] [,FROMDD=ddname] [,TODD=ddname] [,UNLOAD] [,COPYAUTH] PDS=name 이동또는복사하고자하는 PDS 데이터셋이름을지정한다. 112 OpenFrame 유틸리티참조안내서

127 TO=device=volser FROM=device=volser EXPAND=n UNCATLG CATLG RENAME=name FROMDD=ddname TODD=ddname UNLOAD COPYAUTH 이동또는복사하고자하는 PDS 데이터셋의출력 device명과볼륨을지정한다. device는볼륨의디바이스이름을지정하게되나문법을맞추기위한것으로실제로는무시된다. 이동또는복사하고자하는원본데이터셋이존재하는볼륨을지정한다. device는볼륨의디바이스이름을지정하게되나문법을맞추기위한것으로실제로는무시된다. MOVE 명령에서 FROM을지정하게되면원본데이터셋을삭제하지않고출력데이터셋은카탈로그하지않는다. 따라서입력데이터셋이카탈로그되어있으면 FROM은지정하지않는것을권장한다. 이동, 복사하는 PDS 데이터셋의블록할당의증가값을지정하는으로미지원기능이다. 이동또는복사처리후데이터셋카탈로그정보의삭제를지정한다. 원본데이터셋이카탈로그되어있지않을때는지정하지않도록한다. 기본적으로입력데이터셋의카탈로그정보는삭제되나복사한데이터셋의카탈로그삭제방법은명령어별로다음과같은차이가있다. MOVE의경우복사한데이터셋은카탈로그하지않는다. COPY의경우복사한데이터셋의카탈로그는 CATLG 명령의지정에따른다. FROM 명령이지정되면 UNCATLG는무시처리된다. COPY 명령을기술한경우에만효력이발생하며복사한데이터셋을카탈로그에등록한다. RENAME과 FROM 지정을생략한경우복사한데이터셋을카탈로그시키기위하여원본데이터셋은카탈로그에서삭제한다. 출력데이터셋의새로운이름을지정한다. 동일한볼륨내에서이동또는복사하는경우 RENAME 문을반드시지정해야한다. DCB정보와 LABEL정보를주는 DD 문의 DD명을지정하는으로미지원기능이다. DCB정보와 LABEL정보를주는 DD 문의 DD명을지정하는으로미지원기능이다. 입력데이터셋을언로드형식으로변환해이동, 복사하는것을지정하는으로미지원기능이다. 출력데이터셋의권한정보를입력데이터셋의권한정보와같게만들때지정하는으로미지원기능이다. MOVE(COPY) VOLUME 지정한볼륨내에존재하는모든데이터셋의이동또는복사를지정하는명령어이다. MOVE(COPY) VOLUME 명령어구문은다음과같다. [label] {MOVE COPY} VOL[UME]=device=volser,TO=device=volser [,PASSWORD] 제 2 장데이터셋유틸리티 113

128 [,CATLG] [,TODD=ddname] [,UNLOAD] VOLUME=device=volser TO=device=volser PASSWORD CATLG TODD=ddname UNLOAD 이동또는복사하고자하는볼륨의 device명과이름을지정한다. device는볼륨의디바이스이름을지정하게되나문법을맞추기위한것으로실제로는무시된다. 이동또는복사하고자하는볼륨의출력 device명과볼륨을지정한다. device 는볼륨의디바이스이름을지정하게되나문법을맞추기위한것으로실제로는무시된다. 작업대상데이터셋이비밀번호로관리되는경우해당데이터셋의이동, 복사를지정하는으로미지원기능이다. COPY명령인경우에만복사한후데이터셋을카탈로그정보에등록한다. 복사한데이터셋을카탈로그시키기위하여원본데이터셋은카탈로그에서삭제한다. DCB 정보와 LABEL 정보를주는 DD 문의 DD명을지정하는으로미지원기능이다. 입력데이터셋을언로드형식으로변환해이동, 복사하는것을지정하는으로미지원기능이다. 보조명령어 INCLUDE MOVE(COPY) PDS 명령어와함께사용하며, 이동또는복사대상데이터셋과멤버를추가하는명령어이다. INCLUDE 명령어구문은다음과같다. [label] INCLUDE DSN[AME]=name,MEMBER=name [,FROM=device=volser] ])} DSNAME=name MEMBER=name FROM=device=volser 추가할 PDS 데이터셋의이름을지정한다. 지정한 PDS 데이터셋의추가할멤버명을지정한다. 이동또는복사하고자하는원본 PDS 데이터셋이존재하는볼륨을지정한다. device는볼륨의디바이스이름을지정하게되나문법을맞추기위한것으로실제로는무시된다. 114 OpenFrame 유틸리티참조안내서

129 EXCLUDE MOVE(COPY) PDS 명령어와함께사용하며, 지정된 PDS 데이터셋의멤버중에서특정멤버를처리대상에서제외시키는명령어이다. EXCLUDE 명령어구문은다음과같다. [label] EXCLUDE MEMBER=name MEMBER=name 이동또는복사대상의 PDS 데이터셋멤버중에서제외시킬멤버명을지정 한다. SELECT MOVE(COPY) PDS 명령어와함께사용하며, 지정된 PDS 데이터셋의멤버중에서특정멤버만을이동또는복사시키는명령어이다. SELECT 명령어구문은다음과같다. [label] SELECT MEMBER={(name[,name][,...]) ((name,newname),[,(name,newname)][,...])} MEMBER=name (name,newname) 이동또는복사대상으로지정한 PDS 데이터셋멤버중에서선택하여처리할멤버명을지정한다. 이동또는복사대상으로지정한 PDS 데이터셋멤버중에서선택하여처리할멤버명과처리후변경멤버명을지정한다. REPLACE MOVE(COPY) PDS 명령어와함께사용하며, 지정된 PDS 데이터셋의멤버중특정멤버를제외시켜다른데이터셋의동일한이름을가진멤버로교체시키는명령어이다. REPALCE 명령어구문은다음과같다. [label] REPALCE DSN[AME]=name,MEMBER=name [,FROM=device=volser] DSNAME=name MEMBER=name 교체할멤버가속해있는 PDS 데이터셋이름을지정한다. 이동또는복사대상으로지정한 PDS 데이터셋멤버중에서선택하여처리할멤버명과처리후변경멤버명을지정한다. 제 2 장데이터셋유틸리티 115

130 FROM=device=volser 지정한데이터셋이있는볼륨을지정한다. 이동또는복사하고자하는원본 PDS 데이터셋이존재하는볼륨을지정한다. device는볼륨의디바이스이름을지정하게되나문법을맞추기위한것으로실제로는무시된다. 사용예제 DEFVOL 볼륨에존재하고카탈로그에등록되어있는 TEST.DS01 데이터셋과 TEST.DS02 데이터셋을 볼륨 으로이동하는예제이다. TEST.DS01은다시카탈로그에등록되나 TEST.DS02는카탈로그 에등록되지않는다. //MOVE10 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSFMOVE //SYSPRINT DD SYSOUT=* //SYSIN DD * MOVE DSNAME=TEST.DS01,TO=3390= MOVE DSNAME=TEST.DS02,TO=3390=100000,UNCATLG /* DEFVOL 볼륨에존재하며카탈로그에등록되지않은 TEST.DS01 데이터셋과 TEST.DS02 데이터셋을 볼륨 으로복사하는예제이다. 복사후에도 TEST.DS01은카탈로그에등록되지않는다. TEST.DS02 또한 CATLG를지정하였으나원본이카탈로그에등록되지않았으므로역시카탈로그에등록처리하지 않는다. //COPY20 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSFMOVE //SYSPRINT DD SYSOUT=* //SYSIN DD * COPY DSNAME=TEST.DS01,FROM=3380=DEFVOL,TO=3390= COPY DSNAME=TEST.DS02,FROM=3380=DEFVOL,TO=3390=100000,CATLG /* 카탈로그에등록되어있는 TEST.DS01 데이터셋을 TEST.DS02로이름을변경하여 DEFVOL 볼륨에서 볼륨으로복사하는예제이다. //COPY30 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSFMOVE //SYSPRINT DD SYSOUT=* //SYSIN DD * COPY DSNAME=TEST.DS01,FROM=3380=DEFVOL,TO=3390=100000, RENAME=TEST.DS02 /* 116 OpenFrame 유틸리티참조안내서

131 TEST.PDS01 PDS 데이터셋의멤버인 A를제외하여 DEFVOL 볼륨에서 볼륨으로이동하는예 제이다. 이때 볼륨의 TEST.PDS02의멤버인 D를추가하여처리한다. //MOVE40 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSFMOVE //SYSPRINT DD SYSOUT=* //SYSIN DD * MOVE PDS=TEST.PDS01,FROM=3380=DEFVOL, TO=3390= EXCLUDE MEMBER=A INCLUDE DSNAME=TEST.PDS02,MEMBER=D, FROM=3390= /* 카탈로그에등록되지않은 TEST.PDS01 PDS 데이터셋을 DEFVOL 볼륨에서 볼륨으로복사하 는예제이다. TEST.PDS02의멤버 A로교체하여복사하고멤버 C를추가하여복사한다. //COPY50 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSFMOVE //SYSPRINT DD SYSOUT=* //SYSIN DD * COPY PDS=TEST.PDS01,FROM=3380=DEFVOL, TO=3390= REPLACE DSNAME=TEST.PDS02,MEMBER=A INCLUDE DSNAME=TEST.PDS02,MEMBER=C /* TEST.PDS01 PDS 데이터셋을 TEST.PDS02 데이터셋으로이름을변경하여 DEFVOL 볼륨에서 볼륨으로복사하는예제이다. 복사대상멤버는 A, B, C가되며 B 멤버의경우 X로이름을바꾸어복사한 다. //COPY60 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSFMOVE //SYSPRINT DD SYSOUT=* //SYSIN DD * COPY PDS=TEST.PDS01,RENAME=TEST.PDS02, TO=3390=100000, FROM=3380=DEFVOL SELECT MEMBER=(A,(B,X),C) /* 카탈로그에등록되어있는데이터셋중 MOVE.TEST01, MOVE.PDS, MOVE.SDS91 과같이 MOVE 로시 작되는모든데이터셋을 볼륨으로이동하는예제이다. 제 2 장데이터셋유틸리티 117

132 //MOVE70 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSFMOVE //SYSPRINT DD SYSOUT=* //SYSIN DD * MOVE DSGROUP=MOVE,TO=3390= /* DEFVOL 볼륨에존재하는모든데이터셋들을 볼륨으로이동하는예제이다. //MOVE80 JOB CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1) //STEP1 EXEC PGM=JSFMOVE //SYSPRINT DD SYSOUT=* //SYSIN DD * MOVE VOLUME=3380=DEFVOL, TO=3390= /* 유의사항 JSFMOVE 유틸리티프로그램의결과는다음과같다. 정상적으로실행한경우코드 0을반환한다. 에러가발생한경우 해당에러메시지를 SYSPRINT DD 에출력하고에러에해당하는코드를반환한다. JSFMOVE 유틸리티프로그램에서발생할수있는에러코드는다음과같다. 코드 4 Warning 형태의에러로, 다음의경우가해당된다. 이동또는복사할대상데이터셋을찾을수없는경우 이동또는복사하려는곳에동일한이름의데이터셋이이미존재하는경우 8 16 SYSIN DD 에서잘못된문법의명령어를입력한경우발생하는에러이다. 프로그램처리오류또는시스템과관련된에러로, 다음의경우가해당된다. 기타 JSFMOVE 유틸리티프로그램에러 OpenFrame 시스템라이브러리초기화실패 118 OpenFrame 유틸리티참조안내서

133 제 3 장기타유틸리티 본장에서는앞장에서다루지않은기타유틸리티에대해기술한다 DSDIFF 데이터셋의레코드별차이점을보여주는유틸리티프로그램이다. OpenFrame 설치후또는유틸리티나라이브러리등의각종모듈을업데이트한후에실시하는검증테스트로서수행결과데이터셋이예상대로생성되었는지확인하기위한용도로사용할수있다 DD 설정 DD 설정은다음과같다. SYSIN DD 비교대상데이터셋의 ddname 목록을기술한다. 리스트의구분자로콤마 (,) 를사용한다. 예 ) AA,BB,CC: AA 와 BB 그리고 CC 를비교한다. TARGET DD 비교할데이터셋을정의한다. 이비교데이터셋은 SYSIN DD 에기술한 ddname 목록에포함되어야한다. 명령어설정 SYSIN DD 에기술하는데이터셋리스트의구문은다음과같다. ddname,ddname[ddname,...] 이와같이 SYSIN DD 에데이터셋리스트를기술하는것외에설정해야하는명령어는없다. 사용예제 다음은 EXPECTED, INREC, SUM DD 세개의레코드를비교하여차이점을보여주는예이다. 제 3 장기타유틸리티 119

134 //DSDIFF EXEC PGM=DSDIFF,REGION=2M //SYSIN DD * EXPECTED,INREC,SUM /* //SYSOUT DD SYSOUT=* //EXPECTED DD DSN=OFTEST.SORT.OUT01.EXPECTED,DISP=OLD //INREC DD DSN=OFTEST.SORT.OUT01.INREC,DISP=OLD //SUM DD DSN=OFTEST.SORT.OUT01.SUM,DISP=OLD 유의사항 레코드길이가다르면가장짧은레코드의레코드길이까지의데이터가모두일치하더라도서로다른레코드로판단한다. DSDIFF 유틸리티프로그램이 Batch 애플리케이션을실행한결과는다음과같다. 정상적으로실행한경우 Batch 애플리케이션에서받은코드를반환한다. 에러가발생한경우 해당에러메시지를 SYSOUT DD 에출력하고에러에해당하는코드를반환한다. DSDIFF 유틸리티프로그램에서발생할수있는에러코드는다음과같다. 코드 4 16 레코드에서한개이상의차이가있을경우에해당한다. SYSIN으로주어진 ddname이존재하지않거나데이터셋 I/O 에러등의 OpenFrame 혹은 UNIX 에러를의미한다 EZTPA00 JCL에서 SYSIN으로입력된 CAEasytrieve Plus 스크립트를실행시켜주는유틸리티이다. 스크립트를실행하기위해외부프로그램인 TmaxSoft 사의 ProTrieve를사용하게되며외부프로그램을위한각종환경을설정하게된다. CAEasytrieve Plus 스크립트를통해데이터셋입출력, 데이터가공및레포트생성등의작업을할수있다. 참고 본안내서에서는 CAEasytrieve Plus 스크립트의상세한내용은기술하지않는다. 해당내용은 Pro Trieve 의안내서를참고한다. 120 OpenFrame 유틸리티참조안내서

135 다음은 EZTPA00 가동작하는방법이다. [ 그림 3.1] EZTAP00 동작 CAEasytrieve Plus 스트립트가 ProTrieve 에전달되어실행된다. DD 설정 DD 설정은다음과같다. SYSIN DD SYSPRINT DD SYSOUT DD anyname DD CAEasytrieve Plus 스크립트입력데이터셋을지정한다. CAEasytrieve Plus의결과로생긴레포트나 DISPLAY로기술된메시지의출력데이터셋을지정한다. CAEasytrieve Plus 실행중 EZTPA00, ProTrieve로부터발생한메시지의출력데이터셋을지정한다. CAEasytrieve Plus 구문중 FILE 처리에사용되는데이터셋을지정한다. DD 이름은 CAEasytrieve Plus 스크립트의파일명과같아야한다. 사용예제 다음은 EZTPA00 을사용하여 FILEA 에서 FILEB 로복사하는예제이다. 제 3 장기타유틸리티 121

안내서

안내서 OpenFrame 유틸리티참조안내서 소프트웨어 OpenFrame Batch v4.0 안내서버전 v1.2 Copyright 2008 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2008 TmaxSoft Co., Ltd. All Rights Reserved. TmaxSoft Co., Ltd.

More information

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

안내서

안내서 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

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

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

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

개발및운영 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

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

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

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

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

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

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

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

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

목차 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

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

인디쓔피-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

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

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

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

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

JVM 메모리구조

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

More information

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P Duplicator 는기본적으로원본하드디스크를빠르게복사본하드디스크에복사하는기능을하는것입니다.. 복사본 하드디스크가원본하드디스크와똑같게하는것을목적으로하는것이어서저용량에서고용량으로복사시몇 가지문제점이발생할수있습니다. 하드디스크는사용하려면, 디스크초기화를한후에포맷을해야사용가능합니다. Windows PC는 MBR과 GPT 2 개중에 1개로초기화합니다. -Windows

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

PowerPoint Template

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

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

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

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

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

슬라이드 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

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase startup-config Erasing the nvram filesystem will remove all configuration files Continue? [confirm] ( 엔터 ) [OK] Erase

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

안내서

안내서 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

Remote UI Guide

Remote UI Guide Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................

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

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

로거 자료실

로거 자료실 redirection 매뉴얼 ( 개발자용 ) V1.5 Copyright 2002-2014 BizSpring Inc. All Rights Reserved. 본문서에대한저작권은 비즈스프링 에있습니다. - 1 - 목차 01 HTTP 표준 redirect 사용... 3 1.1 HTTP 표준 redirect 예시... 3 1.2 redirect 현상이여러번일어날경우예시...

More information

슬라이드 1

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

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

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

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

안내서

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

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

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

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation 1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation Board(EVB B/D) 들과 TCP/IP Protocol로연결되며, 연결된 TCP/IP

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

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

09 강제근로의 금지 폭행의 금지 공민권 행사의 보장 38 10 중간착취의 금지 41 - 대판 2008.9.25, 2006도7660 [근로기준법위반] (쌍용자동차 취업알선 사례) 11 균등대우의 원칙 43 - 대판 2003.3.14, 2002도3883 [남녀고용평등법위

09 강제근로의 금지 폭행의 금지 공민권 행사의 보장 38 10 중간착취의 금지 41 - 대판 2008.9.25, 2006도7660 [근로기준법위반] (쌍용자동차 취업알선 사례) 11 균등대우의 원칙 43 - 대판 2003.3.14, 2002도3883 [남녀고용평등법위 01 노동법 법원으로서의 노동관행 15 - 대판 2002.4.23, 2000다50701 [퇴직금] (한국전력공사 사례) 02 노동법과 신의성실의 원칙 17 - 대판 1994.9.30, 94다9092 [고용관계존재확인등] (대한조선공사 사례) 03 퇴직금 청구권 사전 포기 약정의 효력 19 - 대판 1998.3.27, 97다49732 [퇴직금] (아시아나 항공

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

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

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc Visual Studio 2005 + Intel Visual Fortran 9.1 install Intel Visual Fortran 9.1 intel Visual Fortran Compiler 9.1 만설치해서 DOS 모드에서실행할수있지만, Visual Studio 2005 의 IDE 를사용하기위해서는 Visual Studio 2005 를먼저설치후 Integration

More information

피해자식별PDF용 0502

피해자식별PDF용 0502 국제이주기구(International IOM 인신매매 방지 교육 지침서 시리즈는 인신매매 피해자 Organization for Migration, IOM) 에 대한 지원 서비스를 향상시키려는 노력의 일환으로 개발 는 전 세계 곳곳에서 인신매매 방지 되었다. IOM의 풍부한 현장 경험을 기반으로 하여 실무자에 활동에 참여하고 있는 비정부기구, 정 게 도움이 될

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Autodesk Software 개인용 ( 학생, 교사 ) 다운로드가이드 진동환 (donghwan.jin@autodesk.com) Manager Autodesk Education Program - Korea Autodesk Education Expert 프로그램 www.autodesk.com/educationexperts 교육전문가프로그램 글로벌한네트워크 /

More information

Color C60 / C70 Printer 본제작물은 Color C60/C70 Printer 로출력하였습니다.

Color C60 / C70 Printer 본제작물은 Color C60/C70 Printer 로출력하였습니다. Color C60 / C70 Printer 본제작물은 Color C60/C70 Printer 로출력하였습니다. ,,,,, Color C60/ C70 Printer 2 Color C60/C70 Printer : 60/70 ppm, 65/75 ppm : 200 ipm (images per minute) : 2400 x 2400 dpi : EA(Emulsion Aggregation)

More information

Microsoft Word - PLC제어응용-2차시.doc

Microsoft Word - PLC제어응용-2차시.doc 과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

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

목차 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

Install stm32cubemx and st-link utility

Install stm32cubemx and st-link utility STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7

More information

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터 Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

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

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

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

Tibero HiDB

Tibero HiDB Tibero HiDB 유틸리티참조안내서 Tibero/HiDB v3.3 Copyright 2010 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2010 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 )463-721 Restricted

More information

2012-민간네트워크-05_중국

2012-민간네트워크-05_중국 2012- fi '-05_` 2012.3.19 1:0 PM ` 161 600DPI 95LPI 161 2012- fi '-05_` 2012.3.19 1:0 PM ` 162 600DPI 95LPI 2012 Global Business Network of Korea 162 http://www.exportcenter.go.kr 2012- fi '-05_` 2012.3.19

More information

RHEV 2.2 인증서 만료 확인 및 갱신

RHEV 2.2 인증서 만료 확인 및 갱신 2018/09/28 03:56 1/2 목차... 1 인증서 확인... 1 인증서 종류와 확인... 4 RHEVM CA... 5 FQDN 개인 인증서... 5 레드햇 인증서 - 코드 서명 인증서... 6 호스트 인증... 7 참고사항... 8 관련링크... 8 AllThatLinux! - http://allthatlinux.com/dokuwiki/ rhev_2.2_

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

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

01

01 IM-A900S 사용 설명서 01 사용하기 전에 라이선스 DivX 비디오에 관하여 DivXR 는 Rovi Corporation의 자회사 DivX, LLC가 개발한 디지털 비디오 포맷입니다. 본 제품은 DivX 비디오 재생 가능 여부를 확인하는 엄격한 테스트를 통과한 공식 DivX CertifiedR 기기입니다. 자세한 정보 및 일반 동영상을

More information

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

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

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

BMP 파일 처리

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

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

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 : HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 : ios 3.0 이상 - 콘텐츠형식 : MP4 (H264,AAC ), MP3 * 디바이스별해상도,

More information

슬라이드 1

슬라이드 1 휴지통포렌식 JK Kim @pr0neer proneer@gmail.com 개요 1. 휴지통 2. 휴지통파일구조 3. 휴지통파일카빙 4. 휴지통파일분석 2 휴지통 Security is a people problem 3 휴지통 휴지통이란? 휴지통소개 윈도우에서파일을삭제할경우, 기본적으로삭제된파일은휴지통 (Recycle Bin) 영역으로이동 휴지통우회방법 SHIFT

More information

법학박사학위논문 실손의료보험연구 2018 년 8 월 서울대학교대학원 법과대학보험법전공 박성민

법학박사학위논문 실손의료보험연구 2018 년 8 월 서울대학교대학원 법과대학보험법전공 박성민 저작자표시 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 이차적저작물을작성할수있습니다. 이저작물을영리목적으로이용할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 귀하는, 이저작물의재이용이나배포의경우, 이저작물에적용된이용허락조건을명확하게나타내어야합니다.

More information

5장 SQL 언어 Part II

5장 SQL 언어 Part II 5 장 SQL 언어 Part II 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 1 / 26 데이터조작문 데이터검색 : SELECT 문데이터추가 : INSERT 문데이터수정 : UPDATE 문데이터삭제 : DELETE 문 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 2 / 26 SELECT

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

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인 스마일서브 CLOUD_Virtual 워드프레스 설치 (WORDPRESS INSTALL) 스마일서브 가상화사업본부 Update. 2012. 09. 04. 본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게

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

ThinkVantage Fingerprint Software

ThinkVantage Fingerprint Software ThinkVantage 지문 인식 소프트웨어 First Edition (August 2005) Copyright Lenovo 2005. Portions Copyright International Business Machines Corporation 2005. All rights reserved. U.S. GOVERNMENT USERS RESTRICTED RIGHTS:

More information

7장인덱스된 순차화일 DBLAB, SNU v 인덱스된순차화일의구조 u 인덱스된순차화일 (indexed sequential file) 은순차데이타화일 (sequential data file) 과인덱스 (index) 로구성 u 순차데이타화일 키값에따라레코드들이순차적으로정렬

7장인덱스된 순차화일 DBLAB, SNU v 인덱스된순차화일의구조 u 인덱스된순차화일 (indexed sequential file) 은순차데이타화일 (sequential data file) 과인덱스 (index) 로구성 u 순차데이타화일 키값에따라레코드들이순차적으로정렬 7장인덱스된 순차화일 v 인덱스된순차화일의구조 u 인덱스된순차화일 (indexed sequential file) 은순차데이타화일 (sequential data file) 과인덱스 (index) 로구성 u 순차데이타화일 키값에따라레코드들이순차적으로정렬 레코드전체에대한순차접근을지원 u 인덱스화일 화일의레코드들에대한키값과포인터를저장 개별레코드에대한직접접근을지원 u

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

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager are trademarks or registered trademarks of Ari System, Inc. 1 Table of Contents Chapter1

More information

SANsymphony-V

SANsymphony-V 국내대표적인구축사례 (KR) XXXX공사(공공) 2013년 12월 도입 센터 이전에 따른 스토리지가상화 통합 및 이기종통합 이기종 스토리지 (무중단이중하) 무중단 서비스 확보 24시간 운영 체계의 고가용 확보 스토리지 인프라의 유연한 구성 및 통합 환경 구축 업무서버 Unix 20대 업무서버 V 58대 CIe SSD(Fusion IO 3.2TB) ㅇㅇㅇㅇㅇㅇ

More information

EndNote X2 초급 분당차병원도서실사서최근영 ( )

EndNote X2 초급 분당차병원도서실사서최근영 ( ) EndNote X2 초급 2008. 9. 25. 사서최근영 (031-780-5040) EndNote Thomson ISI Research Soft의 bibliographic management Software 2008년 9월현재 X2 Version 사용 참고문헌 (Reference), Image, Fulltext File 등 DB 구축 참고문헌 (Reference),

More information

OpenFrame

OpenFrame OpenFrame 툴참조안내서 OpenFrame/Base v5.1, Batch for VOS3 v2.0 Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동

More information

Windows 10 General Announcement v1.0-KO

Windows 10 General Announcement v1.0-KO Windows 10 Fuji Xerox 장비와의호환성 v1.0 7 July, 2015 머리말 Microsoft 는 Windows 10 이 Windows 자동업데이트기능을통해예약되어질수있다고 6 월 1 일발표했다. 고객들은 윈도우 10 공지알림을받기 를표시하는새로운아이콘을알아차릴수있습니다. Fuji Xerox 는 Microsoft 에서가장최신운영시스템인 Windows

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

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

윈도우즈프로그래밍(1)

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

More information

PowerPoint 프레젠테이션

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

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

System Recovery 사용자 매뉴얼

System Recovery 사용자 매뉴얼 Samsung OS Recovery Solution 을이용하여간편하게 MagicInfo 의네트워크를설정하고시스템을백업및복원할수있습니다. 시스템시작시리모컨의 - 버튼이나키보드의 F3 키를연속해서누르면복구모드로진입한후 Samsung OS Recovery Solution 이실행됩니다. Samsung OS Recovery Solution 은키보드와리모컨을사용하여조작할수있습니다.

More information