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) 유틸리티

    프로그램명 설명

    JXHADINT

    데이터베이스의 생성, 초기화, 삭제를 수행한다. (Managing Database)

    JXHDBCLR

    데이터베이스의 삭제 공간을 관리하고, 범위를 지정하여 초기화한다. (Initializing Ranges)

    JXKMATCH

    JXKUNLOD 유틸리티에 의해 생긴 중간 파일을 합쳐 JXKRELOD 유틸리티에서 이용할 수 있는 데이터를 생성한다. (Merging Intermediate Data)

    JXKPTRCK

    데이터베이스의 레코드와 셋 구조에 맞춰 데이터를 출력한다. (Printing data)

    JXKRELOD

    JXKUNLOD 유틸리티에서 생성된 결과파일을 NDB로 적재한다. (Reloading Database)

    JXKREPLC

    JXKTCNCT의 결과물을 입력 받아 NDB 레코드 세트에 연결한다. (Set Connection)

    JXKSORT

    DMF 유틸리티에서 생성된 중간 결과물을 정렬한다. (Sorting Intermediate Data)

    JXKTCNCT

    레코드들의 세트 포인터 정보 데이터를 생성한다. (Set Connection Data Generation)

    JXKUNLOD

    데이터베이스를 읽어 데이터셋 파일 형태로 추출한다. (Unloading Database)

    JXYXIGEN

    확장 인덱스를 생성, 초기화, 삭제한다. (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.2. 입력과 출력

JXKSORT 유틸리티으로 입력되는 파일과 출력 파일은 아래와 같다.

입력 출력

CS1

CS2

CN1

CN2

CN3

CN4

CN5

CN6

RP3

RP4

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

    처리 도중 오류 발생