GSAM 및 IMS 메시지 큐에 대한 get 고려사항

GSAM 파일 또는 IMS™ 메시지 큐로 구현되는 직렬 파일에는 특수한 고려사항이 적용됩니다.

IMS BMP 또는 z/OS® 일괄처리 환경의 GSAM(Generalized Sequential Access Method) 파일에 대해 다음과 같은 특수한 고려사항이 적용됩니다.
  • get next는 GSAM에 대해 사용할 수 있는 유일한 get 문 형식입니다.
  • 동일한 GSAM 파일에 대한 addget next 문의 조합을 단일 프로그램에 포함시킬 수 없습니다.
  • GSAM 파일과 연관된 직렬 레코드에 대해 get next 문을 실행하면 GSAM 데이터베이스에 대한 GN 호출이 발생합니다.
  • 가변 길이 직렬 레코드를 GSAM과 연관된 파일에서 읽는 경우 레코드 길이가 실제 파일보다 길면 DL/I는 공백 상태 코드를 리턴합니다. 데이터가 잘리지만 이 상황을 발견할 수 없으므로 메시지가 발행되지 않습니다.
IMS BMP 또는 z/OS 일괄처리 환경에서 IMS 메시지 큐와 연관된 직렬 파일에 대해 다음과 같은 특수한 고려사항이 적용됩니다.
  • get next는 IMS 메시지 큐에 대해 사용할 수 있는 유일한 get 문 형식입니다.
  • 동일한 IMS 메시지 큐에 대한 addget next 문의 조합을 단일 프로그램에 포함시킬 수 없습니다.
  • IMS 메시지 큐와 연관된 직렬 파일에 대해 get next 문을 사용하려면 해당 직렬 파일을 I/O PCB와 연관시켜야 합니다.
  • textUI 프로그램 또는 textUI 프로그램에서 호출되는 기본 프로그램에 대해서는 get next 문이 지원되지 않습니다. 기본 프로그램은 단일 직렬 입력 파일만 I/O PCB와 연관시킬 수 있습니다. EGL은 데이터를 직렬 레코드로 이동하기 전에 메시지에서 IMS 메시지 헤더(길이, ZZ 필드 및 트랜잭션 코드)를 자동으로 제거합니다.
  • 단일 세그먼트 메시지 큐와 연관된 직렬 레코드에 대해 get next 문을 실행하면 I/O PCB에 대한 GU 호출이 발생합니다. 이 GU 호출은 자동 커미트 지점을 생성합니다.
  • 다중 세그먼트 메시지 큐와 연관된 직렬 레코드에 대해 처음으로 get next 문을 실행하면 I/O PCB에 대한 GU 호출이 발생합니다. 후속 get next 문은 noRecordFound(상태 코드 QD) 조건에 도달할 때까지 GN 호출을 생성합니다. noRecordFound 이후의 첫 번째 get next 문은 또 다른 GU 호출을 생성하고 이 처리는 endOfFile(상태 코드 QC)에 도달할 때까지 계속됩니다. 각 GU 호출은 자동 커미트 지점을 생성합니다.
  • 기본 프로그램의 특정 스케줄링 중에 프로그램은 단 하나의 메시지 큐에 대해서만 get next 문을 사용할 수 있습니다. IMS가 프로그램을 스케줄한 트랜잭션 코드에 따라 읽는 메시지 대기열이 결정됩니다. 생성 중에 지정된 시스템 자원은 무시됩니다.