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:
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.
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 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.
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.