Ver Mensaje Individual
  #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 21.09.2026 07:20
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