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) 유틸리티
프로그램명 설명 JXKUNLOD 유틸리티에 의해 생긴 중간 파일을 합쳐 JXKRELOD 유틸리티에서 이용할 수 있는 데이터를 생성한다. (Merging Intermediate Data)
JXKUNLOD 유틸리티에서 생성된 결과파일을 NDB로 적재한다. (Reloading Database)
JXKTCNCT의 결과물을 입력 받아 NDB 레코드 세트에 연결한다. (Set Connection)
DMF 유틸리티에서 생성된 중간 결과물을 정렬한다. (Sorting Intermediate Data)
레코드들의 세트 포인터 정보 데이터를 생성한다. (Set Connection Data Generation)
데이터베이스를 읽어 데이터셋 파일 형태로 추출한다. (Unloading Database)
2. JXKMATCH
JXKMATCH 유틸리티는 JXKUNLOD 유틸리티에 의해 생긴 중간 파일을 합치는 유틸리티이다.
중간파일과 출력파일은 아래와 같다.
-
CS2, CN2를 병합하여 CN3를 생성한다.
-
DB1, CN4를 병합하여 DB2를 생성한다.
2.1. FD 또는 DD 설정
FD 또는 DD 설정 항목은 다음과 같다.
항목 | 설명 |
---|---|
SYSPRINT |
JXKMATCH 유틸리티의 메시지 출력을 위한 파일을 정의한다. |
DMFCNIN |
CN2 또는 CN4 파일을 정의한다. |
DMFCNOUT |
CN3 파일을 정의한다. |
DMFCSIN |
CS2 파일을 정의한다. |
DMFDBIN |
DB1 파일을 정의한다. |
DMFDBOUT |
DB2 파일을 정의한다. |
2.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=* //
2.3. 유의사항
JXKMATCH 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 SYSPRINT FD로 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXKMATCH 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
유효하지 않은 JOB 컨트롤 명령어 발견
40
운영환경이 정상적이지 않음
50
처리도중 오류 발생
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
유효하지 않은 JOB 컨트롤 명령어 발견
12
운영환경이 정상적이지 않음
16
처리도중 오류 발생
3. JXKRELOD
ADL 스키마의 속성에 따라 데이터를 데이터베이스로 적재한다.
3.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 모듈을 정의한다. |
3.2. 명령어 설정
본 절에서는 JXKRELOD의 명령어에 대해서 설명한다.
RELOAD
JXKRELOD 유틸리티의 처리모드를 지정한다.
RELOAD 명령어의 구문은 다음과 같다. OpenFrame NDB에서는 설명되는 파라미터에 대해서만 지원하며, 나머지는 무시된다.
RELOAD MODE={IS|GC|CI}[,CHECK][,RECCNT=n] [,RESETUP][,COMPACT][,CLEAR][,SPLIT]
항목 | 설명 |
---|---|
MODE |
처리모드를 기술한다. OpenFrame에서는 현재 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 명령어는 지원하지 않는다. |
3.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 /* //
3.4. 유의사항
JXKRELOD 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 SYSPRINT FD로 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXKRELOD 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
유효하지 않은 JOB 컨트롤 명령어 발견
40
운영환경이 정상적이지 않음
50
처리도중 오류 발생
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
유효하지 않은 JOB 컨트롤 명령어 발견
12
운영환경이 정상적이지 않음
16
처리도중 오류 발생
4. JXKREPLC
JXKREPLC유틸리티는 세트 연결 정보를 가진 RP3, RP4 파일을 입력 받아 레코드간의 세트 관계 연결해 주는 유틸리티이다.
4.1. FD 또는 DD 설정
FD 또는 DD 설정 항목은 다음과 같다.
항목 | 설명 |
---|---|
DMFRPIN |
입력으로 이용할 RP3 또는 RP4 파일을 정의한다. 세트 연결 정보를 담고 있다. |
SYSPRINT |
JXKREPLC 유틸리티의 메시지 출력을 위한 파일을 정의한다. |
4.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=* //
4.3. 유의사항
JXKREPLC 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 SYSPRINT FD로 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXKREPLC 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
유효하지 않은 JOB 컨트롤 명령어 발견
40
운영환경이 정상적이지 않음
50
처리도중 오류 발생
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
유효하지 않은 JOB 컨트롤 명령어 발견
12
운영환경이 정상적이지 않음
16
처리도중 오류 발생
5. JXKSORT
NDB 데이터를 UNLOAD, RELOAD하는 과정에서 생성된 중간 파일을 정렬한다.
5.1. FD 또는 DD 설정
FD 또는 DD 설정 항목은 다음과 같다.
항목 | 설명 |
---|---|
SORTIN |
Sort하고자 입력 파일을 정의한다. |
SORTWKnn |
NDB에서는 무시한다. |
SORTOUT |
Sort 결과를 출력할 파일을 정의한다. |
5.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=* //
5.4. 유의사항
JXKSORT 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 SYSPRINT FD로 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXKSORT 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
유효하지 않은 JOB 컨트롤 명령어 발견
40
운영환경이 정상적이지 않음
50
처리도중 오류 발생
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
유효하지 않은 JOB 컨트롤 명령어 발견
12
운영환경이 정상적이지 않음
16
처리도중 오류 발생
6. JXKTCNCT
NDB 데이터를 RELOAD하는 도중 세트 관계가 이어지지 않은 레코드들의 세트 관계를 이을 수 있는 파일을 생성한다. CN 모드와 RP모드가 존재하며 NDB에서는 현재 CN모드만 지원한다.
6.1. FD 또는 DD 설정
FD 또는 DD 설정 항목은 다음과 같다.
항목 | 설명 |
---|---|
SYSIN |
JXKTCNCT 유틸리티의 명령어를 기술한 파일을 정의한다. |
SYSPRINT |
JXKTCNCT 유틸리티의 메시지 출력을 위한 파일을 정의한다. |
DMFCNIxx |
입력으로 이용할 CN6 파일을 정의한다. xx에는 01부터 99까지의 숫자가 올 수 있다. |
DMFRPOUT |
출력될 RP3 파일을 정의한다. 세트 관계를 이을 수 있는 정보가 담긴다. |
6.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=* //
6.3. 유의사항
JXKTCNCT 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 SYSPRINT FD로 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXKTCNCT 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
유효하지 않은 JOB 컨트롤 명령어 발견
40
운영환경이 정상적이지 않음
50
처리도중 오류 발생
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
유효하지 않은 JOB 컨트롤 명령어 발견
12
운영환경이 정상적이지 않음
16
처리도중 오류 발생
7. JXKUNLOD
NDB 데이터베이스를 순차적으로 읽어 데이터를 파일로 생성한다.
7.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 파일을 정의한다. |
7.2. 명령어 설정
본 절에서는 JXKUNLOD의 명령어에 대해서 설명한다.
UNLOAD
JXKUNLOD 유틸리티의 처리모드를 지정한다.
UNLOAD 명령어의 구문은 다음과 같다. OpenFrame NDB에서는 설명되는 파라미터에 대해서만 지원하며, 나머지는 무시된다.
UNLOAD MODE={GC[,{CLEAR|NOCLEAR}][,RECCNT=n]|rs}[,COMPACT]
항목 | 설명 |
---|---|
MODE |
처리모드를 기술한다. OpenFrame에서는 현재 RS 모드만 지원한다.
|
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 명령어는 지원하지 않는다. |
7.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 /* //
7.4. 유의사항
JXKUNLOD 유틸리티 프로그램이 종료하면 정상 또는 오류 메시지를 SYSPRINT FD로 출력하고 각 오류에 해당하는 리턴코드를 반환한다.
JXKUNLOD 유틸리티 프로그램에서 발생할 수 있는 리턴코드는 다음과 같다.
-
XSP
코드 설명 10
정상적으로 종료
20
정상적으로 종료되었으나 경고 메시지 발생
30
유효하지 않은 JOB 컨트롤 명령어 발견
40
운영환경이 정상적이지 않음
50
처리도중 오류 발생
-
MSP
코드 설명 0
정상적으로 종료
4
정상적으로 종료되었으나 경고 메시지 발생
8
유효하지 않은 JOB 컨트롤 명령어 발견
12
운영환경이 정상적이지 않음
16
처리도중 오류 발생