IDENTIFICATION DIVISION.
PROGRAM-ID. SeqReadNo88.
*>AUTHOR. SERGIO.
*>INSTALLATION. CURSO COBOL.
*>DATE-WRITTEN. 26/09/2024.
*>DATE-COMPILED.
*>SECURITY. NO ES CONFIDENCIAL.
*>--------------------------------------------------------------*
*>OBJETIVO:LEER FICHERO Y VOLCAR DATOS EN FICHERO DE SALIDA *
*>--------------------------------------------------------------*
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-3083.
OBJECT-COMPUTER. IBM-3083.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT STUDENT ASSIGN TO "C:\COBOL\Archivos\1.STUDENTS.txt".
SELECT REPORTE ASSIGN TO "C:\COBOL\Archivos\REPORTE1.txt".
DATA DIVISION.
FILE SECTION.
FD STUDENT
*>LABEL RECORDS ARE STANDARD
RECORD CONTAINS 60 CHARACTERS
BLOCK CONTAINS 0 RECORDS.
*>DATA RECORD IS REG_EMPLEADOS.
01 REG-STUDENT PIC X(60).
FD REPORTE
*>LABEL RECORDS ARE STANDARD
RECORD CONTAINS 400 CHARACTERS
BLOCK CONTAINS 0 RECORDS.
*>DATA RECORD IS REG_REPORTE.
01 REG-REPORTE PIC X(400).
WORKING-STORAGE SECTION.
01 STUDENT-DETALLE.
05 STUDENT-ID PIC 9(7).
05 NOMBRE PIC X(8).
05 INITIALS PIC X(2).
05 DATEOFBIRTH.
06 YEAR PIC 9(4).
06 MONTH PIC 9(2).
06 DIA PIC 9(2).
05 COURSE-ID PIC X(4).
05 GENDER PIC X(1).
01 SW-FIN PIC X(3) VALUE SPACES.
01 WS-TITULO-1.
05 FILLER PIC X(45) VALUE SPACES.
05 WS-TIT PIC X(16) VALUE "DATOS DE ALUMNOS".
05 FILLER PIC X(27) VALUE SPACES.
01 WS-GUIONES.
05 FILLER PIC X(1) VALUE SPACES.
05 FILLER PIC X(120) VALUE ALL "-".
05 FILLER PIC X(1) VALUE SPACES.
01 WS-TITULO-2.
05 FILLER PIC X(04) VALUE SPACES.
05 NUMERO PIC X(6) VALUE "NUMERO".
05 FILLER PIC X(20) VALUE SPACES.
05 APELLIDO PIC X(8) VALUE "APELLIDO".
05 FILLER PIC X(10) VALUE SPACES.
05 INICIALES PIC X(9) VALUE "INICIALES".
05 FILLER PIC X(10) VALUE SPACES.
05 DATESOFBIRTH PIC X(14) VALUE "AÑO NACIMIENTO".
05 FILLER PIC X(10) VALUE SPACES.
05 CODIGOCURSO PIC X(12) VALUE "CODIGO CURSO".
05 FILLER PIC X(10) VALUE SPACES.
05 GENERO PIC X(12) VALUE "GENERO".
01 WS-STUDENT-DETALLE.
05 FILLER PIC X(04) VALUE SPACES.
05 WS-STUDENT-ID PIC 9(7).
05 FILLER PIC X(20) VALUE SPACES.
05 WS-STUDENT-NAME PIC X(8).
05 FILLER PIC X(13) VALUE SPACES.
05 WS-INITIALS PIC X(2).
05 FILLER PIC X(16) VALUE SPACES.
05 WS-DATEOFBIRTH.
10 YEAR PIC 9(4).
10 MONTH PIC 9(2).
10 DIA PIC 9(2).
05 FILLER PIC X(18) VALUE SPACES.
05 WS-COURSE-ID PIC X(4).
05 FILLER PIC X(16) VALUE SPACES.
05 WS-GENDER PIC X(1).
LINKAGE SECTION.
PROCEDURE DIVISION.
010-INICIO.
PERFORM 020-ABRE-ARCHIVOS THRU 020-FIN
PERFORM 030-TITULOS THRU 030-FIN
PERFORM 040-LEE THRU 040-FIN
PERFORM 040-PROCESO THRU 040-FIN
UNTIL SW-FIN EQUAL "FIN".
PERFORM 050-FINAL THRU 050-FIN
GOBACK.
020-ABRE-ARCHIVOS.
OPEN INPUT STUDENT
OUTPUT REPORTE.
020-FIN. EXIT.
030-TITULOS.
WRITE REG-REPORTE FROM WS-TITULO-1 AFTER ADVANCING 1
WRITE REG-REPORTE FROM WS-GUIONES AFTER ADVANCING 1
WRITE REG-REPORTE FROM WS-TITULO-2 AFTER ADVANCING 1
WRITE REG-REPORTE FROM WS-GUIONES AFTER ADVANCING 1.
030-FIN. EXIT.
040-PROCESO.
MOVE STUDENT-ID TO WS-STUDENT-ID
MOVE NOMBRE TO WS-STUDENT-NAME
MOVE INITIALS TO WS-INITIALS
MOVE DATEOFBIRTH TO WS-DATEOFBIRTH
MOVE COURSE-ID TO WS-COURSE-ID
MOVE GENDER TO WS-GENDER
*>DISPLAY WS-STUDENT-NAME.
*>DISPLAY REG-STUDENT.
WRITE REG-REPORTE FROM WS-STUDENT-DETALLE AFTER ADVANCING 1.
*>DISPLAY WS-STUDENT-DETALLE
*>DISPLAY "VALOR ES " SW-FIN.
040-LEE.
READ STUDENT INTO STUDENT-DETALLE AT END
MOVE "FIN" TO SW-FIN.
040-FIN. EXIT.
050-FINAL.
*>DISPLAY SW-FIN
CLOSE STUDENT REPORTE.
050-FIN. EXIT.