Citación del post de
JCantero
|
❞
@Marengo97, la sugerencia de no repetir campos era porque nombre lo puedes leer de stock-maestro.
El problema que veo en la reforma que has hecho es que debes marcar lo que hay que ejecutar despues del else. Eso se hace con end-if.
Código COBOL:
REGISTRAR-VENTA. PERFORM varying I from 1 by 1 until WS-CONTINUAR equals "n" or I > 100 INITIALIZE REG-PRODUCTOS LLAVE WS-VENTA DISPLAY "INGRESE ID DEL PRODUCTO: " WITH NO ADVANCING ACCEPT LLAVE-NUMERO-PRODUCTO MOVE LLAVE-NUMERO-PRODUCTO TO WS-ID-AUX READ STOCK-MAESTRO INVALID KEY MOVE "F" TO WS-REG-EXISTE END-READ IF WS-REG-EXISTE = "F" THEN DISPLAY " " DISPLAY "PRODUCTO FUERA DE STOCK." ELSE DISPLAY "INGRESE EL MES ACTUAL: " WITH NO ADVANCING ACCEPT WS-MES(I) MOVE LLAVE-NUMERO-PRODUCTO TO WS-ID-PRODUCTO(I) MOVE NOMBRE-PRO TO WS-NOMBRE(I) COMPUTE VALOR-VENTA = FUNCTION NUMVAL(VALOR-VENTA) MOVE VALOR-VENTA TO WS-PRECIO-BASE(I) SEARCH ALL WS-TABLA AT END MOVE "T" TO WS-REG-EXISTE WHEN WS-ID-PRODUCTO(I) = WS-AUX-INDICE COMPUTE WS-U-VENDIDAS(I) = WS-U-VENDIDAS(I)+ 1 DISPLAY "SE ACTUALIZÓ EL REGISTRO." DISPLAY WS-TABLA(I) END-SEARCH end-if END-PERFORM.
|
No habia notado que olvide poner el end-if, pero aun con el end-if sucede lo mismo, no suma las unidades vendidas y el campo de nombre del producto lo muestra en espacios vacios.
- - - Updated - - -
Citación del post de
JCantero
|
❞
@Marengo97, la sugerencia de no repetir campos era porque nombre lo puedes leer de stock-maestro.
El problema que veo en la reforma que has hecho es que debes marcar lo que hay que ejecutar despues del else. Eso se hace con end-if.
Código COBOL:
REGISTRAR-VENTA. PERFORM varying I from 1 by 1 until WS-CONTINUAR equals "n" or I > 100 INITIALIZE REG-PRODUCTOS LLAVE WS-VENTA DISPLAY "INGRESE ID DEL PRODUCTO: " WITH NO ADVANCING ACCEPT LLAVE-NUMERO-PRODUCTO MOVE LLAVE-NUMERO-PRODUCTO TO WS-ID-AUX READ STOCK-MAESTRO INVALID KEY MOVE "F" TO WS-REG-EXISTE END-READ IF WS-REG-EXISTE = "F" THEN DISPLAY " " DISPLAY "PRODUCTO FUERA DE STOCK." ELSE DISPLAY "INGRESE EL MES ACTUAL: " WITH NO ADVANCING ACCEPT WS-MES(I) MOVE LLAVE-NUMERO-PRODUCTO TO WS-ID-PRODUCTO(I) MOVE NOMBRE-PRO TO WS-NOMBRE(I) COMPUTE VALOR-VENTA = FUNCTION NUMVAL(VALOR-VENTA) MOVE VALOR-VENTA TO WS-PRECIO-BASE(I) SEARCH ALL WS-TABLA AT END MOVE "T" TO WS-REG-EXISTE WHEN WS-ID-PRODUCTO(I) = WS-AUX-INDICE COMPUTE WS-U-VENDIDAS(I) = WS-U-VENDIDAS(I)+ 1 DISPLAY "SE ACTUALIZÓ EL REGISTRO." DISPLAY WS-TABLA(I) END-SEARCH end-if END-PERFORM.
|
Podrias mostrarme como quedaria la FD de reporte-ventas segun lo que me indicas?, no logro ver como es que deberia de quedar.