Avalados por :

Como resolver o erro de mapeamento no SAP: Guia passo a passo

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 1 Vistas
0
Cargando...

Olá,

Tenho um cenário de Arquivo -> PI -> ECC.

De vez em quando, recebo um erro no mapeamento e o erro é o seguinte:

< SAP:P2 > com.sap.aii.utilxi.misc.api.BaseRuntimeException: </ SAP:P2 >

< SAP:P3 > Foi encontrado um caractere XML inválido (Unicode: 0x1a) </ SAP:P3 >

< SAP:P4 > no conteúdo do elemento do documento. </ SAP:P4 >

O erro ocorre porque o arquivo que recebo contém nomes com um caractere Unicode.

Consigo visualizá-lo apenas no Notepad. A pequena seta no nome é o que causa o erro.

Se eu remover a pequena seta do nome, o processamento funciona corretamente.

Esta é a minha descrição do erro.

Tenho procurado no scn e encontrei algumas descrições do problema, mas nunca uma solução real.

Seria isso

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá Robert,

Já tentou usar uma UDF com um código Java que atribui esse valor a uma string usando a codificação UTF-8?

Saudações,

Edu

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Primeiro tentei estabelecer a codificação do arquivo em UTF-16

Mas isso não resolveu meu erro.

Depois tentei o conselho sobre o módulo. Inseri o MessageTransformBean da seguinte maneira:

Está feito corretamente? Se estiver correto, então também não ajudou. Se não estiver correto, por favor, aconselhe como fazer corretamente.

Saudações

Robert

modules.JPG file-encoding.JPG
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Esta mensagem foi moderada.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

°Olá Robert!

Você poderia tentar usar o seguinte código Java para substituir esse caractere:

private String stripNonValidXMLCharacters ( String in ) {
if ( in == null || ( "" . equals ( in ))) return null ;
StringBuffer out = new StringBuffer ( in );
for ( int i = 0 ; i < out . length ; i ++ ) {
if ( is Valid ( out . charAt ( i )) out . append ( out . charAt ( i )) ;
}
return out . toString ( ) ;
}

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?