Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL PowerCOBOL (ActiveX, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[PowerCOBOL] PowerCobol & Class & sqlite fastpho Cocina PowerCOBOL 3 10 de agosto de 2023 12:19
Microsoft ADO con PowerCobol fastpho PowerCOBOL (ActiveX, v4 - v11) 0 27 de abril de 2022 18:47
[Compilador] Powercobol & Windows 11 Joseg PowerCOBOL (ActiveX, v4 - v11) 18 14 de octubre de 2021 15:45
[Compilador] Json & Powercobol Joseg PowerCOBOL (ActiveX, v4 - v11) 1 12 de abril de 2021 14:13
[Sintaxis] PowerCOBOL Microsoft ADO diegodm NetCOBOL 1 17 de agosto de 2017 23:52

Respuesta
 
Herramientas

  #11
Antiguo 6 de junio de 2018, 19:55
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Fito, para ser mais fácil peguei o seu (excelente) exemplo. consigo alterar tudo excepto as coluna tipo "date" (fecha). Será que não tenho que dar uma indicação do formato da fecha, tipo yyymmdd por comando?!
Gracias

Código COBOL:
  1.  IDENTIFICATION DIVISION.
  2.  PROGRAM-ID.  ADO.
  3.  ENVIRONMENT DIVISION.
  4.  CONFIGURATION SECTION.
  5.  SPECIAL-NAMES.
  6.      DECIMAL-POINT IS COMMA.
  7.  REPOSITORY.
  8.      CLASS COM   AS "*COM"
  9.      CLASS EXCEP AS "*COM-EXCEPTION"
  10.      CLASS ARRAY AS "*COM-ARRAY".
  11.      
  12.  DATA DIVISION.
  13.  WORKING-STORAGE SECTION.
  14. *01 WK-OPTION    PIC S9(9) COMP-5 VALUE POW-ADODB-ADCMDTEXT.
  15.  01  VARIABLES.
  16.      02 ADO-CONNECTION-TYPE        PIC X(256) VALUE "ADODB.Connection".  
  17.      02 ADO-RECORDSET-TYPE         PIC X(256) VALUE "ADODB.Recordset".  
  18.      02 OBJ-CONNECTION             OBJECT REFERENCE COM.
  19.      02 OBJ-RECORDSET              OBJECT REFERENCE COM.
  20.  
  21.      02 OBJ-NAME                   OBJECT REFERENCE COM OCCURS 100.
  22.      02 OBJ-FIELD                  OBJECT REFERENCE COM OCCURS 100.
  23.      02 OBJ-FIELDS                 OBJECT REFERENCE COM .
  24.      02 OBJ-FIELDS-COUNT           PIC S9(9) COMP-5 VALUE 0.
  25.      02 RECORDCOUNT                PIC S9(9) COMP-5 VALUE 0.
  26.      02 RETURN-ERROR               PIC 9(9) COMP-5.
  27.      02 WLOCK                      PIC S9(9) COMP-5 VALUE 3.
  28.      02 WCURSOR                    PIC S9(9) COMP-5 VALUE 3.    *> 3 server
  29.      02 W-INDEX                    PIC 99.
  30.  
  31.      02 WAFTERRECORDS              PIC S9(9) COMP-5 VALUE 3.
  32.  
  33.      02 ADO-CONNECT-STRING         pic x(260) value low-values.
  34. *     02 ADO-CONNECT-STRING         pic x(60) value "DSN=prueba".
  35.      02 ADO-SQL-STRING             pic x(500).
  36.  01  WK-0              PIC S9(9) COMP-5 VALUE 0.
  37.  01  WK-1 PIC S9(9) COMP-5 VALUE 1.
  38.  01 IS-EOF PIC S9(4) COMP-5.
  39.  01 inValue   pic x(200) .
  40.  01 fieldType  pic xxxx.
  41.  01  mystring             pic x(30).
  42.  01  wapellido           pic x(30).
  43.  01 NAME-FIELD PIC X(500) VALUE "CustomerName".
  44.  
  45.  01  wmsg pic x(1000).
  46.  
  47.  01 wfecha1  pic x(10) value '2018-06-07'.
  48.  01 wfecha2  pic x(10) value '07-06-2018'.
  49.  01 wfecha3  pic x(08) value '07062018'.
  50.  01 wfecha4  pic x(8) value '20180607'.
  51.  01 wfecha5  pic 9999/99/99 value "2018/01/02".
  52.  
  53.  01  xx-fecha.
  54.      02 xx-fecha-aa      pic 9999 VALUE 2018.
  55.      02 xx-fecha-g1      pic x value "-".
  56.      02 xx-fecha-mm      pic 99 VALUE 6.
  57.      02 xx-fecha-g2      pic x value "-".
  58.      02 xx-fecha-dd      pic 99 VALUE 4.
  59.  01  redefines xx-fecha.
  60.      02 ww-fecha         pic x(10).
  61.  
  62.  01  qq-fecha.
  63.      02 qq-fecha-dd      pic 99.
  64.      02 qq-fecha-g1      pic x value "-".
  65.      02 qq-fecha-mm      pic 99.
  66.      02 qq-fecha-g2      pic x value "-".
  67.      02 qq-fecha-aa      pic 9999.
  68.  01  redefines qq-fecha.
  69.      02 yy-fecha         pic x(10).
  70.  
  71.  01  w--barras           pic x(12).
  72.  
  73.  01  wvto                pic 9(8).
  74.  01  redefines wvto.
  75.      03 wvto-aa          pic 9999.
  76.      03 wvto-mm          pic 99.
  77.      03 wvto-dd          pic 99.
  78.  
  79.  01  wimporte            pic 9(9),99. *>   comp-5.
  80.  
  81.  01  wresfec             pic 9(8).
  82.  
  83.  01  utnbase-params GLOBAL EXTERNAL.
  84.      02 utnbase-comm     pic 9.
  85.     *> 1 = lee el cupon
  86.     *> 2 = Actualiza cupon
  87.      02 utnbase-error    pic 9.
  88.  
  89.  01 MYDATA PIC 9(9) COMP-5.      
  90.  
  91. *LINKAGE SECTION.
  92. *
  93. *01  utnbase-params.
  94. *    02 utnbase-comm     pic 9.
  95. *    *> 1 = lee el cupon
  96. *    *> 2 = Actualiza cupon
  97. *    02 utnbase-error    pic 9.
  98. *
  99.  PROCEDURE DIVISION. *> using utnbase-params.
  100.  
  101.  comienzo.
  102.  
  103. *    move fecha-amd         to wresfec.
  104.  
  105. *     STRING 'Provider=PCSoft.HFSQL;Initial Catalog=C:\TESTES_OLEDB_HF;
  106. *         'Password="";Extended Properties="Language=ISO-8859-1";' DELIMITED BY SIZE
  107. *          LOW-VALUES DELIMITED BY SIZE
  108. *          INTO ADO-CONNECT-STRING
  109.  
  110.  
  111.      
  112. *> crea los objetos principales
  113.      invoke COM "CREATE-OBJECT" using ADO-CONNECTION-TYPE returning OBJ-CONNECTION.
  114.      invoke COM "CREATE-OBJECT" using ADO-RECORDSET-TYPE  returning OBJ-RECORDSET.
  115.  
  116.  
  117. *> define y abre la conexión
  118.      invoke OBJ-CONNECTION "SET-CONNECTIONSTRING" using ADO-CONNECT-STRING returning RETURN-ERROR.
  119.      invoke OBJ-CONNECTION "OPEN" USING ADO-CONNECT-STRING returning RETURN-ERROR.
  120.  
  121.      
  122. *> define el string sql y lo ejecuta
  123.      evaluate utnbase-comm
  124.         when 1
  125.         when 2
  126.            string "SELECT * FROM CUSTOMER;" delimited by size
  127.                   low-value                           delimited by size
  128.               into ADO-SQL-STRING
  129.            end-string  
  130.      end-evaluate.
  131.      invoke OBJ-RECORDSET "OPEN" using ADO-SQL-STRING OBJ-CONNECTION WLOCK WCURSOR returning RETURN-ERROR.
  132.      invoke OBJ-RECORDSET "GET-RECORDCOUNT" returning RECORDCOUNT.
  133.  
  134.      move 1                 to utnbase-error.
  135.      
  136.      if recordcount not = zeros
  137.         invoke OBJ-RECORDSET "GET-FIELDS" returning OBJ-FIELDS    *> cargo el objeto fields
  138.         invoke OBJ-FIELDS "GET-COUNT" returning OBJ-FIELDS-COUNT  *> cantidad de fields que tiene la tabla
  139.         perform varying W-INDEX from 0 by 1 until W-INDEX > (OBJ-FIELDS-COUNT - 1) *> cargo el los objetos field con cada campo de la tabla
  140.            invoke OBJ-FIELDS "GET-ITEM" using W-INDEX returning OBJ-FIELD(W-INDEX + 1)
  141.         end-perform
  142.  
  143.         move "alterado" to mystring
  144.  
  145.  
  146.         evaluate utnbase-comm
  147.            when 1
  148.               invoke OBJ-RECORDSET "GET-EOF" returning IS-EOF
  149.               perform with test before until IS-EOF not = 0
  150.  
  151.                  invoke OBJ-FIELD(4) "GET-VALUE" returning mystring   *>  
  152.                  invoke OBJ-FIELD(17) "GET-VALUE" returning mystring   *>  
  153.                  invoke OBJ-FIELD(18) "GET-VALUE" returning mystring   *>  
  154.                  invoke OBJ-FIELD(19) "GET-VALUE" returning mystring   *>  COLUNA QUE QUER ALTERAR COM FECHAS
  155.                  move zeros            to utnbase-error
  156.                  invoke OBJ-RECORDSET "MoveNext"
  157.                  invoke OBJ-RECORDSET "GET-EOF" returning IS-EOF
  158.               end-perform
  159.            when 2
  160.               invoke OBJ-RECORDSET "GET-EOF" returning IS-EOF
  161.               perform with test before until IS-EOF not = 0
  162.  
  163.                  move 1234,43 to wimporte
  164.                  invoke OBJ-FIELD(1)  "SET-VALUE" using wimporte
  165.                  invoke OBJ-FIELD(4)  "SET-VALUE" using mystring
  166.  
  167.                  invoke OBJ-FIELD(19) "GET-TYPE" returning mystring   *>    adDBDate    133 Indicates a date value (yyyymmdd) (DBTYPE_DBDATE).
  168.                  invoke OBJ-FIELD(19) "SET-VALUE" using wfecha2     *> FECHA A ATUALIZAR
  169.  
  170.                  invoke OBJ-RECORDSET "UPDATEBATCH" USING WAFTERRECORDS
  171.  
  172.                  invoke OBJ-RECORDSET "GET-SOURCE" returning wmsg
  173.                  invoke OBJ-RECORDSET "GET-STATE" returning wmsg
  174.                  invoke OBJ-RECORDSET "GET-STATUS" returning wmsg
  175.      
  176.  
  177.                  invoke OBJ-RECORDSET "MoveNext"
  178.                  invoke OBJ-RECORDSET "GET-EOF" returning IS-EOF
  179.               end-perform
  180.         end-evaluate      
  181.      end-if.
  182.      
  183.      invoke OBJ-RECORDSET "Close".
  184.      invoke OBJ-CONNECTION "Close".
  185.  
  186.  
  187.  sale.
  188.      exit program.
  189.  
  190.  
  191.  
  192.  END PROGRAM ADO.
Joseg is offline   Responder Con Cita
  #12
Antiguo 14 de julio de 2018, 16:51
Dasije
Forero Senior
Última Actividad 06.03.2022 17:04
Posts Posts: 173
Likes enviados Enviados: 1
Likes recibidos Recibidos: 79

Puede ser que tengas problemas con la configuración regional en las fechas en el motor de la base de datos, que este configurado de una forma y lo estas usando de otra.



Empresa de desarrollo de aplicaciones en COBOL.

DASIJE INFORMATICA, S.L.
C/ TOMAS BRETON 20
11406 JEREZ DE LA FRONTERA
CADIZ

Teléfono : 956 11 21 11
Web: http://www.dasije.es / DASIJE INFORMATICA
E-m@il: clientes(@)dasije.es
Dasije is offline   Responder Con Cita
Respuesta



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

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:08.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.