Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Lenguajes de Programación y demás aspectos de TI Tecnologías de Información Bases de datos
Bases de datos Instalación, administración y mantenimiento de motores de BBDD.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Duda] Call "CFURCOV" System error occurred. code = 0x25 dmosca PowerCOBOL (ActiveX, v4 - v11) 19 6 de agosto de 2019 15:29
[Componente] Conexión SQL vía ADO deja procesos en "SLEEPING" Nitzer PowerCOBOL (ActiveX, v4 - v11) 3 27 de septiembre de 2018 14:28
[Sintaxis] Error MOVE "Parent" de un nodo "Root" en TreeView dmosca PowerCOBOL (ActiveX, v4 - v11) 1 23 de agosto de 2017 08:47
[Duda] Error "impresora en uso" al cambiar de Form dmosca PowerFORM 2 20 de abril de 2017 16:44
[Postgresql] Error ODBC "No response from backend" Lascu Bases de datos 5 21 de diciembre de 2015 21:43

Respuesta

  #11
Antiguo 20 de mayo de 2015, 13:30
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

¿PRONOM?, ¿No te referirás a PROCOD?

Código COBOL:
  1. 03  PROCOD                              PIC S9(5).
  2. 03  PRONOM                              PIC X(40).

Código:
'PROCOD' decimal(5,0) unsigned NOT NULL COMMENT 'NUM. PROVEEDOR',
'PRONOM' varchar(40) DEFAULT NULL COMMENT 'NOMBRE PROVEEDOR',
En cuanto al INTO, en otra tabla está puesto así y funciona, pero luego lo cambiaré a ver, y lo del *, pues al ser tantos campos, si tengo que definirlos todos en el SELECT, vaya palo.

Un saludo.-
Josber is offline   Responder Con Cita
  #12
Antiguo 20 de mayo de 2015, 16:22
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Josber, los campos VARCHAR son campos compuestos, y en COBOL se representan asi:

Código COBOL:
  1.  01  PRONOM.
  2.      49  PRONOM-LON        PIC S9(4) COMP-4. *> CANTIDAD DE BYTES USADA
  3.      49  PRONOM-TXT        PIC X(40). *> MAXIMO

Los niveles 49 deben ser 49 y no otro. Todos los VARCHAR contienen 2 bytes demas, al principio del campo en formato binario donde se indica la longitud, que deberiamos informar segun la longitud que vayamos a usar (de 1 a 40 en este caso). De hecho es la ventaja de los VARCHAR.

En cuanto a lo otro, para los DECIMAL debes usar COMP-3 (o que es lo mismo PACKED-DECIMAL), ademas en la tabla es UNSIGNED :

Código COBOL:
  1. 01  PROCOD                 PIC 9(5) COMP-3.

Pero joe, todo esto son mas bien temas de rendimiento (menos lo del COMP-3). Pero entiendo que en otros sitios te funcion con DECIMAL numerico simple de COBOL? Ha de haber una conversion automatica, puede que en este caso falla por algo. Intenta cambiarlo por COMP-3 a ver que tal...

Si no, ya no se me ocurre nada mas....



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #13
Antiguo 20 de mayo de 2015, 16:44
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

No sabía lo del nivel 49 y que los VARCHAR eran campos compuesto, los puedo cambiar por TINYTEXT, aunque lo malo que tiene éste campo es que no pueden contener NULL, ni un valor declarado de inicio. En cuanto al UNSIGNED, si les quito el signo en la WORKING, a la hora de compilar, me dice que han de ser con signo obligatoriamente, si te pusiera la declaración de la WORKING, verías que todos los campos numéricos llevan signo, (CÓDIGO, TARIFA, GRUPO, NÚMERO DE CUENTA, etc.., y es una mier...).

Un saludo.-

Añadido despues de 2 horas 52 minutos
Confirmado Kuk, si pones COMP-3 y le quitas el signo, al compilar da el siguiente error:


FORM-PROVEEDORES-SQL WORKING-STORAGE(7) : JMN2898I-S The host variable of a binary, external decimal, or internal decimal item must contain the symbol S.
FORM-PROVEEDORES-SQL VIENE-DE-FORM-PRO-INI(85) : JMN3175I-S The USAGE of sending item 'PROCOD' in the STRING statement must be DISPLAY.


Un saludo.-

Última edición por Josber fecha: 20 de mayo de 2015 a las 19:37. Razón: Post añadido
Josber is offline   Responder Con Cita
  #14
Antiguo 20 de mayo de 2015, 20:57
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Josber, que yo sepa los VARCHAR pueden ser NULL... Pero estas cosas varian a veces, yo como uso DB2, es de lo que más sé. Lo mismo pasa con el signo, DB2 lo permite perfectamente sin signo.

Metele signo y COMP-3. Tambien prueba con COMP-4 en vez de COMP-3 y a ver que tal



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #15
Antiguo 21 de mayo de 2024, 19:20
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

A ver, aunque hace ya unnnnn montón de tiempo de ésto, estaba buscando otra cosa y me he topado con ello.

Al final solucioné el error, nada tan sencillo como mover a ZEROS o SPACES, (lo que corresponda), todas las variables definidas en la WORKING que atañen al fichero que se va a actualizar, ¡¡OJO!!, es muy importante, NO SIRVE hacer un INITIALIZE, no funciona, o por lo menos a mí no me funcionó, fue hacer eso y se acabó el problema.

Un salu2 a [email protected]
Josber is offline   Responder Con Cita
Respuesta


Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:26.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.