Ver Mensaje Individual
  #1
Antiguo 15 de septiembre de 2020, 20:26
Fito
Guardián del Foro
Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por el Avatar Activista del Foro: Activista del Foro - Issue reason: Por aportar ideas 
Última Actividad 19.09.2026 13:19
Posts Posts: 458
Likes enviados Enviados: 267
Likes recibidos Recibidos: 243
Predeterminado Campos numericos en SQL Server
0 Inactivo Inactivo

Hola Amigos:

Estoy con un problema. Me tengo que comunicar con una BBDD MS Sql Server y tengo problemas para pasar los campos numericos.

Me conecto vía ADO.

Los campos alfabéticos los carga perfectos.

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  
  5.  01  warticulo   pic x(20).
  6.  01  redefines warticulo.
  7.      02 xart     pic 9(6).
  8.      02          pic x(14).
  9.      
  10.  01  wartdenom   pic x(150).
  11.  01  wartunimed  pic x(20).
  12.  01  wtexto      pic x(250)      value spaces.
  13.  01  wenviado    pic 9(4) comp-5 value zeros.
  14.  01  wzeros      pic 9           value zeros.
  15.  
  16.  01  wbaja       pic s9(10)      value zeros.
  17.  01  wstock      pic s9(14)v99.
  18.  01  wimp        pic 9(14),99.
  19.  
  20.  01  wunimed     pic x(10).
  21.  01  wiva        pic 99,99.
  22.  
  23.  
  24.  01  xprecio         pic 9(7)v9(8).
  25.  01  wprecio         pic 9(7)v9999.
  26.  01  xvprcla.
  27.      02 wven         pic 9(6).
  28.      02 wart         pic 9(6).
  29.      02 wfec         pic 9(8).
  30.  
  31.  PROCEDURE       DIVISION.
  32.  
  33.  comienzo.
  34.      open extend salida.
  35.      accept wsalhora             from time.
  36.      move "   Artículos"         to zlite.
  37.      move wsalhora               to zhora.
  38.      write reg-salida from zregsal.
  39.      close salida.
  40.  
  41.      move "Artículos"         to "Caption" of lblMSG.
  42.      perform refresca.
  43.  
  44.      move 'dbo."DKARTICULOS"'        to ADO-ARCHIVO.
  45.      perform inicializacion.
  46.  
  47.      perform fecha-sistema.
  48.      move fecha-amd           to wfec.
  49.      
  50.      open input arti venpre.
  51.  
  52. *    go sale.
  53.      
  54.  sigue.
  55.      initialize artcla.
  56.      start arti key is not < artcla invalid go sale.
  57.      
  58.  leo.
  59.      read arti next at end go sale.
  60.  
  61.      perform busca-precio.
  62.      if xprecio = zeros go leo.
  63.      
  64.      invoke OBJ-RECORDSET "ADDNEW".
  65.  
  66. *...............................................................    
  67.   *> codigo
  68.      move spaces           to warticulo.
  69.      move articulo         to xart.
  70.      invoke OBJ-FIELD(1)  "SET-VALUE" using warticulo.
  71.  
  72.    *> nombre
  73.      move artdenom         to wartdenom.
  74.      invoke OBJ-FIELD(2)  "SET-VALUE" using wartdenom.
  75.    
  76.    *> baja
  77.      move zeros            to wbaja.
  78.      invoke OBJ-FIELD(3)  "SET-VALUE" using wbaja.
  79.    
  80.    *> stock
  81.      move zeros            to wstock.
  82.      invoke OBJ-FIELD(4)  "SET-VALUE" using wstock.
  83.    
  84.    *> unidad de medida
  85.      move artunimed        to wartunimed.
  86.      invoke OBJ-FIELD(5)  "SET-VALUE" using wartunimed.
  87.    
  88.    *> precio
  89.      move xprecio          to wimp.
  90.      invoke OBJ-FIELD(6)  "SET-VALUE" using wimp.
  91.  
  92.      move zeros            to wimp.
  93.      invoke OBJ-FIELD(7)  "SET-VALUE" using wimp.
  94.      invoke OBJ-FIELD(8)  "SET-VALUE" using wimp.
  95.      invoke OBJ-FIELD(9)  "SET-VALUE" using wimp.
  96.      invoke OBJ-FIELD(10) "SET-VALUE" using wimp.
  97.      invoke OBJ-FIELD(11) "SET-VALUE" using wimp.
  98.  
  99.      invoke OBJ-FIELD(12) "SET-VALUE" using wzeros.
  100.      invoke OBJ-FIELD(13) "SET-VALUE" using wtexto.
  101.      invoke OBJ-FIELD(14) "SET-VALUE" using wtexto.
  102.    
  103.    *> enviado
  104.      move zeros            to wenviado.
  105.      invoke OBJ-FIELD(6)  "SET-VALUE" using wenviado.
  106. *...............................................................    
  107.      invoke OBJ-RECORDSET "UPDATE".
  108.      
  109.      go leo.
  110.      
  111.  sale.
  112.      close arti venpre.
  113.  
  114.      perform cierra.
  115.  
  116.      exit program.
  117.      
  118.  #include "copys\comunpro.cpy".
  119.  #include "copys\adoCnnAvaro.cpy".
  120.  
  121.  
  122.   busca-precio.
  123.      move articulo                  to wart.
  124.      move 99                        to wven.
  125.      perform busca-vpr thru f-busca-vpr.
  126.      move pre-precio     to xprecio.
  127.  
  128.  busca-vpr.
  129.      initialize vprcla pre-precio.
  130.      move wven       to vprven.
  131.      move wart       to vprart.
  132.      start venpre key is not < vprcla invalid go f-busca-vpr.
  133.  
  134.  leo-venpre.
  135.      read venpre next at end go f-busca-vpr.
  136.  
  137.      if vprven  not = wven or
  138.         vprart  not = wart or
  139.         vprfec      > wfec
  140.         go f-busca-vpr.
  141.  
  142.      move vprpre(1)     to pre-precio.
  143.  
  144.      go leo-venpre.
  145.  
  146.  f-busca-vpr.
  147.      exit.

Estoy tratando de cargar el precio y no lleva nada. Ya controlé que el precio venga bien de mis archivos.

El campo PRECIO está definido en la BBDD como "decimal (13,2)"

Para Postgres wimp pic +9(11),99.

Acá ya probé de todo.

Saludos.

Fito...

---------- Post añadido : 15:26 ---------- Post anterior : 13:57 ----------

Hola:

Me respondo solo.

Me parece que estoy para internación,

Si se fijan bien, antes de update, estoy pisando el dato 6. Eso es por copiar y pegar.

Ya mi mente mejorará... o no...

Saludos

Fito...
Fito is offline   Responder Con Cita