Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   Bases de datos (https://www.cobolforo.es/forumdisplay.php?f=27)
-   -   Equivalente COBOL a campos Numeric(15,6) (https://www.cobolforo.es/showthread.php?t=291)

Hrmcobol 18 de diciembre de 2015 18:44

Equivalente COBOL a campos Numeric(15,6)
 
Hola Camaradas, tengo problemas para leer un campo Numeric(15,6) de una tabla de SqlServer, me devuelve valor Cero, pero si los cambio a Float, la cosa funciona, el tema es que no puedo cambiar la tabla ya que es de otro soft.
Estoy usando PW9.0 cn Db Access Control.
Alguna Idea. Saludos y Gracias.

Kuk 18 de diciembre de 2015 19:20

Hrmcobol, prueba con estas opciones a ver cual te funciona:

Código COBOL:
  1.  01  CAMPO-PCK        PIC S9(9)V9(6) COMP-3.
  2.  01  CAMPO-BIN        PIC S9(9)V9(6) COMP-4.

Float es binario. Por otro lado, en DB2 los DECIMAL corresponden a COMP-3 o lo que es lo mismo PACKED-DECIMAL. El NUMERIC no lo he tratado nunca (ni SQLServer tampoco).

Fito 18 de diciembre de 2015 23:16

Hola Amigo:

Probaste con:

Código COBOL:
  1. 01  variable    comp-2.

Saludos. Fito...

Kuk 19 de diciembre de 2015 13:58

Fito, COMP-1 y COMP-2 son justamente los FLOAT de signle y double precision.
Hrmcobol, dices que si con FLOAT te funciona pero cambiando en la tabla o poniendolo en el programa COBOL (COMP-1/COMP-2)?

Hrmcobol 22 de diciembre de 2015 02:22

Hola Amigos, no logro que funciones, probé con COMP-3/4/5 y lee ceros, con COMP-1/2 me da error de compilación, Me imagino que estoy haciendo algo mal y no lo veo.
Veremos como salgo
Saludos

Kuk 22 de diciembre de 2015 09:21

Hrmcobol, prueba con PIC X(20).

Xavier 3 de febrero de 2016 00:36

Soy nuevo en el foro y estoy viendo mensajes antiguos, pero por si le sirve a alguien, la forma de relacionar el campo SqlServer Numeric(15,6) o Decimal(15,6) (9 enteros y 6 decimales) con un campo de PWC sería definirlo de la siguiente manera PIC S9(9)V9(6) PACKED-DECIMAL.

Kuk 3 de febrero de 2016 08:53

Xavier, PACKED-DECIMAL equivale a COMP-3, BINARY equivale a COMP o COMP-4 ;)


La franja horaria es GMT +2. Ahora son las 13:51.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.