@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:
PROCEDURE DIVISION.
BEGIN-OUTPUT.
OPEN OUTPUT REG-VENDEDORES.
DISPLAY "INGRESE DATOS SOLICITADOS".
DISPLAY "INGRESE CANTIDAD TOTAL DE EMPLEADOS:".
ACCEPT WS-TOTAL-EMPLEADOS.
PERFORM VARYING CONTADOR FROM 1 BY 1
UNTIL CONTADOR > WS-TOTAL-EMPLEADOS
PERFORM INGRESO-DATOS-EMPLEADOS
WRITE VENDEDORES FROM WS-VENDEDORES
END-PERFORM.
CLOSE REG-VENDEDORES.
STOP RUN.
- - - Updated - - -
En el segundo perform, siempre te pide 3 ventas.
Además no inicializas la tabla, ni escribes la tabla.