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:
IF IDX2 < 27
MOVE " " TO INIRANGE(11:1)
MOVE ARRCOL(IDX2) TO INIRANGE(12:1)
ELSE
SUBTRACT 26 FROM IDX2 GIVING COLVAL
MOVE "A" TO INIRANGE(11:1)
MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
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:
EVALUATE IDX2
WHEN 183 THRU 208
SUBTRACT 182 FROM IDX2 GIVING COLVAL
MOVE "G" TO INIRANGE(11:1)
MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
WHEN 157 THRU 182
SUBTRACT 156 FROM IDX2 GIVING COLVAL
MOVE "F" TO INIRANGE(11:1)
MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
WHEN 131 THRU 156
SUBTRACT 130 FROM IDX2 GIVING COLVAL
MOVE "E" TO INIRANGE(11:1)
MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
WHEN 105 THRU 130
SUBTRACT 104 FROM IDX2 GIVING COLVAL
MOVE "D" TO INIRANGE(11:1)
MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
WHEN 79 THRU 104
SUBTRACT 78 FROM IDX2 GIVING COLVAL
MOVE "C" TO INIRANGE(11:1)
MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
WHEN 53 THRU 78
SUBTRACT 52 FROM IDX2 GIVING COLVAL
MOVE "B" TO INIRANGE(11:1)
MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
WHEN 27 THRU 52
SUBTRACT 26 FROM IDX2 GIVING COLVAL
MOVE "A" TO INIRANGE(11:1)
MOVE ARRCOL(COLVAL) TO INIRANGE(12:1)
WHEN 1 THRU 26
MOVE " " TO INIRANGE(11:1)
MOVE ARRCOL(IDX2) TO INIRANGE(12:1)
END-EVALUATE
Me ha costado encontrarlo, porque no me imaginaba que fuera eso, pero al final ha caido.
Un saludo.-
Marcadores