IMS DB-PCB 마스크

PCB는 Program Communication Block을 의미합니다. PCB 마스크는 DL / I 호출에 사용되는 두 번째 매개 변수입니다. 연결 섹션에서 선언됩니다. 다음은 PCB 마스크의 구문입니다.

01 PCB-NAME.
   05 DBD-NAME         PIC X(8).
   05 SEG-LEVEL        PIC XX.
   05 STATUS-CODE      PIC XX.
   05 PROC-OPTIONS     PIC X(4).
   05 RESERVED-DLI     PIC S9(5).
   05 SEG-NAME         PIC X(8).
   05 LENGTH-FB-KEY    PIC S9(5).
   05 NUMB-SENS-SEGS   PIC S9(5).
   05 KEY-FB-AREA      PIC X(n).

주목해야 할 핵심 사항은 다음과 같습니다.

  • 각 데이터베이스에 대해 DL / I는 프로그램 통신 블록으로 알려진 스토리지 영역을 유지합니다. 응용 프로그램 내에서 액세스되는 데이터베이스에 대한 정보를 저장합니다.

  • ENTRY 문은 연결 섹션의 PCB 마스크와 프로그램의 PSB 내의 PCB 사이에 연결을 만듭니다. DL / I 호출에 사용되는 PCB 마스크는 작동에 사용할 데이터베이스를 알려줍니다.

  • 이는 COBOL READ 문에 파일 이름을 지정하거나 COBOL 쓰기 문에 레코드 이름을 지정하는 것과 유사하다고 가정 할 수 있습니다. SELECT, ASSIGN, OPEN 또는 CLOSE 문이 필요하지 않습니다.

  • 각 DL / I 호출 후 DL / I는 상태 코드를 PCB에 저장하고 프로그램은 해당 코드를 사용하여 호출의 성공 여부를 결정할 수 있습니다.

PCB 이름

주목할 점-

  • PCB 이름은 PCB 필드의 전체 구조를 나타내는 영역의 이름입니다.

  • PCB 이름은 프로그램 문에서 사용됩니다.

  • PCB 이름은 PCB의 필드가 아닙니다.

DBD 이름

주목할 점-

  • DBD 이름에는 문자 데이터가 포함됩니다. 길이는 8 바이트입니다.

  • PCB의 첫 번째 필드는 처리중인 데이터베이스의 이름이며 특정 데이터베이스와 관련된 데이터베이스 설명 라이브러리의 DBD 이름을 제공합니다.

세그먼트 수준

주목할 점-

  • 세그먼트 수준은 세그먼트 계층 수준 표시기로 알려져 있습니다. 문자 데이터를 포함하며 길이는 2 바이트입니다.

  • 세그먼트 레벨 필드는 처리 된 세그먼트의 레벨을 저장합니다. 세그먼트가 성공적으로 검색되면 검색된 세그먼트의 레벨 번호가 여기에 저장됩니다.

  • 세그먼트 레벨 필드는 DL / I 데이터베이스에서 허용되는 최대 레벨 수이므로 15보다 큰 값을 갖지 않습니다.

상태 코드

주목할 점-

  • 상태 코드 필드에는 2 바이트의 문자 데이터가 포함됩니다.

  • 상태 코드에는 DL / I 상태 코드가 포함됩니다.

  • DL / I가 호출 처리를 성공적으로 완료하면 공백이 상태 코드 필드로 이동됩니다.

  • 공백이 아닌 값은 호출이 실패했음을 나타냅니다.

  • 상태 코드 GB는 파일 끝을 나타내고 상태 코드 GE는 요청 된 세그먼트를 찾을 수 없음을 나타냅니다.

Proc 옵션

주목할 점-

  • Proc 옵션은 4 자 데이터 필드를 포함하는 처리 옵션으로 알려져 있습니다.

  • 처리 옵션 필드는 프로그램이 데이터베이스에서 수행 할 수있는 처리 유형을 나타냅니다.

예약 된 DL / I

주목할 점-

  • 예약 된 DL / I는 IMS의 예약 된 영역으로 알려져 있습니다. 4 바이트 바이너리 데이터를 저장합니다.

  • IMS는 응용 프로그램과 관련된 자체 내부 연결을 위해이 영역을 사용합니다.

세그먼트 이름

주목할 점-

  • SEG 이름은 세그먼트 이름 피드백 영역으로 알려져 있습니다. 8 바이트의 문자 데이터를 포함합니다.

  • 세그먼트 이름은 각 DL / I 호출 후이 필드에 저장됩니다.

길이 FB 키

주목할 점-

  • 길이 FB 키는 키 피드백 영역의 길이로 알려져 있습니다. 4 바이트의 이진 데이터를 저장합니다.

  • 이 필드는 이전 호출 중에 처리 된 최하위 세그먼트의 연결된 키 길이를보고하는 데 사용됩니다.

  • 키 피드백 영역과 함께 사용됩니다.

민감도 세그먼트 수

주목할 점-

  • 민감도 세그먼트 수는 4 바이트 이진 데이터를 저장합니다.

  • 응용 프로그램이 민감한 수준을 정의합니다. 논리적 데이터 구조의 세그먼트 수를 나타냅니다.

주요 피드백 영역

주목할 점-

  • 키 피드백 영역의 길이는 PCB마다 다릅니다.

  • 여기에는 프로그램의 데이터베이스보기와 함께 사용할 수있는 가능한 가장 긴 연결 키가 포함되어 있습니다.

  • 데이터베이스 작업 후 DL / I는이 필드에서 처리 된 최하위 세그먼트의 연결된 키를 반환하고 키 길이 피드백 영역의 키 길이를 반환합니다.