데이터 관리 서비스

본 장에서는 데이터 저장 리소스를 관리하는 데이터 관리 서비스에 대해 기술한다.

1. 개요

OSC의 데이터 관리 서비스는 OSC 애플리케이션에서 사용할 수 있도록 OSC 시스템에서 제공하는 데이터 저장 리소스를 관리하는 기능을 제공한다.

데이터 관리 서비스에는 다음과 같은 기능이 있다.

2. 파일 제어

OSC 애플리케이션 프로그램에서 TSAM 데이터셋을 활용하여 데이터를 관리할 수 있다. TSAM 데이터셋은 IBM Mainframe VSAM 데이터셋에 대응하는 OpenFrame 시스템의 파일 시스템이다.

OSC 애플리케이션 프로그램에서 TSAM 데이터셋을 접근하는 방법은 IBM Mainframe CICS 애플리케이션 프로그램이 VSAM 데이터셋에 접근하는 것과 동일하며, 그 기능 또한 동일하다. 사용자는 TSAM 데이터셋에 대하여 데이터를 검색, 저장 및 삭제 등을 할 수 있고, 다른 애플리케이션 서버가 관리하는 파일에 대하여 Function Shipping을 통하여 접근할 수 있다.

OSC 애플리케이션 서버는 TSAM 데이터셋 중 다음 3가지 타입의 데이터셋에 대한 접근을 지원한다.

  • KSDS(Key-Sequenced Dataset)

    각 레코드가 고유한 키로 식별되는 데이터셋이다.

  • ESDS(Entry-Sequenced Dataset)

    RBA(Relative Byte Address)로 레코드가 식별되는 데이터셋이다.

  • RRDS(Relative Record Dataset)

    RRN(Relative Record Number)로 레코드가 식별되는 데이터셋이다.

  1. TSAM 데이터셋에 대한 자세한 정보는 OpenFrame "TSAM 안내서"를 참고한다.

  2. 파일에 대한 Function Shipping 기능에 대한 자세한 내용은 Function Shipping을 참고한다.

파일 제어 명령어

레코드와 관련된 명령어는 다음과 같이 분류된다.

  • 레코드 열람 및 순차 검색

    명령어 설명

    ENDBR

    특정 파일에 대한 순차 검색의 마지막을 알린다.

    READ

    데이터셋의 특정 레코드를 읽어온다.

    READNEXT

    순차 검색 중 다음 레코드를 읽어온다.

    READPREV

    순차 검색 중 이전 레코드를 읽어온다.

    RESETBR

    순차 검색 위치를 재설정한다.

    STARTBR

    순차적으로 데이터셋 레코드를 읽어올 때 첫 번째로 읽어올 레코드의 위치를 지정한다.

  • 레코드 추가, 삭제 및 수정 명령어

    명령어 설명

    DELETE

    KSDS, RRDS 타입의 데이터셋만 레코드를 삭제한다.

    REWRITE

    레코드를 수정한다.

    WRITE

    레코드를 추가한다.

  • 레코드 잠금 해제 명령어

    명령어 설명

    UNLOCK

    열람 및 검색 명령어의 UPDATE 옵션으로 레코드에 실행 중인 Lock을 해제한다.

  • 파일 관리 명령어

    명령어 설명

    INQUIRE FILE

    FILE 자원 정의에 대한 정보를 반환한다.

    SET FILE

    OSC 애플리케이션 서버가 사용하는 파일의 상태 및 속성을 변경한다.

이 중 파일 레코드를 열람 및 검색하는 방법은 다음 2가지로 나뉜다.

  • 직접 읽기

    원하는 레코드 하나를 직접 읽어올 때 사용한다. READ 명령어를 사용한다.

  • 순차 읽기

    레코드를 순차적으로 하나씩 읽어올 때 사용한다. READNEXT, READPREV 명령어로 읽어오되, STARTBR, RESETBR, ENDBR 명령어를 사용하여 순차 검색의 시작지점 지정, 재설정, 끝맺음을 지정한다.

2.1. DELETE

KSDS, RRDS 타입의 데이터셋만 레코드 삭제가 가능하다. 레코드를 이전 열람 및 검색 명령어의 UPDATE 옵션을 통하여 받아온 토큰 값으로 식별하여 삭제하거나, RIDFLD 값으로 삭제하는 2가지 방법이 있다.

  • 문법

    EXEC CICS DELETE [option …] END-EXEC.
  • 옵션

    옵션 설명

    FILE

    레코드를 삭제할 파일의 이름을 지정한다.

    KEYLENGTH

    키 길이를 지정한다. (KSDS 경우만 유효)

    GENERIC

    KEYLENGTH 옵션에 표시된 값이 GENERIC 키인지를 지정한다.

    NUMREC

    지워진 레코드의 개수를 반환한다.

    RBA

    RIDFLD 옵션에 지정한 값이 RBA인지를 지정한다.

    RIDFLD

    지정할 레코드 식별 필드를 지정한다.

    • KSDS : 레코드에 대한 키

    • RRDS : RRN 값 지정

    RRN

    RIDFLD 옵션에 지정한 값이 RRN인지를 지정한다.

    SYSID

    원격 시스템의 SYSID를 지정한다.

    TOKEN

    READ, READNEXT, READPREV 명령어의 UPDATE 옵션에서 받아온 토큰 값을 지정한다.

2.2. ENDBR

특정 파일에 대한 순차 검색의 마지막을 알린다.

  • 문법

    EXEC CICS ENDBR [option …] END-EXEC.
  • 옵션

    옵션 설명

    FILE

    읽어올 파일 이름을 지정한다.

    REQID

    STARTBR 명령어에서 받은 순차 검색 요청 ID를 지정한다.

    SYSID

    원격 시스템의 SYSID를 지정한다.

2.3. INQUIRE FILE

FILE 자원 정의에 대한 정보를 반환한다.

  • 문법

    EXEC CICS INQUIRE FILE [option …] END-EXEC.
  • 옵션

    옵션 설명

    ADD

    새로운 레코드를 파일에 추가할 수 있는지 여부 반환한다.

    BROWSE

    파일을 열람할 수 있는지 여부를 반환한다.

    DELETE

    파일에서 레코드를 지울 수 있는지 여부를 반환한다.

    DSNAME

    FILE 정의와 연관된 VSAM 오브젝트의 44 글자 이름을 반환한다.

    ENABLESTATUS

    응용 프로그램이 파일에 액세스할 수 있는지 여부를 반환한다.

    END

    Browsing을 중지한다.

    FILE

    조회하고자 하는 파일의 이름 8 글자를 정한다.

    KEYLENGTH

    VSAM KSDS와 연관된 파일 또는 결합 기능 데이터 테이블(CFDT)과 연관된 파일에 대한 레코드 키의 길이를 반환한다.

    MAXNUMRECS

    파일의 데이터 테이블에 저장할 수 있는 레코드의 최대 수를 반환한다.

    NEXT

    INQUIRE 명령을 반복적으로 실행한다. 하나의 리소스 정의를 반환받는다.

    OPENSTATUS

    파일이 열렸는지, 닫혀 있는지, 처리 과정 중인지 여부를 반환한다.

    READ

    파일에서 레코드를 읽을 수 있는지 여부를 반환한다.

    RECORDFORMAT

    파일의 레코드 형식을 반환한다.

    RECORDSIZE

    고정 길이 레코드의 실제 크기 또는 가변 길이 레코드의 최대 크기를 반환한다.

    REMOTENAME

    REMOTESYSTEM 옵션에서 지정된 OSC region의 파일 8 글자를 반환한다.

    REMOTESYSTEM

    OSC Region의 4 글자 이름을 반환한다.

    START

    Browsing을 시작한다.

    UPDATE

    파일이 업데이트 가능한지 여부를 반환한다.

    ACCESSMETHOD, BASEDSNAME, BLOCKFORMAT, BLOCKKEYLEN, BLOCKSIZE, CFDTPOOL, CHANGEAGENT, CHANGEAGREL, CHANGETIME, CHANGEUSRID, DEFINESOURCE, DEFINETIME, DISPOSITION, EMPTYSTATUS, EXCLUSIVE, FWDRECSTATUS, INSTALLAGENT, INSTALLTIME, INSTALLUSRID, JOURNALNUM, KEYPOSITION, LOADTYPE, LSRPOOLNUM, OBJECT, RBATYPE, READINTEG, RECOVSTATUS, RELTYPE, REMOTETABLE, RLSACCESS, STRINGS, TABLE, TABLENAME, TYPE, UPDATEMODEL은 지원하지 않는 옵션이다.

2.4. READ

데이터셋의 특정 레코드를 읽어온다.

  • 문법

    EXEC CICS READ [option …] END-EXEC.
  • 옵션

    옵션 설명

    EQUAL

    레코드를 검색할 때 RIDFLD 값과 동일한 레코드만 가져오도록 한다.

    FILE

    읽어올 파일 이름을 지정한다.

    GENERIC

    KEYLENGTH 옵션에 표시된 값이 GENERIC 키인지를 지정한다.

    GTEQ

    레코드를 검색할 때 RIDFLD 값과 동일하거나 큰 값을 가진 레코드를 가져오도록 한다.

    INTO

    받을 데이터의 저장소를 지정한다.

    KEYLENGTH

    키 길이를 지정한다. (KSDS 경우만 유효)

    LENGTH

    읽으려는 레코드 버퍼(INTO 옵션에 지정)의 데이터 길이를 지정한다.

    SYSID 옵션이 지정된 경우에는 이 옵션을 반드시 지정해야 한다. 만약 파일이 원격 시스템에 있는 경우 LENGTH 옵션을 지정하지 않으면, FILE 리소스 정의의 RECORDSIZE 값만큼 읽게 된다.

    NOSUSPEND

    레코드가 DEADLOCK에 의해 잠겨 있거나 VSAM에 의해 Active Lock이 걸려있는 경우 요청은 대기하지 않는다.

    RBA

    RIDFLD 옵션에 지정한 값이 RBA인지를 지정한다.

    RIDFLD

    읽으려는 레코드 식별 필드를 지정한다.

    • KSDS : 레코드에 대한 키

    • ESDS : RBA 값

    • RRDS : RRN 값 지정

    RRN

    RIDFLD 옵션에 지정한 값이 RRN인지를 지정한다.

    SET

    받을 데이터가 저장된 장소의 포인터 참조값을 지정한다.

    SYSID

    원격 시스템의 SYSID를 지정한다.

    TOKEN

    READ UPDATE에 대한 고유한 식별자를 반환한다.

    UPDATE

    레코드에 대한 수정 또는 삭제를 위한 Lock을 지정한다.

    DEBKEY, DEBREC은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

2.5. READNEXT

순차 검색 중 다음 레코드를 읽어온다. 이미 STARTBR 명령어로 순차 검색을 시작한 파일이어야 한다.

  • 문법

    EXEC CICS READNEXT [option …] END-EXEC.
  • 옵션

    옵션 설명

    FILE

    읽어올 파일의 이름을 지정한다.

    INTO

    받을 데이터의 저장소를 지정한다.

    KEYLENGTH

    키 길이를 지정한다. (KSDS 경우만 유효)

    LENGTH

    읽으려는 레코드 버퍼(INTO 옵션에 지정)의 데이터 길이를 지정한다.

    SYSID 옵션이 지정된 경우에는 이 옵션을 반드시 지정해야 한다. 만약 파일이 원격 시스템에 있는 경우 LENGTH 옵션을 지정하지 않으면, FILE 리소스 정의의 RECORDSIZE 값만큼 읽게 된다.

    NOSUSPEND

    DEADLOCK의 결과로 잠긴 레코드를 포함하여 VSAM이 레코드에 대해 활성화된 Lock을 보유하고 있을 경우 대기하지 않는다.

    RIDFLD

    읽으려는 레코드 식별 필드를 지정한다.

    • KSDS : 레코드에 대한 키

    • ESDS : RBA 값

    • RRDS : RRN 값 지정

    RBA

    RIDFLD 옵션에 지정한 값이 RBA인지를 지정한다.

    REQID

    STARTBR에서 받은 순차 검색 요청 ID를 지정한다.

    RRN

    RIDFLD 옵션에 지정한 값이 RRN인지를 지정한다.

    SET

    받을 데이터가 저장된 장소의 포인터 참조값을 지정한다.

    SYSID

    원격 시스템의 SYSID를 지정한다.

    TOKEN

    READNEXT UPDATE에 대한 고유한 식별자를 반환한다.

    UPDATE

    레코드에 대한 수정 또는 삭제를 위한 Lock을 지정한다.

2.6. READPREV

순차 검색 중 이전 레코드를 읽어온다. 이미 STARTBR 명령어로 순차 검색을 시작한 파일이어야 한다.

  • 문법

    EXEC CICS READPREV [option …] END-EXEC.
  • 옵션

    옵션 설명

    FILE

    읽어올 파일의 이름을 지정한다.

    KEYLENGTH

    키 길이를 지정한다. (KSDS 경우만 유효)

    INTO

    받을 데이터의 저장소를 지정한다.

    LENGTH

    읽으려는 레코드 버퍼(INTO 옵션에 지정)의 데이터 길이를 지정한다.

    SYSID 옵션이 지정된 경우에는 이 옵션을 반드시 지정해야 한다. 만약 파일이 원격 시스템에 있는 경우 LENGTH 옵션을 지정하지 않으면, FILE 리소스 정의의 RECORDSIZE 값만큼 읽게 된다.

    NOSUSPEND

    DEADLOCK의 결과로 잠긴 레코드를 포함하여 VSAM이 레코드에 대해 활성화된 Lock을 보유하고 있을 경우 대기하지 않는다.

    RBA

    RIDFLD 옵션에 지정한 값이 RBA인지를 지정한다.

    REQID

    STARTBR에서 받은 순차 검색 요청 ID를 지정한다.

    RIDFLD

    읽으려는 레코드 식별 필드를 지정한다.

    • KSDS : 레코드에 대한 키

    • ESDS : RBA 값

    • RRDS : RRN 값 지정

    RRN

    RIDFLD 옵션에 지정한 값이 RRN인지를 지정한다.

    SET

    받을 데이터가 저장된 장소의 포인터 참조값을 지정한다.

    SYSID

    원격 시스템의 SYSID를 지정한다.

    TOKEN

    READPREV UPDATE에 대한 고유한 식별자를 반환한다.

    UPDATE

    레코드에 대한 수정 또는 삭제를 위한 Lock을 지정한다.

2.7. RESETBR

순차 검색 위치를 재설정한다. 재설정하려는 파일은 STARTBR 명령어로 순차 검색을 시작한 파일이어야 한다.

  • 문법

    EXEC CICS RESETBR [option …] END-EXEC.
  • 옵션

    옵션 설명

    EQUAL

    RIDFLD 값과 동일한 레코드에 새로운 위치를 지정한다.

    FILE

    순차 검색 위치를 재설정할 파일의 이름을 지정한다.

    GENERIC

    KEYLENGTH 옵션에 표시된 값이 GENERIC 키인지를 지정한다.

    GTEQ

    RIDFLD 값과 동일하거나 큰 값을 가진 레코드에 새로운 위치를 지정한다.

    KEYLENGTH

    키 길이를 지정한다. (KSDS 경우만 유효)

    RBA

    RIDFLD 옵션에 지정한 값이 RBA인지를 지정한다.

    REQID

    STARTBR에서 받은 순차 검색 요청 ID를 지정한다.

    RIDFLD

    지정할 레코드 식별 필드를 지정한다.

    • KSDS : 레코드에 대한 키

    • ESDS : RBA 값

    • RRDS : RRN 값 지정

    RRN

    RIDFLD 옵션에 지정한 값이 RRN인지를 지정한다.

    SYSID

    원격 시스템의 SYSID를 지정한다.

2.8. REWRITE

레코드를 수정한다. REWRITE 명령어를 수행하기 전 READ, READNEXT, READPREV 명령어의 UPDATE 옵션을 통하여 읽어온 레코드에 한해서 수정이 가능하다.

  • 문법

    EXEC CICS REWRITE [option …] END-EXEC.
  • 옵션

    옵션 설명

    FILE

    레코드를 수정할 파일의 이름을 지정한다.

    FROM

    기록할 레코드의 데이터를 지정한다.

    LENGTH

    기록할 레코드의 길이를 지정한다.

    SYSID 옵션이 지정된 경우에는 이 옵션을 반드시 지정해야 한다. 만약 파일이 원격 시스템에 있는 경우 LENGTH 옵션을 지정하지 않으면, FILE 리소스 정의의 RECORDSIZE 값만큼 기록한다.

    NOSUSPEND

    DEADLOCK의 결과로 잠긴 레코드를 포함하여 VSAM이 레코드에 대해 활성화된 Lock을 보유하고 있을 경우 대기하지 않는다.

    SYSID

    원격 시스템의 SYSID를 지정한다.

    TOKEN

    READ, READNEXT, READPREV 명령어의 UPDATE 옵션에서 받아온 토큰 값을 지정한다.

2.9. SET FILE

SET FILE 명령어를 통해 OSC 애플리케이션 서버가 사용하는 파일의 상태 및 속성을 변경할 수 있다. 특정 파일을 열거나 닫을 수 있고, 프로그램에서 사용 가능한 상태로 만들거나 사용 불가능한 상태로 변환할 수 있다. 또한 그 외의 파일 속성을 변경할 수 있다.

  • 문법

    EXEC CICS SET FILE [option …] END-EXEC.
  • 옵션

    옵션 설명

    ADD

    파일에 레코드 추가 가능 여부를 지정한다.

    ADDABLE

    파일에 레코드 추가를 가능하도록 설정한다.

    BROWSABLE

    파일 열람을 가능하도록 설정한다.

    BROWSE

    파일의 열람 가능 여부를 지정한다.

    CFTABLE

    파일 이름은 결합 기능 데이터 테이블(CFDT)을 나타낸다.

    CICSTABLE

    파일 이름은 유지보수 데이터 테이블을 나타낸다.

    CLOSED

    파일을 닫는다.

    CONSISTENT

    읽기 무결성의 수준을 CONSISTENT로 지정한다.

    DELETE

    파일 레코드의 삭제 가능 여부를 지정한다.

    DELETABLE

    파일 레코드 삭제를 가능하도록 설정한다.

    DISABLED

    파일을 사용 불가능한 상태로 변경한다.

    DSNAME

    파일에 사용되는 데이터셋 이름을 설정한다.

    EMPTYREQ

    데이터셋이 REUSABLE로 정의된 경우 데이터셋을 참조하는 파일이 Non-RLS 모드로 열릴 때 데이터셋이 비어있는 상태로 Open된다.

    EXCTL

    업데이트를 위해 읽기가 수행될 때 파일에 대한 기록을 전적으로 통제한다.

    ENABLESTATUS

    파일을 사용 가능한 상태나 사용 불가능한 상태로 변경한다.

    ENABLED

    파일을 사용 가능한 상태로 변경한다.

    FILE

    상태 및 속성을 변경할 파일의 이름을 지정한다.

    FORCE

    파일을 사용하는 모든 태스크가 이상 종료되고 파일이 즉시 DISABLED 혹은 CLOSED 상태가 되며 제어권이 응용 프로그램으로 돌아온다.

    KEYLENGTH

    결합 기능 데이터 테이블에 있는 레코드의 키 길이를 풀워드 이진 값으로 지정한다. 값은 1~16 범위의 값이며, 키 길이를 지우려면 KEYLENGTH(0)으로 설정한다.

    LOAD

    Source 데이터셋을 사용하기 이전에 결합 기능 데이터 테이블(CFDT)을 불러온다.

    NOLOAD

    Source 데이터셋을 사용하기 이전에 결합 기능 데이터 테이블(CFDT)을 불러오지 않는다.

    MAXNUMRECS

    데이터 테이블이 보유할 수 있는 최대 레코드 수를 풀워드 이진 값으로 지정한다. 값은 1~99999999 범위의 값이며, 제한을 없애려면 MAXNUMRECS(0)으로 설정한다.

    NOEMPTYREQ

    데이터셋이 REUSABLE로 정의되었지만 데이터셋을 참조하는 파일을 열더라도 비어있게 설정하지 않는다.

    NOEXCTL

    업데이트를 위해 읽기가 수행될 때 파일에 대한 기록을 전적으로 통제하지 않는다.

    NOTADDABLE

    파일에 레코드 추가를 불가능하도록 설정한다.

    NOTBROWSABLE

    파일 열람을 불가능하도록 설정한다.

    NOTDELETABLE

    파일 레코드 삭제를 불가능하도록 설정한다.

    NOTREADABLE

    파일의 레코드 조회를 불가능하도록 설정한다.

    NOTRLS

    다음에 파일을 열 때 LSR 또는 NSR 모드로 연다.

    NOTTABLE

    파일 이름이 데이터 테이블을 나타내지 않는다.

    NOTUPDATABLE

    파일 레코드의 업데이트를 불가능하도록 설정한다.

    NOWAIT

    SET 요청이 대기 중인 즉시 응용 프로그램에 제어권을 반환한다는 점을 제외하고는 WAIT와 동일하다.

    OLD

    SET FILE DISPOSITION 명령을 수행할 때 파일이 열려 있는 경우 DISPOSITION 값을 OLD로 대체한다.

    OPENSTATUS

    파일을 열거나 닫는다.

    OPEN

    파일을 연다.

    READ

    파일의 레코드 조회 가능 여부를 지정한다.

    RECORDSIZE

    결합 기능 데이터 테이블(CFDT)에 대한 최대 레코드 크기를 풀워드 이진 값으로 지정한다. 값은 1~32767 범위의 값이며, 이전에 정의된 값을 제거하려면 레코드 크기를 0으로 설정한다.

    RLS

    다음에 파일을 열 때 RLS 액세스 모드로 연다.

    READABLE

    파알의 레코드 조회를 가능하도록 설정한다.

    REPEATABLE

    읽기 무결성의 수준을 REPEATABLE로 지정한다.

    RLSACCESS

    RLS 모드에서 파일에 액세스할 것인지 여부를 지정한다. RLS 액세스 혹은 non-RLS 액세스로 변경하기 위해서는 파일을 닫고 DISABLED 상태로 설정해야 한다.

    SHARE

    SET FILE DISPOSITION 명령을 수행할 때 파일이 열려 있는 경우 DISPOSITION 값을 SHARE로 대체한다.

    UNCOMMITTED

    읽기 무결성을 필요하지 않음으로 지정한다.

    UPDATE

    파일 레코드의 업데이트 가능 여부를 지정한다.

    WAIT

    파일을 DISABLED 또는 CLOSED로 설정하기 전에 파일에 대한 모든 활동이 정지될 때까지 대기한다. (기본값: WAIT)

  1. BUSY, DATASET, CFDTPOOL, DISPOSITION, OBJECTNAME, EMPTYSTATUS, EXCLUSIVE, LOADTYPE, LSRPOOLNUM, READINTEG, READINTEG, STRINGS, TABLE, TABLENAME은 지원하지 않는 옵션이다.

  2. CONTENTION, END, LOCKING, NEXT, START, UPDATABLE, UPDATEMODEL은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

  3. SET FILE 뿐만 아니라 BATCH의 MTPBATCH의 다음 명령어를 이용하여 STATUS, PERMISSION을 변경할 수 있다. (CLOS <파일명>, OPEN <파일명>도 가능)

CEMT SET FI<파일명> DISABLED CLOSED | ENABLE OPEN
CEMT SET FI<파일명> [READ | NOREAD] [UPDATE | NOUPDATE] [ADDABLE | NOADDABLE] [BROWSE | NOBROWSE] [DELETE | NODELETE]

2.10. STARTBR

순차적으로 데이터셋 레코드를 읽어올 때 첫 번째로 읽어올 레코드의 위치를 지정한다.

  • 문법

    EXEC CICS STARTBR [option …] END-EXEC.
  • 옵션

    옵션 설명

    EQUAL

    RIDFLD 값과 동일한 레코드에 첫 순차 검색 위치를 지정한다.

    FILE

    순차 검색할 파일의 이름을 지정한다.

    GENERIC

    KEYLENGTH 옵션에 표시된 값이 GENERIC 키인지를 지정한다.

    GTEQ

    RIDFLD 값과 동일하거나 큰 값을 가진 레코드에 첫 순차 검색 위치를 지정한다.

    KEYLENGTH

    키 길이를 지정한다. (KSDS 경우만 유효)

    RIDFLD

    읽으려는 레코드 식별 필드를 지정한다.

    • KSDS : 레코드에 대한 키

    • ESDS : RBA 값

    • RRDS : RRN 값 지정

    RBA

    RIDFLD 옵션에 지정한 값이 RBA인지를 지정한다.

    REQID

    순차 검색에 대한 요청 ID를 지정한다.

    RRN

    RIDFLD 옵션에 지정한 값이 RRN인지를 지정한다.

    SYSID

    원격 시스템의 SYSID를 지정한다.

    DEBKEY, DEBREC은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

2.11. UNLOCK

열람 및 검색 명령어의 UPDATE 옵션으로 레코드에 실행 중인 Lock을 해제한다.

READ, READNEXT, READPREV 명령어에서 UPDATE 옵션으로 레코드에 실행 중인 Lock을 해제한다. 직접 UNLOCK 명령어를 요청하지 않더라도, Lock은 SYNCPOINT 명령어가 수행되거나 태스크가 종료하는 시점에 자동으로 해제된다.

  • 문법

    EXEC CICS UNLOCK [option …] END-EXEC.
  • 옵션

    옵션 설명

    FILE

    레코드를 삭제할 파일의 이름을 지정한다.

    TOKEN

    READ, READNEXT, READPREV 명령어의 UPDATE 옵션에서 받아온 토큰 값을 지정한다.

    SYSID

    원격 시스템의 SYSID를 지정한다.

2.12. WRITE

레코드를 추가한다.

  • 문법

    EXEC CICS WRITE [option …] END-EXEC.
  • 옵션

    옵션 설명

    FILE

    레코드를 추가할 파일의 이름을 지정한다.

    FROM

    기록할 레코드의 데이터를 지정한다.

    KEYLENGTH

    키 길이를 지정한다. (KSDS 경우만 유효)

    LENGTH

    기록할 레코드의 길이를 지정한다.

    SYSID 옵션이 지정된 경우에는 이 옵션을 반드시 지정해야 한다. 만약 파일이 원격 시스템에 있는 경우 LENGTH 옵션을 지정하지 않으면, FILE 리소스 정의의 RECORDSIZE 값만큼 기록한다.

    MASSINSERT

    MASSINSERT의 일부분으로 레코드를 기록할 것인지를 지정한다.

    NOSUSPEND

    DEADLOCK의 결과로 잠긴 레코드를 포함하여 VSAM이 레코드에 대해 활성화된 Lock을 보유하고 있을 경우 대기하지 않는다.

    RBA

    RIDFLD 옵션에 지정한 값이 RBA인지를 지정한다.

    RIDFLD

    지정할 레코드 식별 필드를 지정한다.

    • KSDS : 레코드에 대한 키

    • ESDS : RBA 값

    • RRDS : RRN 값 지정

    RRN

    RIDFLD 옵션에 지정한 값이 RRN인지를 지정한다.

    SYSID

    원격 시스템의 SYSID를 지정한다.

3. Named Counter Server

Named Counter Server(이하 NCS)는 사용자가 지정한 이름으로 생성된 카운터로부터 값을 받아오는 기능을 제공한다. 사용자 값을 받아올 때마다 그 카운터 값은 하나씩 증가하는 기능을 기본으로 제공하고, 그 외에 사용자의 명령어나 옵션에 따라 최소, 최댓값 지정, 증가값 설정, 카운터 재설정, 카운터 삭제 등 다양한 기능을 제공한다.

OSC 애플리케이션 서버는 2가지 종류의 카운터(COUNTER, DCOUTNER)를 지원한다. COUNTER는 카운터 값으로 4Bytes 바이너리 정수(fullword signed binary values) 형식으로 지원하고, DCOUNTER는 8Bytes 바이너리 양수(doubleword unsigned binary values) 형식으로 지원한다. COUNTER, DCOUNTER 모두 명령어 수준에서 사용 방법은 동일하지만, 특정 타입으로 생성된 카운터는 동일한 타입의 카운터 명령어를 통해서만 접근이 가능하다.

Counter 접근 명령어

다음은 Counter 접근 명령어 목록이다. 애플리케이션 프로그램은 다음의 명령어를 통하여 NCS에 접근할 수 있다. 각 명령어에 대한 자세한 설명은 해당 절을 참고한다.

명령어 설명

DEFINE COUNTER|DCOUNTER

카운터를 생성한다.

DELETE COUNTER|DCOUNTER

카운터를 삭제한다.

GET COUNTER|DCOUNTER

카운터의 다음 값을 가져온다.

QUERY COUNTER|DCOUNTER

카운터 정보를 가져온다.

REWIND COUNTER|DCOUNTER

최댓값에 도달한 카운터를 되돌린다.

UPDATE COUNTER|DCOUNTER

카운터의 현재 값을 업데이트한다.

3.1. DEFINE COUNTER|DCOUNTER

카운터를 생성한다.

  • 문법

    EXEC CICS DEFINE COUNTER|DCOUNTER [option …] END-EXEC.
  • 옵션

    옵션 설명

    COUNTER|DCOUNTER

    생성할 카운터의 이름을 지정한다.

    MAXIMUM

    카운터의 최댓값을 지정한다.

    MINIMUM

    카운터의 최솟값을 지정한다.

    POOL

    사용할 POOL 이름을 지정한다.

    VALUE

    생성할 카운터의 초기값을 지정한다.

3.2. DELETE COUNTER|DCOUNTER

카운터를 삭제한다.

  • 문법

    EXEC CICS DELETE COUNTER|DCOUNTER [option …] END-EXEC.
  • 옵션

    옵션 설명

    COUNTER|DCOUNTER

    삭제할 카운터의 이름을 지정한다.

    POOL

    카운터가 있는 POOL 이름을 지정한다.

3.3. GET COUNTER|DCOUNTER

카운터의 다음 값을 가져온다.

  • 문법

    EXEC CICS GET COUNTER|DCOUNTER [option …] END-EXEC.
  • 옵션

    옵션 설명

    COMPAREMAX

    카운터로부터 받아올 값이 현재 지정된 값 이하인 경우에 가져온다.

    COMPAREMIN

    카운터로부터 받아올 값이 현재 지정된 값 이상인 경우에 가져온다.

    COUNTER|DCOUNTER

    값을 가져올 카운터의 이름을 지정한다.

    INCREMENT

    값을 가져온 후의 카운터의 증가값을 지정한다.

    POOL

    카운터가 있는 POOL 이름을 지정한다.

    REDUCE

    카운터 값을 감소시킨다.

    VALUE

    가져올 값이 저장될 변수를 지정한다.

    WRAP

    카운터가 제한 값에 도달하면 자동으로 되돌아가도록 한다.

3.4. QUERY COUNTER|DCOUNTER

카운터 정보를 가져온다.

  • 문법

    EXEC CICS QUERY COUNTER|DCOUNTER [option …] END-EXEC.
  • 옵션

    옵션 설명

    COUNTER/DCOUNTER

    카운터 이름을 지정한다.

    MAXIMUM

    카운터 최댓값을 가져온다.

    MINIMUM

    카운터 최솟값을 가져온다.

    POOL

    카운터가 있는 POOL 이름을 지정한다.

    VALUE

    현재 값을 가져온다.

3.5. REWIND COUNTER|DCOUNTER

최댓값에 도달한 카운터를 되돌린다.

  • 문법

    EXEC CICS REWIND COUNTER|DCOUNTER [option …] END-EXEC.
  • 옵션

    옵션 설명

    COUNTER|DCOUNTER

    카운터 이름을 지정한다.

    INCREMENT

    카운터가 최댓값에 도달하는지 확인하기 위하여 사용할 증가값을 지정한다.

    POOL

    카운터가 있는 POOL 이름을 지정한다.

3.6. UPDATE COUNTER|DCOUNTER

카운터의 현재 값을 업데이트한다.

  • 문법

    EXEC CICS UPDATE COUNTER|DCOUNTER [option …] END-EXEC.
  • 옵션

    옵션 설명

    COMPAREMAX

    현재 설정된 값 이하인 경우에만 업데이트한다.

    COMPAREMIN

    현재 설정된 값 이상인 경우에만 업데이트한다.

    COUNTER|DCOUNTER

    카운터 이름을 지정한다.

    POOL

    카운터가 있는 POOL 이름을 지정한다.

    VALUE

    새로 설정할 값을 지정한다.

4. DB2 세션 조회

DB2 세션 조회는 사용자가 OSC 서버와 통신하는 데이터베이스로 DB2와 세션을 맺었을 때 필요한 리소스 및 설정을 조회하는 기능을 제공한다.

DB2CONN 명령어

다음은 DB2 세션 정보를 조회하는 명령어다. 애플리케이션 프로그램은 다음의 명령어를 통하여 DB2 세션에 관한 정보를 가져올 수 있다. 각 명령어에 대한 자세한 설명은 해당 절을 참고한다.

명령어 설명

INQUIRE DB2CONN

OSC와 DB2 간 세션 정보를 조회한다.

4.1. INQUIRE DB2CONN

DB2 세션 정보를 조회한다.

  • 문법

    EXEC CICS INQUIRE DB2CONN [option …] END-EXEC.
  • 옵션

    옵션 설명

    DB2ID

    OpenFrame 환경설정에 osc.{servername} 서브젝트, DB2CONN 섹션의 DB2ID 키의 VALUE 항목 값을 가져온다.

    osc.{servername} 서브젝트에 대한 자세한 내용은 OpenFrame OSC "환경설정 안내서"를 참고한다.