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
[Compilador] GnuCobol lê base Fujitsu/RM-Cobol ? Yuri GnuCOBOL (OpenCOBOL) 1 16 de diciembre de 2024 18:30
[Herramienta] Fujitsu Cobol & Internet Joseg PowerCOBOL (ActiveX, v4 - v11) 5 8 de marzo de 2018 13:10
[Compilador] Fujitsu Cobol & Sqlite Joseg PowerCOBOL (ActiveX, v4 - v11) 12 7 de febrero de 2018 09:08
[Compilador] Fujitsu Cobol / Webservices Joseg PowerCOBOL (ActiveX, v4 - v11) 5 3 de marzo de 2016 12:28
[Compilador] Fujitsu COBOL v4.x (COBOL97) Kuk PowerCOBOL (ActiveX, v4 - v11) 6 9 de septiembre de 2015 02:12

Respuesta
 
Herramientas

  #1
Antiguo 6 de diciembre de 2019, 13:57
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
Tableta Acesso direto Fujitsu Cobol / MariaDB/ MySql
2 Inactivo Inactivo

Para quem estiver interessado:
Cobol Acessando Mysql

Também funciona em Fujitsu (algumas pequenas limitações).

Estou usando com sucesso.

Muito fácil criar sistemas com arquivos ISAM/SQL

José
Joseg is offline   Responder Con Cita
  #2
Antiguo 1 de octubre de 2024, 15:05
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 21.08.2026 18:08
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

Hola @Joseg
Estoy haciendo una pruebas con la libreria extmysql.lib para
conectarme a una bd Mysql MariaDB remoto

Tengo dudas con el retorno de la funcion "MYSQLCOMANDO"


Estado = "23" siginifica correcto ?
Estado = "10" error ?
Estado = "00" ok ?

o cuales serian los estados
gracias por tu respuesta
Código COBOL:
  1.  77  W-ARQUIVOS            PIC X(250).
  2.  77  W-STATUS              PIC X(02).
  3.  77  W-QRTM                PIC 9(09) COMP-5.
  4.  77  W-CMD                 PIC X(8192).
  5.  01  W-CONEXAO             USAGE POINTER.
  6.  01  W-CURSOR              USAGE POINTER.
  7.  
  8.  01  ESTADO      PIC X(02).
  9.        88  STAT-ERRO            VALUE X"3100" THRU X"3943"
  10.                                       X"3945" THRU X"39EE".
  11.        88  DUPLICADO            VALUE "22".
  12.        88  CRIAR-ARQUIVO        VALUE X"3335" X"3913".
  13.        88  JA-ABERTO            VALUE "41" X"398D".
  14.        88  REINDEXAR            VALUE X"3929" X"3912".
  15.        88  ESTA-ABERTO          VALUE "12".
  16.        88  FOI-CRIADO           VALUE "05".
  17.        88  NAO-ENCONTRADO       VALUE "23".
  18.        88  FINAL-ARQUIVO        VALUE "10".
  19.        88  CHAVE-DUPLICADA      VALUE "02".
  20.  
  21.  01  RESTADO REDEFINES ESTADO.
  22.            02 ST-K01 PIC X(01).
  23.            02 ST-K02 PIC X(01).
  24.            02 RST-K02 REDEFINES ST-K02.
  25.               03 ST-ERR PIC 9(01) COMP-3.
*> Select
Código COBOL:
  1. *-------------------          
  2. *    MYSQLCONECTA
  3.      CALL "MYSQLCONECTA" USING W-ARQUIVOS  *> Variavel com os parametros para estabelecer a conexão
  4.                                W-CONEXAO   *> Retorna handle para encontrar a FCD-AREA da conexão
  5.                                ESTADO.   *> Status de retorno    
  6.      DISPLAY  "ESTADO conecta: " , ESTADO.    
  7. *------------      
  8. * Select  
  9.          MOVE 1      TO W-QRTM.
  10.          MOVE SPACES TO W-CMD.
  11.          STRING 'select Id_empresa, Nombre_empresa, Password_empresa  from empresas'
  12.                  ';'      
  13.                  delimited by size                          
  14.          INTO W-CMD    WITH POINTER W-QRTM
  15.          END-STRING.
  16.          display " W-QRTM : " , W-QRTM.
  17.  
  18.  
  19. *------------        
  20. *MYSQLCOMANDO
  21.          CALL "MYSQLCOMANDO" USING W-CONEXAO *> Handle para recuperar FCD-AREA ------W-MysqlComando
  22.                                    W-CMD        *> Comando a ser executado
  23.                                    W-CURSOR     *> Handle do retorno do comando
  24.                                    W-QRTM       *> Tamanho do comando a ser executado
  25.                                    ESTADO.      *> Status de retorno
  26.      
  27.          DISPLAY  "ESTADO MYSQLCOMANDO: " , ESTADO.    
  28.          stop " ".    
  29.    
  30. *------------        
  31.          IF W-CURSOR NOT = NULL
  32.               PERFORM UNTIL ESTADO NOT = "00"
  33.  
  34.                  *> ------------------------
  35.                 *> MYSQLRETORNA
  36.                  MOVE  ZEROS      TO W-QRTM                
  37.                  CALL "MYSQLRETORNA" USING  W-CONEXAO   *> Handle para recuperar FCD-AREA
  38.                                             W-CURSOR    *> Endereço estrutura do retorno (cursor)
  39.                                             W-QRTM      *> Tamanho do buffer sendo retornado
  40.                                             ESTADO      *> Status de retorno
  41.                                             W-CMD       *> Buffer contendo o resultado sendo retornado. Ter cuidado no programa
  42.                      
  43.                  IF ESTADO = "00"
  44. *                   MOVE  W-CMD      TO *> aca estan lo datos
  45.                     display W-CMD(1:W-QRTM)
  46.                  END-IF
  47.               END-PERFORM
  48.          END-IF.
  49.  
  50. *------------        
  51. *MYSQLLIBERACURSOR
  52.          CALL "MYSQLLIBERACURSOR" USING W-CONEXAO
  53.                                         W-CURSOR. *> Handle para encontrar a FCD-AREA desta conexão
  54. *------------        
  55. *MYSQLDESCONECTA
  56.  
  57.          CALL "MYSQLDESCONECTA" USING W-CONEXAO    *> Handle para encontrar a FCD-AREA desta conexão
  58.                                       W-CURSOR     *> Handle das definições para o cursor, pode não
  59.                                                     *> vir informado.
  60.                                       ESTADO.
  61. *--------------------------------------------      
  62.          EXIT PROGRAM.

*>Update
Código COBOL:
  1. *----------------------
  2. *    MYSQLCONECTA
  3.      CALL "MYSQLCONECTA" USING W-ARQUIVOS  *> Variavel com os parametros para estabelecer a conexão
  4.                                W-CONEXAO   *> Retorna handle para encontrar a FCD-AREA da conexão
  5.                                ESTADO.   *> Status de retorno    
  6.      DISPLAY  "ESTADO conecta: " , ESTADO.    
  7. *------------        
  8. *> Select
  9.          MOVE 1 TO W-QRTM.
  10.          MOVE SPACES TO W-CMD.
  11.          MOVE "EMPRESADA MODELO 8 update"   TO Q-Nombre.
  12.          MOVE "Dirección con letra ñÑ"       TO Q-Dire.
  13.           STRING
  14.             "UPDATE  empresas SET "  
  15.  
  16.             "Nombre_empresa = "      
  17.             "'"  
  18.             Q-Nombre          
  19.             "'"            
  20.             ","                      
  21.             "Direccion_empresa = "      
  22.             "'"
  23.             Q-Dire
  24.             "'"
  25.             " where id_empresa = 31"
  26.              ';' delimited by size                          
  27.                  INTO W-CMD    WITH POINTER W-QRTM
  28.          END-STRING.
  29.          display " W-QRTM : " , W-QRTM.
  30.          DISPLAY  "W-CMD conecta: " , W-CMD(1:W-QRTM).    
  31.          stop " "
  32.  
  33. *------------        
  34. *MYSQLCOMANDO
  35.  
  36.          CALL "MYSQLCOMANDO" USING W-CONEXAO *> Handle para recuperar FCD-AREA ------W-MysqlComando
  37.                                   W-CMD        *> Comando a ser executado
  38.                                   W-CURSOR     *> Handle do retorno do comando
  39.                                   W-QRTM       *> Tamanho do comando a ser executado
  40.                                   ESTADO.      *> Status de retorno
  41.      
  42.          DISPLAY  "ESTADO MYSQLCOMANDO: " , ESTADO.          
  43.          DISPLAY  "comando W-CURSOR: " , W-CURSOR.        
  44.          DISPLAY "ST-ERR : " , ST-ERR.  
  45.          stop " ".
  46. *------------        
  47. *MYSQLLIBERACURSOR
  48.          CALL "MYSQLLIBERACURSOR" USING W-CONEXAO
  49.                                         W-CURSOR. *> Handle para encontrar a FCD-AREA desta conexão
  50. *------------        
  51. *MYSQLDESCONECTA
  52.  
  53.          CALL "MYSQLDESCONECTA" USING W-CONEXAO    *> Handle para encontrar a FCD-AREA desta conexão
  54.                                       W-CURSOR     *> Handle das definições para o cursor, pode não
  55.                                                     *> vir informado.
  56.                                       ESTADO.
  57. *--------------------------------------------    
Saludos ..
fastpho is offline   Responder Con Cita
  #3
Antiguo 1 de octubre de 2024, 15:35
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

Código COBOL:
  1.        01 ESTADO      PIC X(02).
  2.            88  STAT-ERRO            VALUE X"3100" THRU X"3943"
  3.                                              X"3945" THRU X"39EE".
  4.            88  DUPLICADO            VALUE "22".
  5.            88  CRIAR-ARQUIVO      VALUE X"3335" X"3913".
  6.            88  JA-ABERTO              VALUE "41" X"398D".
  7.            88  REINDEXAR             VALUE X"3929" X"3912".
  8.            88  ESTA-ABERTO          VALUE "12".
  9.            88  FOI-CRIADO            VALUE "05".
  10.            88  NAO-ENCONTRADO  VALUE "23".
  11.            88  FINAL-ARQUIVO       VALUE "10".
  12.            88  CHAVE-DUPLICADA  VALUE "02".

Estados sao os que estao no nivel 88.
Usando esta DLL, pode usar os comandos normais do cobol para escrver na BD, (READ, WRITE, START, ETC.).
Se incluir a libraria no Powercobol

pode fazer chamadas diretamente a DLL, do tipo:
Código COBOL:
  1.          MOVE LOW-VALUES TO W-WHERE
  2.          STRING
  3.            "`SUBCOL` = "
  4.            "'"
  5.              Wcol
  6.            "'"
  7.            " AND "
  8.            "`SUBFEC` > 20220101"
  9.              DELIMITED BY SIZE      
  10.          INTO W-WHERE        
  11.          CALL "MONTAWHERE" USING W-WHERE.
  12.          start xx ...
  13.          read xx ...



Citación del post de fastpho Ver Mensaje
Hola @Joseg
Estoy haciendo una pruebas con la libreria extmysql.lib para
conectarme a una bd Mysql MariaDB remoto

Tengo dudas con el retorno de la funcion "MYSQLCOMANDO"


Estado = "23" siginifica correcto ?
Estado = "10" error ?
Estado = "00" ok ?

o cuales serian los estados
gracias por tu respuesta
Código COBOL:
  1.  77  W-ARQUIVOS            PIC X(250).
  2.  77  W-STATUS              PIC X(02).
  3.  77  W-QRTM                PIC 9(09) COMP-5.
  4.  77  W-CMD                 PIC X(8192).
  5.  01  W-CONEXAO             USAGE POINTER.
  6.  01  W-CURSOR              USAGE POINTER.
  7.  
  8.  01  ESTADO      PIC X(02).
  9.        88  STAT-ERRO            VALUE X"3100" THRU X"3943"
  10.                                       X"3945" THRU X"39EE".
  11.        88  DUPLICADO            VALUE "22".
  12.        88  CRIAR-ARQUIVO        VALUE X"3335" X"3913".
  13.        88  JA-ABERTO            VALUE "41" X"398D".
  14.        88  REINDEXAR            VALUE X"3929" X"3912".
  15.        88  ESTA-ABERTO          VALUE "12".
  16.        88  FOI-CRIADO           VALUE "05".
  17.        88  NAO-ENCONTRADO       VALUE "23".
  18.        88  FINAL-ARQUIVO        VALUE "10".
  19.        88  CHAVE-DUPLICADA      VALUE "02".
  20.  
  21.  01  RESTADO REDEFINES ESTADO.
  22.            02 ST-K01 PIC X(01).
  23.            02 ST-K02 PIC X(01).
  24.            02 RST-K02 REDEFINES ST-K02.
  25.               03 ST-ERR PIC 9(01) COMP-3.
*> Select
Código COBOL:
  1. *-------------------          
  2. *    MYSQLCONECTA
  3.      CALL "MYSQLCONECTA" USING W-ARQUIVOS  *> Variavel com os parametros para estabelecer a conexão
  4.                                W-CONEXAO   *> Retorna handle para encontrar a FCD-AREA da conexão
  5.                                ESTADO.   *> Status de retorno    
  6.      DISPLAY  "ESTADO conecta: " , ESTADO.    
  7. *------------      
  8. * Select  
  9.          MOVE 1      TO W-QRTM.
  10.          MOVE SPACES TO W-CMD.
  11.          STRING 'select Id_empresa, Nombre_empresa, Password_empresa  from empresas'
  12.                  ';'      
  13.                  delimited by size                          
  14.          INTO W-CMD    WITH POINTER W-QRTM
  15.          END-STRING.
  16.          display " W-QRTM : " , W-QRTM.
  17.  
  18.  
  19. *------------        
  20. *MYSQLCOMANDO
  21.          CALL "MYSQLCOMANDO" USING W-CONEXAO *> Handle para recuperar FCD-AREA ------W-MysqlComando
  22.                                    W-CMD        *> Comando a ser executado
  23.                                    W-CURSOR     *> Handle do retorno do comando
  24.                                    W-QRTM       *> Tamanho do comando a ser executado
  25.                                    ESTADO.      *> Status de retorno
  26.      
  27.          DISPLAY  "ESTADO MYSQLCOMANDO: " , ESTADO.    
  28.          stop " ".    
  29.    
  30. *------------        
  31.          IF W-CURSOR NOT = NULL
  32.               PERFORM UNTIL ESTADO NOT = "00"
  33.  
  34.                  *> ------------------------
  35.                 *> MYSQLRETORNA
  36.                  MOVE  ZEROS      TO W-QRTM                
  37.                  CALL "MYSQLRETORNA" USING  W-CONEXAO   *> Handle para recuperar FCD-AREA
  38.                                             W-CURSOR    *> Endereço estrutura do retorno (cursor)
  39.                                             W-QRTM      *> Tamanho do buffer sendo retornado
  40.                                             ESTADO      *> Status de retorno
  41.                                             W-CMD       *> Buffer contendo o resultado sendo retornado. Ter cuidado no programa
  42.                      
  43.                  IF ESTADO = "00"
  44. *                   MOVE  W-CMD      TO *> aca estan lo datos
  45.                     display W-CMD(1:W-QRTM)
  46.                  END-IF
  47.               END-PERFORM
  48.          END-IF.
  49.  
  50. *------------        
  51. *MYSQLLIBERACURSOR
  52.          CALL "MYSQLLIBERACURSOR" USING W-CONEXAO
  53.                                         W-CURSOR. *> Handle para encontrar a FCD-AREA desta conexão
  54. *------------        
  55. *MYSQLDESCONECTA
  56.  
  57.          CALL "MYSQLDESCONECTA" USING W-CONEXAO    *> Handle para encontrar a FCD-AREA desta conexão
  58.                                       W-CURSOR     *> Handle das definições para o cursor, pode não
  59.                                                     *> vir informado.
  60.                                       ESTADO.
  61. *--------------------------------------------      
  62.          EXIT PROGRAM.

*>Update
Código COBOL:
  1. *----------------------
  2. *    MYSQLCONECTA
  3.      CALL "MYSQLCONECTA" USING W-ARQUIVOS  *> Variavel com os parametros para estabelecer a conexão
  4.                                W-CONEXAO   *> Retorna handle para encontrar a FCD-AREA da conexão
  5.                                ESTADO.   *> Status de retorno    
  6.      DISPLAY  "ESTADO conecta: " , ESTADO.    
  7. *------------        
  8. *> Select
  9.          MOVE 1 TO W-QRTM.
  10.          MOVE SPACES TO W-CMD.
  11.          MOVE "EMPRESADA MODELO 8 update"   TO Q-Nombre.
  12.          MOVE "Dirección con letra ñÑ"       TO Q-Dire.
  13.           STRING
  14.             "UPDATE  empresas SET "  
  15.  
  16.             "Nombre_empresa = "      
  17.             "'"  
  18.             Q-Nombre          
  19.             "'"            
  20.             ","                      
  21.             "Direccion_empresa = "      
  22.             "'"
  23.             Q-Dire
  24.             "'"
  25.             " where id_empresa = 31"
  26.              ';' delimited by size                          
  27.                  INTO W-CMD    WITH POINTER W-QRTM
  28.          END-STRING.
  29.          display " W-QRTM : " , W-QRTM.
  30.          DISPLAY  "W-CMD conecta: " , W-CMD(1:W-QRTM).    
  31.          stop " "
  32.  
  33. *------------        
  34. *MYSQLCOMANDO
  35.  
  36.          CALL "MYSQLCOMANDO" USING W-CONEXAO *> Handle para recuperar FCD-AREA ------W-MysqlComando
  37.                                   W-CMD        *> Comando a ser executado
  38.                                   W-CURSOR     *> Handle do retorno do comando
  39.                                   W-QRTM       *> Tamanho do comando a ser executado
  40.                                   ESTADO.      *> Status de retorno
  41.      
  42.          DISPLAY  "ESTADO MYSQLCOMANDO: " , ESTADO.          
  43.          DISPLAY  "comando W-CURSOR: " , W-CURSOR.        
  44.          DISPLAY "ST-ERR : " , ST-ERR.  
  45.          stop " ".
  46. *------------        
  47. *MYSQLLIBERACURSOR
  48.          CALL "MYSQLLIBERACURSOR" USING W-CONEXAO
  49.                                         W-CURSOR. *> Handle para encontrar a FCD-AREA desta conexão
  50. *------------        
  51. *MYSQLDESCONECTA
  52.  
  53.          CALL "MYSQLDESCONECTA" USING W-CONEXAO    *> Handle para encontrar a FCD-AREA desta conexão
  54.                                       W-CURSOR     *> Handle das definições para o cursor, pode não
  55.                                                     *> vir informado.
  56.                                       ESTADO.
  57. *--------------------------------------------    
Saludos ..
Joseg 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 13:58.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.