Advertisement
cheky1980

Untitled

May 10th, 2022
2,018
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
COBOL 7.49 KB | None | 0 0
  1.       IDENTIFICATION DIVISION.
  2.        PROGRAM-ID.                PROG0010.
  3.       * AUTHOR.                    FERNANDO TOLEDO.
  4.       * INSTALLATION.              CENTRO DE CAPACITACION.
  5.       * DATE-WRITTEN.              17/11/16.
  6.       * DATE-COMPILED.
  7.       * SECURITY.                  NO ES CONFIDENCIAL.
  8.       *> ------------------------------------------------------
  9.       *> PROGRAMA QUE EMITE UN REPORTE SIN ESTAR ESTRUCTURADO
  10.       *> ------------------------------------------------------
  11.  
  12.        ENVIRONMENT DIVISION.
  13.        CONFIGURATION SECTION.
  14.        SOURCE-COMPUTER.           IBM-3083.
  15.        OBJECT-COMPUTER.           IBM-3083.
  16.  
  17.        INPUT-OUTPUT SECTION.
  18.        FILE-CONTROL.
  19.            SELECT EMPLEADOS ASSIGN TO "C:\Cobol\Archivos\EMPLEADO.txt".
  20.            SELECT REPORTE   ASSIGN TO "C:\Cobol\Archivos\REPORTE.txt".
  21.  
  22.        DATA DIVISION.
  23.        FILE SECTION.
  24.        FD  EMPLEADOS
  25.       *    LABEL RECORDS ARE STANDARD
  26.            RECORD CONTAINS 50 CHARACTERS
  27.            BLOCK CONTAINS 0 RECORDS.
  28.       *    DATA RECORD IS REG-EMPLEADOS.
  29.        01  REG-EMPLEADOS          PIC X(50).
  30.  
  31.        FD  REPORTE
  32.       *    LABEL RECORDS ARE STANDARD
  33.            RECORD CONTAINS 80 CHARACTERS
  34.            BLOCK CONTAINS 0 RECORDS.
  35.       *    DATA RECORD IS REG-REPORTE.
  36.        01  REG-REPORTE            PIC X(80).
  37.  
  38.        WORKING-STORAGE SECTION.
  39.        01  WS-AREAS-A-USAR.
  40.            05 WS-REG-EMPLEADOS.
  41.               10 WS-NUMERO-EMP    PIC 9(05).
  42.               10 WS-NOMBRE-EMP    PIC X(30).
  43.               10 WS-STATUS-EMP    PIC 9(01).
  44.               10 WS-DEPTO-EMP     PIC 9(03).
  45.               10 WS-PUESTO-EMP    PIC 9(02).
  46.               10 WS-SALARIO-EMP   PIC 9(07)V99.
  47.            05 WS-LEIDOS-EMP       PIC 9(05)    VALUE ZEROS.
  48.            05 WS-IMPRESOS         PIC 9(05)    VALUE ZEROS.
  49.            05 WS-TOT-SALARIOS     PIC 9(09)V99 VALUE ZEROS.
  50.  
  51.        01  WS-TITULO-1.
  52.            05 FILLER              PIC X(27)    VALUE SPACES.
  53.            05 WS-TIT-1            PIC X(22)
  54.                                   VALUE "CENTRO DE CAPACITACION".
  55.            05 FILLER              PIC X(31)    VALUE SPACES.
  56.  
  57.        01  WS-TITULO-2.
  58.            05 FILLER              PIC X(08)    VALUE " FECHA: ".
  59.            05 WS-TIT-2-DIA        PIC 9(02).
  60.            05 FILLER              PIC X(01)    VALUE "/".
  61.            05 WS-TIT-2-MES        PIC 9(02).
  62.            05 FILLER              PIC X(01)    VALUE "/".
  63.            05 WS-TIT-2-ANIO       PIC 9(04).
  64.            05 FILLER              PIC X(09)    VALUE SPACES.
  65.            05 WS-TIT-2            PIC X(23)
  66.                                   VALUE "EMPLEADOS DE LA EMPRESA".
  67.            05 FILLER              PIC X(17)    VALUE SPACES.
  68.            05 FILLER              PIC X(08)    VALUE "PAGINA: ".
  69.            05 WS-TIT-2-PAGINA     PIC ZZ9.
  70.            05 FILLER              PIC X(02)    VALUE SPACES.
  71.  
  72.        01  WS-GUIONES.
  73.            05 FILLER              PIC X(01).
  74.            05 FILLER              PIC X(78)    VALUE ALL "-".
  75.            05 FILLER              PIC X(01)    VALUE SPACES.
  76.  
  77.        01  WS-SUB-TITULO-1.
  78.            05 FILLER              PIC X(04)    VALUE SPACES.
  79.            05 FILLER              PIC X(06)    VALUE "NUMERO".
  80.            05 FILLER              PIC X(12)    VALUE SPACES.
  81.            05 FILLER              PIC X(06)    VALUE "NOMBRE".
  82.            05 FILLER              PIC X(15)    VALUE SPACES.
  83.            05 FILLER              PIC X(06)    VALUE "STATUS".
  84.            05 FILLER              PIC X(02)    VALUE SPACES.
  85.            05 FILLER              PIC X(05)    VALUE "DEPTO".
  86.            05 FILLER              PIC X(01)    VALUE SPACES.
  87.            05 FILLER              PIC X(06)    VALUE "PUESTO".
  88.            05 FILLER              PIC X(04)    VALUE SPACES.
  89.            05 FILLER              PIC X(07)    VALUE "SALARIO".
  90.            05 FILLER              PIC X(06)    VALUE SPACES.
  91.        01  WS-DETALLE.
  92.            05 FILLER              PIC X(04)    VALUE SPACES.
  93.            05 WS-DET-NUMERO       PIC ZZZZ9.
  94.            05 FILLER              PIC X(04)    VALUE SPACES.
  95.            05 WS-DET-NOMBRE       PIC X(30).
  96.            05 FILLER              PIC X(04)    VALUE SPACES.
  97.            05 WS-DET-STATUS       PIC 9(01).
  98.            05 FILLER              PIC X(04)    VALUE SPACES.
  99.            05 WS-DET-DEPTO        PIC 9(03).
  100.            05 FILLER              PIC X(04)    VALUE SPACES.
  101.            05 WS-DET-PUESTO       PIC 9(02).
  102.            05 FILLER              PIC X(03)    VALUE SPACES.
  103.            05 WS-DET-SALARIO      PIC Z,ZZZ,ZZ9.99.
  104.            05 FILLER              PIC X(04)    VALUE SPACES.
  105.  
  106.        01  WS-DETALLE-LEIDOS.
  107.            05 FILLER              PIC X(01).
  108.            05 FILLER              PIC X(29)
  109.                                   VALUE "TOTAL DE EMPLEADOS LEIDOS  : ".
  110.            05 WS-TOT-LEIDOS       PIC ZZ,ZZ9.
  111.            05 FILLER              PIC X(44)    VALUE SPACES.
  112.  
  113.        01  WS-DETALLE-IMPRESOS.
  114.            05 FILLER              PIC X(01).
  115.            05 FILLER              PIC X(29)
  116.                                   VALUE "TOTAL DE EMPLEADOS IMPRESOS: ".
  117.            05 WS-TOT-IMPRESOS     PIC ZZ,ZZ9.
  118.            05 FILLER              PIC X(44)    VALUE SPACES.
  119.  
  120.        01  WS-DETALLE-SALARIOS.
  121.            05 FILLER              PIC X(01).
  122.            05 FILLER              PIC X(29)
  123.                                   VALUE "SUMA TOTAL DE SALARIOS     : ".
  124.            05 WS-DET-SALARIO2     PIC $$$,$$$,$$9.99.
  125.            05 FILLER              PIC X(36)    VALUE SPACES.
  126.  
  127.       * LINKAGE SECTION.
  128.        01  LK-FECHA.
  129.            05 FILLER              PIC X(02).
  130.            05 LK-DIA              PIC 9(02) VALUE 22.
  131.            05 LK-MES              PIC 9(02) VALUE 10.
  132.            05 LK-ANIO             PIC 9(04) VALUE 2017.
  133.  
  134.        PROCEDURE DIVISION.
  135.        010-INICIO.
  136.            OPEN INPUT  EMPLEADOS
  137.                 OUTPUT REPORTE
  138.            WRITE REG-REPORTE FROM WS-TITULO-1 AFTER ADVANCING PAGE
  139.            MOVE LK-DIA  TO WS-TIT-2-DIA
  140.            MOVE LK-MES  TO WS-TIT-2-MES
  141.            MOVE LK-ANIO TO WS-TIT-2-ANIO
  142.            MOVE 1       TO WS-TIT-2-PAGINA
  143.            WRITE REG-REPORTE FROM WS-TITULO-2 AFTER ADVANCING 1
  144.            WRITE REG-REPORTE FROM WS-GUIONES AFTER ADVANCING 1
  145.            WRITE REG-REPORTE FROM WS-SUB-TITULO-1 AFTER ADVANCING 1
  146.            WRITE REG-REPORTE FROM WS-GUIONES AFTER ADVANCING 1.
  147.        020-LEE.
  148.            READ EMPLEADOS INTO WS-REG-EMPLEADOS AT END
  149.                 GO TO 100-FIN.
  150.            ADD 1                  TO WS-LEIDOS-EMP
  151.            ADD WS-SALARIO-EMP     TO WS-TOT-SALARIOS
  152.  
  153.            MOVE WS-NUMERO-EMP     TO WS-DET-NUMERO
  154.            MOVE WS-NOMBRE-EMP     TO WS-DET-NOMBRE
  155.            MOVE WS-STATUS-EMP     TO WS-DET-STATUS
  156.            MOVE WS-DEPTO-EMP      TO WS-DET-DEPTO
  157.            MOVE WS-PUESTO-EMP     TO WS-DET-PUESTO
  158.            MOVE WS-SALARIO-EMP    TO WS-DET-SALARIO
  159.            WRITE REG-REPORTE FROM WS-DETALLE AFTER ADVANCING 1
  160.  
  161.            ADD 1 TO WS-IMPRESOS
  162.            GO TO 020-LEE.
  163.  
  164.        100-FIN.
  165.            MOVE WS-LEIDOS-EMP     TO WS-TOT-LEIDOS
  166.            WRITE REG-REPORTE FROM WS-DETALLE-LEIDOS AFTER ADVANCING 2
  167.            MOVE WS-IMPRESOS       TO WS-TOT-IMPRESOS
  168.            WRITE REG-REPORTE FROM WS-DETALLE-IMPRESOS AFTER ADVANCING 1
  169.            MOVE WS-TOT-SALARIOS   TO WS-DET-SALARIO2
  170.            WRITE REG-REPORTE FROM WS-DETALLE-SALARIOS AFTER ADVANCING 1
  171.            CLOSE EMPLEADOS
  172.                  REPORTE
  173.            GOBACK.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement