1. OPEN statement

OPEN statement는 지정한 파일을 연다.

figure syntax open

open-options :

image

항목 설명

FILE

대상이 되는 파일을 기술한다.

FILE 속성

자세한 설명은 "File"을 참고한다.

TITLE

JCL에 기술된 외부 데이터 셋의 DD 이름을 지정한다.

LINESIZE

한 라인의 길이를 정의한다.

스트림이 LINESIZE에 지정한 값를 넘을 경우 다음 라인의 첫 번째 컬럼으로 이동한다.

LINESIZE 옵션은 STREAM OUTPUT 파일에만 사용할 수 있다. (기본값: 120)

PAGESIZE

한 페이지당 라인의 개수를 정의한다.

라인의 크기가 PAGESIZE의 값을 넘을 경우 ENDFILE 조건이 발생한다.

PUT statement에서 PAGE format item이나 PAGE 옵션을 사용하여 새로운 페이지로 시작할 수 있다. (기본값: 60)

파일을 열기 위해서는 명시적으로 OPEN statement를 사용하거나, 파일이 열려 있지 않은 상태에서 READ, WRITE, REWRITE, DELETE, LOCATE, PUT, GET statement를 사용할 때 내부적으로 열린다. OPEN statement로 명시적으로 열 때 FILE 속성을 정의하여 DECLARE할 때 정의한 FILE 속성을 재정의할 수 있다.

다음은 OPEN statement를 사용하여 FILE 속성을 재정의하는 예제이다.

 DECLARE TEST FILE RECORD OUTPUT;
 OPEN FILE(TEST) STREAM INPUT;
 CLOSE FILE(TEST);

 OPEN FILE(TEST);

첫 번째 OPEN statement에서 TEST는 STREAM, INPUT 속성을 가진다. 파일을 닫게 되면 열 때 적용한 FILE 속성은 사라지게 되고, 다음에 열 때에는 적용되지 않는다. 따라서 두 번째 OPEN statement에서는 DECLARE statement에서 지정한 RECORD, OUTPUT 속성을 가진다.

선언할 때 정의한 FILE 속성과 열 때 정의한 FILE 속성이 충돌날 경우 에러가 발생한다.