Блоки управления IMS определяют структуру базы данных IMS и доступ к ним программы. Следующая диаграмма показывает структуру блоков управления IMS.
DL / I использует следующие три типа блоков управления —
- Дескриптор базы данных (DBD)
- Блок спецификации программы (PSB)
- Блок контроля доступа (ACB)
Дескриптор базы данных (DBD)
Обращает на себя внимание —
-
DBD описывает полную физическую структуру базы данных после определения всех сегментов.
-
При установке базы данных DL / I необходимо создать один DBD, поскольку он необходим для доступа к базе данных IMS.
-
Приложения могут использовать разные виды DBD. Они называются структурами данных приложений и указываются в блоке спецификации программы.
-
Администратор базы данных создает DBD путем кодирования управляющих операторов DBDGEN .
DBD описывает полную физическую структуру базы данных после определения всех сегментов.
При установке базы данных DL / I необходимо создать один DBD, поскольку он необходим для доступа к базе данных IMS.
Приложения могут использовать разные виды DBD. Они называются структурами данных приложений и указываются в блоке спецификации программы.
Администратор базы данных создает DBD путем кодирования управляющих операторов DBDGEN .
DBDGEN
DBDGEN — это генератор дескрипторов базы данных. Создание блоков управления является обязанностью администратора базы данных. Все загружаемые модули хранятся в библиотеке IMS. Операторы макроса языка ассемблера используются для создания блоков управления. Ниже приведен пример кода, который показывает, как создать DBD с помощью управляющих операторов DBDGEN —
PRINT NOGEN DBD NAME=LIBRARY,ACCESS=HIDAM DATASET DD1=LIB,DEVICE=3380 SEGM NAME=LIBSEG,PARENT=0,BYTES=10 FIELD NAME=(LIBRARY,SEQ,U),BYTES=10,START=1,TYPE=C SEGM NAME=BOOKSEG,PARENT=LIBSEG,BYTES=5 FIELD NAME=(BOOKS,SEQ,U),BYTES=10,START=1,TYPE=C SEGM NAME=MAGSEG,PARENT=LIBSEG,BYTES=9 FIELD NAME=(MAGZINES,SEQ),BYTES=8,START=1,TYPE=C DBDGEN FINISH END
Позвольте нам понять термины, используемые в вышеупомянутом DBDGEN —
-
Когда вы выполняете вышеуказанные управляющие операторы в JCL , он создает физическую структуру, в которой LIBRARY является корневым сегментом, а BOOKS и MAGZINES — его дочерними сегментами.
-
Первый оператор макроса DBD идентифицирует базу данных. Здесь мы должны упомянуть ИМЯ и ДОСТУП, которые используются DL / I для доступа к этой базе данных.
-
Второй оператор макроса DATASET идентифицирует файл, содержащий базу данных.
-
Типы сегментов определяются с помощью макрокоманды SEGM. Нам нужно указать РОДИТЕЛЯ этого сегмента. Если это корневой сегмент, то упомяните PARENT = 0.
Когда вы выполняете вышеуказанные управляющие операторы в JCL , он создает физическую структуру, в которой LIBRARY является корневым сегментом, а BOOKS и MAGZINES — его дочерними сегментами.
Первый оператор макроса DBD идентифицирует базу данных. Здесь мы должны упомянуть ИМЯ и ДОСТУП, которые используются DL / I для доступа к этой базе данных.
Второй оператор макроса DATASET идентифицирует файл, содержащий базу данных.
Типы сегментов определяются с помощью макрокоманды SEGM. Нам нужно указать РОДИТЕЛЯ этого сегмента. Если это корневой сегмент, то упомяните PARENT = 0.
В следующей таблице приведены параметры, используемые в операторе макроса FIELD.
S.No | Параметр и описание |
---|---|
1 |
название Название поля, обычно от 1 до 8 символов |
2 |
Б Длина поля |
3 |
Начните Положение поля в сегменте |
4 |
Тип Тип данных поля |
5 |
Тип С Тип символьных данных |
6 |
Тип Р Упакованный десятичный тип данных |
7 |
Тип Z Зонный десятичный тип данных |
8 |
Тип Х Шестнадцатеричный тип данных |
9 |
Тип Н Полусловный двоичный тип данных |
10 |
Тип F Бинарный тип данных полного слова |
название
Название поля, обычно от 1 до 8 символов
Б
Длина поля
Начните
Положение поля в сегменте
Тип
Тип данных поля
Тип С
Тип символьных данных
Тип Р
Упакованный десятичный тип данных
Тип Z
Зонный десятичный тип данных
Тип Х
Шестнадцатеричный тип данных
Тип Н
Полусловный двоичный тип данных
Тип F
Бинарный тип данных полного слова
Блок спецификации программы (PSB)
Основные принципы общественного вещания приведены ниже.
-
База данных имеет единую физическую структуру, определяемую DBD, но прикладные программы, обрабатывающие ее, могут иметь разные представления базы данных. Эти представления называются структурой данных приложения и определяются в PSB.
-
Ни одна программа не может использовать более одного PSB в одном исполнении.
-
Прикладные программы имеют свой собственный PSB, и для прикладных программ, которые имеют схожие требования к обработке базы данных, обычно используется общий PSB.
-
PSB состоит из одного или нескольких блоков управления, называемых блоками программной связи (PCB). PSB содержит одну печатную плату для каждой базы данных DL / I, к которой будет обращаться прикладная программа. Мы обсудим больше о печатных платах в следующих модулях.
-
PSBGEN необходимо выполнить, чтобы создать PSB для программы.
База данных имеет единую физическую структуру, определяемую DBD, но прикладные программы, обрабатывающие ее, могут иметь разные представления базы данных. Эти представления называются структурой данных приложения и определяются в PSB.
Ни одна программа не может использовать более одного PSB в одном исполнении.
Прикладные программы имеют свой собственный PSB, и для прикладных программ, которые имеют схожие требования к обработке базы данных, обычно используется общий PSB.
PSB состоит из одного или нескольких блоков управления, называемых блоками программной связи (PCB). PSB содержит одну печатную плату для каждой базы данных DL / I, к которой будет обращаться прикладная программа. Мы обсудим больше о печатных платах в следующих модулях.
PSBGEN необходимо выполнить, чтобы создать PSB для программы.
PSBGEN
PSBGEN известен как генератор блоков спецификации программы. В следующем примере создается PSB с использованием PSBGEN —
PRINT NOGEN PCB TYPE=DB,DBDNAME=LIBRARY,KEYLEN=10,PROCOPT=LS SENSEG NAME=LIBSEG SENSEG NAME=BOOKSEG,PARENT=LIBSEG SENSEG NAME=MAGSEG,PARENT=LIBSEG PSBGEN PSBNAME=LIBPSB,LANG=COBOL END
Позвольте нам понять термины, используемые в вышеупомянутом DBDGEN —
-
Первый оператор макроса — это блок связи с программой (PCB), который описывает тип базы данных, имя, длину ключа и параметр обработки.
-
Параметр DBDNAME в макросе PCB указывает имя DBD. KEYLEN указывает длину самого длинного каскадного ключа. Программа может обрабатывать в базе данных. Параметр PROCOPT указывает параметры обработки программы. Например, LS означает только операции загрузки.
-
SENSEG известен как чувствительность уровня сегмента. Он определяет доступ программы к частям базы данных и определяется на уровне сегмента. Программа имеет доступ ко всем полям внутри сегментов, к которым она чувствительна. Программа также может иметь чувствительность на уровне поля. В этом мы определяем имя сегмента и родительское имя сегмента.
-
Последнее утверждение макроса — PCBGEN. PSBGEN — последнее утверждение, сообщающее, что больше нет операторов для обработки. PSBNAME определяет имя, данное выходному модулю PSB. Параметр LANG указывает язык, на котором написана прикладная программа, например, COBOL.
Первый оператор макроса — это блок связи с программой (PCB), который описывает тип базы данных, имя, длину ключа и параметр обработки.
Параметр DBDNAME в макросе PCB указывает имя DBD. KEYLEN указывает длину самого длинного каскадного ключа. Программа может обрабатывать в базе данных. Параметр PROCOPT указывает параметры обработки программы. Например, LS означает только операции загрузки.
SENSEG известен как чувствительность уровня сегмента. Он определяет доступ программы к частям базы данных и определяется на уровне сегмента. Программа имеет доступ ко всем полям внутри сегментов, к которым она чувствительна. Программа также может иметь чувствительность на уровне поля. В этом мы определяем имя сегмента и родительское имя сегмента.
Последнее утверждение макроса — PCBGEN. PSBGEN — последнее утверждение, сообщающее, что больше нет операторов для обработки. PSBNAME определяет имя, данное выходному модулю PSB. Параметр LANG указывает язык, на котором написана прикладная программа, например, COBOL.
Блок контроля доступа (ACB)
Ниже перечислены пункты, которые нужно отметить относительно блоков контроля доступа.
Блоки контроля доступа для прикладной программы объединяют дескриптор базы данных и блок спецификации программы в исполняемую форму.
ACBGEN известен как генератор блоков контроля доступа. Он используется для генерации ACB.
Для онлайн-программ нам нужно предварительно собрать ACB. Следовательно, утилита ACBGEN выполняется перед выполнением прикладной программы.
Для пакетных программ ACB могут быть сгенерированы также во время выполнения.