Kuk, no creo que sea problema de la impresora, si es la misma que usa con COBVIEW, claro, si es así, el problema debe de estar en el calculo. Yo uso EAN13, que por cierto, sólo puede contener números, y CODE39, y ambos me los leen los escáneres sin problemas. El CODE39, no tiene dígito de control, así es que , sólo es imprimir la cadena con ése tipo de letra y "pa´lante", EAN13 sí tiene código de control, la rutina que uso es la siguiente:
Código COBOL:
COMPUTE WNUM = ( (EAN (12) * 3) + (EAN (10) * 3) + (EAN (08) * 3) +
(EAN (06) * 3) + (EAN (04) * 3) + (EAN (02) * 3) +
(EAN (11) * 1) + (EAN (09) * 1) + (EAN (07) * 1) +
(EAN (05) * 1) + (EAN (03) * 1) + (EAN (01) * 1) ).
DIVIDE WNUM BY 10 GIVING WNUM1 REMAINDER WRES.
COMPUTE EAN (13) = 10 - WRES.
Yo no le doy la vuelta a la variable, simplemente doy las posiciones, por otro lado lo de multiplicar por 1, ya sé que parece una tontería, pero lo hago por claridad en el código al darle un vistazo.
y me funciona sin problemas, en éste enlace, hay suficiente información sobre el tema:
Código:
http://www.barrasybarras.com/uso-interno
Un saludo.-