COBOL verbos se usan en el procedimiento división de procesamiento de datos. Una declaración siempre comienzan con un verbo COBOL. Hay varios verbos COBOL con distintos tipos de acciones.
Entrada/Salida los verbos se usan para obtener los datos del usuario y mostrar la salida de programas COBOL. Las siguientes dos verbos se utilizan para este proceso.
Aceptar verbo se utiliza para obtener datos como la fecha, hora y día del sistema operativo o directamente desde el usuario. Si un programa es aceptar los datos del usuario, es necesario que se pasa a través. Mientras que los datos del sistema operativo de la opción se incluye como se muestra en el siguiente ejemplo:
ACCEPT WS-STUDENT-NAME. ACCEPT WS-DATE FROM SYSTEM-DATE.
Mostrar verbo se usa para mostrar la salida de un programa COBOL.
DISPLAY WS-STUDENT-NAME. DISPLAY "System date is : " WS-DATE.
PROGRAMA COBOL
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-STUDENT-NAME PIC X(25). 01 WS-DATE PIC X(10). PROCEDURE DIVISION. ACCEPT WS-STUDENT_NAME. ACCEPT WS-DATE FROM DATE. DISPLAY "Name : " WS-STUDENT_NAME. DISPLAY "Date : " WS-DATE. STOP RUN.
JCL para ejecutar el programa COBOL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO //INPUT DD DSN=PROGRAM.DIRECTORY,DISP=SHR //SYSIN DD * Howcodex /*
Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:
Name : Howcodex Date : 2014-08-30
Inicializar verbo se usa para inicializar un elemento de grupo o de un tema elemental. Nombres de Datos con cláusula RENAME no puede inicializarse. Los elementos de datos numéricos son sustituidos por ceros. Alfanumérico o elementos de datos alfabéticos son sustituidos por espacios. Si se incluyen el reemplazo plazo, entonces los elementos de datos se pueden inicializar a la sustitución valor como se muestra en el ejemplo siguiente:
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-NAME PIC A(30) VALUE 'ABCDEF'. 01 WS-ID PIC 9(5). 01 WS-ADDRESS. 05 WS-HOUSE-NUMBER PIC 9(3). 05 WS-COUNTRY PIC X(15). 05 WS-PINCODE PIC 9(6) VALUE 123456. PROCEDURE DIVISION. A000-FIRST-PARA. INITIALIZE WS-NAME, WS-ADDRESS. INITIALIZE WS-ID REPLACING NUMERIC DATA BY 12345. DISPLAY "My name is : "WS-NAME. DISPLAY "My ID is : "WS-ID. DISPLAY "Address : "WS-ADDRESS. DISPLAY "House Number : "WS-HOUSE-NUMBER. DISPLAY "Country : "WS-COUNTRY. DISPLAY "Pincode : "WS-PINCODE. STOP RUN.
JCL para ejecutar el programa COBOL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:
My name is : My ID is : 12345 Address : 000 000000 House Number : 000 Country : Pincode : 000000
Mover verbo se utiliza para copiar los datos de los datos de origen de datos de destino. Puede ser utilizado en ambos grupo elemental y elementos de datos. Grupo de elementos de datos, MUEVA CORRESPONDIENTE CORR. Opción de inténtelo, MOVER CORR no funciona; pero en un servidor central que funciona.
Para mover los datos de una cadena de caracteres, MOVE(x:l) se utiliza en donde x es la posición de partida y l es la longitud. Los datos se truncará si destino PIC cláusula elemento de datos es menor que el elemento de datos fuente cláusula PIC. Si los datos de destino tema PIC cláusula es más que el origen de datos cláusula tema PIC, entonces CEROS o ESPACIOS se añadirá en los bytes extra. El ejemplo siguiente hace que sea claro:
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-NUM1 PIC 9(9). 01 WS-NUM2 PIC 9(9). 01 WS-NUM3 PIC 9(5). 01 WS-NUM4 PIC 9(6). 01 WS-ADDRESS. 05 WS-HOUSE-NUMBER PIC 9(3). 05 WS-COUNTRY PIC X(5). 05 WS-PINCODE PIC 9(6). 01 WS-ADDRESS1. 05 WS-HOUSE-NUMBER1 PIC 9(3). 05 WS-COUNTRY1 PIC X(5). 05 WS-PINCODE1 PIC 9(6). PROCEDURE DIVISION. A000-FIRST-PARA. MOVE 123456789 TO WS-NUM1. MOVE WS-NUM1 TO WS-NUM2 WS-NUM3. MOVE WS-NUM1(3:6) TO WS-NUM4. MOVE 123 TO WS-HOUSE-NUMBER. MOVE 'INDIA' TO WS-COUNTRY. MOVE 112233 TO WS-PINCODE. MOVE WS-ADDRESS TO WS-ADDRESS1. DISPLAY "WS-NUM1 : " WS-NUM1 DISPLAY "WS-NUM2 : " WS-NUM2 DISPLAY "WS-NUM3 : " WS-NUM3 DISPLAY "WS-NUM4 : " WS-NUM4 DISPLAY "WS-ADDRESS : " WS-ADDRESS DISPLAY "WS-ADDRESS1 : " WS-ADDRESS1 STOP RUN.
JCL para ejecutar el programa COBOL.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Cuando se compila y ejecuta el programa que produce el resultado siguiente:
WS-NUM1 : 123456789 WS-NUM2 : 123456789 WS-NUM3 : 56789 WS-NUM4 : 345678 WS-ADDRESS : 123INDIA112233 WS-ADDRESS1 : 123INDIA112233
La siguiente tabla proporciona información acerca de las jugadas legales:
Orden alfabético | Alfanumérico | Valor Numérico | |
---|---|---|---|
Orden alfabético | Posible | Posible | No es posible |
Alfanumérico | Posible | Posible | Posible |
Valor Numérico | No es posible | Posible | Posible |
Agregar verbo se utiliza para agregar dos o más números y almacenar el resultado en el operando de destino.
Sintaxis
A continuación se muestra la sintaxis para agregar dos o más números:
ADD A B TO C D ADD A B C TO D GIVING E ADD CORR WS-GROUP1 TO WS-GROUP2
En la sintaxis-1, A, B, C se agrega y el resultado se almacena en C (C=A+B+C). A, B, D y el resultado se almacena en D (D=A+B+D).
En la sintaxis-2, A, B, C, D y se añaden el resultado se almacena en E (E=A+B+C+D).
En la sintaxis-3, sub-elementos de grupo en WS-GRUPO1 y WS GRUPO2 son los agregados y resultado se almacena en WS-group2.
Ejemplo
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-NUM1 PIC 9(9) VALUE 10. 01 WS-NUM2 PIC 9(9) VALUE 10. 01 WS-NUM3 PIC 9(9) VALUE 10. 01 WS-NUM4 PIC 9(9) VALUE 10. 01 WS-NUMA PIC 9(9) VALUE 10. 01 WS-NUMB PIC 9(9) VALUE 10. 01 WS-NUMC PIC 9(9) VALUE 10. 01 WS-NUMD PIC 9(9) VALUE 10. 01 WS-NUME PIC 9(9) VALUE 10. PROCEDURE DIVISION. ADD WS-NUM1 WS-NUM2 TO WS-NUM3 WS-NUM4. ADD WS-NUMA WS-NUMB WS-NUMC TO WS-NUMD GIVING WS-NUME. DISPLAY "WS-NUM1 : " WS-NUM1 DISPLAY "WS-NUM2 : " WS-NUM2 DISPLAY "WS-NUM3 : " WS-NUM3 DISPLAY "WS-NUM4 : " WS-NUM4 DISPLAY "WS-NUMA : " WS-NUMA DISPLAY "WS-NUMB : " WS-NUMB DISPLAY "WS-NUMC : " WS-NUMC DISPLAY "WS-NUMD : " WS-NUMD DISPLAY "WS-NUME : " WS-NUME STOP RUN.
JCL para ejecutar el programa COBOL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:
WS-NUM1 : 000000010 WS-NUM2 : 000000010 WS-NUM3 : 000000030 WS-NUM4 : 000000030 WS-NUMA : 000000010 WS-NUMB : 000000010 WS-NUMC : 000000010 WS-NUMD : 000000010 WS-NUME : 000000040
Restar verbo se utiliza para operaciones de sustracción.
Sintaxis
A continuación se muestra la sintaxis para restar operaciones:
SUBTRACT A B FROM C D SUBTRACT A B C FROM D GIVING E SUBTRACT CORR WS-GROUP1 TO WS-GROUP2
En la sintaxis-1, A y B son añade y resta de C. El resultado se almacena en C (C=C-(A+B). A y B se añade y resta de D. El resultado se almacena en D (D=D-(A+B).
En la sintaxis-2, A, B, C se añade y resta de D. resultado se almacena en (E=D-(A+B+C)
En la sintaxis-3, sub-grupo elementos de WS-GRUPO1 y WS-GRUPO2 se restan y el resultado se almacena en WS-group2.
Ejemplo
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-NUM1 PIC 9(9) VALUE 10. 01 WS-NUM2 PIC 9(9) VALUE 10. 01 WS-NUM3 PIC 9(9) VALUE 100. 01 WS-NUM4 PIC 9(9) VALUE 100. 01 WS-NUMA PIC 9(9) VALUE 10. 01 WS-NUMB PIC 9(9) VALUE 10. 01 WS-NUMC PIC 9(9) VALUE 10. 01 WS-NUMD PIC 9(9) VALUE 100. 01 WS-NUME PIC 9(9) VALUE 10. PROCEDURE DIVISION. SUBTRACT WS-NUM1 WS-NUM2 FROM WS-NUM3 WS-NUM4. SUBTRACT WS-NUMA WS-NUMB WS-NUMC FROM WS-NUMD GIVING WS-NUME. DISPLAY "WS-NUM1 : " WS-NUM1 DISPLAY "WS-NUM2 : " WS-NUM2 DISPLAY "WS-NUM3 : " WS-NUM3 DISPLAY "WS-NUM4 : " WS-NUM4 DISPLAY "WS-NUMA : " WS-NUMA DISPLAY "WS-NUMB : " WS-NUMB DISPLAY "WS-NUMC : " WS-NUMC DISPLAY "WS-NUMD : " WS-NUMD DISPLAY "WS-NUME : " WS-NUME STOP RUN.
JCL para ejecutar el programa COBOL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:
WS-NUM1 : 000000010 WS-NUM2 : 000000010 WS-NUM3 : 000000080 WS-NUM4 : 000000080 WS-NUMA : 000000010 WS-NUMB : 000000010 WS-NUMC : 000000010 WS-NUMD : 000000100 WS-NUME : 000000070
Multiplique verbo se usa para la multiplicación de operaciones.
Sintaxis
A continuación se muestra la sintaxis para multiplicar dos o más números:
MULTIPLY A BY B C MULTIPLY A BY B GIVING E
En la sintaxis-1, A y B son se multiplican y el resultado se almacena en B (B=A*B). A y C son se multiplican y el resultado se almacena en C (C=A*C).
En la sintaxis-2, A y B son se multiplican y el resultado se almacena en (E=A*B).
Ejemplo
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-NUM1 PIC 9(9) VALUE 10. 01 WS-NUM2 PIC 9(9) VALUE 10. 01 WS-NUM3 PIC 9(9) VALUE 10. 01 WS-NUMA PIC 9(9) VALUE 10. 01 WS-NUMB PIC 9(9) VALUE 10. 01 WS-NUMC PIC 9(9) VALUE 10. PROCEDURE DIVISION. MULTIPLY WS-NUM1 BY WS-NUM2 WS-NUM3. MULTIPLY WS-NUMA BY WS-NUMB GIVING WS-NUMC. DISPLAY "WS-NUM1 : " WS-NUM1 DISPLAY "WS-NUM2 : " WS-NUM2 DISPLAY "WS-NUM3 : " WS-NUM3 DISPLAY "WS-NUMA : " WS-NUMA DISPLAY "WS-NUMB : " WS-NUMB DISPLAY "WS-NUMC : " WS-NUMC STOP RUN.
JCL para ejecutar el programa COBOL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:
WS-NUM1 : 000000010 WS-NUM2 : 000000100 WS-NUM3 : 000000100 WS-NUMA : 000000010 WS-NUMB : 000000010 WS-NUMC : 000000100
Dividir verbo se utiliza para las operaciones de división.
Sintaxis
A continuación se muestra la sintaxis siguiente para las operaciones de división:
DIVIDE A INTO B DIVIDE A BY B GIVING C REMAINDER R
En la sintaxis-1, B está dividido por una y el resultado se almacena en B (B=B/A).
En la sintaxis 2, se divide por B y el resultado se almacena en C (C=A/B) y el resto se almacena en R.
Ejemplo
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-NUM1 PIC 9(9) VALUE 5. 01 WS-NUM2 PIC 9(9) VALUE 250. 01 WS-NUMA PIC 9(9) VALUE 100. 01 WS-NUMB PIC 9(9) VALUE 15. 01 WS-NUMC PIC 9(9). 01 WS-REM PIC 9(9). PROCEDURE DIVISION. DIVIDE WS-NUM1 INTO WS-NUM2. DIVIDE WS-NUMA BY WS-NUMB GIVING WS-NUMC REMAINDER WS-REM. DISPLAY "WS-NUM1 : " WS-NUM1 DISPLAY "WS-NUM2 : " WS-NUM2 DISPLAY "WS-NUMA : " WS-NUMA DISPLAY "WS-NUMB : " WS-NUMB DISPLAY "WS-NUMC : " WS-NUMC DISPLAY "WS-REM : " WS-REM STOP RUN.
JCL para ejecutar el programa COBOL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:
WS-NUM1 : 000000005 WS-NUM2 : 000000050 WS-NUMA : 000000100 WS-NUMB : 000000015 WS-NUMC : 000000006 WS-REM : 000000010
Computación se usa para escribir expresiones aritméticas en COBOL. Este es el reemplazo de sumar, restar, multiplicar y dividir.
Ejemplo
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-NUM1 PIC 9(9) VALUE 10. 01 WS-NUM2 PIC 9(9) VALUE 10. 01 WS-NUM3 PIC 9(9) VALUE 10. 01 WS-NUMA PIC 9(9) VALUE 50. 01 WS-NUMB PIC 9(9) VALUE 10. 01 WS-NUMC PIC 9(9). PROCEDURE DIVISION. COMPUTE WS-NUMC= (WS-NUM1 * WS-NUM2) - (WS-NUMA / WS-NUMB) + WS-NUM3. DISPLAY "WS-NUM1 : " WS-NUM1 DISPLAY "WS-NUM2 : " WS-NUM2 DISPLAY "WS-NUM3 : " WS-NUM3 DISPLAY "WS-NUMA : " WS-NUMA DISPLAY "WS-NUMB : " WS-NUMB DISPLAY "WS-NUMC : " WS-NUMC STOP RUN.
JCL para ejecutar el programa COBOL.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:
WS-NUM1 : 000000010 WS-NUM2 : 000000010 WS-NUM3 : 000000010 WS-NUMA : 000000050 WS-NUMB : 000000010 WS-NUMC : 000000105