Gracias Rui Pinto (Rapinto)
COBOL Foro
Foro dedicado a COBOL, a la Programación y a la Informática.
Retroceder   COBOL Foro > IDE-s y compiladores COBOL > Fujitsu COBOL > PowerCOBOL (ActiveX, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
Comunicados
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Sintaxis] Control DBAccess Hrmcobol PowerCOBOL (ActiveX, v4 - v11) 4 23 de octubre de 2017 22:11
Respuesta
 
Herramientas

  #1
Antiguo 15 de abril de 2021, 15:39
IDENTIFICATION DIVISION
Fito
Guardián del Foro
Guardián del Foro: Guardián del espíritu y clima del Foro - Razón: Por el Avatar  Activista del Foro: Activista del Foro - Razón: Por aportar ideas 
ENVIRONMENT DIVISION
Avatar de Fito
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
Ubicación Córdoba, Villa María
Edad50 años
Última Actividad12.05.2021 20:30
PROCEDURE DIVISION
PostsPosts: 260
Ha dicho GraciasEnviado: 132
Ha recibido agradecimientosRecibido: 123
Mejores respuestasSoluiones: 13
ReputaciónReputación: 18
Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road
Predeterminado Control DBAccess...

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 no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Kuk (14 de abril de 2021)
  #2
Antiguo 15 de abril de 2021, 19:52
IDENTIFICATION DIVISION
fastpho
Novato Senior
Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Razón: Acceso a datos Cobol vía web 
ENVIRONMENT DIVISION
Avatar de fastpho
DATA DIVISION
Forero desde (Registrado)diciembre 2016
Argentina
Ubicación Mendoza
Edad50 años
Última Actividad12.05.2021 14:57
PROCEDURE DIVISION
PostsPosts: 136
Ha dicho GraciasEnviado: 95
Ha recibido agradecimientosRecibido: 75
Mejores respuestasSoluiones: 17
ReputaciónReputación: 12
fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point
Predeterminado

@Fito, Hola podes subir la bd para ver si te podemos ayudar con el campo tipo decimal
fastpho no ha iniciado sesión   Responder Con Cita
  #3
Antiguo 15 de abril de 2021, 22:37
IDENTIFICATION DIVISION
Fito
Guardián del Foro
Guardián del Foro: Guardián del espíritu y clima del Foro - Razón: Por el Avatar  Activista del Foro: Activista del Foro - Razón: Por aportar ideas 
ENVIRONMENT DIVISION
Avatar de Fito
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
Ubicación Córdoba, Villa María
Edad50 años
Última Actividad12.05.2021 20:30
PROCEDURE DIVISION
PostsPosts: 260
Ha dicho GraciasEnviado: 132
Ha recibido agradecimientosRecibido: 123
Mejores respuestasSoluiones: 13
ReputaciónReputación: 18
Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road
Predeterminado

Hola:

Ahí subi la tabla

saludos

Fito
Archivos Adjuntos
Tipo de Archivo: rar DKPEDIDOSCUERPO_202104151834.rar (17,4 KB, 2 descargas)
Fito no ha iniciado sesión   Responder Con Cita
  #4
Antiguo 16 de abril de 2021, 00:20
IDENTIFICATION DIVISION
JCantero
Novato Senior
ENVIRONMENT DIVISION
Avatar de JCantero
DATA DIVISION
Forero desde (Registrado)junio 2016
España
Ubicación Albacete
Edad54 años
Última Actividad12.05.2021 22:28
PROCEDURE DIVISION
PostsPosts: 174
Ha dicho GraciasEnviado: 50
Ha recibido agradecimientosRecibido: 115
Mejores respuestasSoluiones: 8
ReputaciónReputación: 16
JCantero is on a distinguished road JCantero is on a distinguished road JCantero is on a distinguished road JCantero is on a distinguished road JCantero is on a distinguished road JCantero is on a distinguished road JCantero is on a distinguished road JCantero is on a distinguished road JCantero is on a distinguished road
Predeterminado

En PowerCobol no se, pero en RM/Cobol que es lo que yo utilizo con base de datos SQLserver, PostgreSQL, etc, utilizo para los importes campos de edición o alfanumericos que seria lo mismo.

Intenta declarar un campo para probar:

01 importe pic ---------------9.99.

Yo pongo siempre "." en vez de ',' para no meter configuraciones ni conversiones.

Si no te funciona prueba con

01 importe pic x(16).

y luego un "move importe to importe-numerico "


Y en algunas ocasiones para ejecutar procedimientos almacenados en la base de datos (o funciones) utilizo campos numericos como tu indicas:


Código COBOL:
  1.        01 valor1 pic S9(15)V99.
  2.        01 consulta-sql  pic x(100).
  3.  
  4.  
  5. ****** esto seria la consulta que quiero hacer al procedimiento almacenado f_saldo
  6.  
  7.            initialize consulta-sql
  8.            
  9.            STRING "select f_saldo"
  10.                       delimited by size
  11.                   "('"  cuenta "')"
  12.                       delimited by size
  13.                       INTO consulta-sql
  14.  
  15. ********** para ejecutar la consulta y recibir resultado
  16.  
  17.           SQL PREPARE QUERY sql-QueryHaNdle
  18.                sql-ConnectionHandle
  19.                consulta-sql.
  20.            SQL START QUERY sql-QueryHandle.
  21.            SQL FETCH ROW sql-QueryHandle
  22.            SQL GET DATA sql-queryhandle
  23.                  1 VALOR1 OMITTED.

Pero este ultimo rollo que he puesto aqui es para rm/cobol
JCantero no ha iniciado sesión   Responder Con Cita
  #5
Antiguo 16 de abril de 2021, 01:26
IDENTIFICATION DIVISION
fastpho
Novato Senior
Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Razón: Acceso a datos Cobol vía web 
ENVIRONMENT DIVISION
Avatar de fastpho
DATA DIVISION
Forero desde (Registrado)diciembre 2016
Argentina
Ubicación Mendoza
Edad50 años
Última Actividad12.05.2021 14:57
PROCEDURE DIVISION
PostsPosts: 136
Ha dicho GraciasEnviado: 95
Ha recibido agradecimientosRecibido: 75
Mejores respuestasSoluiones: 17
ReputaciónReputación: 12
fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point
Predeterminado

@Fito, yo lo meteria en listview y probaria asi:
Código COBOL:
  1. *----------------
  2.  Carga.      
  3.        INVOKE DB-Ventas-Database "ReadNextRecord" RETURNING ReturnValue.
  4.  
  5.        IF ReturnValue not = 1 then 
  6.                  MOVE 2 to OFlag  
  7.                  exit program
  8.                  end-if
  9.        end-if.
  10.        IF ReturnValue = 1  
  11.          INVOKE CMLISTVIEW1 "Add" USING 1 1 RETURNING WK-IDX
  12.          IF WK-IDX > 0 THEN
  13.             MOVE "ListItems"(WK-IDX) OF CMLISTVIEW1   TO POW-PCMLIST
  14.             MOVE "ARTICULOID"  OF DB-Ventas-Database       TO "Text"(1) OF POW-PCMLIST            
  15.             MOVE "CANTIDAD"    OF DB-Ventas-Database       TO "Numeric"(2) OF POW-PCMLIST *> picture $$$,$$$,$$9.99
  16.             MOVE "XTOTAL"      OF DB-Ventas-Database       TO "Numeric"(3) OF POW-PCMLIST *> picture $$$,$$$,$$9.99
  17.             MOVE "PRECIO"      OF DB-Ventas-Database       TO "Numeric"(4) OF POW-PCMLIST *> picture $$$,$$$,$$9.99      
  18.             INVOKE CMLISTVIEW1 "Refresh"
  19.             MOVE 3 TO OFlag
  20.          END-IF
  21.        END-IF.  
  22. *----------------        
  23.  F-Carga.
  24.     exit program.    
Saludos
fastpho no ha iniciado sesión   Responder Con Cita
  #6
Antiguo 16 de abril de 2021, 15:02
IDENTIFICATION DIVISION
Fito
Guardián del Foro
Guardián del Foro: Guardián del espíritu y clima del Foro - Razón: Por el Avatar  Activista del Foro: Activista del Foro - Razón: Por aportar ideas 
ENVIRONMENT DIVISION
Avatar de Fito
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
Ubicación Córdoba, Villa María
Edad50 años
Última Actividad12.05.2021 20:30
PROCEDURE DIVISION
PostsPosts: 260
Ha dicho GraciasEnviado: 132
Ha recibido agradecimientosRecibido: 123
Mejores respuestasSoluiones: 13
ReputaciónReputación: 18
Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road Fito is on a distinguished road
Predeterminado

Hola:

Me viene en cero el dato, sin importar el formato que le de.

No voy a renegar más con esto, voy a ver con ADO si funciona

Muchas gracias...

Saludos...

Fito...
Fito no ha iniciado sesión   Responder Con Cita
  #7
Antiguo 16 de abril de 2021, 16:30
IDENTIFICATION DIVISION
fastpho
Novato Senior
Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Razón: Acceso a datos Cobol vía web 
ENVIRONMENT DIVISION
Avatar de fastpho
DATA DIVISION
Forero desde (Registrado)diciembre 2016
Argentina
Ubicación Mendoza
Edad50 años
Última Actividad12.05.2021 14:57
PROCEDURE DIVISION
PostsPosts: 136
Ha dicho GraciasEnviado: 95
Ha recibido agradecimientosRecibido: 75
Mejores respuestasSoluiones: 17
ReputaciónReputación: 12
fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point fastpho is an unknown quantity at this point
Predeterminado

Hola @Fito, es muy raro que te traiga los valores en zero , no tendra que ver con la configuracion regional que tenes , o la declaracion
Código COBOL:
  1. SPECIAL-NAMES
  2.       DECIMAL-POINT IS COMMA.


---------- Post añadido : 16:30 ---------- Post anterior : 15:50 ----------

Cita del post de fastpho Ver Mensaje
Hola @Fito, es muy raro que te traiga los valores en zero , no tendra que ver con la configuracion regional que tenes , o la declaracion
Código COBOL:
  1. SPECIAL-NAMES
  2.       DECIMAL-POINT IS COMMA.
yo le pondria en la configuracion regional de numeros , Setear "." separador de decimales (numeros) y Setear "," separador de miles (numeros)
fastpho 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 07:22.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2021, Jelsoft Enterprises Ltd.