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 y COM/OLE
PowerCOBOL y COM/OLE La utilización de COM / OLE en PowerCOBOL
Noticias y Avisos
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Aporte] Manejo de control CmListView (Grid) Josber Cocina PowerCOBOL 15 8 de agosto de 2018 03:42
[Herramienta] Pasar datos de Cobol (Archivos RMKF) a txt/Excel JuanPelaez COBOL - General 7 25 de abril de 2018 23:30
[Compilador] Pasar de CobolWOW a PowerCOBOL rarapisardi PowerCOBOL V3L10 (Win32) 2 2 de noviembre de 2017 09:08
Respuesta
 
Herramientas

  #1
Antiguo 10 de septiembre de 2015, 13:31
IDENTIFICATION DIVISION
Josber
Super Moderador
ENVIRONMENT DIVISION
Avatar de Josber
DATA DIVISION
Forero desde (Registrado)febrero 2015
España
UbicaciónAlicante
Última Actividad22.03.2019 12:28
PROCEDURE DIVISION
PostsPosts: 444
Ha dicho GraciasEnviado: 177
Ha recibido agradecimientosRecibido: 190
Medallas recibidas: 1Medallas: Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por muchos agradecimientos 
ReputaciónReputación: 17
Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road
Excel Error al pasar un GRID a EXCEL

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.-
Imágenes Adjuntas
Tipo de Archivo: jpg Error1.jpg (29,2 KB, 15 descargas)
Tipo de Archivo: jpg Error2.jpg (293,8 KB, 20 descargas)
Tipo de Archivo: jpg Error3.jpg (214,7 KB, 17 descargas)
Josber no ha iniciado sesión   Responder Con Cita
  #2
Antiguo 10 de septiembre de 2015, 14:15
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad23.03.2019 11:05
PROCEDURE DIVISION
PostsPosts: 1.358
Ha dicho GraciasEnviado: 292
Ha recibido agradecimientosRecibido: 500
ReputaciónReputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Predeterminado

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 - obligatorias de conocer para TODOS.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale Pinchando en su Nick:

Kuk no ha iniciado sesión   Responder Con Cita
  #3
Antiguo 10 de septiembre de 2015, 16:28
IDENTIFICATION DIVISION
Rapinto
Gran amigo del Foro y Guru de COBOL
ENVIRONMENT DIVISION
Avatar de Rapinto
DATA DIVISION
Forero desde (Registrado)febrero 2015
Portugal
UbicaciónPorto
Última Actividad29.01.2018 20:23
PROCEDURE DIVISION
PostsPosts: 246
Ha dicho GraciasEnviado: 19
Ha recibido agradecimientosRecibido: 215
Medallas recibidas: 2Medallas: Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por ayudar mucho a los foreros  Guru de los Gurus: Por solidos y amplios conocimientos - Razón: Por saber demasiado! 
ReputaciónReputación: 13
Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road
Predeterminado

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 no ha iniciado sesión   Responder Con Cita
  #4
Antiguo 10 de septiembre de 2015, 17:04
IDENTIFICATION DIVISION
Josber
Super Moderador
ENVIRONMENT DIVISION
Avatar de Josber
DATA DIVISION
Forero desde (Registrado)febrero 2015
España
UbicaciónAlicante
Última Actividad22.03.2019 12:28
PROCEDURE DIVISION
PostsPosts: 444
Ha dicho GraciasEnviado: 177
Ha recibido agradecimientosRecibido: 190
Medallas recibidas: 1Medallas: Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por muchos agradecimientos 
ReputaciónReputación: 17
Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road
Predeterminado
2 usuarios han marcado este post como "Solución"

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 no ha iniciado sesión   Responder Con Cita
Han dicho Gracias: 2
Kuk (10 de septiembre de 2015), Tigre (23 de octubre de 2018)
Respuesta

Tags
error excel


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 11:58.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2019, Jelsoft Enterprises Ltd.