Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL PowerCOBOL y COM/OLE
PowerCOBOL y COM/OLE La utilización de COM / OLE en PowerCOBOL
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Herramienta] Pasar datos de Cobol (Archivos RMKF) a txt/Excel JuanPelaez COBOL - General 10 3 de enero de 2020 12:58
[PowerCOBOL] Manejo de control CmListView (Grid) Josber Cocina PowerCOBOL 27 18 de noviembre de 2019 09:16
[Compilador] Pasar de CobolWOW a PowerCOBOL rarapisardi PowerCOBOL v3 (V3L10, Win32) 2 2 de noviembre de 2017 09:08
[Sintaxis] Pasar CSV a texto plano theezraak RM/COBOL 8 24 de octubre de 2016 11:01
[Sintaxis] Pasar datos a texto plano Matias PowerCOBOL (ActiveX, v4 - v11) 6 12 de agosto de 2016 19:47

Respuesta

  #1
Antiguo 10 de septiembre de 2015, 13:31
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492
Excel Error al pasar un GRID a EXCEL
0 Inactivo Inactivo

Estoy usando la rutina que puso Rui hace tiempo, para pasar un grid a excel, la tengo instaurada en muchos programas y funciona perfectamente, pero hay uno que me da error, la he revisado muchas veces y no hay manera.

Pongo la pantalla de error, la captura del fichero .log y la parte de código donde arroja el error, a ver si alguien me puede echar una mano.

Como nota informativa, el GRID tiene 56 columnas por 2 lineas.

Muchas gracias a todos.

Un saludo.-

Miniatura de Adjuntos
Pulsar la imagen para la versión amplia
Nombre:  Error1.jpg
Vistas: 202
Tamaño:  29,2 KB   Pulsar la imagen para la versión amplia
Nombre:  Error2.jpg
Vistas: 204
Tamaño:  293,8 KB   Pulsar la imagen para la versión amplia
Nombre:  Error3.jpg
Vistas: 209
Tamaño:  214,7 KB  
Josber is offline   Responder Con Cita
  #2
Antiguo 10 de septiembre de 2015, 14:15
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Josber, antes de la linea 180 habría que preguntar que ARRAYOBJ no es nulo. No sé si NULL de COBOL o POW-NULL de Power, pregunta por amos y muestra un MessageBox en caso de nulo. Creo que ese es el problema.

Además, puedes interceptar este error. Puede ver cómo se hace aquí : [Sintaxis] Como descifrar valores de COM-EXCEPTION - COBOL Foro



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #3
Antiguo 10 de septiembre de 2015, 16:28
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

Josber,

KUK pode ter razão e ser um problema de NULL.
Pela primeira imagem o erro é em SET-VALUE, o que quer dizer que estás a passar um Alfa para uma coluna definida como numérica ou vice-versa.

Tenta no teu programa garantir que todos os campos que estás a passar do teu programa estão preenchidos.
A mim nunca me aconteceu isso. Mas eu verifico sempre se tenho o campo preenchido.

Se tiveres dificuldade, monta um exemplo e envia para mim que eu verifico se encontro o problema.
Saludos,
Rui
Rapinto is offline   Responder Con Cita
  #4
Antiguo 10 de septiembre de 2015, 17:04
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Gracias Kuk, acabo de solucionarlo, el problema está en que Rui, calculó la rutina para un máximo de 52 columnas, dede An hasta AZn, para lo que usó éste código:

Código COBOL:
  1.            IF IDX2 < 27
  2.               MOVE " "          TO INIRANGE(11:1)
  3.               MOVE ARRCOL(IDX2) TO INIRANGE(12:1)
  4.            ELSE
  5.               SUBTRACT 26 FROM IDX2 GIVING COLVAL
  6.               MOVE "A"          TO INIRANGE(11:1)
  7.               MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
  8.            END-IF.

Yo estaba usando 56 columnas, por lo que el rango de celdas a llenar, era mayor y daba el error, lo he cambiado por:

Código COBOL:
  1.            EVALUATE IDX2
  2.                     WHEN 183 THRU 208
  3.                          SUBTRACT 182 FROM IDX2 GIVING COLVAL
  4.                          MOVE "G"            TO INIRANGE(11:1)
  5.                          MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
  6.                     WHEN 157 THRU 182
  7.                          SUBTRACT 156 FROM IDX2 GIVING COLVAL
  8.                          MOVE "F"            TO INIRANGE(11:1)
  9.                          MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
  10.                     WHEN 131 THRU 156
  11.                          SUBTRACT 130 FROM IDX2 GIVING COLVAL
  12.                          MOVE "E"            TO INIRANGE(11:1)
  13.                          MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
  14.                     WHEN 105 THRU 130
  15.                          SUBTRACT 104 FROM IDX2 GIVING COLVAL
  16.                          MOVE "D"            TO INIRANGE(11:1)
  17.                          MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
  18.                     WHEN 79 THRU 104
  19.                          SUBTRACT 78 FROM IDX2 GIVING COLVAL
  20.                          MOVE "C"            TO INIRANGE(11:1)
  21.                          MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
  22.                     WHEN 53 THRU 78
  23.                          SUBTRACT 52 FROM IDX2 GIVING COLVAL
  24.                          MOVE "B"            TO INIRANGE(11:1)
  25.                          MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
  26.                     WHEN 27 THRU 52
  27.                          SUBTRACT 26 FROM IDX2 GIVING COLVAL
  28.                          MOVE "A"            TO INIRANGE(11:1)
  29.                          MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
  30.                     WHEN 1 THRU 26
  31.                          MOVE " "          TO INIRANGE(11:1)
  32.                          MOVE ARRCOL(IDX2) TO INIRANGE(12:1)
  33.            END-EVALUATE

Me ha costado encontrarlo, porque no me imaginaba que fuera eso, pero al final ha caido.

Un saludo.-
Josber is offline   Responder Con Cita
Respuesta


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

Saltar a Foro


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