Otros temas que te pueden interesar
|
||||
| Tema | Autor | Foro | Respuestas | Último post |
| Como saber si un disco es local o de red | Gusaiello | Sistemas operativos | 4 | 26 de julio de 2022 02:08 |
| [Sintaxis] Reporte Error=22946 | jmeza | Fujitsu COBOL | 2 | 27 de marzo de 2021 15:51 |
| Hola - ayuda :) | polenorth | Presentación | 3 | 20 de julio de 2020 11:12 |
| [Sintaxis] Exportar Reporte a Excel | jmeza | Fujitsu COBOL | 4 | 7 de julio de 2018 19:29 |
| [Compilador] Error de generación del reporte de Crash | JuanJuan77 | PowerCOBOL (ActiveX, v4 - v11) | 2 | 7 de julio de 2017 22:02 |
![]() |
|
Forero Junior
![]()
|
Hola familia, aquí mi duda. Estoy realizando un programa como estudio donde registro ventas de productos de una tienda, el programa tiene que generar un reporte de las ventas realizadas para luego utilizarla en otro programa que aun no he hecho, mi duda es la siguiente, para hacerlo mas desafiante se me ocurrio que podria por medio de logica automatizar al programa para que pueda reconocer cuando un producto que se vendio se repite y asi en uno de los campos del archivo indexado (el reporte de ventas) vaya sumando la cantidad que se vendio de ese producto..y no se realmente si es posible algo así y no se como hacerlo o no es posible, estoy entre varias ideas pero que no llegan a ningun lado y apreciaría mucho una ayuda, espero se haya entendio lo que hace el programa y mi duda existencial
![]() Entre otras cosas tambien el programa genera un ticket para el cliente, esa parte aun no llegue porque estoy estancado en el reporte. E aqui el código, cualquier consejo o mejora que pueda aplicar seria genial porque soy un principiante aun en esto hasta ahora me han ayudado mucho en esta comunidad y he mejorado gracias a eso!Código COBOL:
|
||||||||
|
|
|
|
El Foro es mi casa
![]()
|
@Marengo97, efectivamente esa seria la idea.
Observación1. Lo primero es que al realizar la venta, no solo tendrias que ver si existe el producto o no, sino tambien que tengas stock para venderlo. Observación2. En la FD de ventas no necesitas tener la descripción pues hay que evitar los campos duplicados. Y entrando en tu duda, tienes que inicializar registro de VENTA, leer REPORTE-VENTA, incrementar el numero de elementos vendidos, si NO existia WRITE VESTAS, si existia REWRITE VENTAS Para esto ultimo necesitas un "file status", para reconocer si un registro existe o no. Te recomiendo que le eches un vistazo al post de FPAIX: [Información] Ejemplos de manejo de archivos y tecla de funcion En el hace un mantenimiento de un fichero indexado. Dedicale tiempo y pregunta lo que no entiendas. Para hacer lo que tu quieres necesitas añadir estas cosas: en SELECT Código COBOL:
en WORKING ( para hacerlo bien, al abrir el fichero (open i-o) hay que preguntar si f-noexiste-REPORTE-VENTAS (ya que metera un 35 en el file status)y si no permitir crearlo y hacer (open output), cuando leas preguntar esta-REPORTE-VENTAS para despues hacer un write o rewrite) Código COBOL:
En PROCEDURE Código COBOL:
ante de hacer el write ventas: Código COBOL:
y si lo quieres multiproceso tienes que controlar que este bloqueado el registro venta pero esto ya es afinar muchos Código COBOL:
Pregunta lo que no entiendas, pero revisa el link que te he puesto. |
||||||||
|
|
|
|
Forero Junior
![]()
|
Igual aprovecho para preguntarte sobre el FD reporte-ventas, segun me dijiste es mejor que solo declare su longitud total y ya, para evitar campos duplicados, podrias explicarme mas por que es mejor hacerlo así?, capaz es evidente la respuesta pero a veces teng esos dilemas si usar la working-storage o trabajar mas desde el FD, ahora yo removi los campos del FD pero, ¿si no declaro la llave del archivo que hago?, o puedo eliminar todos los demas campos del Fd excepto el de la llave? |
|||||||||
|
|
|
|
Forero Junior
![]()
|
Mirá, probé utilizando tablas, ya a estas alturas estoy experimentando y estoy incluso mas perdido el output me sale asi:
Cita:
jajay encima estoy lidiendo con el error "not numeric" constantemente por los espacios que pasan con el MOVE. Código COBOL:
- - - Updated - - - Cita de mi comentario: Uso las tablas porque borre la descripcion de FD como me habias aconsejado por lo tanto paso los datos por una tabla y luego habrian de ser escritas en el reporte-ventas. |
|||||||||
|
|
|
|
El Foro es mi casa
![]()
|
@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:
|
||||||||
|
|
|
|
Forero Junior
![]()
|
- - - Updated - - -
|
||||||||||
|
|
|
![]() |
|
|
| Archivo - Cobol Foro | Contactar con Nosotros - Cobol Foro | |||||||