Hola Estela, sustituye el \n por X'25'.
Ten en cuenta que \n es un carácter de escape típico del lenguaje C que, precisamente, identifica un fin de línea (y lo que eso signifique). En RPG no va a funcionar. El IBM i utiliza EBCDIC para codificar sus cadenas de caracteres, así el valor X'25' es LF y X'0D' es CR. Prueba a ver y nos cuentas. Un saludo, Javier Mora El lun., 9 nov. 2020 a las 12:39, estela retes (<[email protected]>) escribió: > Buenas a todos, > > Tenemos un cliente que nos ha solicitado que en sus albaranes añadamos un > código de barras de tipo Datamatrix que contenga la información que va en > el albarán. > > El código lo sacamos sin problema, pero en la especificación del cliente > viene que cada campo debemos separarlo con un "ENTER". Le pedimos que nos > aclarase más ese ENTER qué debía ser y nos respondió que debe ser un > > - LF (0x0A, \n) > > > El problema nos viene aquí, ya que no sabemos cómo codificar ese LF dentro > de la cadena de caracteres que componen el código de barras. > > En el PRTF tenemos descrito el campo así: > A PC_CDTMAT 20 61BARCODE(DATAMATRIX + > A (*DATAMATRIX 20 20 + > A *ESCAPE)) > > En el SQLRPGLE: > > C EVAL PC_CDTMAT=%TRIM(REFER1)+%TRIM(REFER2) > C + '\n' + %EDITC(NUALBA:'X') > C + '\n' + %TRIM(CDARCL) > C + '\n' + %EDITC(CANSER:'X') > > > Pero cuando escaneamos el código nos interpreta el \n como si fuese parte > de la cadena de caracteres y no una secuencia de escape. > > ¿Alguien sabría decirnos qué estamos haciendo mal? > > Muchísimas gracias y un saludo, > > > -- > Estela > ____________________________________________________ > Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) > Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________ �nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 � Publicaciones Help400, S.L.
