Gracias Rui Pinto (Rapinto)
COBOL Foro
Foro dedicado a COBOL, a la Programación y a la Informática.
Retroceder   COBOL Foro > Programación e Informática > Bases de datos > MySQL
MySQL Base de datos MySQL.
Noticias y Avisos
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Sintaxis] Error de property en "Execute" Hector PowerCOBOL (ActiveX, v4 - v11) 4 9 de mayo de 2018 15:47
[Sintaxis] Error MOVE "Parent" de un nodo "Root" en TreeView dmosca PowerCOBOL (ActiveX, v4 - v11) 1 23 de agosto de 2017 07:47
[Información] Error "impresora en uso" al cambiar de Form dmosca PowerFORM 2 20 de abril de 2017 15:44
[Postgresql] Error ODBC "No response from backend" Lascu Bases de datos 5 21 de diciembre de 2015 20:43
[Compilador] Error "... AUTHORIZATION TIME RUNOUT". Tigre NetCOBOL for Windows 3 31 de mayo de 2015 10:26
Respuesta
 
Herramientas

  #11
Antiguo 20 de mayo de 2015, 12:30
IDENTIFICATION DIVISION
Josber
Super Moderador
ENVIRONMENT DIVISION
Avatar de Josber
DATA DIVISION
Forero desde (Registrado)febrero 2015
España
UbicaciónAlicante
Última Actividad26.06.2019 13:53
PROCEDURE DIVISION
PostsPosts: 455
Ha dicho GraciasEnviado: 180
Ha recibido agradecimientosRecibido: 197
Mejores respuestasSoluiones: 29
Medallas recibidas: 1Medallas: Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por muchos agradecimientos 
ReputaciónReputación: 18
Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road
Predeterminado

¿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 no ha iniciado sesión   Responder Con Cita
  #12
Antiguo 20 de mayo de 2015, 15:22
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)diciembre 2014
España
UbicaciónMadrid
Edad34 años
Última Actividad25.06.2019 20:59
PROCEDURE DIVISION
PostsPosts: 1.393
Ha dicho GraciasEnviado: 304
Ha recibido agradecimientosRecibido: 526
Mejores respuestasSoluiones: 85
ReputaciónReputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Predeterminado

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 - obligatorias de conocer para TODOS.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale Pinchando en su Nick:

Kuk no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Josber (20 de mayo de 2015)
  #13
Antiguo 20 de mayo de 2015, 15:44
IDENTIFICATION DIVISION
Josber
Super Moderador
ENVIRONMENT DIVISION
Avatar de Josber
DATA DIVISION
Forero desde (Registrado)febrero 2015
España
UbicaciónAlicante
Última Actividad26.06.2019 13:53
PROCEDURE DIVISION
PostsPosts: 455
Ha dicho GraciasEnviado: 180
Ha recibido agradecimientosRecibido: 197
Mejores respuestasSoluiones: 29
Medallas recibidas: 1Medallas: Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por muchos agradecimientos 
ReputaciónReputación: 18
Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road
Predeterminado

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 18:37. Razón: Post añadido
Josber no ha iniciado sesión   Responder Con Cita
  #14
Antiguo 20 de mayo de 2015, 19:57
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)diciembre 2014
España
UbicaciónMadrid
Edad34 años
Última Actividad25.06.2019 20:59
PROCEDURE DIVISION
PostsPosts: 1.393
Ha dicho GraciasEnviado: 304
Ha recibido agradecimientosRecibido: 526
Mejores respuestasSoluiones: 85
ReputaciónReputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Predeterminado

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 - obligatorias de conocer para TODOS.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale Pinchando en su Nick:

Kuk no ha iniciado sesión   Responder Con Cita
Respuesta


Usuarios activos actualmente viendo este tema: 1 (0 miembros y 1 visitantes)
 
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



La franja horaria es GMT +1. Ahora son las 15:13.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2019, Jelsoft Enterprises Ltd.