Ver Mensaje Individual
  #1
Antiguo 15 de abril de 2021, 16:39
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 Control DBAccess...
1 Inactivo Inactivo

Hola Amigos:

Estoy haciendo un trabajo con unas notas de pedido que están en un SQL Server de un tercero. Y necesito leer y modificar sus tablas. Para eso estoy usando el control DBAceccess.

El primer problema que me encuentro es que no logro filtrar por fecha.

Código COBOL:
  1.  WORKING-STORAGE SECTION.
  2.  
  3.  01  db-error                pic s9(5) comp-5.
  4.  01  db-eof                  pic s9(5) comp-5.
  5.  
  6.  01  ind                     pic s9(5) comp-5.
  7.  01  wcondicion              pic x(256).
  8.  
  9.  01  wdesfec-comp.
  10.      02 wdesfec-aa           pic 9999.
  11.      02                      pic x value "/".
  12.      02 wdesfec-mm           pic 99.
  13.      02                      pic x value "/".
  14.      02 wdesfec-dd           pic 99.
  15.      02                      pic x(9) value " 00:00:00".
  16.  01  redefines wdesfec-comp.
  17.      02 wdesfec              pic x(19).
  18.      
  19.  01  whasfec-comp.
  20.      02 whasfec-aa           pic 9999.
  21.      02                      pic x value "/".
  22.      02 whasfec-mm           pic 99.
  23.      02                      pic x value "/".
  24.      02 whasfec-dd           pic 99.
  25.      02                      pic x(9) value " 00:00:00".
  26.  01  redefines whasfec-comp.
  27.      02 whasfec              pic x(19).
  28.  
  29.  01  wfec-comp.
  30.      02 wfec-aa              pic 9999.
  31.      02                      pic x value "/".
  32.      02 wfec-mm              pic 99.
  33.      02                      pic x value "/".
  34.      02 wfec-dd              pic 99.
  35.  01  redefines wfec-comp.
  36.      02 wfec                 pic x(19).
  37.  
  38.  PROCEDURE       DIVISION.
  39.      
  40.  #include "copys\declara.cpy".
  41.  
  42.  comienzo.
  43.      invoke grdLista "ClearList".
  44.  
  45.      invoke dbPedidos  "OpenDB".
  46.  
  47.      move spaces                       to wdesfec whasfec.
  48.      
  49.      move "text" of txtDesfec          to fecha-dma.
  50.      move fecha-dma-aa                 to wdesfec-aa.
  51.      move fecha-dma-mm                 to wdesfec-mm.
  52.      move fecha-dma-dd                 to wdesfec-dd.
  53.  
  54.      move "text" of txtHasfec          to fecha-dma.
  55.      move fecha-dma-aa                 to whasfec-aa.
  56.      move fecha-dma-mm                 to whasfec-mm.
  57.      move fecha-dma-dd                 to whasfec-dd.
  58.  
  59.      open output tempo close tempo open i-o tempo.
  60.  
  61.      open input ctacte arti.
  62.  
  63.      move spaces            to wcondicion.
  64.      
  65.      string "XFECHA >= "       delimited by size
  66.             wdesfec            delimited by size
  67.             " and XFECHA <= "  delimited by size  
  68.             whasfec            delimited by size
  69.         into wcondicion
  70.      end-string.
  71.      
  72.      move wcondicion        to "Condition" of dbPedidos.
  73.      
  74.      invoke dbPedidos "SelectRecords" returning db-error.
  75.      if db-error >= zeros
  76.         move 1          to db-eof
  77.         perform until db-eof not = 1
  78.            invoke dbPedidos "ReadNextRecord" returning db-eof
  79.            if db-eof = 1
  80.               perform hace thru f-hace
  81.            end-if
  82.         end-perform
  83.      end-if.
  84.      
  85.      invoke dbPedidos  "CloseDB".

Ya he probado de varias maneras y no logro hacerlo.

Le saco la condición de filtro y me trae todo y me fijo de qué manera me trae la fecha 2021/03/29 16:28:21

Saludos.

Fito...

---------- Post añadido : 11:55 ---------- Post anterior : 11:23 ----------

Me contesto solo.

El campos fecha debe ser pic 9(8) AAAAMMDD y va entre apóstrofes.

Código COBOL:
  1.  WORKING-STORAGE SECTION.
  2.  
  3.  01  xdesfec                 pic 9(8).
  4.  01  xhasfec                 pic 9(8).
  5.  
  6.  PROCEDURE       DIVISION.
  7.  
  8.      string "XFECHA >= '"        delimited by size
  9.             xdesfec              delimited by size
  10.             "' and XFECHA <= '"  delimited by size  
  11.             xhasfec              delimited by size
  12.             "'"                  delimited by size  
  13.         into wcondicion
  14.      end-string.


---------- Post añadido : 11:39 ---------- Post anterior : 11:55 ----------

Holaaaa:

Me parece que hasta acá llegué con el control DBAccess.

No me etrae los datos de un campo tipo "decimal", si bien la conversión me dice que es un s9(14)v99, no me lee nada.
Creo que ese problema lo tuve con un MySql una vez, evidentemente acá tambien.

Voy a tener que probar con otra cosa

Saludos

Fito...
Fito is offline   Responder Con Cita