JXALOCSI
JXALOCSI는 애플리케이션에서 OCS(Operation Control Service) 매크로를 사용하기 위한 기능이다. 본 부록에서는 OCS의 각 매크로 기능과 사용법에 대해서 설명한다.
1. OCSUSE
OCSUSE 매크로는 응용 프로그램이 OCS 기능을 이용하는 것을 선언하는 매크로이다.
다음은 OCSUSE 매크로 예제이다.
WORKING-STORAGE SECTION. 77 OCSUSE PIC X(8) VALUE 'OCSUSE '. ... PROCEDURE DIVISION. CALL 'JXALOCSI' USING OCSUSE.
-
파라미터
다음은 OCSUSE 매크로를 사용하는 경우 설정하는 각 항목에 대한 설명이다.
파라미터 설명 OCSUSE
OCS 이용 선언 매크로의 매크로인명 "OCSUSE "을 지정한다.
2. OCSOTUSE
OCSOTUSE 매크로는 응용 프로그램이 OCS 기능 사용을 끝내는 것을 선언하는 매크로이다.
다음은 OCSOTUSE 매크로 예제이다.
WORKING-STORAGE SECTION. 77 OCSOTUSE PIC X(8) VALUE 'OCSOTUSE'. ... PROCEDURE DIVISION. CALL 'JXALOCSI' USING OCSOTUSE.
-
파라미터
다음은 JCVKISC를 호출하는 경우에 사용하는 각 항목에 대한 설명이다.
파라미터 설명 OCSOTUSE
OCS 이용 종료 선언 매크로의 매크로인명 "OCSOTUSE "을 지정한다.
3. PUTCMD
PUTCMD 매크로는 응용 프로그램으로부터 AIM 커맨드를 발행하는 경우 사용되는 매크로이다.
다음은 PUTCMD 매크로 예제이다.
WORKING-STORAGE SECTION. 77 PUTCMD PIC X(8) VALUE 'PUTCMD '. 77 RTN PIC 9(4). 77 R PIC 9(4) VALUE 1. 77 C PIC 9(4) VALUE 0. 77 M PIC 9(4) VALUE 1. 77 W PIC 9(4) VALUE 0. 77 S PIC 9(4) VALUE 180. 77 T PIC 9(5) VALUE 300. 01 CMDAREA. 02 FILLER PIC S9(4) COMP VALUE 132. 02 FILLER PIC S9(4) COMP VALUE 0. 02 CMDDATA PIC X(128). 01 IDCARD. 02 BOXID PIC X(8). 02 FILLER PIC X(4). 01 ANSAREA. 02 FILLER PIC X(12). 02 MID PIC X(2). 02 FILLER PIC X(8). 02 CMD PIC X(8). 02 FILLER PIC X(8). 02 SCMD PIC X(8). 02 FILLER PIC X(8). 02 CI PIC X(8). 02 FILLER PIC X(118). ... PROCEDURE DIVISION. MOVE 'SLOGON UGSSSC04,OIVPPROC' TO CMDDATA. CALL 'JXALOCSI' USING PUTCMD RTN REQOPT CMDOPT MSGOPT RPLOPT CMDAREA IDCARD ANSAREA AREASIZE TIMEOUT.
-
파라미터
다음은 PUTCMD 매크로를 사용하는 경우 설정하는 각 항목에 대한 설명이다.
파라미터 설명 PUTCMD
커맨드 발행 매크로의 매크로인명 "PUTCMD "을 지정한다.
RTN
복귀 코드를 받는 영역을 지정한다.
REQOPT
의뢰 형태를 지정한다.
-
C'0000' : 비동기 처리 요청
-
C'0001' : 동기 처리 요청
-
C'0002' : 응답을 기다리지 않고 즉시 반환
C'0000’으로 지정한 경우에는 IDCARD 파라미터의 지정이 필수이며, 그 외의 파라미터는 지정할 수 없다. 또한, C'0001’로 지정한 경우에는 ANSAREA, AREASIZE, TIMEOUT 파라미터의 지정이 필수이다.
CMDOPT
발행 커맨드 종류를 지정한다.
-
C'0000' : AIM 커맨드
-
C'0002' : OS 커맨드
MSGOPT
발행 커맨드의 내용을 콘솔에 출력하지 여부를 지정한다.
-
C'0000' : 메시지를 출력하지 않음
-
C'0001' : 메시지를 출력함 (현재 미지원)
RPLOPT
발행 커맨드의 처리 과정에서 문의가 있는 경우 문의 방법에 대해서 지정한다.
-
C'0000' : 시스템 관리자에게 문의
CMDAREA
발행할 AIM 커맨드의 내용을 지정한다.
IDCARD
의뢰 형태를 비동기형 응답으로 지정한 경우, OPENBOX 매크로 발행 시의 ID카드를 그대로 지정한다.
ANSAREA
의뢰 형태를 동기형 응답으로 지정한 경우 커맨드 응답을 받는 영역을 지정한다.
AREASIZE
의뢰 형태를 동기형 응답으로 지정한 경우 커맨드 응답 영역의 크기를 지정한다.
TIMEOUT
의뢰 형태를 동기형 응답으로 지정한 경우, 커맨드 응답 대기 시간을 지정한다. TIMEOUT은 0부터 65535까지 지정할 수 있으며, 지정하지 않은 경우에는 65535가 적용된다.
-
-
반환값
PUTCMD 매크로 복귀 코드를 반환하는 RTN 값에 대한 설명이다.
RTN 설명 C'0000'
PUTCMD 매크로 정상종료된 경우 반환하는 값이다.
PUTCMD 매크로로 발행한 AIM 커맨드 처리 결과를 반환하는 ANSAREA의 MID값에 대한 설명이다.
MID 설명 A1
커맨드가 정상 처리되었을때 반환하는 값이다.
E0
커맨드의 기술에 문제가 있는 경우 반환하는 값이다.
R1
커맨드의 처리에 문제가 있는 경우 반환하는 값이다.
W1
오퍼랜드로 지정한 WS이 이미 사용 중인 경우 반환하는 값이다.
PUTCMD 매크로로 'STOP ACP' 커맨드를 발행한 경우에는 ANSAREA의 PRFX영역에 다음의 값이 지정된다.
PRFX 설명 G417
커맨드가 정상 처리되었다.
G410
지정한 JOB을 종료하려고 하였으나, TIMEOUT 시간 내에 JOB을 종료하지 못했다.
G414
지정한 JOB이 미기동 상태이다.
-
PUTCMD의 ANSAREA
항목명 타입 길이 설명 길이
Binary
2
ANSAREA 영역의 길이이다. 현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
예약 항목
Char
2
MID 항목명
Char
6
현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
MID 코드
Char
2
현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
MID
Char
2
커맨드 처리 결과이다.
CMD 항목명
Char
6
현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
CMD 코드
Char
2
현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
CMD
Char
8
현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
SCMD 항목명
Char
6
현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
SCMD 코드
Char
2
현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
SCMD
Char
8
현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
CI 항목명
Char
8
현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
CI
Char
8
현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
PRFX 항목명
Char
6
현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
PRFX 코드
Char
2
'STOP ACP' 커맨드의 처리 결과이다. 이외에는 공백이다.
PRFX
Char
4
현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
ADD
Char
6
현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
ADD 길이
Binary
2
현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
ADD
Char
32
현재는 지원하지 않으며, 호스트와의 호환성을 위해 유지한다.
예약 항목
Char
66