KZAAPI
KZAAPI는 COBOL 애플리케이션(사용자 프로그램)에서 DTS를 이용하기 위한 인터페이스이다. OpenFrame에서는 DTS의 일부 서비스인 SNDFILE과 RCVFILE 기능을 지원하며 FTP 프로토콜을 사용하여 파일을 송수신한다. 본 부록에서는 KZAAPI를 사용하기 위해 작성하는 호출 형식과 파라미터에 대해 설명한다.
-
호출 형식
CALL "KZAAPI" USING P-intlvl P-reqcode P-rc P-service P-parm1 P-parm2 ... P-parm.
-
파라미터
다음은 KZAAPI의 각 파라미터 항목에 대한 설명이다.
-
P-intlvl
인터페이스 레벨이 저장되는 영역이다. 인터페이스 레벨은 C'11’을 지정하지만, OPNDTS, CLSDTS의 경우에는 C'20’을 지정한다. OpenFrame에서는 SNDFILE, RCVFILE만 지원하므로 C'11’을 지정한다.
-
P-reqcode
요청 코드를 지정한다.
요청명 코드 비고 OPNDTS
C'21'
OpenFrame에서는 지원하지 않는다.
CLSDTS
C'22'
OpenFrame에서는 지원하지 않는다.
SNDFILE
C'01'
RCVFILE
C'02'
GETINF
C’12'
OpenFrame에서는 지원하지 않는다.
FTRNRSP
C’06'
OpenFrame에서는 지원하지 않는다.
TRANCOMP
C’14'
OpenFrame에서는 지원하지 않는다.
CANCEL
C’05'
OpenFrame에서는 지원하지 않는다.
INQUIRE
C’07'
OpenFrame에서는 지원하지 않는다.
VARY
C’08'
OpenFrame에서는 지원하지 않는다.
SNDMSG, SNDMSG(NODE)
C’18'
OpenFrame에서는 지원하지 않는다.
MSGRSP
C’19'
OpenFrame에서는 지원하지 않는다.
EXECUTE, EXECUTE(NODE)
C’20'
OpenFrame에서는 지원하지 않는다.
-
P-rc
처리 결과 및 완료 결과를 지정한다. 오류 분류 코드 2바이트, 오류 코드 2바이트, 상세 코드 4바이트, 예비 8바이트로 구성된다.
-
P-Service
각 서비스 요청에 대한 파라미터를 지정하는 영역이다. 파라미터는 가변이며 마지막 파라미터는 C’FF’값이다. 각 파라미터는 식별자(처음 2바이트)와 값으로 구성된다. OpenFrame에서는 SNDFILE과 RCVFILE만 지원한다.
다음은 SNDFILE 항목에 대한 설명이다.
구분 파라미터 코드 설명 공통
의뢰 식별자
C'90'
사용자가 임의의 값을 설정한다. 해당 값은 파일 전송 완료 통지에 포함되어 있으며 파일 전송 의뢰 등을 조회할 경우 사용된다.
의뢰값
C'91'
의뢰 형태를 다음과 같이 지정한다.
-
0: 공백 값 (생략치)
-
1: 완료 복귀값
OpenFrame에서는 미지원한다.
응용 프로그램명
C'92'
SNDFILE 서비스를 의뢰한 응용 프로그램의 이름을 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다.
응용 프로그램 동작 환경
C'26'
의뢰 형태가 빈값일 경우 파일 전송 완료 통지처의 응용 프로그램의 동작 환경을 아래와 같은 형식으로 지정한다.
-
1 : TSS 환경에서 동작하는 사용자 프로그램
-
2 : 배치 환경에서 동작하는 응용 프로그램 (생략치)
OpenFrame에서는 미지원한다.
완료 통지처의 응용 프로그램명
C'25'
의뢰 형태가 빈값일 경우 파일 전송 완료 통지처의 응용 프로그램명을 왼쪽 채우기로 지정하고 나머지 값은 공백으로 채운다. 해당 파라미터를 생략할 경우 SNDFILE 서비스를 의뢰한 사용자 프로그램으로 파일 전송 완료를 통지한다. OpenFrame에서는 생략한 것처럼 동작한다.
상대노드명
C'01'
상대 노드명을 왼쪽 채우기로 지정하고 나머지 값은 공백으로 채운다.
어소시에이션
C'02'
파일 전송 서비스가 완료되었을 때 어소시에이션을 계속할지 여부를 지정한다.
-
1 : 절단한다.
-
2 : 계속한다. (생략치)
OpenFrame에서는 지정 여부와 관계없이 전송 서비스가 완료되었을 때 어소시에이션을 절단한다.
Local
파일명
C'03'
파일명을 왼쪽 채우기로 지정하고 나머지 값은 공백으로 채운다.
멤버명
C'04'
구분 편성 파일의 경우 맴버명을 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다.
파일 할당
C'05'
다른 작업과 공유할 수 있도록 파일을 할당할지 여부를 지정한다.
-
0 : 공용으로 할당한다. (생략치)
-
1 : 배타적으로 할당한다.
장치 그룹명
C'16'
파일이 카탈로그 되지 않을 경우 장치 그룹 이름을 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. 장치 그룹명을 지정할 경우 볼륨 번호도 함께 지정한다.
볼륨번호
C'06'
파일이 카탈로그 되어 있지 않은 경우 볼륨 번호를 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. 볼륨 번호를 지정하는 경우 장치 그룹명도 함께 지정한다.
Remote
가상 파일명
C'08'
가상 파일명을 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. 단, 첫 번째 문자에 구분 기호를 지정하거나 중간에 공백을 사용할 수 없다.
가상 파일명 문자 구분 기호
C'19'
가상 파일의 구분 문자를 선두 1바이트로 지정한다. 생략할 경우 "/" 이 지정된 것으로 간주한다. 2바이트째는 임의 값이다. 단, 구별 문자는 공백으로 지정할 수 없다.
저장 형태
C'09'
상대방 측 파일에 전송 데이터를 저장할 경우 저장 형태를 지정한다.
-
1 : 파일 선두부터 저장 (치환, 생략치)
-
2 : 기존 데이터 뒤에 저장 (확장)
OpenFrame에서는 지정 여부와 관계없이 파일 선두부터 저장한다.
액세스 패스워드(FTAM)
C'10'
액세스 패스워드 형식은 다음과 같다.
길이(2바이트) + 문자 종류(2바이트) + 패스워드(8바이트)
문자 종류는 다음과 같다.
-
0 : 바이너리
-
1 : 영숫자
OpenFrame 에서는 미지원한다.
공통
데이터 유형
C'11'
데이터 유형을 아래 형식으로 지정한다.
-
0 : 바이너리 레코드 (생략치)
-
1 : 텍스트
-
2 : 바이너리
-
3 : 바이너리 포맷
-
100 : UNKNOWN
UNKNOWN을 지정할 경우 상대 노드 지정의 데이터 타입에 따라 파일을 전송한다.
다음은 FTP 프로토콜과의 대응 관계를 나타낸다.
-
텍스트 : ASCII에 대응한다.
-
바이너리 및 바이너리 레코드 : 바이너리에 대응한다.
-
바이너리 포맷 : BINARY 포맷에 대응한다. (FTP+인 경우 지정 가능)
-
UNKNOWN 및 FTP 프로토콜에서 바이너리 포맷을 지정하면 에러가 발생한다.
OpenFrame에서는 FTP만 지원하며 바이너리와 텍스트만 지원한다.
유니버설 클래스(FTAM)
C'18'
데이터 유형이 텍스트 데이터인 경우 유니버설 클래스 번호(사용할 문자셋 선택)를 지정한다. 생략한 경우는 25(도형 문자열)가 지정된 것으로 간주한다. OpenFrame에서는 미지원한다.
데이터 압축(FTAM, FTP+)
C'42'
데이터 타입이 INTAP-1 또는 FTP+ 프로토콜의 경우 전송 데이터를 압축할지 여부를 지정한다.
-
1 : 압축하지 않는다.
-
2 : 압축한다. (FTAM 또는 FTP+인 경우 FLDC1 방식)
-
3 : 압축한다. (FLDC2 방식)
OpenFrame에서는 미지원한다.
전송 속도 상한값
C'60'
전송 속도의 상한값을 지정한다.
-
1~1024KB/s
OpenFrame에서는 미지원한다.
Local
사용자명
C'71'
사용자 이름을 7자 이내의 영숫자로 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. 사용자 이름을 지정할 경우 사용자 패스워드도 함께 지정한다.
사용자
C'72'
사용자 패스워드를 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. 사용자 패스워드를 지정하는 경우에는 사용자 이름도 함께 지정한다.
그룹명
C'79'
RACF 그룹명을 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. OpenFrame에서는 미지원한다.
Remote
상대 사용자명
C'17'
상대 사용자 이름을 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. 상대방 노드의 보안 운용에 맞추어 상대방 사용자 이름과 패스워드 중 필요한 것만 지정할 수 있다. 또한, FTP 프로토콜을 사용하는 경우 상대 노드와 커넥션이 확립되어 있지 않을 때는 반드시 지정이 필요하다.
상대 패스워드
상대방 사용자의 패스워드를 지정한다. 식별자 C'81’과 C'85’의 파라미터는 상대 패스워드를 지정하기 위한 동일 파라미터이다. 상대 패스워드를 영숫자로 지정하는 경우는 식별자 C'81’의 형식으로 지정한다.
상대 패스워드를 16진수 및 영숫자로 지정하는 경우는에는 식별자 C'85' 형식으로 지정한다. 식별자 C'81’과 C'85’의 파라미터를 동시에 지정한 경우 나중에 지정한 파라미터가 사용된다.
C'81'
상대 패스워드를 영숫자로 통지하는 경우 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. 상대방 노드의 보안 운용에 따라 상대방 이름과 상대방 패스워드 중 필요한 것만 지정할 수도 있다.
C'85'
상대 패스워드를 영숫자 또는 16진수로 통지할 경우 왼쪽 채우기로 지정한다. 상대 노드의 보안 운용에 따라 상대 사용자 이름과 패스워드 중 필요한 것만 지정할 수 있다. 상대 패스워드는 아래와 같은 형식으로 지정한다.
길이(2바이트) + 문자종류(2바이트) + 패스워드(8바이트)
문자 종류는 다음과 같다.
-
0 : 바이너리
-
1 : 영숫자
OpenFrame에서는 미지원한다.
상대 그룹명
C'80'
상대 노드로 보낼 RACF 그룹명을 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다.
OpenFrame에서는 미지원한다.
코드 변환
코드 변환 종류
C'74'
코드 변환 종류를 지정한다.
-
0: 정의에 따른다 (생략치)
-
1: 코드 변환 없음
-
2: 코드 변환 있음
'코드 변환 있음’을 지정하는 경우 코드 변환 테이블 이름도 함께 지정한다.
OpenFrame에서는 미지원한다.
코드 변환
C'82'
코드 변환 테이블 이름을 다음의 형식으로 지정한다.
-
3: EBCDIC - ASCII
코드 변환 테이블 이름을 지정할 경우 코드 변환 종류는 "2"를 지정한다.
OpenFrame에서는 미지원한다.
종료 기호
C’FF'
종료 기호에는 파라메터 값이 없다.
다음은 RCVILE 항목에 대한 설명이다.
구분 파라미터 코드 설명 공통
의뢰 식별자
C'90'
사용자가 임의의 값을 설정한다. 해당 값은 파일 전송 완료 통지에 포함되어 있으며 파일 전송 의뢰 등을 조회를 할 경우 사용된다.
의뢰값
C'91'
의뢰값을 지정한다.
-
0: 공백 값 (생략치)
-
1: 완료 복귀값
응용 프로그램명
C'92'
RCVFILE 서비스를 의뢰한 응용 프로그램의 이름을 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다.
응용 프로그램 동작 환경
C'26'
의뢰 형태가 빈값일 경우 파일 전송 완료 통지처의 응용 프로그램의 동작 환경을 지정한다.
-
1 : TSS 환경에서 동작하는 사용자 프로그램
-
2 : 배치 환경에서 동작하는 응용 프로그램 (생략치)
OpenFrame에서는 미지원한다.
완료 통지처의 응용 프로그램명
C'25'
의뢰 형태가 빈값일 경우 파일 통지 완료 통지처의 응용 프로그램명을 왼쪽 채우기로 지정하고 나머지 값은 공백으로 채운다. 해당 파라미터를 생략할 경우 RCVFILE 서비스를 의뢰한 사용자 프로그램으로 파일 전송 완료를 통지한다. OpenFrame에서는 생략한 것처럼 동작한다.
상대 노드명
C'01'
상대 노드명을 왼쪽 채우기로 지정하고 나머지 값은 공백으로 채운다.
어소시에이션
C'02'
파일 전송 서비스가 완료되었을 때 어소시에이션을 계속할지 여부를 지정한다.
-
1 : 절단한다.
-
2 : 계속한다. (생략치)
OpenFrame에서는 지정 여부와 관계없이 전송 서비스가 완료되었을 때 어소시에이션을 절단한다.
Local
파일명
C'03'
파일명을 왼쪽 채우기로 지정하고 나머지 값은 공백으로 채운다.
멤버명
C'04'
구분 편성 파일의 경우 맴버명을 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다.
파일 할당
C'05'
다른 작업과 공유 할 수 있도록 파일을 할당할지 여부를 지정한다.
-
0 : 공용으로 할당한다. (생략치)
-
1 : 배타적으로 할당한다.
저장 형태
C'09'
자신측 파일에 전송 데이터를 저장할 때 저장 형태를 지정한다.
-
1 : 파일 선두부터 저장 (치환, 생략치)
-
2 : 기존 데이터 뒤에 저장 (확장)
OpenFrame에서는 지정 여부와 관계없이 파일 선두부터 저장한다.
멤버 치환
C'15'
수신하는 구분 편성 파일 중에서 맴버명과 동일한 이름을 가진 맴버가 존재할 경우의 치환 여부를 아래의 형태로 지정한다.
-
0 : 정의에 따른다. (생략치)
-
1 : 치환한다.
-
2 : 치환하지 않는다.
파일 속성
C'14'
파일 속성은 아래의 형식으로 지정한다. 레코드 형식은 왼쪽 채우기로 지정하고 나머지 값은 공백으로 채운다.
레코드 포맷(4바이트) + 레코드 길이(2바이트) + 블록 길이(2바이트)
-
레코드 포맷
-
{F[B][A] ] | [V[B][A]}
-
-
레코드 길이
-
형식:바이너리
-
범위:1~32760
-
-
블록 길이
-
형식:바이너리
-
범위:1~32760
-
장치 그룹명
C'16'
파일이 카탈로그 되어 있지 않은 경우 장치 그룹 이름을 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. 장치 그룹명을 지정할 경우 볼륨 번호도 함께 지정한다.
볼륨 번호
C'06'
파일이 카탈로그 되어 있지 않은 경우 볼륨 번호를 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. 볼륨 번호를 지정하는 경우 장치 그룹명도 함께 지정한다.
Remote
가상 파일명
C'08'
가상 파일명을 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. 단, 첫 번째 문자에 구분 기호를 지정하거나 중간에 공백을 사용 할 수 없다.
가상 파일명 문자 구분 기호
C'19'
가상 파일의 구분 문자를 선두 1바이트로 지정한다. 생략할 경우 "/"가 지정된 것으로 간주한다. 2바이트째는 임의 값이다. 단, 구별 문자는 공백으로 지정할 수 없다.
액세스 패스워드(FTAM)
C'10'
액세스 패스워드는 아래의 형식으로 지정한다.
길이(2바이트) + 문자 종류(2바이트) + 패스워드(8바이트)
문자 종류는 다음과 같다.
-
0 : 바이너리
-
1 : 영숫자
OpenFrame에서는 미지원한다.
공통
데이터 유형
C'11'
데이터 유형을 아래 형식으로 지정한다.
-
0 : 바이너리 레코드 (생략치)
-
1 : 텍스트
-
2 : 바이너리
-
3 : 바이너리 포맷
-
100 : UNKNOWN
UNKNOWN을 지정할 경우 상대 노드 지정의 데이터 타입에 따라 파일을 전송한다.
다음은 FTP 프로토콜과의 대응 관계를 나타낸다.
-
텍스트 : ASCII에 대응한다.
-
바이너리 및 바이너리 레코드 : 바이너리에 대응한다.
-
바이너리 포맷 : 바이너리 포맷에 대응한다. (FTP+의 경우 지정 가능)
-
UNKNOWN 및 FTP 프로토콜에서 바이너리 포맷을 지정하면 에러가 발생한다.
OpenFrame에서는 FTP만 지원하며 바이너리와 텍스트만 사용할 수 있다.
유니버설 클래스(FTAM)
C'18'
데이터 유형이 텍스트 데이터인 경우 유니버설 클래스 번호(사용할 문자셋 선택)를 지정한다. 생략한 경우는 25(도형 문자열)가 지정된 것으로 간주한다. OpenFrame에서는 미지원한다.
데이터 압축 (FTAM, FTP+)
C'42'
데이터 타입이 INTAP-1 또는 FTP+ 프로토콜인 경우 전송 데이터의 압축 여부를 지정한다.
-
1 : 압축하지 않는다.
-
2 : 압축한다. (FTAM 또는 FTP+인 경우 FLDC1 방식)
-
3 : 압축한다. (FLDC2 방식)
OpenFrame에서는 미지원한다.
Local
사용자명
C'71'
사용자 이름을 7자 이내의 영숫자로 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. 사용자명을 지정할 경우 사용자 패스워드도 함께 지정한다.
사용자
C'72'
사용자 패스워드를 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. 사용자 패스워드를 지정하는 경우 사용자명도 함께 지정한다.
그룹명
C'79'
RACF 그룹명을 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다.
Remote
상대 사용자명
C'17'
상대 사용자명을 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. 상대방 노드의 보안 운용에 맞추어 상대방 사용자명과 패스워드 중 필요한 것만 지정할 수 있다. 또한, FTP 프로토콜을 사용하는 경우 상대 노드와 커넥션이 확립되어 있지 않을 때는 반드시 지정해야 한다.
상대 패스워드
상대 사용자의 패스워드를 지정한다. 식별자 C'81’과 C'85' 의 파라미터는 상대 패스워드를 지정하기 위한 동일 파라미터이다. 상대 패스워드를 영숫자로 지정하는 경우는 식별자 C'81' 형식으로 지정한다. 상대 패스워드를 16진수 및 영숫자로 지정하는 경우에는 식별자 C'85' 형식으로 지정한다. 식별자 C'81’과 C'85’의 파라미터를 동시에 지정한 경우 나중에 지정한 파라미터가 사용된다.
C'81'
상대 패스워드를 영숫자로 통지하는 경우 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. 상대방 노드의 보안 운용에 따라 상대방 이름과 패스워드 중 필요한 것만 지정할 수도 있다.
C'85'
상대 패스워드를 영숫자 또는 16진수로 통지할 경우 왼쪽 채우기로 지정한다. 상대 노드의 보안 운용에 따라서 상대 사용자 이름과 패스워드 중 필요한 것만 지정할 수 있다.
상대 패스워드는 아래와 같은 형식으로 지정한다.
길이(2바이트) + 문자 종류(2바이트) + 패스워드(8바이트)
문자 종류는 다음과 같다.
-
0 : 바이너리
-
1 : 영숫자
OpenFrame에서는 미지원한다.
상대 그룹명
C'80'
상대 노드로 보낼 RACF 그룹명을 왼쪽 채우기로 지정하고 나머지는 공백으로 채운다. OpenFrame에서는 미지원한다.
코드 변환
코드 변환 종류
C'74'
코드 변환 종류를 지정한다.
-
0: 정의에 따른다. (생략치)
-
1: 코드 변환 없음
-
2: 코드 변환 있음
'코드 변환 있음’을 지정하는 경우 코드 변환 테이블 이름도 함께 지정한다.
OpenFrame에서는 미지원한다.
코드 변환
C'82'
코드 변환 테이블 이름을 아래의 형식으로 지정한다.
-
3: EBCDIC - ASCII
코드 변환 테이블명을 지정할 경우 코드 변환 종류는 "2"를 지정한다
OpenFrame에서는 미지원한다.
종료 기호
C’FF'
종료 기호에는 파라미터 값이 없다.
-
-
-
에러 코드
다음은 오류 분류와 에러 코드에 대한 설명이다. OpenFrame에서 지원하는 항목에 대해서만 기술한다.
에러분류 에러코드 상세코드 의미 0
0
0
정상 종료한 경우이다.
10
36
데이터 유형의 값이 잘못된 경우이다.
42
사용자 이름과 패스워드 중 하나만 지정했거나 상대 사용자 이름과 패스워드 중 하나만 지정된 경우이다.
105
의뢰 유형의 값이 잘못된 경우이다.
151
응용 프로그램의 동작 환경 값이 잘못된 경우이다.
155
인터페이스 레벨의 값이 잘못된 경우이다.
156
매개변수의 식별자가 잘못되었거나, 종료 기호(C’FF')가 지정되지 않은 경우이다.
159
필수 매개변수가 생략된 경우이다.
40
340
상대 노드와의 어소시에이션 성립에 실패한 경우이다.
80
499
분석할 수 없는 에러가 발생한 경우이다.
-
예시
다음은 SNDFILE을 호출하는 예시이다.
01 P-INTLVL PIC X(002) VALUE '11'. 01 P-REQCODE PIC X(002) VALUE '01'. 01 P-RC. 03 P-RC-CODE1 PIC 9(004) COMP. 03 P-RC-CODE2 PIC 9(004) COMP. 03 P-RC-CODE3 PIC 9(005) COMP. 01 P-SNDFILE. 03 SNDFILE-TYP-PARM. 05 SNDFILE-TYP-ID PIC X(002) VALUE '91'. 05 SNDFILE-TYP-CONT PIC 9(002) VALUE 1 COMP. 03 SNDFILE-APL-PARM. 05 SNDFILE-APL-ID PIC X(002) VALUE '92'. 05 SNDFILE-APL-CONT PIC X(008) VALUE 'SNDFILE '. 03 SNDFILE-SYS-PARM. 05 SNDFILE-SYS-ID PIC X(002) VALUE '01'. 05 SNDFILE-SYS-CONT PIC X(008). 03 SNDFILE-FILE-PARM. 05 SNDFILE-FILE-ID PIC X(002) VALUE '03'. 05 SNDFILE-FILE-CONT PIC X(044). 03 SNDFILE-STYP-PARM. 05 SNDFILE-STYP-ID PIC X(002) VALUE '16'. 05 SNDFILE-STYP-CONT PIC X(008) VALUE 'DA '. 03 SNDFILE-VOL-PARM. 05 SNDFILE-VOL-ID PIC X(002) VALUE '06'. 05 SNDFILE-VOL-CONT PIC X(006). 03 SNDFILE-VFILE-PARM. 05 SNDFILE-VFILE-ID PIC X(002) VALUE '08'. 05 SNDFILE-VFILE-CONT PIC X(064). 03 SNDFILE-DTYPE-PARM. 05 SNDFILE-DTYPE-ID PIC X(002) VALUE '11'. 05 SNDFILE-DTYPE-CONT PIC 9(002) COMP. 03 SNDFILE-USER-PARM. 05 SNDFILE-USER-ID PIC X(002) VALUE '17'. 05 SNDFILE-USER-CONT PIC X(008). 03 SNDFILE-PSWD-PARM. 05 SNDFILE-PSWD-ID PIC X(002) VALUE '81'. 05 SNDFILE-PSWD-CONT PIC X(008). 03 SNDFILE-END PIC X(002) VALUE 'FF'. 03 P-REQNUM PIC 9(005) COMP. 03 P-TRANCOMP. 05 P-DATA1 PIC X(154). 05 P-DATA2 PIC X(020). 05 P-DATA3 PIC X(050). 05 P-DATA4 PIC X(080). 05 P-DATA5 PIC X(108). ... PROCEDURE DIVISION. CALL 'KZAAPI' USING P-INTLVL P-REQCODE P-RC P-SNDFILE P-REQNUM P-TRANCOMP.
다음은 RCVFILE을 호출하는 예시이다.
01 P-INTLVL PIC X(002) VALUE '11'. 01 P-REQCODE PIC X(002) VALUE '02'. 01 P-RC. 03 P-RC-CODE1 PIC 9(004) COMP. 03 P-RC-CODE2 PIC 9(004) COMP. 03 P-RC-CODE3 PIC 9(005) COMP. 01 P-RCVFILE. 03 RCVFILE-TYP-PARM. 05 RCVFILE-TYP-ID PIC X(002) VALUE '91'. 05 RCVFILE-TYP-CONT PIC 9(002) VALUE 1 COMP. 03 RCVFILE-APL-PARM. 05 RCVFILE-APL-ID PIC X(002) VALUE '92'. 05 RCVFILE-APL-CONT PIC X(008) VALUE 'RCVFILE '. 03 RCVFILE-SYS-PARM. 05 RCVFILE-SYS-ID PIC X(002) VALUE '01'. 05 RCVFILE-SYS-CONT PIC X(008). 03 RCVFILE-FILE-PARM. 05 RCVFILE-FILE-ID PIC X(002) VALUE '03'. 05 RCVFILE-FILE-CONT PIC X(044). 03 RCVFILE-VFILE-PARM. 05 RCVFILE-VFILE-ID PIC X(002) VALUE '08'. 05 RCVFILE-VFILE-CONT PIC X(064). 03 RCVFILE-DTYPE-PARM. 05 RCVFILE-DTYPE-ID PIC X(002) VALUE '11'. 05 RCVFILE-DTYPE-CONT PIC 9(002) COMP. 03 RCVFILE-USER-PARM. 05 RCVFILE-USER-ID PIC X(002) VALUE '17'. 05 RCVFILE-USER-CONT PIC X(008). 03 RCVFILE-PSWD-PARM. 05 RCVFILE-PSWD-ID PIC X(002) VALUE '81'. 05 RCVFILE-PSWD-CONT PIC X(008). 03 RCVFILE-END PIC X(002) VALUE 'FF'. 03 P-REQNUM PIC 9(005) COMP. 03 P-TRANCOMP. 05 P-DATA1 PIC X(154). 05 P-DATA2 PIC X(020). 05 P-DATA3 PIC X(050). 05 P-DATA4 PIC X(080). 05 P-DATA5 PIC X(108). ... PROCEDURE DIVISION. CALL 'KZAAPI' USING P-INTLVL P-REQCODE P-RC P-SNDFILE P-REQNUM P-TRANCOMP.