
- COBOL - Inicio
- COBOL - Descripción General
- COBOL - Configuración del Entorno
- COBOL - Estructura del Programa
- COBOL - Sintaxis Básica
- COBOL - Tipos de Datos
- COBOL - Verbos Básicos
- COBOL - Diseño de Datos
- COBOL - Instrucciones de Condición
- COBOL - Bucle Declaraciones
- COBOL - Manejo de Cadenas
- COBOL - Proceso de Tabla
- COBOL - Manejo de Archivos
- COBOL - Organización de Archivos
- COBOL - Modo de Acceso a Archivos
- COBOL - Manejo de Archivos Los Verbos
- COBOL - Subrutinas
- COBOL - Clasificación iIterna
- COBOL - Interfaz de la Base de Datos
- COBOL - Preguntas de la Entrevista
COBOL - Subrutinas
Cobol subrutina es un programa que puede ser compilado con total independencia, pero no pueden ser ejecutadas independientemente. Hay dos tipos de subrutinas: subrutinas internas comorealizardeclaraciones y externas subrutinas comoLLAMAR verbo.
Llamada Verbo
Llamada verbo se usa para transferir el control de un programa a otro programa. El programa que contiene la LLAMADO verbo es el Programa de llamadas y el programa que se llama sea conocido como el Programa llamado. Programa que realiza la llamada ejecucin se detendr hasta que el programa llamado termina la ejecucin. Salir del programa instruccin se utiliza en el programa llamado para transferir el control.
Programa llamado Limitaciones
Estos son los llamados requisitos del programa:
Varillaje seccin deben ser definidos en el programa llamado. Se compone de elementos de datos en el programa. Los elementos de datos no debera tener clusula de valor. Clusula PIC deben ser compatibles con las variables que se pasan a travs del llamado programa.
Procedimiento divisin utilizando tiene una lista de variables que se pasan en el programa que realiza la llamada y el orden debe ser el mismo que se menciona en la llamada verbo.
Salir del programa instruccin se utiliza en el programa llamado para transferir el control. Debe ser la ltima declaracin en el programa llamado.
Los parmetros se pueden pasar entre los programas de dos maneras:
- Por referencia
- Por contenido
Llamada por referencia
Si los valores de las variables en el programa llamado son modificadas, a continuacin, los nuevos valores se reflejan en el programa que realiza la llamada. SiPOR clusula no es especificado, entonces las variables siempre se pasa por referencia.
Sintaxis
A continuacin se incluye la sintaxis de la llamada a subrutina por referencia:
CALL sub-prog-name USING variable-1, variable-2.
Ejemplo
Ejemplo siguiente es el principal programa de llamadas y UTIL es el programa llamado:
IDENTIFICATION DIVISION. PROGRAM-ID. MAIN. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-STUDENT-ID PIC 9(4) VALUE 1000. 01 WS-STUDENT-NAME PIC A(15) VALUE 'Tim'. PROCEDURE DIVISION. CALL 'UTIL' USING WS-STUDENT-ID, WS-STUDENT-NAME. DISPLAY 'Student Id : ' WS-STUDENT-ID DISPLAY 'Student Name : ' WS-STUDENT-NAME STOP RUN.
Programa llamado
IDENTIFICATION DIVISION. PROGRAM-ID. UTIL. DATA DIVISION. LINKAGE SECTION. 01 LS-STUDENT-ID PIC 9(4). 01 LS-STUDENT-NAME PIC A(15). PROCEDURE DIVISION USING LS-STUDENT-ID, LS-STUDENT-NAME. DISPLAY 'In Called Program'. MOVE 1111 TO LS-STUDENT-ID. EXIT PROGRAM.
JCL para ejecutar el programa COBOL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=MAIN
Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:
In Called Program Student Id : 1111 Student Name : Tim
Llamada por contenido
Si los valores de las variables en el programa llamado son modificadas, a continuacin, los nuevos valores no se reflejar en el programa que realiza la llamada.
Sintaxis
A continuacin se incluye la sintaxis de la llamada a subrutina por contenido:
CALL sub-prog-name USING BY CONTENT variable-1, BY CONTENT variable-2.
Ejemplo
Ejemplo siguiente es el principal programa de llamadas y UTIL es el programa llamado:
IDENTIFICATION DIVISION. PROGRAM-ID. MAIN. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-STUDENT-ID PIC 9(4) VALUE 1000. 01 WS-STUDENT-NAME PIC A(15) VALUE 'Tim'. PROCEDURE DIVISION. CALL 'UTIL' USING BY CONTENT WS-STUDENT-ID, BY CONTENT WS-STUDENT-NAME. DISPLAY 'Student Id : ' WS-STUDENT-ID DISPLAY 'Student Name : ' WS-STUDENT-NAME STOP RUN.
Programa llamado
IDENTIFICATION DIVISION. PROGRAM-ID. UTIL. DATA DIVISION. LINKAGE SECTION. 01 LS-STUDENT-ID PIC 9(4). 01 LS-STUDENT-NAME PIC A(15). PROCEDURE DIVISION USING LS-STUDENT-ID, LS-STUDENT-NAME. DISPLAY 'In Called Program'. MOVE 1111 TO LS-STUDENT-ID. EXIT PROGRAM.
JCL para ejecutar el programa COBOL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=MAIN
Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:
In Called Program Student Id : 1000 Student Name : Tim
Tipos de llamada
Hay dos tipos de llamadas:
Llamada Esttica se produce cuando un programa es compilado con la opcin del compilador NODYNAM. Un esttico llamado programa se carga en el almacenamiento en tiempo de compilacin.
Llamada Dinmica se produce cuando se compila un programa con la DYNAM y NODLL opcin del compilador. Un dinmico programa llamado se carga en el almacenamiento en tiempo de ejecucin.