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

open-options :
항목 | 설명 |
---|---|
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 속성이 충돌날 경우 에러가 발생한다. |