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
데이터셋을 쓰는 중 오류가 발생하였다.