ACSAPI

ACSAPI는 ACS(Application Control Support system) 응용 프로그램에서 메시지를 처리하기 위한 기능이다. 본 부록에서는 현재 OpenFrame AIM에서 지원하고 있는 ACSAPI의 각 커멘드와 사용법에 대해서 설명한다.

1. MSGGET

MSGGET 커맨드는 워크스테이션에서 입력된 메시지를 수신하는 커맨드로 수신 메시지가 응용 프로그램의 입력 메시지 영역에 통지된다.

다음은 ACSAPI 커맨드의 사용 예제이다.

WORKING-STORAGE SECTION.
01 SYNC-DCOM.
   COPY COBSDCOM.

01 IN-DATA.
   02 FILLER         PIC S9(5) COMP VALUE 128.
   02 FILLER         PIC S9(5) COMP VALUE 0.
   02 DATA           PIC X(128).

   COPY CBACSAPI.

01 ACSSPA            PIC X(128).
...
PROCEDURE DIVISION.
CALL 'ACSAPI' USING MSGGET SYNC-DCOM IN-DATA ACSSPA.
  • 호출 형식

    CALL 'ACSAPI' MSGGET, DCOM, 입력 메시지 영역[, ACSSPA].
  • 파라미터

    다음은 MSGGET 커맨드를 사용하는 경우 설정하는 각 항목에 대한 설명이다.

    파라미터 설명

    MSGGET

    MSGGET 커맨드의 매크로 값인 "MSGGET"을 지정한다.

    DCOM

    응용 프로그램의 API 통신영역으로 SYNC-DCOM과 ASYNC-DCOM 중 하나를 지정한다.

    • SYNC-DCOM : 제어권이 있는 통신일 경우 지정하며 응용 프로그램 안에 반드시 1개가 필요하다.

    • ASYNC-DCOM : 제어권이 없는 통신일 경우 지정하며 임의로 필요한 만큼 기술한다.

    입력 메시지 영역

    AIM으로부터 수신한 데이터를 저장할 메시지 영역 이름을 지정한다.

    SPA

    SYNC-DCOM을 사용할 경우 SPA 데이터를 저장할 영역의 이름을 지정한다.

    • SYNC-DCOM 일 때, SPA 영역은 생략 가능하다.

    • ASYNC-DCOM일 때, SPA 영역을 지정할 수 없다.

2. MSGPUT

MSGPUT 커맨드는 응용 프로그램에서 송신한 메시지를 워크스테이션에 출력하는 커맨드로, 응용 프로그램의 출력 메시지 영역에 저장한 내용이 워크스테이션에 출력된다.

다음은 MSGPUT 커맨드의 사용 예제이다.

WORKING-STORAGE SECTION.
01 SYNC-DCOM.
   COPY COBSDCOM.

01 OUT-DATA.
   02 FILLER         PIC S9(5) COMP VALUE 128.
   02 FILLER         PIC S9(5) COMP VALUE 0.
   02 DATA           PIC X(128).

   COPY CBACSAPI.

01 ACSSPA            PIC X(128).
...
PROCEDURE DIVISION.
    MOVE     SPACE   TO    SMODE  OF SYNC-DCOM.
    MOVE     SPACE   TO    OPTC   OF SYNC-DCOM.
    MOVE    'FMT001' TO    FMID   OF SYNC-DCOM.
CALL 'ACSAPI' USING MSGPUT SYNC-DCOM OUT-DATA ACSSPA.
  • 호출 형식

    CALL 'ACSAPI' MSGPUT, DCOM, 출력 메시지 영역[, ACSSPA].
  • 파라미터

    다음은 MSGPUT 커맨드를 사용하는 경우 설정하는 각 항목에 대한 설명이다.

    파라미터 설명

    MSGPUT

    MSGPUT 커맨드의 매크로 값인 "MSGPUT"을 지정한다.

    DCOM

    응용 프로그램의 API 통신영역으로 SYNC-DCOM을 지정한다.

    • SYNC-DCOM : 제어권이 있는 통신 일 경우 지정한다.

    • ASYNC-DCOM : 제어권이 없는 통신에 지정하기 때문에 사용해서는 안된다.

    출력 메시지 영역

    발신할 데이터가 저장된 메시지 영역 이름을 지정한다.

    SPA

    SYNC-DCOM을 사용할 경우 워크스테이션으로 전송할 SPA 데이터 영역의 이름을 지정한다.

    • SPA 영역은 생략 가능하다.

    • 세션 종료 시, DCOM의 SPAL에 -1을 설정한다.

3. SWITCH

SWITCH 커맨드는 응용 프로그램 간 통신을 수행하는 커맨드로, 응용 프로그램의 출력 메시지 영역의 내용이 다른 응용 프로그램의 입력 메시지 영역에 전송된다.

다음은 SWITCH 커맨드의 사용 예제이다.

WORKING-STORAGE SECTION.
01 SYNC-DCOM.
   COPY COBSDCOM.

01 OUT-DATA.
   02 FILLER         PIC S9(5) COMP VALUE 128.
   02 FILLER         PIC S9(5) COMP VALUE 0.
   02 DATA           PIC X(128).

   COPY CBACSAPI.

01 ACSSPA            PIC X(128).
...
PROCEDURE DIVISION.
    MOVE    'APL001'  TO    NAME  OF  SYNC-DCOM.
    MOVE     24       TO    MSGL  OF  SYNC-DCOM.
    MOVE    SPACE     TO    OPTC  OF  SYNC-DCOM.
CALL 'ACSAPI' USING SWITCH SYNC-DCOM OUT-DATA ACSSPA.
  • 호출 형식

    CALL 'ACSAPI' SWITCH, DCOM, 출력 메시지 영역[, ACSSPA].
  • 파라미터

    다음은 SWITCH 커맨드를 사용하는 경우 설정하는 각 항목에 대한 설명이다.

    파라미터 설명

    SWITCH

    SWITCH 커맨드의 매크로 값인 "SWITCH"를 지정한다.

    DCOM

    응용 프로그램의 API 통신영역으로 SYNC-DCOM과 ASYNC-DCOM 중 하나를 지정한다.

    • SYNC-DCOM : 제어권이 있는 통신 일 경우 지정한다.

    • ASYNC-DCOM : 제어권이 없는 통신일 경우 지정한다.

    출력 메시지 영역

    발신할 데이터가 저장된 메시지 영역 이름을 지정한다.

    SPA

    SYNC-DCOM을 사용할 경우 SPA 데이터를 저장할 영역의 이름을 지정한다.

    • SYNC-DCOM 일 때, SPA 영역은 생략 가능하다.

    • ASYNC-DCOM일 때, SPA 영역을 지정할 수 없다.

4. VGET

VGET 커맨드는 응용 프로그램에서 VSAM 데이터셋 레코드를 입력하는 커맨드로, 현재는 KSDS 형식의 데이터셋만 지원한다.

다음은 VGET 커맨드의 사용 예제이다.

WORKING-STORAGE SECTION.
01 VCOM.
   COPY COBVCOM.

01 DD-NAME           PIC X(8) VALUE 'VSAMDAT '.
01 INPUT-DATA.
   02 IN-KEY.
   02 IN-DATA           PIC X(128).

   COPY CBACSAPI.
...
PROCEDURE DIVISION.
    MOVE    'DIR'    TO    VOPTCD02.
    MOVE    'KEQ'    TO    VOPTCD05.
    MOVE    'FWD'    TO    VOPTCD09 .
    MOVE     200     TO    VAREALEN.
    MOVE     9       TO    VKEYLEN.
CALL 'ACSAPI' USING VGET DD-NAME VCOM INPUT-DATA IN-KEY.
  • 호출 형식

    CALL 'ACSAPI' VGET, DD 이름, VCOM, 입력 레코드 이름[, 액세스 키].
  • 파라미터

    다음은 VGET 커맨드를 사용하는 경우 설정하는 각 항목에 대한 설명이다.

    파라미터 설명

    VGET

    VGET 커맨드의 매크로 값인 "VGET"를 지정한다.

    DD 이름

    액세스하려는 데이터셋의 이름을 지정한다. 8바이트 문자열로 공백이 포함된다.

    VCOM

    VCOM(VSAM-Communication Area) 영역의 이름을 지정한다.

    입력 레코드 이름

    VSAM 데이터셋에서 읽어온 데이터를 저장할 입력 레코드 영역의 이름을 지정한다.

    액세스 키

    액세스 키가 저장된 영역의 이름을 지정한다.

5. VPUT

VPUT 커맨드는 응용 프로그램에서 VSAM 데이터셋 레코드를 출력하는 커맨드이다.

다음은 VPUT 커맨드의 사용 예제이다.

WORKING-STORAGE SECTION.
01 VCOM.
   COPY COBVCOM.

01 DD-NAME           PIC X(8) VALUE 'VSAMDAT '.
01 OUTPUT-DATA.
   02 OUT-KEY.
   02 OUT-DATA       PIC X(128).

   COPY CBACSAPI.
...
PROCEDURE DIVISION.
CALL 'ACSAPI' USING VPUT DD-NAME VCOM OUTPUT-DATA OUT-KEY.
  • 호출 형식

    CALL 'ACSAPI' VPUT DD 이름, VCOM, 출력 레코드 이름[, 액세스 키].
  • 파라미터

    다음은 VPUT 커맨드를 사용하는 경우 설정하는 각 항목에 대한 설명이다.

    파라미터 설명

    VPUT

    VPUT 커맨드의 매크로 값인 "VPUT"를 지정한다.

    DD 이름

    액세스하려는 데이터셋의 이름을 지정한다. 8바이트 문자열로 공백이 포함된다.

    VCOM

    VCOM(VSAM-Communication Area) 영역의 이름을 지정한다.

    출력 레코드 이름

    VSAM 데이터셋에 저장할 출력레코드 영역의 이름을 지정한다.

    ACCESS-KEY

    액세스 키가 저장된 영역의 이름을 지정한다.

6. VPOINT

VPOINT 커맨드는 순차 처리로 레코드를 참조하는 경우(VOPTCD02=SEQ), 처리 시작 위치를 미리 지정하여 해당 위치부터 순차적으로 레코드를 처리하기 위해 사용된다. 사용자는 지정한 키에 대해 전체 일치(VOPTCD06=FKS) 또는 일부 일치(VOPTCD06=GEN) 방식을 선택할 수 있다.

다음은 VPOINT 커맨드의 사용 예제이다.

WORKING-STORAGE SECTION.
01 VCOM.
   COPY COBVCOM.

01 DD-NAME           PIC X(8) VALUE 'VSAMDAT '.
01 VSAM-DATA.
   02 VSAM-KEY        PIC X(8).
   02 VSAM-DATA       PIC X(72).

   COPY CBACSAPI.
...
PROCEDURE DIVISION.
CALL 'ACSAPI' USING VPOINT DD-NAME VCOM VSAM-KEY.
  • 호출 형식

    CALL 'ACSAPI' VPOINT DD 이름, VCOM, 액세스 키.
  • 파라미터

    다음은 VPOINT 커맨드를 사용하는 경우 설정하는 각 항목에 대한 설명이다.

    파라미터 설명

    VPOINT

    VPOINT 커맨드의 매크로 값인 "VPOINT"를 지정한다.

    DD 이름

    액세스하려는 데이터셋의 이름을 지정한다. 8바이트 문자열로 공백이 포함된다.

    VCOM

    VCOM(VSAM-Communication Area) 영역의 이름을 지정한다.

    ACCESS-KEY

    액세스 키가 저장된 영역의 이름을 지정한다.

7. VENDREQ

VENDREQ 커맨드는 VSAM의 순차 검색 처리 시 설정된 레코드 위치를 해제하는 데 사용된다. VENDREQ를 지정하면 순차 검색(VOPTCD02=SEQ)에 대해 현재 레코드의 위치 설정이 해제되고, 초기 위치로 설정된다.

다음은 VPUT 커맨드의 사용 예제이다.

WORKING-STORAGE SECTION.
01 VCOM.
   COPY COBVCOM.

01 DD-NAME           PIC X(8) VALUE 'VSAMDAT '.
01 OUTPUT-DATA.
   02 OUT-KEY.
   02 OUT-DATA       PIC X(128).

   COPY CBACSAPI.
...
PROCEDURE DIVISION.
CALL 'ACSAPI' USING VENDREQ DD-NAME VCOM.
  • 호출 형식

    CALL 'ACSAPI' VENDREQ DD 이름, VCOM.
  • 파라미터

    다음은 VENDREQ 커맨드를 사용하는 경우 설정하는 각 항목에 대한 설명이다.

    파라미터 설명

    VENDREQ

    VENDREQ 커맨드의 매크로 값인 "VENDREQ"를 지정한다.

    DD 이름

    액세스하려는 데이터셋의 이름을 지정한다. 8바이트 문자열로 공백이 포함된다.

    VCOM

    VCOM(VSAM-Communication Area) 영역의 이름을 지정한다.

8. DSREAD

DSREAD 커맨드는 응용 프로그램에서 BDAM 데이터셋 레코드를 입력하는 커맨드이다.

다음은 DSREAD 커맨드의 사용 예제이다.

WORKING-STORAGE SECTION.
01 DD-NAME           PIC X(8) VALUE 'BDAMDAT '.
01 IN-DATA.
   02 DATA-F           PIC X(128).
01 DD-ADDR             PIC 9(8) COMP.

   COPY CBACSAPI.
...
PROCEDURE DIVISION.
CALL 'ACSAPI' USING DSREAD DD-NAME IN-DATA DD-ADDR.
  • 호출 형식

    CALL 'ACSAPI' DSREAD, DD-NAME, 입력 데이터 영역 이름, RBN.
  • 파라미터

    다음은 DSREAD 커맨드를 사용하는 경우 설정하는 각 항목에 대한 설명이다.

    파라미터 설명

    DSREAD

    DSREAD 커맨드의 매크로 값인 "DSREAD"를 지정한다.

    DD-NAME

    처리할 BDAM 데이터셋의 이름을 지정한다.

    입력 데이터 영역 이름

    BDAM 데이터셋에서 읽어온 데이터를 저장할 입력데이터 영역 이름을 지정한다.

    RBN

    RBN(Related Block Number) 값을 지정한다.

9. DSWRITE

DSWRITE 커맨드는 응용 프로그램에서 BDAM 데이터셋 레코드를 출력하는 커맨드이다.

다음은 DSWRITE 커맨드의 사용 예제이다.

WORKING-STORAGE SECTION.
01 DD-NAME           PIC X(8) VALUE 'BDAMDAT '.
01 OUT-DATA.
   02 DATA-F           PIC X(128).
01 DD-ADDR             PIC 9(8) COMP.

   COPY CBACSAPI.
...
PROCEDURE DIVISION.
CALL 'ACSAPI' USING DSWRITE DD-NAME OUT-DATA DD-ADDR.
  • 호출 형식

    CALL 'ACSAPI' DSWRITE, DD-NAME, 출력 데이터 영역 이름, RBN.
  • 파라미터

    다음은 DSWRITE 커맨드를 사용하는 경우 설정하는 각 항목에 대한 설명이다.

    파라미터 설명

    DSWRITE

    DSWRITE 커맨드의 매크로 값인 "DSWRITE"를 지정한다.

    DD-NAME

    처리할 BDAM 데이터셋의 이름을 지정한다.

    출력 데이터 영역 이름

    BDAM 데이터셋에 저장할 출력데이터 영역의 이름을 지정한다.

    RBN

    RBN(Related Block Number) 값을 지정한다.

10. URGPUT

URGPUT 커맨드는 워크스테이션에 긴급 메시지 출력을 수행하는 커맨드로, 응용 프로그램의 출력 메시지 영역의 내용이 워크스테이션으로 송신된다.

다음은 URGPUT 커맨드의 사용 예제이다.

WORKING-STORAGE SECTION.
01 ASYNC-DCOM.
   COPY COBSDCOM.

01 OUT-DATA.
   02 PUT-MSG           PIC X(128).

   COPY CBACSAPI.
...
PROCEDURE DIVISION.
    MOVE    SPACE      TO  OPTC OF ASYNC-DCOM.
    MOVE    'FMT001'   TO  FMID OF ASYNC-DCOM.
    MOVE    'WS0001'   TO  NAME OF ASYNC-DCOM.
CALL 'ACSAPI' USING URGPUT ASYNC-DCOM PUT-MSG.
  • 호출 형식

    CALL 'ACSAPI' URGPUT, DCOM, 출력 메시지 영역 이름.
  • 파라미터

    다음은 URGPUT 커맨드를 사용하는 경우 설정하는 각 항목에 대한 설명이다.

    파라미터 설명

    URGPUT

    URGPUT 커맨드의 매크로 값인 "URGPUT"를 지정한다.

    DCOM

    응용 프로그램의 API 통신영역으로 ASYNC-DCOM을 지정한다. SYNC-DCOM은 사용할 수 없다.

    출력 메시지 영역 이름

    긴급 메시지가 저장된 출력 메시지 영역 이름을 지정한다.

11. ACSEXT

ACSEXT(또는 XTRNAL) 커맨드는 다른 ACS 또는 AIM 시스템의 응용 프로그램에 메시지를 보내기 위한 커맨드이다.

다음은 ACSEXT 커맨드의 사용 예제이다.

WORKING-STORAGE SECTION.
01 ASYNC-DCOM.
   COPY COBSDCOM.

01 OUT-DATA.
   02 FILLER         PIC S9(5) COMP VALUE 128.
   02 FILLER         PIC S9(5) COMP VALUE 0.
   02 DATA           PIC X(128).

   COPY CBACSAPI.
...
PROCEDURE DIVISION.
    MOVE    SPACE    TO  NAME  OF ASYNC-DCOM.
    MOVE   'APL001'  TO  SNAME OF ASYNC-DCOM.
    MOVE    128      TO  MSGL  OF ASYNC-DCOM.
    MOVE    SPACE    TO  OPTC  OF ASYNC-DCOM.
CALL 'ACSAPI' USING ACSEXT ASYNC-DCOM OUT-DATA.
  • 호출 형식

    CALL 'ACSAPI' ACSEXT(또는 XTRNAL), DCOM, 출력메시지.
  • 파라미터

    다음은 ACSEXT(또는 XTRNAL) 커맨드를 사용하는 경우 설정하는 각 항목에 대한 설명이다.

    파라미터 설명

    ACSEXT(또는 XTRNAL)

    ACSEXT 커맨드의 매크로 값인 "ACSEXT" 또는 XTRNAL 커맨드의 매크로 값인 "XTRNAL"을 지정한다.

    DCOM

    응용 프로그램의 API 통신 영역으로 ASYNC-DCOM을 지정한다. SYNC-DCOM은 사용할 수 없다.

    출력메시지

    다른 시스템에 전달할 메시지가 저장된 출력 메시지 영역 이름을 지정한다.

12. ACSNOTE

ACSNOTE 커맨드는 응용 프로그램에서 비정상 종료 출구 루틴에서 사용되며 비정상 출구 루틴은 비정상 원인을 분석하기 위한 정보를 통지한다.

다음은 ACSNOTE 커맨드의 사용 예제이다.

WORKING-STORAGE SECTION.
01 ABEND-DATA.
   02 APLNAME          PIC X(8).
   02 FILLER           PIC X(4).
   02 ABEND-LIMIT      PIC 9(02) COMP.
   02 ABEND-COUNT      PIC 9(02) COMP.

   COPY CBACSAPI.
...
PROCEDURE DIVISION.
CALL 'ACSAPI' USING ACSNOTE ABEND-DATA.
  • 호출 형식

    CALL 'ACSAPI' ACSNOTE, ABEND 알림 영역.
  • 파라미터

    다음은 ACSNOTE 커맨드를 사용하는 경우 설정하는 각 항목에 대한 설명이다.

    파라미터 설명

    ACSNOTE

    ACSNOTE 커맨드의 매크로 값인 "ACSNOTE"를 지정한다.

    ABEND 알람 영역

    ACS 정보의 통지 영역을 지정하며 통지 영역에는 애플리케이션 이름, ABEND LIMIT 값 및 ABEND 횟수를 포함한다.

13. APABEND

APABEND 커맨드는 응용 프로그램을 비정상적으로 종료하는 커맨드이다.

다음은 APABNED 커맨드의 사용 예제이다.

WORKING-STORAGE SECTION.
   COPY CBACSAPI.
...
PROCEDURE DIVISION.
CALL 'ACSAPI' USING APABEND.
  • 호출 형식

    CALL 'ACSAPI' APABEND.
  • 파라미터

    다음은 APABEND 커맨드를 사용하는 경우 설정하는 각 항목에 대한 설명이다.

    파라미터 설명

    APABEND

    APABEND 커맨드의 매크로 값인 "APABEND"를 지정한다.

14. VCOM

응용 프로그램에서 VSAM에 대한 ACS API를 사용하려면, 통신 영역인 VCOM(VSAM-Communication) 영역을 지정해야 한다.

다음은 VCOM에 대한 정의이다.

       01  VCOM-AREA.
            03  VOPTCD.
              05  VOPTCD01         PIC X(4) VALUE IS 'KEY '.
              05  VOPTCD02         PIC X(4) VALUE IS 'SEQ '.
              05  VOPTCD03         PIC X(4) VALUE IS 'SYN '.
              05  VOPTCD04         PIC X(4) VALUE IS 'NUP '.
              05  VOPTCD05         PIC X(4) VALUE IS 'KEQ '.
              05  VOPTCD06         PIC X(4) VALUE IS 'FKS '.
              05  VOPTCD07         PIC X(4) VALUE IS 'MVE '.
              05  VOPTCD08         PIC X(4) VALUE IS 'ARD '.
              05  VOPTCD09         PIC X(4) VALUE IS 'FWD '.
              05  VOPTCD10         PIC X(4) VALUE IS 'NWA '.
            03  VRTNCD.
              05  VMJR PIC X(2) VALUE IS '00'.
              05  VMNR PIC X(2) VALUE IS '00'.
            03  VACB PIC 9(8) COMP VALUE IS 0.
            03  VAIXPC           PIC 9(8) COMP VALUE IS 0.
            03  VAREA PIC 9(8) COMP VALUE IS 0.
            03  VAREALEN         PIC 9(8) COMP VALUE IS 0.
            03  VARG PIC 9(8) COMP VALUE IS 0.
            03  VECB PIC 9(8) COMP VALUE IS 0.
            03  VFDBK.
              05  VFDBK1           PIC 9(4) COMP VALUE IS 0.
              05  VFDBK2           PIC 9(4) COMP VALUE IS 0.
            03  VFTNCD           PIC 9(8) COMP VALUE IS 0.
            03  VKEYLEN          PIC 9(8) COMP VALUE IS 0.
            03  VMSGAREA         PIC 9(8) COMP VALUE IS 0.
            03  VMSGLEN          PIC 9(8) COMP VALUE IS 0.
            03  VNXTRPL          PIC 9(8) COMP VALUE IS 0.
            03  VRBA PIC 9(8) COMP VALUE IS 0.
            03  VRECLEN          PIC 9(8) COMP VALUE IS 0.
            03  VTRANSID         PIC 9(8) COMP VALUE IS 0.
            03  VRSV.
              05  VRSV1 PIC 9(8) COMP VALUE IS 0.
              05  VRSV2 PIC 9(8) COMP VALUE IS 0.
              05  VRSV3 PIC 9(8) COMP VALUE IS 0.
              05  VRSV4 PIC 9(8) COMP VALUE IS 0.
              05  VRSV5 PIC 9(8) COMP VALUE IS 0.
              05  VRSV6 PIC 9(8) COMP VALUE IS 0.
  • 파라미터

    다음은 VCOM 영역의 각 항목에 대한 설명이다.

    파라미터 설명

    VOPTCD

    응용 프로그램의 VSAM 데이터셋에 대한 처리 방법을 지정한다.

    VTRNCD

    레코드 입출력 요청의 리턴 코드이다. (현재 지원하지 않는다)

    VAREALEN

    응용 프로그램의 입출력 레코드 영역의 길이를 지정한다.

    VFDBK

    레코드 입출력 요청의 VSAM 리턴 코드이다.

    VFTNCD

    물리 에러가 발생했을 때의 기능 코드이다. (현재 지원하지 않는다)

    VKEYLEN

    키 값을 지정하는 경우, 해당 키의 길이를 함께 지정한다.

    VRBA

    마지막으로 처리한 RBA가 반환된다. (현재 지원하지 않는다)

    VRECLEN

    레코드 입출력 시의 데이터 레코드 길이를 지정한다. (현재 지원하지 않는다)

ACSAPI의 VCOM에서 사용하는 VOPTCD의 값과 의미는 다음과 같다.

  • VOPTCD

    다음은 VOPTCD의 각 항목에 대한 설명이다.

    파라미터 설명

    VOPTCD01

    ADR

    KSDS 또는 ESDS에 대해 주소값을 기준으로 레코드에 액세스한다.

    VOPTCD01

    KEY

    KSDS 또는 RRDS에 대해 RRN이나 지정한 키 값을 기준으로 레코드에 액세스한다. (기본값)

    VOPTCD02

    DIR

    KSDS, ESDS 또는 RRDS에 대해 직접 액세스를 수행한다.

    VOPTCD02

    SEQ

    KSDS, ESDS 또는 RRDS에 대해 순차 액세스를 수행한다. (기본값)

    VOPTCD02

    SKP

    현재 지원하지 않는다.

    VOPTCD03

    SYN

    VSAM 요청의 실행이 완료되면 사용자 프로그램으로 복귀한다.

    VOPTCD04

    NSP

    VSAM은 순차 처리를 계속하기 위해 레코드의 위치를 기억한다. (현재 지원하지 않는다)

    VOPTCD04

    NUP

    검색 레코드는 갱신 및 삭제 대상이 아니다. (현재 지원하지 않는다)

    VOPTCD04

    UPD

    검색 레코드는 갱신 및 삭제 대상이다. (기본값)

    VOPTCD05

    KEQ

    지정한 키 값과 동일한 키 값이 전체 또는 일부와 일치하는 레코드를 검색한다. (기본값)

    VOPTCD05

    KGE

    지정한 키 값과 전체 또는 일부가 일치 하거나, 혹은 그 다음으로 큰 키 값을 가진 레코드를 검색한다.

    VOPTCD06

    FKS

    VGET 또는 VPOINT 처리 시, 지정한 키를 레코드의 키 값으로 처리한다. (기본값)

    VOPTCD06

    GEN

    VGET 또는 VPOINT 처리 시, 지정한 키를 레코드 키 값의 일부로 처리한다.

    VOPTCD07

    MVE

    현재 지원하지 않는다.

    VOPTCD08

    ARD

    현재 지원하지 않는다.

    VOPTCD08

    LRD

    현재 지원하지 않는다.

    VOPTCD09

    FWD

    데이터를 앞으로 이동하며 순차 처리 방식으로 검색한다. (기본값)

    VOPTCD09

    BWD

    데이터를 뒤로 이동하며 순차 처리 방식으로 검색한다.

    VOPTCD10

    NWA

    현재 지원하지 않는다.

FDBK는 VSAM에 대한 접근 처리에 대한 결과를 의미한다.

  • FDBK

    다음은 FDBK의 값에 대한 설명이다.

    VFDBK1 VFDBK2 설명

    0

    0

    레코드에 대한 처리가 정상적으로 수행되었다.

    0

    4

    KEY가 중복된 레코드에 대한 처리가 수행되었다.

    8

    4

    순차 접근 시 파일의 마지막 레코드에 도달했거나, VTOPCD05가 KGE로 지정된 상태에서 검색 대상 레코드가 없을 때 발생한다.

    8

    8

    동일한 키를 갖는 레코드가 존재한다.

    8

    16

    VOPTCD05=KEQ를 지정하여 특정 키 값에 해당하는 레코드의 위치를 지정했으나, 해당 키를 갖는 레코드를 검색하지 못하였다.

    12

    4

    데이터셋을 읽는 중 오류가 발생하였다.

    12

    16

    데이터셋을 쓰는 중 오류가 발생하였다.