Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol COBOL - General
COBOL - General Discusiones de temática general sobre el lenguaje COBOL y todo lo relacionado con él.
 
Respuesta
 
Herramientas

  #1
Antiguo 30 de julio de 2026, 11:00
dariodr
Forero
Última Actividad 20.09.2026 10:04
Posts Posts: 57
Likes enviados Enviados: 17
Likes recibidos Recibidos: 11
Predeterminado Limpiar linea
0 Inactivo Inactivo

Buenas amigos coboleros, tengo este codigo y una consulta.
Como hago (en ADD-CUSTOMER) para que cada vez que quiera agregar otro registro se borre la informacion anterior, no se si entiende.

Código COBOL:
  1. IDENTIFICATION DIVISION.
  2.        PROGRAM-ID. CUSTOMER-MANAGER.
  3.  
  4.        ENVIRONMENT DIVISION.
  5.  
  6.        DATA DIVISION.
  7.        WORKING-STORAGE SECTION.
  8.        01  MENU-CHOICE        PIC 9.
  9.        01  EXIT-FLAG          PIC X VALUE "N".
  10.            88  EXIT-PROGRAM     VALUE "Y".      
  11.        01  NOMBRE        PIC X(10).
  12.        01  APELLIDO      PIC X(30).
  13.        01  TELEFONO      PIC X(7).
  14.        01  SEGUIR        PIC X.
  15.        01  STATUS-MESSAGE     PIC X(40).
  16.        01  ERROR-MESSAGE      PIC X(40).
  17.  
  18.        SCREEN SECTION.
  19.        01  MAIN-MENU-SCREEN.
  20.            05  BLANK SCREEN.
  21.            05  LINE 1  COLUMN 1  VALUE "============================".
  22.            05  LINE 2  COLUMN 15 VALUE "CUSTOMER MANAGEMENT SYSTEM"
  23.                HIGHLIGHT.
  24.            05  LINE 3  COLUMN 1  VALUE "============================".
  25.            05  LINE 5  COLUMN 20 VALUE "MAIN MENU".
  26.            05  LINE 6  COLUMN 20 VALUE "---------".
  27.            05  LINE 8  COLUMN 20 VALUE "1. Add Customer".
  28.            05  LINE 9  COLUMN 20 VALUE "2. View Customer".
  29.            05  LINE 10 COLUMN 20 VALUE "3. Update Customer".
  30.            05  LINE 11 COLUMN 20 VALUE "4. Delete Customer".
  31.            05  LINE 12 COLUMN 20 VALUE "5. Exit".
  32.            05  LINE 14 COLUMN 20 VALUE "Enter your choice (1-5): ".
  33.            05  LINE 14 COLUMN 45 PIC 9 TO MENU-CHOICE REQUIRED.
  34.  
  35.        01  CUSTOMER-ENTRY-SCREEN.
  36.            05  BLANK SCREEN.
  37.            05  LINE 1  COLUMN 1  VALUE "============================".
  38.            05  LINE 2  COLUMN 15 VALUE "CUSTOMER ENTRY FORM"
  39.                HIGHLIGHT.
  40.            05  LINE 3  COLUMN 1  VALUE "============================".
  41.            05  LINE 5  COLUMN 10 VALUE "Nombre: ".
  42.            05  LINE 5  COLUMN 25 PIC X(10) TO NOMBRE
  43.                REQUIRED.
  44.            05  LINE 6  COLUMN 10 VALUE "Apellido: ".
  45.            05  LINE 6  COLUMN 25 PIC X(30) TO APELLIDO
  46.                REQUIRED.
  47.            05  LINE 7  COLUMN 10 VALUE "Telefono: ".
  48.            05  LINE 7  COLUMN 25 PIC X(7) TO TELEFONO.
  49.            05  LINE 9 COLUMN 25 VALUE 'OTRO REGISTRO S/N: '.
  50.            05  LINE 9 COLUMN 43 PIC X TO SEGUIR.
  51.  
  52.        PROCEDURE DIVISION.
  53.        MAIN-PROCESS.
  54.            PERFORM UNTIL EXIT-PROGRAM
  55.               PERFORM DISPLAY-MAIN-MENU
  56.               PERFORM PROCESS-MENU-CHOICE
  57.            END-PERFORM
  58.            STOP RUN.
  59.  
  60.        DISPLAY-MAIN-MENU.
  61.            DISPLAY MAIN-MENU-SCREEN.
  62.            ACCEPT MAIN-MENU-SCREEN.
  63.  
  64.        PROCESS-MENU-CHOICE.
  65.            EVALUATE MENU-CHOICE
  66.               WHEN 1
  67.                  PERFORM ADD-CUSTOMER UNTIL SEGUIR = 'N'
  68.              WHEN 5
  69.                 MOVE "Y" TO EXIT-FLAG
  70.              WHEN OTHER
  71.                 MOVE "Invalid choice - please try again"
  72.                      TO ERROR-MESSAGE
  73.                 DISPLAY ERROR-MESSAGE LINE 16 COLUMN 20
  74.            END-EVALUATE.
  75.  
  76.        ADD-CUSTOMER.
  77.            DISPLAY CUSTOMER-ENTRY-SCREEN.
  78.            ACCEPT CUSTOMER-ENTRY-SCREEN.
dariodr is offline   Responder Con Cita
  #2
Antiguo 30 de julio de 2026, 22:45
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

@dariodr, tienes que hacer INITIALIZE CUSTOMER-ENTRY-SCREEN antes de hacerle DISPLAY



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #3
Antiguo 1 de agosto de 2026, 04:36
dariodr
Forero
Última Actividad 20.09.2026 10:04
Posts Posts: 57
Likes enviados Enviados: 17
Likes recibidos Recibidos: 11

No funciono, sigo viendo la informacion anterior. Uso gnucobol.
Salu2.
dariodr is offline   Responder Con Cita
  #4
Antiguo 1 de agosto de 2026, 11:31
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 19.09.2026 12:26
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

@dariodr

¿puedes pegar por aquí el código fuente que has programado?, porque es muy raro que un INITIALIZE no te funcione ...

Última edición por Josber fecha: 2 de agosto de 2026 a las 13:48.
Josber is offline   Responder Con Cita
  #5
Antiguo 1 de agosto de 2026, 12:56
dariodr
Forero
Última Actividad 20.09.2026 10:04
Posts Posts: 57
Likes enviados Enviados: 17
Likes recibidos Recibidos: 11

Código COBOL:
  1. IDENTIFICATION DIVISION.
  2.        PROGRAM-ID. CUSTOMER-MANAGER.
  3.  
  4.        ENVIRONMENT DIVISION.
  5.  
  6.        DATA DIVISION.
  7.        WORKING-STORAGE SECTION.
  8.        01  MENU-CHOICE        PIC 9.
  9.        01  EXIT-FLAG          PIC X VALUE "N".
  10.            88  EXIT-PROGRAM     VALUE "Y".      
  11.        01  NOMBRE        PIC X(10).
  12.        01  APELLIDO      PIC X(30).
  13.        01  TELEFONO      PIC X(7).
  14.        01  SEGUIR        PIC X.
  15.        01  STATUS-MESSAGE     PIC X(40).
  16.        01  ERROR-MESSAGE      PIC X(40).
  17.  
  18.        SCREEN SECTION.
  19.        01  MAIN-MENU-SCREEN.
  20.            05  BLANK SCREEN.
  21.            05  LINE 1  COLUMN 1  VALUE "============================".
  22.            05  LINE 2  COLUMN 15 VALUE "CUSTOMER MANAGEMENT SYSTEM"
  23.                HIGHLIGHT.
  24.            05  LINE 3  COLUMN 1  VALUE "============================".
  25.            05  LINE 5  COLUMN 20 VALUE "MAIN MENU".
  26.            05  LINE 6  COLUMN 20 VALUE "---------".
  27.            05  LINE 8  COLUMN 20 VALUE "1. Add Customer".
  28.            05  LINE 9  COLUMN 20 VALUE "2. View Customer".
  29.            05  LINE 10 COLUMN 20 VALUE "3. Update Customer".
  30.            05  LINE 11 COLUMN 20 VALUE "4. Delete Customer".
  31.            05  LINE 12 COLUMN 20 VALUE "5. Exit".
  32.            05  LINE 14 COLUMN 20 VALUE "Enter your choice (1-5): ".
  33.            05  LINE 14 COLUMN 45 PIC 9 TO MENU-CHOICE REQUIRED.
  34.  
  35.        01  CUSTOMER-ENTRY-SCREEN.
  36.            05  BLANK SCREEN.
  37.            05  LINE 1  COLUMN 1  VALUE "============================".
  38.            05  LINE 2  COLUMN 15 VALUE "CUSTOMER ENTRY FORM"
  39.                HIGHLIGHT.
  40.            05  LINE 3  COLUMN 1  VALUE "============================".
  41.            05  LINE 5  COLUMN 10 VALUE "Nombre: ".
  42.            05  LINE 5  COLUMN 25 PIC X(10) TO NOMBRE
  43.                REQUIRED.
  44.            05  LINE 6  COLUMN 10 VALUE "Apellido: ".
  45.            05  LINE 6  COLUMN 25 PIC X(30) TO APELLIDO
  46.                REQUIRED.
  47.            05  LINE 7  COLUMN 10 VALUE "Telefono: ".
  48.            05  LINE 7  COLUMN 25 PIC X(7) TO TELEFONO.
  49.            05  LINE 9 COLUMN 25 VALUE 'OTRO REGISTRO S/N: '.
  50.            05  LINE 9 COLUMN 43 PIC X TO SEGUIR.
  51.  
  52.        PROCEDURE DIVISION.
  53.        MAIN-PROCESS.
  54.            PERFORM UNTIL EXIT-PROGRAM
  55.               PERFORM DISPLAY-MAIN-MENU
  56.               PERFORM PROCESS-MENU-CHOICE
  57.            END-PERFORM
  58.            STOP RUN.
  59.  
  60.        DISPLAY-MAIN-MENU.
  61.            DISPLAY MAIN-MENU-SCREEN.
  62.            ACCEPT MAIN-MENU-SCREEN.
  63.  
  64.        PROCESS-MENU-CHOICE.
  65.            EVALUATE MENU-CHOICE
  66.               WHEN 1
  67.                  PERFORM ADD-CUSTOMER UNTIL SEGUIR = 'N'
  68.              WHEN 5
  69.                 MOVE "Y" TO EXIT-FLAG
  70.              WHEN OTHER
  71.                 MOVE "Invalid choice - please try again"
  72.                      TO ERROR-MESSAGE
  73.                 DISPLAY ERROR-MESSAGE LINE 16 COLUMN 20
  74.            END-EVALUATE.
  75.  
  76.        ADD-CUSTOMER.
  77.            INITIALIZE CUSTOMER-ENTRY-SCREEN.
  78.            DISPLAY CUSTOMER-ENTRY-SCREEN.
  79.            ACCEPT CUSTOMER-ENTRY-SCREEN.
dariodr is offline   Responder Con Cita
  #6
Antiguo 2 de agosto de 2026, 13:48
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 19.09.2026 12:26
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

@dariodr

He hecho unas cuantas pruebas en RM-Cobol copiando tu código y sin modificarlo, (no tengo el compilador GNU, pero RM-Cobol, es muy similar) y a mí me funciona perfectamente, cuando entras en la pantalla, se borran los datos y, después de introducirlos, al pedirle otro nuevo, también se borran sin problemas, igual es un fallo que tiene el compilador de GNU, a ver si alguien más versado en temas LINUX, te puede ayudar.

P.D. tenía unas imágenes capturadas pero, no las puedo subir porque no funciona el tema de los "botones" de edición del foro, para ser exactos, no funciona ninguno, ni el de imágenes, negrita, resaltes, mencionar usuario ...
A ver si @Kuk puede darle un vistazo y ver que se ha trastocado del foro

Un salu2.-
Josber is offline   Responder Con Cita
Respuesta



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 12:10.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.