Ver Mensaje Individual
  #2
Antiguo 2 de febrero de 2023, 14:16
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

@Marengo97,
Primer problema.

En el primer perform.

Si pones 0 empleados, te pide datos de forma idefinida porque nunca se cumple la condicion.

Si hay un empleado, pides los datos del primer empleado y ni entra al perform porque se cumple la condicion CONTADOR = WS-TOTAL-EMPLEADOS.

Si hay 2 empleados, pide los datos del primer empleado, lo escribe y vuelve a pedir los datos del segundo empleado y se sale.

Y así sucesivamente.

Se puede hacer así para evitar el problema. Entra si hay mas de un empleado, pide datos y escribe.

Código COBOL:
  1.        PROCEDURE DIVISION.
  2.        BEGIN-OUTPUT.
  3.            OPEN OUTPUT REG-VENDEDORES.
  4.            DISPLAY "INGRESE DATOS SOLICITADOS".
  5.            DISPLAY "INGRESE CANTIDAD TOTAL DE EMPLEADOS:".
  6.            ACCEPT WS-TOTAL-EMPLEADOS.    
  7.            PERFORM VARYING CONTADOR FROM 1 BY 1
  8.                            UNTIL CONTADOR > WS-TOTAL-EMPLEADOS
  9.              PERFORM INGRESO-DATOS-EMPLEADOS
  10.              WRITE VENDEDORES FROM WS-VENDEDORES
  11.            END-PERFORM.
  12.            CLOSE  REG-VENDEDORES.
  13.            STOP RUN.

- - - Updated - - -

En el segundo perform, siempre te pide 3 ventas.
Además no inicializas la tabla, ni escribes la tabla.
JCantero is offline   Responder Con Cita