Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol GnuCOBOL (OpenCOBOL)
GnuCOBOL (OpenCOBOL) El compilador gratuito y Open Source cada vez más popular.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Componente] Imprimir código QR Armando PowerCOBOL (ActiveX, v4 - v11) 14 5 de diciembre de 2024 12:13
[Componente] Generador código QR atncasiello PowerFORM 1 29 de diciembre de 2020 23:49
[Duda] Lector de código de barras lumalma PowerCOBOL (ActiveX, v4 - v11) 1 3 de octubre de 2019 11:33
[Sintaxis] Codigo Ean 13 Breew PowerCOBOL (ActiveX, v4 - v11) 16 24 de septiembre de 2018 15:28
[Componente] Codigo de barras Roger PowerCOBOL (ActiveX, v4 - v11) 11 14 de mayo de 2015 19:27

Respuesta

  #1
Antiguo 28 de noviembre de 2018, 03:36
dariodr
Forero
Última Actividad 20.09.2026 10:04
Posts Posts: 57
Likes enviados Enviados: 17
Likes recibidos Recibidos: 11
Linux Error en el código
0 Inactivo Inactivo

Hola, este es mi primer post espero me puedan ayudar. Tengo el siguiente codigo, estoy siguiendo el libro "Sam teach yourself COBOL" pero a la hora de compilar me aparecen errores. Estoy usando OpenCobol para Linux Mint.
Estoy retomando cobol despues de 25anios.
Salu2.

Código COBOL:
  1.        IDENTIFICATION DIVISION.
  2.        PROGRAM-ID. PHNADD01.
  3.  
  4.        ENVIRONMENT DIVISION.
  5.        INPUT-OUTPUT SECTION.
  6.        FILE-CONTROL.
  7.            SELECT PHONE-FILE
  8.                ASSIGN TO "PHONE.DAT"
  9.                ORGANIZATION IS SEQUENTIAL.
  10.  
  11.        DATA DIVISION.
  12.        FILE SECTION.
  13.        FD  PHONE-FILE
  14.               LABEL RECORDS ARE STANDARD.
  15.  
  16.        01  PHONE-RECORD.
  17.            05 PHONE-LAST-NAME      PIC X(20).
  18.            05 PHONE-FIRST-NAME     PIC X(20).
  19.            05 PHONE-NUMBER         PIC X(15).
  20.  
  21.        WORKING-STORAGE SECTION.
  22.        01  PROMPT-1          PIC X(9) VALUE "Last Name".
  23.        01  PROMPT-2          PIC X(10) VALUE "First Name".
  24.        01  PROMPT-3          PIC X(6) VALUE "Number".
  25.        01  YES-NO            PIC X.
  26.        01  ENTRY-OK          PIC X.
  27.  
  28.        PROCEDURE DIVISION.
  29.        PROGRAM-BEGIN.
  30.            PERFORM OPENING-PROCEDURE.
  31.            MOVE "Y" TO YES-NO.
  32.            PERFORM ADD-RECORD UNTIL YES-NO = "N".
  33.            PERFORM CLOSING-PROCEDURE.
  34.  
  35.        PROGRAM-DONE.
  36.            STOP RUN.
  37.  
  38.        OPENING-PROCEDURE.
  39.            OPEN EXTEND PHONE-FILE.
  40.  
  41.        CLOSING-PROCEDURE.
  42.            CLOSE PHONE-FILE.
  43.  
  44.        ADD-RECORD.
  45.            MOVE "N" TO ENTRY-OK.
  46.            PERFORM GET-FIELDS UNTIL ENTRY-OK = "Y".
  47.            PERFORM ADD-THIS-RECORD.
  48.            PERFORM GO-AGAIN.
  49.  
  50.        GET-FIELDS.
  51.            MOVE SPACE TO PHONE-RECORD.
  52.            DISPLAY PROMPT-1 " ? ".
  53.            ACCEPT PHONE-LAST-NAME.
  54.            DISPLAY PROMPT-2 " ? ".
  55.            ACCEPT PHONE-FIRST-NAME.
  56.            DISPLAY PROMPT-3 " ? ".
  57.            ACCEPT PHONE-NUMBER.
  58.            PERFORM VALIDATE-FIELDS.
  59.  
  60.        VALIDATE-FIELDS.
  61.            MOVE "Y" TO ENTRY-OK.
  62.            IF PHONE-LAST-NAME = SPACE
  63.                MOVE "N" TO ENTRY-OK
  64.            END-IF
  65.  
  66.        ADD-THIS-RECORD.
  67.            WRITE PHONE-RECORD.
  68.  
  69.        GO-AGAIN.
  70.            DISPLAY "GO AGAIN?".
  71.            ACCEPT YES-NO.
  72.            IF YES-NO = "y"
  73.                MOVE "Y" TO YES-NO
  74.            END-IF.
  75.            IF YES-NO NOT = "Y"
  76.                MOVE "N" TO YES-NO
  77.            END-IF.
dariodr is offline   Responder Con Cita
  #2
Antiguo 28 de noviembre de 2018, 09:02
JCantero
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros 
Última Actividad 02.09.2026 00:15
Posts Posts: 442
Likes enviados Enviados: 167
Likes recibidos Recibidos: 269

Para que te compile sin errores, te falta un punto al final de un parrafo. (linea 64)

Código COBOL:
  1.        IDENTIFICATION DIVISION.
  2.        PROGRAM-ID. PHNADD01.
  3.  
  4.        ENVIRONMENT DIVISION.
  5.        INPUT-OUTPUT SECTION.
  6.        FILE-CONTROL.
  7.            SELECT PHONE-FILE
  8.                ASSIGN TO "PHONE.DAT"
  9.                ORGANIZATION IS SEQUENTIAL.
  10.  
  11.        DATA DIVISION.
  12.        FILE SECTION.
  13.        FD  PHONE-FILE
  14.               LABEL RECORDS ARE STANDARD.
  15.  
  16.        01  PHONE-RECORD.
  17.            05 PHONE-LAST-NAME      PIC X(20).
  18.            05 PHONE-FIRST-NAME     PIC X(20).
  19.            05 PHONE-NUMBER         PIC X(15).
  20.  
  21.        WORKING-STORAGE SECTION.
  22.        01  PROMPT-1          PIC X(9) VALUE "Last Name".
  23.        01  PROMPT-2          PIC X(10) VALUE "First Name".
  24.        01  PROMPT-3          PIC X(6) VALUE "Number".
  25.        01  YES-NO            PIC X.
  26.        01  ENTRY-OK          PIC X.
  27.  
  28.        PROCEDURE DIVISION.
  29.        PROGRAM-BEGIN.
  30.            PERFORM OPENING-PROCEDURE.
  31.            MOVE "Y" TO YES-NO.
  32.            PERFORM ADD-RECORD UNTIL YES-NO = "N".
  33.            PERFORM CLOSING-PROCEDURE.
  34.  
  35.        PROGRAM-DONE.
  36.            STOP RUN.
  37.  
  38.        OPENING-PROCEDURE.
  39.            OPEN EXTEND PHONE-FILE.
  40.  
  41.        CLOSING-PROCEDURE.
  42.            CLOSE PHONE-FILE.
  43.  
  44.        ADD-RECORD.
  45.            MOVE "N" TO ENTRY-OK.
  46.            PERFORM GET-FIELDS UNTIL ENTRY-OK = "Y".
  47.            PERFORM ADD-THIS-RECORD.
  48.            PERFORM GO-AGAIN.
  49.  
  50.        GET-FIELDS.
  51.            MOVE SPACE TO PHONE-RECORD.
  52.            DISPLAY PROMPT-1 " ? ".
  53.            ACCEPT PHONE-LAST-NAME.
  54.            DISPLAY PROMPT-2 " ? ".
  55.            ACCEPT PHONE-FIRST-NAME.
  56.            DISPLAY PROMPT-3 " ? ".
  57.            ACCEPT PHONE-NUMBER.
  58.            PERFORM VALIDATE-FIELDS.
  59.  
  60.        VALIDATE-FIELDS.
  61.            MOVE "Y" TO ENTRY-OK.
  62.            IF PHONE-LAST-NAME = SPACE
  63.                MOVE "N" TO ENTRY-OK
  64. *********** aqui te faltaba el punto
  65.            END-IF.
  66.  
  67.        ADD-THIS-RECORD.
  68.            WRITE PHONE-RECORD.
  69.  
  70.        GO-AGAIN.
  71.            DISPLAY "GO AGAIN?".
  72.            ACCEPT YES-NO.
  73.            IF YES-NO = "y"
  74.                MOVE "Y" TO YES-NO
  75.            END-IF.
  76.            IF YES-NO NOT = "Y"
  77.                MOVE "N" TO YES-NO
  78.            END-IF.
JCantero is offline   Responder Con Cita
Respuesta


Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:41.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.