SEGM NAME=OTDEL,PARENT=0,BYTES=20
; задание поля сегмента (дополнительные опции: SEQ – сортировка по
значению поля, U – уникальность значения)
FIELD NAME=(NAME,SEQ,U),BYTES=10,START=1,TYPE=C
FIELD NAME=DIRECTOR,BYTES=10,START=11,TYPE=C
; определение сегмента СОТРУДНИК (потомок сегмента ОТДЕЛ)
SEGM NAME=SOTRUDNIK,PARENT=OTDEL,BYTES=22
FIELD NAME=(NAME,SEQ),BYTES=20,START=1,TYPE=C
FIELD NAME=NUMBER,BYTES=2,START=21,TYPE=P
; определение сегмента СПЕЦИАЛЬНОСТЬ (потомок сегмента
СОТРУДНИК)
SEGM NAME=SPEC,PARENT= SOTRUDNIK,BYTES=17
FIELD NAME=(CODE,SEQ),BYTES=2,START=1,TYPE=P
FIELD NAME=NAME,BYTES=15,START=3,TYPE=C
Внешний уровень архитектуры ANSI/SPARC в IMS представлен блоком
программной спецификации – определяет представление данных, которым
будет пользоваться прикладная программа, делится на блоки программной
коммуникации, в которых определяются сегменты к которым возможно
обращение:
; определение блока программной коммуникации (PROCORT определяет
опции доступа (Get, Insert, Replace, Delete, All))
PCB TYPE=DB,DBNAME=DB_OTDEL,PROCORT=A,KEYLEN=18
SENSEG NAME=OTDEL,PARENT=0
SENFLD NAME=NAME,START=1
SENSEG NAME= SOTRUDNIK,PARENT=OTDEL
SENFLD NAME=NAME,START=1
Для обработки данных в IMS был создан DML DL/I. Программная
рабочая область СУБД содержала следующие переменные: шаблоны сегментов,
указатели текущего положения и флаги состояния. Доступные команды
позволяли выполнить поиск и извлечение данных в соответствующий шаблон
48