Los bloques de control de IMS definen la estructura de la base de datos de IMS y el programa de acceso a ellos. El siguiente diagrama muestra la estructura de las unidades de control IMS.
DL / I utiliza los siguientes tres tipos de unidades de control:
En una nota –
DBD describe la estructura fÃsica completa de la base de datos después de que se hayan definido todos los segmentos.
Al instalar la base de datos DL / I, debe crear un DBD, ya que es necesario para acceder a la base de datos IMS.
Las aplicaciones pueden utilizar diferentes vistas DBD. Se denominan estructuras de datos de la aplicación y se especifican en el bloque de especificación del programa.
El administrador de la base de datos crea DBD codificando DBDGEN declaraciones de control.
DBDGEN es un generador de descriptores de bases de datos. El administrador de la base de datos es responsable de crear bloques de control. Todos los módulos de carga se almacenan en la biblioteca IMS. Las sentencias macro en lenguaje ensamblador se utilizan para crear bloques de control. A continuación se muestra un código de muestra que muestra cómo crear un DBD utilizando instrucciones de control 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
Entendamos los términos utilizados en el DBDGEN anterior:
Cuando ejecuta las declaraciones de control anteriores en JCL, crea una estructura fÃsica con BIBLIOTECA como segmento raÃz y LIBROS y REVISTAS como segmentos secundarios.
La primera macro DBD define una base de datos. Aquà debemos mencionar el NOMBRE y el ACCESO que utiliza DL / I para acceder a esta base de datos.
La segunda instrucción de la macro DATASET identifica el archivo que contiene la base de datos.
Los tipos de segmento se definen mediante el operador de macro SEGM. Necesitamos especificar el Padre de este segmento. Si se trata de un segmento raÃz, especifique PARENT = 0.
La siguiente tabla muestra los parámetros utilizados en la macro FIELD:
S. No | Parámetro y descripción |
---|---|
uno |
Nombre Nombre de campo, generalmente de 1 a 8 caracteres. |
2 |
Bytes Longitud del campo |
3 |
Iniciar Posición del campo en el segmento |
cuatro |
Un tipo Tipo de datos de campo |
cinco |
Tipo C Tipo de datos de caracteres |
6 |
Tipo P Tipo de datos decimal empaquetado |
7 |
Tipo Z Tipo de datos decimal dividido en zonas |
8 |
Tipo X Tipo de datos hexadecimales |
9 |
Tipo H Tipo de datos binarios de media palabra |
diez |
Tipo F Tipo de datos binarios de palabra completa |
Los conceptos básicos de PSB se dan a continuación:
La base de datos tiene una estructura fÃsica única definida por el DBD, pero las aplicaciones que la procesan pueden tener diferentes vistas de la base de datos. Estas vistas se denominan estructura de datos de la aplicación y se definen en la PSB.
Ningún programa puede utilizar más de una PSB a la vez.
Los programas de aplicación tienen su propio PSB, y para aplicaciones que tienen requisitos de procesamiento de base de datos similares, se suele utilizar un PSB común.
Un PSB se compone de uno o más bloques de control denominados bloques de comunicación de software (PCB). El PSB contiene una tarjeta para cada base de datos DL / I a la que accederá la aplicación. Discutiremos más sobre PCB en los próximos módulos.
Para crear un PSB para un programa, debe ejecutar PSBGEN.
PSBGEN se conoce como un generador de bloques de especificación de programa. El siguiente ejemplo crea un PSB usando 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
Entendamos los términos utilizados en el DBDGEN anterior:
La primera macro es un bloque de comunicación de software (PCB) que describe el tipo de base de datos, el nombre, la longitud de la clave y el parámetro de procesamiento.
El parámetro DBDNAME en la macro de placa especifica el nombre del DBD. KEYLEN define la longitud de la clave concatenada más larga. El programa puede manejar la base de datos. El parámetro PROCOPT especifica los parámetros para procesar el programa. Por ejemplo, LS significa solo operaciones de CARGA.
SENSEG se conoce como sensibilidad de segmento. Define el acceso del programa a partes de la base de datos y se identifica a nivel de segmento. El programa tiene acceso a todos los campos de los segmentos a los que es sensible. El programa también puede tener sensibilidad a nivel de campo. En esto definimos el nombre del segmento y el nombre del segmento principal.
La última declaración de la macro es PCBGEN. PSBGEN es la última declaración que indica que no hay más declaraciones que procesar. PSBNAME define el nombre dado a la unidad de salida PSB. El parámetro LANG especifica el idioma en el que está escrita la aplicación, como COBOL.
A continuación se enumeran los puntos a tener en cuenta sobre las unidades de control de acceso.
Los bloques de control de acceso para una aplicación combinan un descriptor de base de datos y un bloque de especificación de programa en un formato ejecutable.
ACBGEN se conoce como un generador de bloques de control de acceso. Se utiliza para generar ACB.
Para los programas en lÃnea, necesitamos crear una ACB con anticipación. Por lo tanto, la utilidad ACBGEN se ejecuta antes de que se ejecute la aplicación.
Para los programas por lotes, también se pueden generar ACB en tiempo de ejecución.
🚫