IMS DB - Cobol Bsico



Incluimos DL/I, se pide en COBOL programa de aplicacin 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 Declaracin
  • Goback Declaracin
  • Instruccin Call

Entrada Declaracin

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 afirmacin anterior es codificada en el procedimiento divisin de un programa COBOL. Vamos a entrar en los detalles de la entrada de programa COBOL:

  • El lote inicializacin activa el mdulo y el programa de la aplicacin se ejecuta bajo su control.

  • El DL/I carga el control necesario y bloques y mdulos del programa de aplicacin y control de los programas de aplicacin.

  • 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 direccin tambin se proporcionan. Del mismo modo, cuando el DL/I le da el control a la aplicacin, tambin proporciona la direccin de cada PCB definidos en el programa de radiotelevisin.

  • Todos los PCB usados en el programa de aplicacin debe ser definido dentro de la Seccin de elevacin el programa COBOL porque PCB reside fuera del programa de aplicacin.

  • El PCB definicin dentro de la Seccin del elevador se llama como PCB Mscara.

  • La relacin entre mscaras y PCB pcb en almacenamiento real es creado con una lista de los PCB en la entrada. La secuencia de la inclusin en el registro debe ser la misma declaracin, tal y como aparecen en la PSBGEN.

Goback Declaracin

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

GOBACK

A continuacin se enumeran los puntos fundamentales a tener en cuenta acerca del goback declaracin:

  • GOBACK est codificada en la final del programa de aplicacin. 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 razn por la que, en el DL/I programas de aplicacin, goback se usa.

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

Instruccin Call

Instruccin 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 instruccin call:

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

La sintaxis anterior muestra los parmetros que puede utilizar con la instruccin call. Analizaremos cada uno de ellos en la siguiente tabla:

S. No. Descripcin de los parmetros
1

DIL Cdigo de funcin

Identifica el DL/I funcin que se va a realizar. Este argumento es el nombre de los cuatro campos de caracteres que describen la operacin de I/O.

2

Mscara PARA PCB

El PCB definicin dentro de la Seccin del elevador se llama como PCB Mscara. 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 aplicacin en la que el programa DL/I pone un segmento solicitado.

4

Segmento Argumentos de Bsqueda

Estos son parmetros opcionales en funcin del tipo de convocatoria. Se utilizan para buscar segmentos de datos dentro de la base de datos de IMS.

A continuacin, se presentan los puntos a tener en cuenta sobre la llamada declaracin:

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

  • Despus de cada llamada DL/I, el ILD almacena un cdigo de estado de la placa de circuito impreso. El programa puede utilizar este cdigo para determinar si la llamada ha tenido xito o no.

Ejemplo

Para obtener ms 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 parmetros utilizados en el ejemplo en los prximos captulos.

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