Hola otra vez,
Además en mi caso lo resolví creando variables según la cantidad de caracteres, fue lo mas rápido en su momento. c* La longitud de CDG2 sera entre 23 y 42 caracteres c eval IN = 60 c eval *in(IN + %len(%trim(LOT))) = *on c* largo no se usa es para comprobar en Debug c move *blanks largo 2 0 c eval largo = %len(%trim(LOT)) c* c 61 eval CDG01A = CDG2 c 62 eval CDG02A = CDG2 c 63 eval CDG03A = CDG2 c 64 eval CDG04A = CDG2 c 65 eval CDG05A = CDG2 c 66 eval CDG06A = CDG2 c 67 eval CDG07A = CDG2 . . . . A*%%*********************************************************************** A R CODE2A A*%%*********************************************************************** A 61 CDG01A 23A 16BARCODE(CODE128 7 + A *NOHRI (*WIDTH .02)) A 62 CDG02A 24A 16BARCODE(CODE128 7 + A *NOHRI (*WIDTH .02)) A 63 CDG03A 25A 16BARCODE(CODE128 7 + A *NOHRI (*WIDTH .02)) A 64 CDG04A 26A 16BARCODE(CODE128 7 + A *NOHRI (*WIDTH .02)) A 65 CDG05A 27A 16BARCODE(CODE128 7 + A *NOHRI (*WIDTH .02)) A 66 CDG06A 28A 16BARCODE(CODE128 7 + A *NOHRI (*WIDTH .02)) A 67 CDG07A 29A 16BARCODE(CODE128 7 + A *NOHRI (*WIDTH .02)) . . . . Espero que te sirva la idea, a fin de cuentas sabiendo la longitud total lo mueves a una u otra variable, creo recordar que se puede definir el PRTF campos de longitud variable, algo he leido hace años pero no lo encuentro. Un saludo LogoElayFri Vicente Aliaga Director Informática 961 920 029 [email protected] Silomar Elaborados y Distribución, SL & Silomar Frigoríficos, SL Autovía A-3 Madrid-Valencia, km 345 46930 QUART DE POBLET Valencia www.silomar.es P No lo imprima si no es necesario. Protejamos el medio ambiente. Este mensaje y sus archivos adjuntos pueden contener información confidencial y están dirigidos exclusivamente a su destinatario. Le informamos que la legislación vigente prohíbe el uso, divulgación o copia del contenido del presente mensaje por persona distinta del destinatario sin autorización previa. Si Ud. no es el destinatario de este mensaje y lo ha recibido por error le agradeceríamos que nos lo comunicara y que procediera a destruirlo. This message can contain confidential information and is directed exclusively to its adressee. We inform you that the legislation prohibits to use, spreading or copy the content of the present message by person different from the adressee without previous authorization. If you are not the adressee of this message or you have received it by error we would be thankful if you notify us and delete it. De: [email protected] [mailto:[email protected]] En nombre de Jose Bermúdez Enviado el: jueves, 25 de agosto de 2016 12:05 Para: forum.help400 Asunto: Código de barras CODE128 variable Hola a tod@s Tengo que imprimir un código de barras code128 (GS1) de longitud variable ya que uno de los ID es variable. En el RLU he creado un campo con la máxima longitud que puede tener dicho campo 42 A la hora de imprimir, me imprime el código de barras bien pero tras la información que quiero imprimir crea barras en blanco hasta las 42 posiciones y lo que quiero es si hay algún código Hex o algo para indicar dónde acaba dicho código de barras Ejemplo (02)08413224160221(10)1111111(37)000123 El ID (10) es variable puede tener diferentes longitudes. RPG D FNC1 C COnst(X'8F') c eval @cod128=%trim('02'+$ean14+'10'+%trim($lotep1)+fnc1+'37'+%trim(%editc($totbl: 'X')) ) RLU A @COD128 42A O 12 BARCODE(CODE128 6 *HRZ *NOHRI X'02') Me genera el código de barras con los blancos hasta los 42 de longitud 0208413224160221101111111#37000123 He probado de poner un FNC1 detrás del todo pero me hace lo mismo. 0208413224160221101111111#37000123# Saludos, José Bermúdez Dep. Informática. Escudo 60x60
____________________________________________________ Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.

