Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   COBOL - General (https://www.cobolforo.es/forumdisplay.php?f=44)
-   -   [Duda] Limpiar linea (https://www.cobolforo.es/showthread.php?t=2025)

dariodr 30 de julio de 2026 11:00

Limpiar linea
 
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.

Kuk 30 de julio de 2026 22:45

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

dariodr 1 de agosto de 2026 04:36

No funciono, sigo viendo la informacion anterior. Uso gnucobol.
Salu2.

Josber 1 de agosto de 2026 11:31

@dariodr

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

dariodr 1 de agosto de 2026 12:56

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.

Josber 2 de agosto de 2026 13:48

@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.-


La franja horaria es GMT +2. Ahora son las 13:55.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.