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는이 필드에서 처리 된 최하위 세그먼트의 연결된 키를 반환하고 키 길이 피드백 영역의 키 길이를 반환합니다.