RE:Urgente..Lectura EAN 128
Acabo de terminar un proyecto de codigo de barras EAN/UCC-128 para AS/400 (i5 System).
IAC tine un instructivo que te guia en la forma como lo debes hacer, lo único es que la guia no define la forma como debes convertilo a caracteres ASCII para aprovecha lo de la doble desidad y el la imagen del código se ma pequeña (Longitud) pero hay una tabla para esto, en el caso de nosotros tenemos un impresoras Xérox DP90, aunque desconozco la programación para estas maquinas, existe algo que se llama JDT que activa automaticamente la conversión del código de barras, este JDT lee el spool del AS/400.
Lo que yo hice se limita a la progamación en el AS/400 y en lenguaje RPG, en el programa de facturación envio una cadena humanamente visible, ej:
(415)7708002523964(8020)00010203040506(3900)0708091011
IA + DATOS + IA + DATOS + ....
(415) IA Identificador de aplicaciones: Inicia código de localización internacional asignado por IAC.
(8020) IA, Inicia referencia de pago, variable, pero una vez definida la longitud por ustedes debe permanecer fija, guarda paridad.
(3900) IA, inicia valor a pagar, guarda paridad
(96) IA, Fecha máxima de pago, opcional, nosostros no utilizamos esta información
y otra cadena en ascii que la interpreta la Xérox, ej:
¬ºIYfp"TG`p4 !"#$%&ºG '()*+º=½
la estructura de este código es la siguiente
Inicio C + Función 1 + IAs, datos y caracteres especiales ....+ CC + CP
¬ Caracter de inicio
º Función 1
Cada IA de longitud variable se cierra con un función 1 y contianua el siguiente IA
Inicio C Funcion 1 41 57 70 71 81 50 00 17 80 20 02 00 67 54 36 Funcion 1 39 00
01 80 07 65 Funcion 1 96 19 98 06 30 CC CP
Debes calcular el CC, con modulo 103 (=)
luego viene el CP o caracter de parada (½)
Espero que esto resulevas tus dudas,
Gustavo
Tabla de conversión ASCII
VALOR A CODIGO CODIGO SIMBOLO CODIGO
CONVERT ASCII DECIMAL IMPRIME EBCDIC
0 20 32 40
1 21 33 ! 5A
2 22 34 " 7F
3 23 35 # 7B
4 24 36 0 5B
5 25 37 % 6C
6 26 38 & 50
7 27 39 ' 7D
8 28 40 ( 4D
9 29 41 ) 5D
10 2A 42 * 5C
11 2B 43 0 4E
12 2C 44 , 6B
13 2D 45 0 60
14 2E 46 0 4B
15 2F 47 / 61
16 30 48 0 F0
17 31 49 1 F1
18 32 50 2 F2
19 33 51 3 F3
20 34 52 4 F4
21 35 53 5 F5
22 36 54 6 F6
23 37 55 7 F7
24 38 56 8 F8
25 39 57 9 F9
26 3A 58 : 7A
27 3B 59 ; 5E
28 3C 60 < 4C
29 3D 61 = 7E
30 3E 62 > 6E
31 3F 63 ? 6F
32 40 64 @ 7C
33 41 65 A C1
34 42 66 B C2
35 43 67 C C3
36 44 68 D C4
37 45 69 E C5
38 46 70 F C6
39 47 71 G C7
40 48 72 H C8
41 49 73 I C9
42 4A 74 J D1
43 4B 75 K D2
44 4C 76 L D3
45 4D 77 M D4
46 4E 78 N D5
47 4F 79 O D6
48 50 80 P D7
49 51 81 Q D8
50 52 82 R D9
51 53 83 S E2
52 54 84 T E3
53 55 85 U E4
54 56 86 V E5
55 57 87 W E6
56 58 88 X E7
57 59 89 Y E8
58 5A 90 Z E9
59 5B 91 [ AD
60 5C 92 0 E0
61 5D 93 ] BD
62 5E 94 ^ 6A
63 5F 95 _ 6D
64 60 96 ` 4A
65 61 97 a 81
66 62 98 b 82
67 63 99 c 83
68 64 100 d 84
69 65 101 e 85
70 66 102 f 86
71 67 103 g 87
72 68 104 h 88
73 69 105 i 89
74 6A 106 j 91
75 6B 107 k 92
76 6C 108 l 93
77 6D 109 m 94
78 6E 110 n 95
79 6F 111 o 96
80 70 112 p 97
81 71 113 q 98
82 72 114 r 99
83 73 115 s A2
84 74 116 t A3
85 75 117 u A4
86 76 118 v A5
87 77 119 w A6
88 78 120 x A7
89 79 121 y A8
90 7A 122 z A9
91 7B 123 { A1
92 7C 124 | 9E
93 7D 125 } AB
94 7E 126 ~ AC
95 7F 127 ¶ BC
96 A1 161 í DE
97 A2 162 ó DB
98 A3 163 ú DA
99 A4 164 ñ CF
100 A5 165 Ñ CD
101 A6 166 ª CB
102 A7 167 º CA
103 A8 168 ¿ BA
104 A9 169 ® 8A
105 AA 170 ¬ 78
106 AB 171 ½ 75
Cuando organices la paridad, entras a la tabla con el primer numero o VALOR A CONVERTIR y tomas SIMBOLO IMPRIME, hasta que conviertas todo el codigo y al final este lo imprimes en tu spool, le das las coordenadas al progrma de tu impresora para que lo lea y lo simbolice a codigo de barras.
ok
Escribeme, te enviaré los anexos a tu correo