A continuación presentaremos un programa que lee un archivo secuencial y displaya el valor de un campo del archivo leido.
...... ================================ T O P =================================
000001 *****************************************************************
000002 * INFORMACION ACERCA DEL MANTENIMIENTO DEL PROGRAMA *
000003 *****************************************************************
000004 ID DIVISION.
000005 *===========*
000006 PROGRAM-ID. PROBPRU.
000007 AUTHOR. RICHARD.
000008
000009 ENVIRONMENT DIVISION.
000010 *====================*
000011 CONFIGURATION SECTION.
000012 INPUT-OUTPUT SECTION.
000013 FILE-CONTROL.
000014
000015 SELECT DATAOP ASSIGN TO DATAOPI
000016 FILE STATUS IS STAT-DATAOP.
000017
000018 DATA DIVISION.
000019 *=============*
000020 FILE SECTION.
000021
000022 FD DATAOP
000023 LABEL RECORD ARE STANDARD
000024 BLOCK CONTAINS 00 RECORDS.
000025 COPY CPYRPRUE.
000026
000027
000028 WORKING-STORAGE SECTION.
000029 *-----------------------*
000030 77 STAT-DATAOP PIC 9(02) VALUE 0.
000031 77 WS-ERROR PIC 9(02) VALUE 0.
000032
000033 01 VARIOS.
000034 02 W-TOT-SOLES PIC S9(13)V99 COMP-3 VALUE +0.
000035 02 W-TOT-DOLAR PIC S9(13)V99 COMP-3 VALUE +0.
000036
000037 01 WF-FIN-DATAOP PIC 9(01) VALUE 0.
000038 88 FIN-FILE-DATAOP VALUE 1.
000039 77 W-LEIDOS-DATAOP PIC 9(05) VALUE 0.
000040
000041
000042 PROCEDURE DIVISION.
000043 *===================*
000044 PERFORM INICIA.
000045
000046 PERFORM PROCESA THRU PROCESA-FIN UNTIL FIN-FILE-DATAOP.
000047
000048 PERFORM FINALIZA.
000049 *
000050 INICIA.
000051 *======*
000052 DISPLAY '*===============================* '
000053 DISPLAY '*== INICIO PROGRAMA XXXXXXX ==* '
000054 DISPLAY '*===============================* '
000055
000056
000057 MOVE 16 TO RETURN-CODE.
000058
000059 OPEN INPUT DATAOP.
000060
000061 IF STAT-DATAOP NOT EQUAL '00'
000062 DISPLAY '*===============================*'
000063 DISPLAY '** ERROR AL ABRIR ARCHIVOS **'
000064 DISPLAY '*===============================*'
000065 DISPLAY '** STAT-DATAOP : ' STAT-DATAOP
000066 DISPLAY '*===============================*'
000067 MOVE 1 TO WS-ERROR
000068 PERFORM FINALIZA
000069 END-IF.
000070
000071 PERFORM LEER-DATAOP.
000072
000073 PROCESA.
000074 *=======*
000075 DISPLAY ' PROCESO NRO OPE ' REG-NRO-DOC
000076 PERFORM LEER-DATAOP.
000077
000078 PROCESA-FIN.
000079 *-----------*
000080 EXIT.
000081
000082 FINALIZA.
000083 *--------*
000084 DISPLAY '**LEIDOS ' W-LEIDOS-DATAOP.
000085
000086
000087 CLOSE DATAOP.
000088
000089 IF STAT-DATAOP NOT EQUAL '00'
000090 DISPLAY '*===============================*'
000091 DISPLAY '** ERROR AL CERRAR ARCHIVOS **'
000092 DISPLAY '*===============================*'
000093 DISPLAY '** STAT-DATAOP : ' STAT-DATAOP
000094 DISPLAY '*===============================*'
000095 MOVE 1 TO WS-ERROR
000096 END-IF.
000097
000098 IF WS-ERROR = 1
000099 MOVE 16 TO RETURN-CODE
000100 ELSE
000101 MOVE 00 TO RETURN-CODE
000102 END-IF
000103
000104 DISPLAY 'FIN DEL PROGRAMA XXXXXXX'
000105
000106 STOP RUN.
000107
000108 LEER-DATAOP.
000109 *------------*
000110 READ DATAOP AT END
000111 MOVE 1 TO WF-FIN-DATAOP.
000112
000113 IF WF-FIN-DATAOP = 0
000114 IF STAT-DATAOP NOT EQUAL '00'
000115 DISPLAY '*============================*'
000116 DISPLAY '** ERROR AL LEER DATAOP **'
000117 DISPLAY '*============================*'
000118 DISPLAY '** STAT-DATAOP : ' STAT-DATAOP
000119 DISPLAY '*============================*'
000120 MOVE 1 TO WS-ERROR
000121 PERFORM FINALIZA
000122 ELSE
000123 ADD 1 TO W-LEIDOS-DATAOP
000124 DISPLAY '**LEIDOS ' W-LEIDOS-DATAOP
000125 DISPLAY '**WF-FIN-DATAOP ' WF-FIN-DATAOP
000126 END-IF
000127 END-IF.
000128
...... ============================= B O T T O M ==============================
A continuación iremos explicando cada una de las partes:
viernes, 2 de enero de 2009
Roscoe para OS/390 - Concepto
¿Y que es Roscoe?
Bueno muchachos, Roscoe viene a ser en palabras más simples un editor, claro que también tiene una definición más completa y correcta que indica que Roscoe es una herramienta de mantenimiento y desarrollo de programas en línea. El hecho es que a través de esta herramienta nosotros podremos administrar y editar nuestro código en cobol, cics, db2.
También existen otras herramientas similares como TSO, pero con el que trabajo y por lo tanto usaré en mis ejemplos será el Roscoe 6.0. Ahora Para darnos una idea de las partes que comprende esta herramienta mencionaremos los siguientes elementos:
El Terminal: es donde tu visualizas la data y ejecutas los comandos Roscoe para la tarea que desees.
El AWS: siglas de Active Works Space, y es el area de trabajo temporal disponible para que ingreses tu texto y la edites.
La Librería CA-Roscoe: área de almacén permanente donde puedes guardas el texto que has estado trabajando sobre el AWS.
Existen muchas comandos Roscoe que nos facilitará nuestro trabajo en cobol cics db2, pero que las veremos mas adelante
Suscribirse a:
Entradas (Atom)