OpenFrame NDB 유틸리티
본 장에서는 OpenFrame NDB 유틸리티에 대해 설명한다.
1. 개요
Fujitsu AIM DB 시스템에서는 NDB 데이터베이스를 구축하고 운영하기 위해 여러 가지 독립적인 유틸리티들을 제공한다. 이러한 유틸리티 중에서 데이터베이스, 인덱스 및 확장 인덱스의 운영을 지원하기 위한 기능들이 제공되는 프로그램들을 OpenFrame NDB에서도 제공하고 있으며, 간단히 NDB 유틸리티라 부른다.
본 안내서에서는 데이터베이스 관련 유틸리티들의 소개, 입출력 관련 데이터셋 설정 및 명령어 사용법, 예제 등에 대해 설명한다.
OpenFrame NDB 유틸리티 사용법을 보여주는 예제는 XSP JCL을 이용하는 예제와 MSP JCL을 이용하는 예제를 각각 보여주고 있다. XSP JCL을 사용하거나 MSP JCL을 사용하는 경우에 따라서 NDB 유틸리티 자체의 제어문에 대해서 상이한 점은 없다. 각 시스템에 따라서 JCL 문법이 다르며 유틸리티 작업의 종료 코드값이 XSP 및 MSP 시스템에 따라 다른 정도이다. 구체적인 XSP JCL과 MSP JCL의 차이점 및 사용법에 관해서는 Fujistsu사의 "OS IV/XSP Job Control Language Reference Manual AF II" 및 "OS IV/MSP Job Control Language Reference Manual AF II"를 참고한다. |
다음은 NDB에서 지원하는 유틸리티에 대한 설명이다.
-
DMF(Database Maintenance Facility) 유틸리티
프로그램명 설명 데이터베이스의 생성, 초기화, 삭제를 수행한다. (Managing Database)
데이터베이스의 삭제 공간을 관리하고, 범위를 지정하여 초기화한다. (Initializing Ranges)
JXKUNLOD 유틸리티에 의해 생긴 중간 파일을 합쳐 JXKRELOD 유틸리티에서 이용할 수 있는 데이터를 생성한다. (Merging Intermediate Data)
데이터베이스의 레코드와 셋 구조에 맞춰 데이터를 출력한다. (Printing data)
JXKUNLOD 유틸리티에서 생성된 결과파일을 NDB로 적재한다. (Reloading Database)
JXKTCNCT의 결과물을 입력 받아 NDB 레코드 세트에 연결한다. (Set Connection)
DMF 유틸리티에서 생성된 중간 결과물을 정렬한다. (Sorting Intermediate Data)
레코드들의 세트 포인터 정보 데이터를 생성한다. (Set Connection Data Generation)
데이터베이스를 읽어 데이터셋 파일 형태로 추출한다. (Unloading Database)
확장 인덱스를 생성, 초기화, 삭제한다. (Managing Xif Index)
2. JXHADINT
JXHADINT 유틸리티는 NDB 데이터베이스를 생성하거나 초기화하여 데이터 저장을 가능하게 한다.
JXHADINT 유틸리티의 주요 기능 및 내용은 다음과 같다.
-
NDB 데이터베이스 생성
사전에 등록된 DB 스키마를 분석하여 물리적 데이터베이스를 생성한다.
-
NDB 데이터베이스 초기화
NDB를 사용할 수 있도록 데이터베이스를 일정한 형식으로 초기화한다.
-
NDB 데이터베이스 삭제
DB 스키마 정보에 따라 해당 데이터베이스를 삭제한다.
2.1. FD 설정
FD 설정 항목은 다음과 같다.
항목 | 설명 |
---|---|
SYSIN |
JXHADINT 유틸리티의 명령어를 기술한 파일을 정의한다. |
SYSPRINT |
JXHADINT 유틸리티의 메시지 출력을 위한 파일을 정의한다. |
SYSDBxxx FD |
처리 대상 데이터베이스를 정의한다. 단, 데이터베이스를 다시 포맷하거나 삭제하는 경우는 기술할 수 없다. 이 문장이 생략된 경우 AIM 시스템에서 스키마 정보를 참조하여 자동으로 관련 데이터베이스를 할당한다. OpenFrame NDB에서는 사용하지 않는 항목이다. |
SYSIXxxx FD |
처리 대상 인덱스 파일을 정의한다. 이 문장이 생략된 경우 AIM 시스템에서 스키마 정보를 참조하여 자동으로 관련 인덱스를 할당한다. OpenFrame NDB에서는 사용하지 않는 항목이다. |
2.2. 명령어 설정
-
ADINT
ADINT 명령어는 데이터베이스 또는 인덱스 파일을 생성하는 경우 사용한다. 스키마의 이름, AIM 디렉터리 ID, 처리 모드 등이 기술되며 명령어 중에서 가장 먼저 기술해야 한다.
ADINT 명령어의 구문은 다음과 같다.
ADINT SCHEMA=schema-name[,DID=nn] [,MODE={ADD|INDEX|ALL}][,OPT=CYL] [,CHECK={YES|NO}]
다음은 지원하는 ADINT 문의 파라미터에 대한 설명이다. OpenFrame NDB에서는 아래의 파라미터에 대해서만 지원하며 나머지는 무시된다.
항목 설명 SCHEMA=schema-name
처리 대상 스키마 이름을 기술한다.
DID=nn
AIM 디렉터리 ID를 두 자리 영숫자로 기술한다. OpenFrame NDB에서는 '00’만 유효하며 생략 가능하다.
MODE={ADD|ALL}
ADINT 처리 모드를 기술한다. 기본값은 ADD이며, OpenFrame NDB에서는 ADD와 ALL 모두 데이터베이스 및 인덱스 생성을 수행한다.
-
FORMAT
FORMAT 명령어는 이미 생성된 데이터베이스나 인덱스를 초기화한다. 스키마 이름, AIM 디렉터리 ID, 처리 모드 등이 기술되며 반드시 명령어 중에서 가장 먼저 기술해야 한다.
FORMAT 명령어의 구문은 다음과 같다.
FORMAT SCHEMA=schema-name[,DID=nn] [,MODE={INDEX|ALL}][,CHECK={YES|NO}]
다음은 지원하는 FORMAT 문의 파라미터에 대한 설명이다. OpenFrame NDB에서는 아래의 파라미터에 대해서만 지원하며 나머지는 무시된다.
항목 설명 SCHEMA=schema-name
처리 대상 스키마 이름을 기술한다.
DID=nn
AIM 디렉터리 ID를 두 자리 영숫자로 기술한다. OpenFrame NDB에서는 '00’만 유효하며 생략 가능하다.
MODE={ALL}
포맷 처리 모드를 기술한다. 데이터베이스 및 인덱스 초기화를 수행한다.
-
SCRATCH
SCRATCH 명령어는 데이터베이스 또는 인덱스를 삭제한다. 스키마 이름, AIM 디렉터리 ID, 처리 모드 등이 기술되며 명령어 중에서 가장 먼저 기술해야 한다.
SCRATCH 명령어의 구문은 다음과 같다.
SCRATCH SCHEMA=schema-name[,DID=nn] [,MODE={INDEX|ALL}][,CHECK={YES|NO}]
다음은 지원하는 SCRATCH 문의 파라미터에 대한 설명이다. OpenFrame NDB에서는 아래의 파라미터에 대해서만 지원하며 나머지는 무시된다.
항목 설명 SCHEMA=schema-name
처리 대상 스키마 이름을 기술한다.
DID=nn
AIM 디렉터리 ID를 두 자리 영숫자로 기술한다. OpenFrame NDB에서는 '00’만 유효하며 생략 가능하다.
MODE={ALL}
SCRATCH 처리 모드를 기술한다. 데이터베이스 및 인덱스 삭제를 수행한다.
-
MODIFY
OpenFrame NDB에서는 지원하지 않는 항목이다.
-
DEFINE
OpenFrame NDB에서는 지원하지 않는 항목이다.
-
END
JXHADINT 유틸리티 명령어의 끝을 나타낸다.
2.3. 사용예제
다음은 JXHADINT 유틸리티의 ADINT 명령어를 사용하여 OFTSCH ADL SCHEMA에 정의된 데이터베이스와 인덱스를 생성하는 XSP JCL 예이다.
-
XSP
\ JOBG JG1 \ JOB JXHADINT,LIST(L,JD) \ EX JXHADINT,RSIZE=192 \ PARA LINECNT=0 \ FD SYSPRINT=DA,SOUT=A \ FD SYSIN=* ADINT SCHEMA=OFTSCH,MODE=ALL,CHECK=NO END \ / \ JEND \ JGEND
다음은 JXHADINT 유틸리티의 XIXGEN 명령어를 사용하여 OFNDBSCH XIF SCHEMA에 정의된 확장 인덱스를 삭제하는 XSP JCL 예이다.
-
XSP
\ JOBG JG1 \ JOB JXHADINT,LIST(L,JC) \ EX JXHADINT,RSIZE=192 \ PARA LINECNT=0 \ FD SYSPRINT=DA,SOUT=A \ FD SYSIN=* FORMAT SCHEMA=OFTSCHE END \ / \ JEND \ JGEND
다음은 JXHADINT 유틸리티의 SCRATCH 명령어를 사용하여 OFTSCH ADL SCHEMA에 정의된 데이터베이스와 인덱스를 삭제하는 XSP JCL 예이다.
-
XSP
\ JOBG JG1 \ JOB JXHADINT,LIST(L,JD) \ EX JXHADINT,RSIZE=192 \ PARA LINECNT=0 \ FD SYSPRINT=DA,SOUT=A \ FD SYSIN=* SCRATCH SCHEMA=OFTSCH,MODE=ALL,CHECK=NO END \ / \ JEND \ JGEND
2.4. 유의사항
JXHADINT 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXHADINT 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
유효하지 않은 JOB 컨트롤 명령어 발견
40
운영환경이 정상적이지 않음
50
처리 도중 오류 발생
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
유효하지 않은 JOB 컨트롤 명령어 발견
12
운영환경이 정상적이지 않음
16
처리 도중 오류 발생
3. JXHDBCLR
JXHDBCLR 유틸리티는 NDB 데이터베이스의 삭제 공간을 정리 및 유지 관리하고, RANGE 및 SUBRANGE 단위의 초기화를 담당한다.
JXHDBCLR 유틸리티의 주요 기능 및 내용은 다음과 같다.
-
NDB 데이터베이스 삭제 공간 통합
삭제된 공간을 정리한다. OpenFrame NDB에서는 지원하지 않는다.
-
NDB 데이터베이스의 RANGE 및 SUBRANGE 단위 초기화
RANGE 및 SUBRANGE에 속하는 데이터를 초기화한다.
3.1. FD 설정
FD 설정 항목은 다음과 같다.
항목 | 설명 |
---|---|
SYSIN |
JXHDBCLR 유틸리티의 명령어를 기술한 파일을 정의한다. |
SYSPRINT |
JXHDBCLR 유틸리티의 메시지 출력을 위한 파일을 정의한다. |
SYSDBxxx FD |
처리 대상 데이터베이스를 정의한다. OpenFrame NDB에서는 사용하지 않는 항목이다. |
3.2. 명령어 설정
-
DBCLEAR
DBCLEAR 명령어는 AIM 디렉터리 파일에 정의된 처리 기능, AIM 디렉터리 ID 및 스키마 이름을 지정하며 명령어 중에서 가장 먼저 기술해야 한다.
DBCLEAR 명령어의 구문은 다음과 같다.
DBCLEAR SCHEMA=schema-name[,DID=nn] [,TYPE={1|2|3}] [,CHECK={YES|NO}]
다음은 지원하는 DBCLEAR 문의 파라미터에 대한 설명이다. OpenFrame NDB에서는 아래의 파라미터에 대해서만 지원하며 나머지는 무시된다.
항목 설명 SCHEMA=schema-name
처리 대상 스키마 이름을 기술한다.
DID=nn
AIM 디렉터리 ID를 두 자리 영숫자로 기술한다. OpenFrame NDB에서는 '00’만 유효하며 생략 가능하다.
MODE={1|2|3}
DBCLEAR 처리 타입을 기술한다. 기본값은 1이며, 각 타입별 기능은 아래와 같다.
-
TYPE 1: 삭제 공간 통합 (OpenFrame NDB에서는 미지원)
-
TYPE 2: Range 저장 공간의 초기화
-
TYPE 3: Range 저장 공간의 초기화 및 연관 셋과의 연결 해제(disconnect)
CHECK={YES|NO}
Range 초기화 시 셋과의 연결을 체크할지에 대한 옵션이며, 기본값은 YES이다. TYPE=1과 TYPE=3일 경우 무시된다.
-
-
DEFINE
DEFINE 명령어는 초기화할 범위를 지정하는 데 사용한다.
DEFINE 명령어의 구문은 다음과 같다.
-
SLS
DEFINE RANGE=(range-name[, range-name]) RANGE=range-name[,PAGE=page-number-1 [, PAGE2=page-number-2]] SUBRANGE=(subrange-name[, subrange-name])
-
MLS
DEFINE RANGE=(range-name[, range-name]) RANGE=range-name[,PAGE1=page-number-1 [, PAGE2=page-number-2]] SUBRANGE=(subrange-name[, subrange-name]) SUBRANGE=subrange-name[,PAGE1=page-number-1 [, PAGE2=page-number-2]]
다음은 지원하는 DEFINE 문의 파라미터에 대한 설명이다. OpenFrame NDB에서는 아래의 파라미터에 대해서만 지원하며 나머지는 무시된다.
항목 설명 RANGE=range-name
처리 대상 RANGE 이름을 기술한다. OpenFrame NDB에서는 PAGE 단위는 지원하지 않는다.
SUBRANGE=subrange-name
처리 대상 SUBRANGE 이름을 기술한다. OpenFrame NDB에서는 PAGE 단위(MLS)는 지원하지 않는다.
-
-
RELATION
OpenFrame NDB에서는 지원하지 않는 항목이다.
-
END
JXHDBCLR 유틸리티 명령어의 끝을 나타낸다.
3.3. 사용예제
다음은 JXHDBCLR 유틸리티의 TYPE=2를 사용하여 OFNDBSCH ADL SCHEMA에 정의된 RANGE001과 RANGE002를 초기화 하는 예이다.
-
XSP
\ JOB JOB01 \ST010 EX JXHDBCLR,RSIZE=1024 \ FD SYSPRINT=DA,VOL=WORK,TRK=(1,1),SOUT=S \ FD SYSIN=* DBCLEAR SCHEMA=OFNDBSCH,TYPE=2 DEFINE RANGE=(RANGE001, RANGE002) END \ JEND
다음은 JXHDBCLR 유틸리티의 TYPE=2를 사용하여 OFNDBSCH ADL SCHEMA에 정의된 RANGE001을 초기화 하는 예이다.
-
XSP
\ JOB JOB01 \ST010 EX JXHDBCLR,RSIZE=1024 \ FD SYSPRINT=DA,VOL=WORK,TRK=(1,1),SOUT=S \ FD SYSIN=* DBCLEAR SCHEMA=OFNDBSCH,TYPE=3 DEFINE RANGE=(RANGE001) END \ JEND
3.4. 유의사항
JXHDBCLR 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXHDBCLR 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
유효하지 않은 JOB 컨트롤 명령어 발견
40
운영환경이 정상적이지 않음
50
처리 도중 오류 발생
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
유효하지 않은 JOB 컨트롤 명령어 발견
12
운영환경이 정상적이지 않음
16
처리 도중 오류 발생
4. JXKMATCH
JXKMATCH 유틸리티는 JXKUNLOD 유틸리티에 의해 생긴 중간 파일을 합치는 기능을 제공한다.
중간파일과 출력파일은 아래와 같다.
-
CS2, CN2를 병합하여 CN3를 생성한다.
-
DB1, CN4를 병합하여 DB2를 생성한다.
4.1. FD 또는 DD 설정
FD 또는 DD 설정 항목은 다음과 같다.
항목 | 설명 |
---|---|
SYSPRINT |
JXKMATCH 유틸리티의 메시지 출력을 위한 파일을 정의한다. |
DMFCNIN |
CN2 또는 CN4 파일을 정의한다. |
DMFCNOUT |
CN3 파일을 정의한다. |
DMFCSIN |
CS2 파일을 정의한다. |
DMFDBIN |
DB1 파일을 정의한다. |
DMFDBOUT |
DB2 파일을 정의한다. |
4.2. 사용예제
-
XSP
\ JOBG JG1 \ JOB JXKMATCH,LIST=(L,JD) \ EX JXKMATCH,RSIZE=256 \ FD DMFCNIN=DA,DISP=DLT,FILE=AIMDB.CN2,VOL=AIMDB1 \ FD DMFCSIN=DA,DISP=DLT,FILE=AIMDB.CS2,VOL=AIMDB1 \ FD DMFCNOUT=DA,DISP=DLT,FILE=AIMDB.CN3,VOL=AIMDB1 \ FD SYSPRINT=DA,SOUT=A \ JEND \ JGEND
-
MSP
//J01 JOB CLASS=B,MSGCLASS=X //S01 EXEC PGM=JXKMATCH //DMFCNIN DD DSNAME=AIMDB.CN2,DISP=(OLD,DELETE), // UNIT=SYSDA,VOL=SER=AIMDB1 //DMFCSIN DD DSNAME=AIMDB.CS2,DISP=(OLD,DELETE), // UNIT=SYSDA,VOL=SER=AIMDB1 //DMFCNOUT DD DSNAME=AIMDB.CN3,DISP=(NEW,KEEP), // UNIT=SYSDA,SPACE=(TRK,(10,5),RLSE),VOL=SER=AIMDB1 //SYSPRINT DD SYSOUT=* //
4.3. 유의사항
JXKMATCH 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 SYSPRINT FD로 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXKMATCH 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
유효하지 않은 JOB 컨트롤 명령어 발견
40
운영환경이 정상적이지 않음
50
처리 도중 오류 발생
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
유효하지 않은 JOB 컨트롤 명령어 발견
12
운영환경이 정상적이지 않음
16
처리 도중 오류 발생
5. JXKPTRCK
JXKPTRCK 유틸리티는 논리적 구조를 검증하고 고립 레코드가 있는지 확인한다.
OpenFrame NDB에서는 데이터의 논리적 구조를 검색 후 출력만 지원하고 있다.
5.1. FD 설정
FD 설정 항목은 다음과 같다.
항목 | 설명 |
---|---|
SYSIN |
JXKPTRCK 유틸리티의 명령어를 기술한 파일을 정의한다. |
SYSPRINT |
JXKPTRCK 유틸리티의 메시지를 출력하기 위한 파일을 정의한다. |
AIMPED |
사용할 PED 이름을 지정한다. |
DMFPTO01 |
SELECT 절에 PHYSICAL 파라미터가 존재할 경우 정의하는 파일이다. OpenFrame NDB에서는 사용하지 않는 항목이다. |
DMFPTO03 |
SELECT 절에 PHYSICAL 파라미터가 존재할 경우 정의하는 파일이다. OpenFrame NDB에서는 사용하지 않는 항목이다. |
DMFPTI02 |
PT1 파일을 이용하여 JXKSORT로 정렬된 정보를 담을 파일을 정의한다. OpenFrame NDB에서는 사용하지 않는 항목이다. |
DMFPTI04 |
PT3 파일을 이용하여 JXKSORT로 정렬된 정보를 담을 파일을 정의한다. OpenFrame NDB에서는 사용하지 않는 항목이다. |
DMFPTOUT |
비교 데이터 파일을 정의한다. OpenFrame NDB에서는 사용하지 않는 항목이다. |
DMFPTIN |
Primary key 값의 데이터 정보를 담을 파일을 정의한다. OpenFrame NDB에서는 사용하지 않는 항목이다. |
PRGLIB |
User randomization routine의 로드 모듈의 정보를 담을 파일을 정의한다. OpenFrame NDB에서는 사용하지 않는 항목이다. |
5.2. 명령어 설정
OpenFrame NDB에서 지원하는 명령어 항목에 대해서만 기술한다.
-
PTRCHK
PTRCHK 명령어는 반드시 가장 먼저 기술해야 한다.
PTRCHK 명령어의 구문은 다음과 같다.
PTRCHK [LOOP=n|100000][,RECCNT=n]
다음은 지원하는 PTRCHK 문의 파라미터에 대한 설명이다. OpenFrame NDB에서는 아래의 파라미터에 대해서만 지원하며 나머지는 무시된다.
항목 설명 LOOP
최대 데이터 순회 값을 설정한다. OpenFrame NDB에서는 제한을 두지 않는다.
RECCNT
한번에 write 할 레코드 개수를 지정한다. OpenFrame NDB에서는 사용하지 않는 항목이다.
-
DIRECTORY
처리할 스키마 이름 및 서브스키마 이름, AIM 디렉토리 ID, 액세스 방법, PED가 동적으로 생성될 때의 버퍼 수를 지정한다.
DIRECTORY SCHEMA=schema-name, SUBSCHEMA=subschema-name [, PED={R|T|C},[n][n{R|S}[,m]]] [,BUFDIV=(p,o)] [,DID=nn]
OpenFrame NDB에서는 아래의 파라미터에 대해서만 지원하며 나머지는 무시된다.
항목 설명 SCHEMA
처리 대상 스키마 이름을 기술한다.
SUBSCHEMA
처리 대상 서브스키마 이름을 기술한다.
-
PATHNAME
PATHNAME 명령어는 처리할 경로의 이름을 지정한다.
PATHNAME 명령어의 구문은 다음과 같다.
PATHNAME path-name[,SUBRANGE=subrange-name]
다음은 지원하는 PATHNAME 문의 파라미터에 대한 설명이다.
항목 설명 path-name
경로 이름을 8자 이하의 문자로 지정한다. 모든 유틸리티 내에서 유일해야 한다.
SUBRANGE
출력할 범위를 지정하기 위해 사용한다. SUBRANGE명으로 사용할 수 있다.
-
PATH
PATH 명령어는 출력할 레코드와 셋의 이름을 지정한다.
PATH 명령어의 구문은 다음과 같다.
PATH RECORD=record-name [,SET=set-name] [,SETLIMIT=n]
다음은 지원하는 PATH 문의 파라미터에 대한 설명이다. OpenFrame NDB에서는 아래의 파라미터에 대해서만 지원하며 나머지는 무시된다.
항목 설명 RECORD
출력할 레코드 이름을 지정한다.
SET
사용할 셋 이름을 지정한다.
-
END
JXKPTRCK 유틸리티 명령어의 끝을 나타낸다.
5.3. 사용예제
다음은 JXKPTRCK 유틸리티를 사용하여 OFNDBSCH SCHEMA에 정의된 레코드들을 셋을 순회하며 출력하는 XSP JCL 예이다.
-
XSP
\ JOB JG1 \ EX JXKPTRCK,RSIZE=512 \ PARA LIST2 \ FD AIMPED=SSI,SUBSYS=(AIM,OFPED,APG01) \ FD SYSPRINT=DA,FILE=OFT.JAEGU.LIST,VOL=WORK, SOUT=J,TRK=(10,5) \ FD SYSIN=* PTRCHK DIRECTORY SCHEMA=OFNDBSCH,SUBSCHEMA=OFSUBS PATHNAME PATH1 PATH RECORD=OFREC01 PATH RECORD=OFREC02,SET=OFSET01 PATH RECORD=OFREC03,SET=OFSET02 END \ FIN
5.4. 유의사항
JXKPTRCK 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXKPTRCK 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
다음의 경우에 발생한다.
-
PARA 문의 파라미터 에러 발생
-
유틸리티 제어문 에러 발생
-
Set not found 에러 발생
-
Owner와 Member 레코드 간 잘못된 형태 발견
-
고립 레코드 발견
40
운영환경이 정상적이지 않음
50
처리 도중 오류 발생
-
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
다음의 경우에 발생한다.
-
PARA 문의 파라미터 에러 발생
-
유틸리티 제어문 에러 발생
-
Set not found 에러 발생
-
Owner와 Member 레코드 간 잘못된 형태 발견
-
고립 레코드 발견
12
운영환경이 정상적이지 않음
16
처리 도중 오류 발생
-
6. JXKRELOD
ADL 스키마의 속성에 따라 데이터를 데이터베이스로 적재한다.
6.1. FD 또는 DD 설정
FD 또는 DD 설정 항목은 다음과 같다.
항목 | 설명 |
---|---|
SYSIN |
JXKRELOD 유틸리티의 명령어를 기술한 파일을 정의한다. |
SYSPRINT |
OpenFrame AIM 유틸리티의 메시지 출력을 위한 파일을 정의한다. |
AIMPED |
OpenFrame NDB에서는 무시한다. |
DMFDBIN |
DB2 파일과 DB5 파일을 정의한다. |
DMFCNIN |
CI 모드의 경우 CN7, CN8, CN9, CN10 파일을 정의한다. |
DMFCNOUT 및 DMFCNOxx |
CN5 파일을 정의한다. |
DMFRPOUT |
GC 모드의 경우 RP1 파일을 정의한다. |
DMFRCOUT |
GC 모드의 경우 RC1 파일을 정의한다. |
DMFIXOxx |
인덱스 데이터 파일을 정의한다. |
DMFXIOxx |
KRD 파일을 정의한다. |
PRGLIB FD(XSP) STEPLIB 또는 JOBLIB DD (MSP) |
User Randomization Routine Load 모듈을 정의한다. |
6.2. 명령어 설정
본 절에서는 JXKRELOD의 명령어에 대해서 설명한다.
-
RELOAD
JXKRELOD 유틸리티의 처리모드를 지정한다.
RELOAD 명령어의 구문은 다음과 같다. OpenFrame NDB에서는 설명되는 파라미터에 대해서만 지원하며, 나머지는 무시된다.
RELOAD MODE={IS|GC|CI}[,CHECK][,RECCNT=n] [,RESETUP][,COMPACT][,CLEAR][,SPLIT]
항목 설명 MODE
처리모드를 기술한다. OpenFrame에서는 현재 IS 모드만 지원한다.
-
IS : 데이터베이스에 데이터를 로드하는 경우이다.
-
-
DIRECTORY
RELOAD를 수행할 DB의 스키마, 서브스키마, PED 정보 등을 지정한다.
DIRECTORY 명령어의 구문은 다음과 같다. OpenFrame NDB에서는 설명되는 파라미터에 대해서만 지원하며, 나머지는 무시된다.
DIRECTORY SCHEMA=schema-name, SUBSCHEMA=subschema-name [,PED=({R|T|C})][,BUFDIV=(p,o)][,DID=nn]
항목 설명 SCHEMA
ADL 스키마에서 정의한 스키마 이름을 기술한다.
SUBSCHEMA
ADL 서브스키마에서 정의한 서브스키마 이름을 기술한다.
-
SETUP
생성할 데이터를 지정한다.
SETUP 명령어의 구문은 다음과 같다. OpenFrame NDB에서는 설명되는 파라미터에 대해서만 지원하며, 나머지는 무시된다.
SETUP RECORD=record-name[,SET=set-name]
항목 설명 RECORD
생성하고자 하는 레코드 이름을 기술한다.
SET
레코드를 생성할 때 Location set으로 이용할 세트 이름을 기술한다.
-
CROSS
네트워크 구조에 참여하는 Cross set이 있는 경우 해당 set을 기술한다.
CROSS 명령어의 구문은 다음과 같다. DMFCNOUT DD 또는 DMFCNOXX DD가 JCL에 기술되어 있어야 한다.
Cross set=set-name [,POSITION=n] [,DUMMY={ZERO|BLANK|X'hexadecimal-digit'}] [,DMFCNO=xx]
항목 설명 SET
Cross set 이름을 기술한다.
POSITION
DB2 포맷 레코드의 CN 키, SQ 키 위치의 순서를 1부터 255까지 나열할 수 있다.
DUMMY
Cross set에 연결되지 않은 경우를 구별하기 위해 쓰일 DUMMY 값을 ZERO 또는 BLANK 또는 HEXA 값으로 기술한다.
DMFCNO
출력될 CN5 파일을 지정하는 부분이다. 01부터 99까지 지정할 수 있으며 해당 DD가 JCL에 기술되어 있어야 한다.
-
CNKEY
Cross set의 CN 키가 되는 data item의 이름이나 속성 등을 기술한다.
OpenFrame NDB에서는 현재 레코드 뒤에 추가된 CN 키만 지원한다.
CNKEY 명령어의 구문은 다음과 같다.
CNKEY {{data-item-name|data-item-name.data-item-name...} [,...]|(length, attribute)[,...]}
항목 설명 data-item-name
ADL 스키마에서 정의한 data item 이름을 기술한다.
data-item-name.data-item-name…
data item의 이름이 고유하지 않은 경우 상위 레벨의 data item 이름과 해당 data item 이름을 함께 기술한다.
(length, attribute)
data item이 아닌 레코드 뒤에 추가할 CN 키의 길이와 속성을 기술한다.
-
SQKEY
Cross set의 SQ 키가 되는 data item의 이름이나 속성 등을 기술한다.
OpenFrame NDB에서는 현재 레코드 뒤에 추가된 SQ 키만 지원한다.
SQKEY 명령어의 구문은 다음과 같다.
SQKEY {{data-item-name|data-item-name.data-item-name...} [,...]|(length, attribute)[,...]}
항목 설명 data-item-name
ADL 스키마에서 정의한 data item 이름을 기술한다.
data-item-name.data-item-name…
data item 이름이 고유하지 않은 경우 상위 레벨의 data item 이름과 해당 data item 이름을 함께 기술한다.
(length, attribute)
data item이 아닌 레코드 뒤에 추가할 SQ 키의 길이와 속성을 기술한다.
-
IXDATA
추출할 인덱스 데이터 파일 이름을 기술한다.
IXDATA 명령어의 구문은 다음과 같다.
OpenFrame NDB에서는 문법만 지원하며, 인덱스 데이터는 생성되지 않는다.
IXDATA DMFIXO=xx
항목 설명 DMFIXO
출력될 인덱스 데이터 파일을 지정하는 부분이다. 01부터 99까지 지정할 수 있으며 해당 DD가 JCL에 기술되어 있어야 한다.
-
INDEX
인덱스 데이터를 생성할 DB의 범위를 지정한다.
INDEX 명령어의 구문은 다음과 같다. OpenFrame NDB에서는 문법만 지원하며, 인덱스 데이터는 생성되지 않는다.
INDEX [RANGE=(range-name[,...])] [,SUBRANGE=(subrange-name[,...])] [,SEQ]
항목 설명 RANGE
인덱스 데이터를 생성할 RANGE를 기술한다.
SUBRANGE
인덱스 데이터를 생성할 SUBRANGE를 기술한다.
-
KRDATA
추출할 Extended index data file의 이름을 기술한다.
KRDATA 명령어의 구문은 다음과 같다. XINDEX 명령어가 함께 기술되어야 한다.
OpenFrame NDB에서는 문법만 지원하며, Extended index data file은 생성되지 않는다.
KRDATA DMFXIO=xx
항목 설명 DMFXIO
출력될 Extended index data file을 지정하는 부분이다. 01부터 99까지 지정할 수 있으며 해당 DD가 JCL에 기술되어 있어야 한다.
-
XINDEX
Extended index data를 생성할 DB의 범위를 지정한다.
XINDEX 명령어의 구문은 다음과 같다.
OpenFrame NDB에서는 문법만 지원하며, Extended index data file은 생성되지 않는다.
XINDEX [XIXNAME=(extended-index-name[,...])] [,XIXSUBRANGE=(extended-index-subrange-name[,...])]
항목 설명 XIXNAME
Extended index data를 생성할 Extended index를 기술한다.
XIXSUBRANGE
Extended index data를 생성할 Extended index의 Subrange를 기술한다.
-
RANDOM
User random entry record가 있는 경우 User random module의 정보를 기술한다.
RANDOM 명령어의 구문은 다음과 같다. OpenFrame NDB에서는 설명되는 파라미터에 대해서만 지원하며, 나머지는 무시된다.
RANDOM {EXIT=entry-point-name|ITEM={data-item-name.data-item-name...}} [,LANGUAGE={COBOL|PL/I|ASM}],RECORD=(record-name[,...])
항목 설명 EXIT
User randomization routine의 entry point 이름을 기술한다.
ITEM
Page number를 담고 있는 data item의 이름을 기술한다.
RECORD
User random routine을 이용할 RECORD의 이름을 기술한다.
-
END
JXKRELOD 유틸리티의 control statement의 끝을 알린다.
JXKRELOD 유틸리티에서 LIMIT, RELATION, STACK, ERASE 명령어는 지원하지 않는다. |
6.3. 사용예제
-
XSP
\ JOBG JG1 \ JOB JXKRELOD,LIST=(L,JD) \ EX JXKRELOD,RSIZE=256 \ PARA LIST2 \ FD DMFDBIN=DA,DISP=DLT,FILE=AIMDB.DB2,VOL=AIMDB1 \ FD DMFIXO01=DA,FILE=AIMDB.IX,VOL=AIMDB1 \ FD DMFCNOUT=DA,FILE=AIMDB.CN5,VOL=AIMDB1 \ FD SYSPRINT=DA,SOUT=A \ FD SYSIN=* RELOAD MODE=IS DIRECTORY SCHEMA=OFTSCH,SUBSCHEMA=OFSUBSCH SETUP RECORD=OFTREC IXDATA DMFIXO=01 INDEX SUBRANGE=RNG01SRG01 INDEX SUBRANGE=RNG01SRG02 END \/ \ JEND \ JGEND
-
MSP
//J01 JOB CLASS=B,MSGCLASS=X //S01 EXEC PGM=JXKRELOD,PARM='LIST2' //DMFDBIN DD DSNAME=AIMDB.DB2,DISP=(OLD,DELETE), // UNIT=SYSDA,VOL=SER=AIMDB1 //DMFIX001 DD DSNAME=AIMDB.IX,DISP=(NEW,KEEP), // UNIT=SYSDA,SPACE=(TRK,(10,5),RLSE),VOL=SER=AIMDB1 //DMFCNOUT DD DSNAME=AIMDB.CN5,DISP=(NEW,KEEP), // UNIT=SYSDA,SPACE=(TRK,(10,5),RLSE),VOL=SER=AIMDB1 //SYSPRINT DD SYSOUT=* //SYSIN DD * RELOAD MODE=IS DIRECTORY SCHEMA=OFTSCH,SUBSCHEMA=OFSUBSCH SETUP RECORD=OFTREC IXDATA DMFIXO=01 INDEX SUBRANGE=RNG01SRG01 INDEX SUBRANGE=RNG01SRG02 END /* //
6.4. 유의사항
JXKRELOD 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 SYSPRINT FD로 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXKRELOD 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
유효하지 않은 JOB 컨트롤 명령어 발견
40
운영환경이 정상적이지 않음
50
처리 도중 오류 발생
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
유효하지 않은 JOB 컨트롤 명령어 발견
12
운영환경이 정상적이지 않음
16
처리 도중 오류 발생
7. JXKREPLC
JXKREPLC유틸리티는 세트 연결 정보를 가진 RP3, RP4 파일을 입력 받아 레코드간의 세트 관계 연결해 주는 유틸리티이다.
7.1. FD 또는 DD 설정
FD 또는 DD 설정 항목은 다음과 같다.
항목 | 설명 |
---|---|
DMFRPIN |
입력으로 이용할 RP3 또는 RP4 파일을 정의한다. 세트 연결 정보를 담고 있다. |
SYSPRINT |
JXKREPLC 유틸리티의 메시지 출력을 위한 파일을 정의한다. |
7.2. 사용예제
-
XSP
\ JOBG JG1 \ JOB JXKREPLC,LIST=(L,JD) \ EX JXKREPLC,RSIZE=256 \ FD DMFRPIN=DA,DISP=DLT,FILE=AIMDB.RP4,VOL=AIMDB1 \ FD SYSPRINT=DA,SOUT=A \ JEND \ JGEND
-
MSP
//J01 JOB CLASS=B,MSGCLASS=X //S01 EXEC PGM=JXKREPLC //DMFRPIN DD DSNAME=AIMDB.RP4,DISP=(OLD,DELETE), // UNIT=SYSDA,VOL=SER=AIMDB1 //SYSPRINT DD SYSOUT=* //
7.3. 유의사항
JXKREPLC 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 SYSPRINT FD로 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXKREPLC 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
유효하지 않은 JOB 컨트롤 명령어 발견
40
운영환경이 정상적이지 않음
50
처리 도중 오류 발생
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
유효하지 않은 JOB 컨트롤 명령어 발견
12
운영환경이 정상적이지 않음
16
처리 도중 오류 발생
8. JXKSORT
NDB 데이터를 UNLOAD, RELOAD하는 과정에서 생성된 중간 파일을 정렬한다.
8.1. FD 또는 DD 설정
FD 또는 DD 설정 항목은 다음과 같다.
항목 | 설명 |
---|---|
SORTIN |
Sort하고자 입력 파일을 정의한다. |
SORTWKnn |
NDB에서는 무시한다. |
SORTOUT |
Sort 결과를 출력할 파일을 정의한다. |
8.3. 사용예제
-
XSP
\ JOBG JG1 \ JOB JXKSORT,LIST=(L,JD) \ EX JXKSORT,RSIZE=256 \ FD SORTIN=DA,DISP=DLT,FILE=AIMDB.CN5,VOL=AIMDB1 \ FD SORTOUT=DA,FILE=AIMDB.CN6,VOL=AIMDB1 \ FD SYSPRINT=DA,SOUT=A \ JEND \ JGEND
-
MSP
//J01 JOB CLASS=B,MSGCLASS=X //S01 EXEC PGM=JXKSORT //SORTIN DD DSNAME=AIMDB.CN5,DISP=(OLD,DELETE), // UNIT=SYSDA,VOL=SER=AIMDB1 //SORTOUT DD DSNAME=AIMDB.CN6,DISP=(NEW,KEEP), // UNIT=SYSDA,SPACE=(TRK,(10,5),RLSE),VOL=SER=AIMDB1 //SYSPRINT DD SYSOUT=* //
8.4. 유의사항
JXKSORT 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 SYSPRINT FD로 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXKSORT 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
유효하지 않은 JOB 컨트롤 명령어 발견
40
운영환경이 정상적이지 않음
50
처리 도중 오류 발생
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
유효하지 않은 JOB 컨트롤 명령어 발견
12
운영환경이 정상적이지 않음
16
처리 도중 오류 발생
9. JXKTCNCT
NDB 데이터를 RELOAD하는 도중 세트 관계가 이어지지 않은 레코드들의 세트 관계를 이을 수 있는 파일을 생성한다. CN 모드와 RP모드가 존재하며 NDB에서는 현재 CN모드만 지원한다.
9.1. FD 또는 DD 설정
FD 또는 DD 설정 항목은 다음과 같다.
항목 | 설명 |
---|---|
SYSIN |
JXKTCNCT 유틸리티의 명령어를 기술한 파일을 정의한다. |
SYSPRINT |
JXKTCNCT 유틸리티의 메시지 출력을 위한 파일을 정의한다. |
DMFCNIxx |
입력으로 이용할 CN6 파일을 정의한다. xx에는 01부터 99까지의 숫자가 올 수 있다. |
DMFRPOUT |
출력될 RP3 파일을 정의한다. 세트 관계를 이을 수 있는 정보가 담긴다. |
9.2. 사용예제
-
XSP
\ JOBG JG1 \ JOB JXKTCNCT,LIST=(L,JD) \ EX JXKTCNCT,RSIZE=256 \ FD DMFCNI01=DA,DISP=DLT,FILE=AIMDB.CN6,VOL=AIMDB1 \ FD DMFRPOUT=DA,FILE=AIMDB.RP3,VOL=AIMDB1 \ FD SYSPRINT=DA,SOUT=A \ JEND \ JGEND
-
MSP
//J01 JOB CLASS=B,MSGCLASS=X //S01 EXEC PGM=JXKTCNCT //DMFCNI01 DD DSNAME=AIMDB.CN6,DISP=(OLD,DELETE), // UNIT=SYSDA,VOL=SER=AIMDB1 //DMFRPOUT DD DSNAME=AIMDB.RP3,DISP=(NEW,KEEP), // UNIT=SYSDA,SPACE=(TRK,(10,5),RLSE),VOL=SER=AIMDB1 //SYSPRINT DD SYSOUT=* //
9.3. 유의사항
JXKTCNCT 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 SYSPRINT FD로 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXKTCNCT 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
유효하지 않은 JOB 컨트롤 명령어 발견
40
운영환경이 정상적이지 않음
50
처리 도중 오류 발생
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
유효하지 않은 JOB 컨트롤 명령어 발견
12
운영환경이 정상적이지 않음
16
처리 도중 오류 발생
10. JXKUNLOD
NDB 데이터베이스를 순차적으로 읽어 데이터를 파일로 생성한다.
10.1. FD 또는 DD 설정
FD 또는 DD 설정 항목은 다음과 같다.
항목 | 설명 |
---|---|
SYSIN |
JXKUNLOD 유틸리티의 명령어를 기술한 파일을 정의한다. |
SYSPRINT |
AIM 유틸리티의 메시지 출력을 위한 파일을 정의한다. |
AIMPED |
PED를 정의한다. |
DMFDBOUT |
GC 모드에서는 DB5, RS 모드에서는 DB2 파일을 정의한다. |
DUADBOUT |
DMFDBOUT FD에 기술된 파일의 복사본을 정의한다. (미지원) |
DMFDBOxx |
RS 모드에서 CROSS 문이 기술되지 않은 경우 DB2 파일을 정의한다. |
DMFCSOUT |
RS 모드인 경우 CS1 파일을 정의한다. |
DMFCNOUT |
RS 모드인 경우 CN1 또는 CN5 파일을 정의한다. |
DMFCNOxx |
CN5 파일을 정의한다. |
10.2. 명령어 설정
본 절에서는 JXKUNLOD의 명령어에 대해서 설명한다.
-
UNLOAD
JXKUNLOD 유틸리티의 처리모드를 지정한다.
UNLOAD 명령어의 구문은 다음과 같다. OpenFrame NDB에서는 설명되는 파라미터에 대해서만 지원하며, 나머지는 무시된다.
UNLOAD MODE={GC[,{CLEAR|NOCLEAR}][,RECCNT=n]|rs}[,COMPACT]
항목 설명 MODE
처리모드를 기술한다. OpenFrame에서는 현재 RS 모드만 지원한다.
-
GC(Garbage collection) 모드 : DB를 relocation할 때 이용된다.
-
RS 모드 : DB를 생성할 수 있는 데이터를 추출하며 레코드와 세트 정보로 구성된다.
-
-
DIRECTORY
UNLOAD를 수행할 DB의 스키마, 서브스키마, PED 정보 등을 지정한다.
DIRECTORY 명령어의 구문은 다음과 같다. OpenFrame NDB에서는 설명되는 파라미터에 대해서만 지원하며, 나머지는 무시된다.
DIRECTORY SCHEMA=schema-name, SUBSCHEMA=subschema-name [,PED=({R|T|C})][,BUFDIV=(p,o)][,DID=nn]
항목 설명 SCHEMA
ADL 스키마에서 정의한 스키마 이름을 기술한다.
SUBSCHEMA
ADL 서브스키마에서 정의한 서브스키마 이름을 기술한다.
-
SETUP
데이터를 추출할 레코드의 이름을 기술한다.
SETUP 명령어의 구문은 다음과 같다.
SETUP RECORD=record-name[,{SET=set-name|PHYSICAL}]
항목 설명 RECORD
DUMP 받고자 하는 레코드의 이름을 기술한다.
SET
DUMP 받을 때 이용할 Tree 구조의 세트 이름을 기술한다.
PHYSICAL
레코드 데이터를 저장되 있는 순서대로 받고자 할 때 기술한다.
-
CROSS
네트워크 구조에 참여하는 Cross set이 있는 경우 해당 세트를 기술한다.
CROSS 명령어의 구문은 다음과 같다. DMSFCNOUT DD와 DMFCSOUT DD가 JCL에 기술되어 있어야 한다.
Cross set=set-name[,PRIORITY=n]
항목 설명 SET
Cross set 이름을 기술한다.
PRIORITY
레코드가 Tree 구조에 연결되어 있지 않을 때 DUMP 받기 위해 이용할 세트의 순위를 기술한다. 낮은 값이 더 높은 순위를 갖는다.
-
UNDER
레코드의 하위 세트이 여러 개 존재하는 경우 먼저 레코드를 뽑는데 이용할 세트를 기술한다.
UNDER 명령어의 구문은 다음과 같다.
UNDER SET=set-name,PRIORITY=n
항목 설명 SET
하위 레벨 세트의 이름을 기술한다.
PRIORITY
세트의 우선 순위를 기술한다. 낮은 값이 더 높은 순위를 갖는다.
-
END
JXKUNLOD 유틸리티의 control statement 끝을 알린다.
JXKUNLOD 유틸리티에서 SELECT, RELATION, LOCATION, SEPARATE, OMIT, ADD, EXTEND, LIMIT, CNDATA, CNSET, CNKEY, SQKEY 명령어는 지원하지 않는다. |
10.3. 사용예제
다음은 JXKUNLOD를 이용하여 DATA 파일을 생성하는 JCL 예이다.
-
XSP
\ JOBG JG1 \ JOB JXKUNLOD,LIST=(L,JD) \ EX JXKUNLOD,RSIZE=256 \ PARA LIST2 \ FD DMFDBOUT=DA,FILE=AIMDB.DB2,VOL=AIMDB1 \ FD SYSPRINT=DA,SOUT=A \ FD SYSIN=* UNLOAD MODE=RS DIRECTORY SCHEMA=OFTSCH,SUBSCHEMA=OFSUBSCH SETUP RECORD=OFTREC END \/ \ JEND \ JGEND
-
MSP
//J01 JOB CLASS=B,MSGCLASS=X //S01 EXEC PGM=JXKUNLOD,PARM='LIST2' //DMFDBOUT DD DSNAME=AIMDB.DB2,DISP=(NEW,KEEP), // UNIT=SYSDA,SPACE=(TRK,(10,10),RLSE),VOL=SER=AIMDB1 //SYSPRINT DD SYSOUT=* //SYSIN DD * UNLOAD MODE=RS DIRECTORY SCHEMA=OFTSCH,SUBSCHEMA=OFSUBSCH SETUP RECORD=OFTREC END /* //
10.4. 유의사항
JXKUNLOD 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 SYSPRINT FD로 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXKUNLOD 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
유효하지 않은 JOB 컨트롤 명령어 발견
40
운영환경이 정상적이지 않음
50
처리 도중 오류 발생
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
유효하지 않은 JOB 컨트롤 명령어 발견
12
운영환경이 정상적이지 않음
16
처리 도중 오류 발생
11. JXYXIGEN
JXYXIGEN 유틸리티는 확장 인덱스를 생성하거나 초기화 또는 삭제한다.
JXYXIGEN 유틸리티의 주요 기능 및 기능별 내용은 다음과 같다.
-
확장 인덱스 생성
-
확장 인덱스 초기화
-
확장 인덱스 삭제
11.1. FD 설정
FD 설정 항목은 다음과 같다.
항목 | 설명 |
---|---|
SYSIN |
JXYXIGEN 유틸리티의 명령어를 기술한 파일을 정의한다. |
SYSPRINT |
JXYXIGEN 유틸리티의 메시지 출력을 위한 파일을 정의한다. |
KRDTIN |
확장 인덱스 생성을 위한 입력 파일을 정의한다. OpenFrame NDB에서는 사용하지 않는 항목이다. |
XIWORK |
작업 파일을 정의한다. OpenFrame NDB에서는 사용하지 않는 항목이다. |
KRDTOUT |
Sort 된 출력 파일을 정의한다. OpenFrame NDB에서는 사용하지 않는 항목이다. |
SORTWKnn |
Sort 처리를 위한 작업 파일을 정의한다. OpenFrame NDB에서는 사용하지 않는 항목이다. |
SYSXInnn |
처리 대상 확장 인덱스를 정의한다. 인덱스를 생성할 때에만 기술한다. OpenFrame NDB에서는 사용하지 않는 항목이다. |
11.2. 명령어 설정
-
XIXGEN
XIXGEN 명령어는 XIF SCHEMA 이름, AIM 디렉터리 ID, 처리 모드 등이 기술되며 반드시 명령어 중에서 가장 먼저 기술해야 한다.
XIXGEN 명령어의 구문은 다음과 같다.
XIXGEN SCHEMA=xif-schema-name[,DID=nn] [,MODE={CREATE|PREFORMAT|REFORMAT|CHECK|CLEAR|MCLEAR|DELETE|MODIFY}] [,SORT={YES|DYNALLOC(d[,n])}] [,OPT CYL][,CHECK={YES|NO}]
다음은 지원하는 XIXGEN 문의 파라미터에 대한 설명이다. OpenFrame NDB에서는 아래의 파라미터에 대해서만 지원하며 나머지는 무시된다.
항목 설명 SCHEMA=xif-schema-name
처리 대상 XIF SCHEMA 이름을 기술한다.
DID=nn
AIM 디렉터리 ID를 두 자리 영숫자로 기술한다. OpenFrame NDB에서는 '00’만 유효하며 생략 가능하다.
MODE={..}
처리 모드를 기술한다. 모드 별 처리 내용은 다음과 같다.
-
CREATE: 확장 인덱스 테이블을 생성한다.
-
PREFORMAT: 확장 인덱스를 생성한다.
-
REFORMAT : 확장 인덱스를 재생성한다.
-
CLEAR: 확장 인덱스를 재생성한다.
-
MCLEAR: 확장 인덱스를 재생성한다.
-
DELETE: 확장 인덱스를 삭제한다.
-
-
ROUTE
처리 대상이 되는 확장 인덱스 RANGE를 기술한다.
ROUTE 명령어의 구문은 다음과 같다.
ROUTE {RANGE=extended-index-range-name| SUBRANGE=extended-index-subrange-name} [,RATE=initial-percentage-loading]
항목 설명 {RANGE=..|SUB-RANGE=..}
처리 대상 확장 인덱스 RANGE 또는 SUBRANGE를 기술한다.
-
END
JXYXIGEN 유틸리티 명령어의 끝을 나타낸다.
11.3. 사용예제
다음은 JXYXIGEN 유틸리티의 XIXGEN 명령어를 사용하여 OFNDBSCH XIF SCHEMA에 정의된 확장 인덱스를 생성하는 XSP JCL 예이다.
-
XSP
\ JOB OFNDB 01000000 \S11 EX JXYXIGEN,COND=20 01000001 \ FD XIWORK=DA,VOL=DEFVOL,CYL=4 01000002 \ FD SYSPRINT=DA,VOL=WORK,TRK=(2,2,),SOUT=T 01000003 \ FD SYSIN=* 01000004 XIXGEN SCHEMA=OFNDBSCH,MODE=CREATE 01000005 ROUTE RANGE=XIFRNG01 01000006 END 01000007
다음은 JXYXIGEN 유틸리티의 XIXGEN 명령어를 사용하여 OFNDBSCH XIF SCHEMA에 정의된 확장 인덱스를 재생성하는 XSP JCL 예이다.
-
XSP
\ JOB OFNDB 01000000 \S11 EX JXYXIGEN,COND=20 01000001 \ FD XIWORK=DA,VOL=DEFVOL,CYL=4 01000002 \ FD SYSPRINT=DA,VOL=WORK,TRK=(2,2,),SOUT=T 01000003 \ FD SYSIN=* 01000004 XIXGEN SCHEMA=OFNDBSCH,MODE=REFORMAT 01000005 END 01000006
다음은 JXYXIGEN 유틸리티의 XIXGEN 명령어를 사용하여 OFNDBSCH XIF SCHEMA에 정의된 확장 인덱스를 삭제하는 XSP JCL 예이다.
-
XSP
\ JOB OFNDB 01000000 \S11 EX JXYXIGEN,COND=20 01000001 \ FD XIWORK=DA,VOL=DEFVOL,CYL=4 01000002 \ FD SYSPRINT=DA,VOL=WORK,TRK=(2,2,),SOUT=T 01000003 \ FD SYSIN=* 01000004 XIXGEN SCHEMA=OFNDBSCH,MODE=DELETE 01000005 END 01000006
11.4. 유의사항
JXYXIGEN 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXYXIGEN 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
유효하지 않은 JOB 컨트롤 명령어 발견
40
운영환경이 정상적이지 않음
50
처리 도중 오류 발생
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
유효하지 않은 JOB 컨트롤 명령어 발견
12
운영환경이 정상적이지 않음
16
처리 도중 오류 발생