Resultados 1 al 4 de 4

Tema: Error al pasar un GRID a EXCEL

  1. #1
      Super Moderador
    Avatar de Josber

    Registrado
    febrero de 2015
    Ubicación
    Alicante
    Mensajes
    796
    Última visita
    Hoy a las 12:00

    Agradecimientos
     
    Recibidos
    440
    Enviados
    362

    Citaciones y menciones
     
    Mentioned
    77 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    13 Post(s)
    Poder de Reputación
    37
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    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.-
    Imagem Anexada Imagem Anexada

    0 Not allowed!

  2. #2
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    39
    Mensajes
    2,286
    Última visita
    Hoy a las 18:48

    Agradecimientos
     
    Recibidos
    1,036
    Enviados
    888

    Citaciones y menciones
     
    Mentioned
    102 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    31 Post(s)
    Poder de Reputación
    10

    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

    0 Not allowed!
    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el botón en el editor y escribiendo su nick.

  3. #3
      Gran amigo y Guru de COBOL
    Avatar de Rapinto

    Registrado
    febrero de 2015
    Ubicación
    Porto
    Mensajes
    246
    Última visita
    29.01.2018

    Agradecimientos
     
    Recibidos
    227
    Enviados
    19

    Citaciones y menciones
     
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    19
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0 Guru de los Gurus / Point Value: 0

    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

    0 Not allowed!

  4. #4
      Super Moderador
    Avatar de Josber

    Registrado
    febrero de 2015
    Ubicación
    Alicante
    Mensajes
    796
    Última visita
    Hoy a las 12:00

    Agradecimientos
     
    Recibidos
    440
    Enviados
    362

    Citaciones y menciones
     
    Mentioned
    77 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    13 Post(s)
    Poder de Reputación
    37
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado
    ¡Solución!1 usuarios han marcado el 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:

    COBOL Código:
    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:

    COBOL Código:
    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.-

    0 Not allowed!

Información de Tema

Usuarios Viendo este Tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Temas Similares

  1. [Herramienta] Pasar datos de Cobol (Archivos RMKF) a txt/Excel
    Por JuanPelaez en el foro COBOL - General
    Respuestas: 10
    Último Mensaje: 03.01.2020, 12:58
  2. [Aporte] Manejo de control CmListView (Grid)
    Por Josber en el foro Cocina PowerCOBOL
    Respuestas: 27
    Último Mensaje: 18.11.2019, 09:16
  3. [Compilador] Pasar de CobolWOW a PowerCOBOL
    Por rarapisardi en el foro PowerCOBOL V3L10 (Win32)
    Respuestas: 2
    Último Mensaje: 02.11.2017, 09:08

Etiquetas para este Tema

Marcadores

Marcadores

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •