iSeriesC 파일 SHARE 속성

파일 SHARE 속성은 iSeriesC 환경에서 EGL 프로그램의 동작에 영향을 미칩니다.

다음 테이블은 iSeries 파일 SHARE 속성에 따라 특정 파일 조작 및 일반 파일 조작에 대한 프로그램 동작을 표시합니다.

표 1. SHARE 속성에 대한 프로그램 동작
주제 SHARE(*YES) SHARE(*NO)
파일 내의 레코드 위치 레코드 위치는 프로그램 간에 공유됩니다. 레코드 위치는 프로그램 간에 독립적입니다.
close 문(COBOL CLOSE 문으로 구현됨) 프로그램이 시작되었을 때 파일이 이미 열려 있는지 여부에 따라 가상 또는 절대입니다. 파일의 절대 CLOSE입니다. 레코드 위치가 유실됩니다. (성능이 낮음)
각 파일에 대한 EGL 파일 I/O 문의 첫 번째 사용(프로그램의 동일한 파일에 대해 다른 I/O 문 사용에 따라 INPUT, OUTPUT, 또는 INPUT-OUTPUT 구문을 사용하는 COBOL OPEN 문의 파트에 구현)
  • 파일을 사용하는 각 프로그램에서 수행해야 합니다.
  • OPEN 구문이 실제로 파일을 연 프로그램의 파일 열기 유형과 호환되지 않는 경우 런타임 하드 오류가 발생합니다. V6.0 호환 모드에서 실행 중이고 vgVar.handleHardIOErrors가 1인 경우 프로그램 로직 파트가 오류를 처리하고 vgVar.handleHardIOErrors가 2로 설정되지 않은 경우 프로그램이 종료됩니다.
  • 파일을 사용하는 각 프로그램에서 수행해야 합니다.
  • 파일 OPEN 구문은 각 프로그램에서 독립적이므로 서로를 따를 필요가 없습니다.
프로그램이 종료될 때마다
  • 기본 EGL 실행 단위 프로그램의 경우 실행 단위의 모든 파일이 닫히지만 영향은 프로그램이 시작되었을 때 파일이 열려 있는지 여부에 따라 가상 또는 절대입니다.
  • 호출된 EGL 프로그램의 경우 프로그램이 현재 EGL 실행 단위에서 다시 시작되는 경우 파일은 열린 채로 유지되며 레코드 위치가 저장됩니다.
  • 라이브러리 내의 파일은 기본 프로그램이 종료될 때까지 열린 채로 유지되는데, 이는 단일 라이브러리 내에서 파일 I/O를 수행할 수 있다는 것을 의미하지만 기타 라이브러리, 기본 또는 호출된 프로그램과 같은 여러 EGL 자원으로부터 호출될 수 있습니다.
  • 기본 EGL 실행 단위 프로그램의 경우 실행 단위의 모든 파일이 닫혀 있으며 영향은 절대입니다.
  • EGL 라이브러리 또는 호출된 EGL 프로그램의 경우, 프로그램이 현재 EGL 실행 단위에서 재시작되면 파일이 열린 채로 유지되며 레코드 위치가 저장됩니다.