IMS DB - Cobol Básico



Incluimos DL/I, se pide en COBOL programa de aplicación para comunicarse con base de datos de IMS. Utilizamos las siguientes declaraciones DL/I en programa COBOL para acceder a la base de datos:

  • Entrada Declaración
  • Goback Declaración
  • Instrucción Call

Entrada Declaración

Se usa para pasar el control del DL/I el programa COBOL. Esta es la sintaxis de entrada:

ENTRY 'DLITCBL' USING pcb-name1
                     [pcb-name2]

La afirmación anterior es codificada en el procedimiento división de un programa COBOL. Vamos a entrar en los detalles de la entrada de programa COBOL:

  • El lote inicialización activa el módulo y el programa de la aplicación se ejecuta bajo su control.

  • El DL/I carga el control necesario y bloques y módulos del programa de aplicación y control de los programas de aplicación.

  • DLITCBL significa DL/I de COBOL. La entrada se usa para definir el punto de entrada en el programa.

  • Cuando pedimos un sub-programa en COBOL, la dirección también se proporcionan. Del mismo modo, cuando el DL/I le da el control a la aplicación, también proporciona la dirección de cada PCB definidos en el programa de radiotelevisión.

  • Todos los PCB usados en el programa de aplicación debe ser definido dentro de la Sección de elevación el programa COBOL porque PCB reside fuera del programa de aplicación.

  • El PCB definición dentro de la Sección del elevador se llama como PCB Máscara.

  • La relación entre máscaras y PCB pcb en almacenamiento real es creado con una lista de los PCB en la entrada. La secuencia de la inclusión en el registro debe ser la misma declaración, tal y como aparecen en la PSBGEN.

Goback Declaración

Se usa para pasar el control al programa de IMS. Siguiente es la sintaxis del goback declaración:

GOBACK

A continuación se enumeran los puntos fundamentales a tener en cuenta acerca del goback declaración:

  • GOBACK está codificada en la final del programa de aplicación. Devuelve el control al DL/I del programa.

  • No debemos utilizar DETENER ejecutar como se devuelve el control al sistema operativo. Si utilizamos DETENER EJECUTAR, el DL/I nunca tiene la oportunidad de realizar sus funciones de cierre. Esta es la razón por la que, en el DL/I programas de aplicación, goback se usa.

  • Antes de emitir una declaración goback, todos los no-DL/I conjuntos de datos utilizados en la aplicación COBOL programa debe ser cerrado, de lo contrario, el programa terminará anormalmente.

Instrucción Call

Instrucción Call se utiliza para solicitud de DL/I servicios tales como ejecutar ciertas operaciones en la base de datos de IMS. Esta es la sintaxis de la instrucción call:

CALL 'CBLTDLI' USING DLI Function Code
                        PCB Mask
                        Segment I/O Area
                        [Segment Search Arguments]

La sintaxis anterior muestra los parámetros que puede utilizar con la instrucción call. Analizaremos cada uno de ellos en la siguiente tabla:

S. No. Descripción de los parámetros
1

DIL Código de función

Identifica el DL/I función que se va a realizar. Este argumento es el nombre de los cuatro campos de caracteres que describen la operación de I/O.

2

Máscara PARA PCB

El PCB definición dentro de la Sección del elevador se llama como PCB Máscara. Se utilizan en la entrada. No seleccionar, asignar, abrir o cerrar las declaraciones son necesarios.

3

Segmento Área de I/O

Nombre de la entrada/salida área de trabajo. Este es un área de la aplicación en la que el programa DL/I pone un segmento solicitado.

4

Segmento Argumentos de Búsqueda

Estos son parámetros opcionales en función del tipo de convocatoria. Se utilizan para buscar segmentos de datos dentro de la base de datos de IMS.

A continuación, se presentan los puntos a tener en cuenta sobre la llamada declaración:

  • CBLTDLI de COBOL a DL/I. Es el nombre de un módulo de interfaz que es link editar con su módulo de objeto del programa.

  • Después de cada llamada DL/I, el ILD almacena un código de estado de la placa de circuito impreso. El programa puede utilizar este código para determinar si la llamada ha tenido éxito o no.

Ejemplo

Para obtener más conocimiento de COBOL, puede pasar por nuestro COBOL tutorialaquí. El ejemplo siguiente muestra la estructura de un programa COBOL que utiliza base de datos de IMS y DL/I, se pide. Vamos a analizar en detalle cada uno de los parámetros utilizados en el ejemplo en los próximos capítulos.

IDENTIFICATION DIVISION.
PROGRAM-ID. TEST1.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 DLI-FUNCTIONS.
   05 DLI-GU        PIC X(4)    VALUE 'GU  '.
   05 DLI-GHU       PIC X(4)    VALUE 'GHU '.
   05 DLI-GN        PIC X(4)    VALUE 'GN  '.
   05 DLI-GHN       PIC X(4)    VALUE 'GHN '.
   05 DLI-GNP       PIC X(4)    VALUE 'GNP '.
   05 DLI-GHNP      PIC X(4)    VALUE 'GHNP'.
   05 DLI-ISRT      PIC X(4)    VALUE 'ISRT'.
   05 DLI-DLET      PIC X(4)    VALUE 'DLET'.
   05 DLI-REPL      PIC X(4)    VALUE 'REPL'.
   05 DLI-CHKP      PIC X(4)    VALUE 'CHKP'.
   05 DLI-XRST      PIC X(4)    VALUE 'XRST'.
   05 DLI-PCB       PIC X(4)    VALUE 'PCB '.
01  SEGMENT-I-O-AREA        PIC X(150).
LINKAGE SECTION.
01  STUDENT-PCB-MASK.
   05 STD-DBD-NAME              PIC X(8).
   05 STD-SEGMENT-LEVEL         PIC XX.
   05 STD-STATUS-CODE           PIC XX.
   05 STD-PROC-OPTIONS          PIC X(4).
   05 FILLER                    PIC S9(5) COMP.
   05 STD-SEGMENT-NAME          PIC X(8).
   05 STD-KEY-LENGTH            PIC S9(5) COMP.
   05 STD-NUMB-SENS-SEGS        PIC S9(5) COMP.
   05 STD-KEY                   PIC X(11).
PROCEDURE DIVISION.
ENTRY 'DLITCBL' USING STUDENT-PCB-MASK.
A000-READ-PARA.
110-GET-INVENTORY-SEGMENT.
   CALL ‘CBLTDLI’ USING DLI-GN
                  STUDENT-PCB-MASK
                  SEGMENT-I-O-AREA.
GOBACK.
Advertisements