1. OPEN

OPEN statement는 파일을 사용가능 하도록 개시한다.

  • Format 1

    figure pd open format1 sequential files
    OPEN Statement Format 1
  • Format 2

    figure pd open format2 indexed and relative files
    OPEN Statement Format 2
  • Format 3

    figure pd open format3 line sequential files
    OPEN Statement Format 3

다음은 statement의 각 설정 항목에 대한 설명이다.

  • INPUT

    • 입력 파일로 open한다.

  • OUTPUT

    • 출력 파일로 open한다.

    • 새로 생성되는 파일에 대하여 사용할 수 있다. 레코드를 포함하고 있는 파일에 대해서 사용하면 파일을 open할 때 기존 레코드는 삭제된다.

  • I-O

    • 입출력 파일로 open한다.

  • EXTEND

    • 기존 레코드에 추가로 덧붙이거나 신규로 파일을 생성할 때 사용되는 출력 파일을 OPEN한다.

    • 파일이 존재하면 기존 레코드의 다음에 레코드를 추가하게 되고, 파일이 존재하지 않으면 새로 생성한다.

  • file-name-1, file-name-2, file-name-3 , file-name-4

    • open될 파일명을 기술한다.

    • 반드시 FD entry에 기술되어 있어야 한다.

  • REVERSED, NO REWIND

    • 테이프 파일에만 적용된다.

General rules

OPEN INPUT 또는 OPEN I-O statement는 file posiotion indicator를 첫 번째 레코드 위치에 설정한다.

EXTEND phrase가 기술되어 있으면 파일의 마지막 레코드 다음에 위치시킨다. 이어지는 WRITE statement는 OUTPUT으로 open된 것처럼 레코드를 추가한다. EXTEND phrase는 새로 생성되는 파일에 대해서도 기술할 수 있다.

VSAM 파일에 대하여 파일에 레코드가 존재하지 않는다면 Format 1의 READ statement의 실행 결과가 AT END condition이 발생하도록 file posiotion indicator가 설정된다.

다음의 표들은 OPEN mode와 사용 가능한 입출력 statement들과의 관계를 보여준다.

  • Permissible statements for sequential files

    Statement Input open mode Output open mode I-O open mode Extend open mode

    READ

    X

    X

    WRITE

    X

    X

    REWRITE

    X

  • Permissible statements for indexed and relative files

    File access mode Statement Input open mode Output open mode I-O open mode Extend open mode

    Sequential

    READ

    X

    X

    WRITE

    X

    X

    REWRITE

    X

    START

    X

    DELETE

    X

    Random

    READ

    X

    X

    WRITE

    X

    X

    REWRITE

    X

    START

    DELETE

    X

    Dynamic

    READ

    X

    X

    WRITE

    X

    X

    X

    REWRITE

    X

    START

    X

    X

    DELETE

    X

  • Permissible statements for line-sequential files

    Statement Input open mode Output open mode I-O open mode Extend open mode

    READ

    X

    WRITE

    X

    X

    REWRITE

X 표시가 된 곳이 statement가 허용된 곳이다.