cancel
Showing results for 
Search instead for 
Did you mean: 

/XNFE/CORE_KPRO_XML_READ - Problemas com download de documentos XML

maikol_murillo
Explorer
0 Kudos

Olá

Estamos tendo um problema com uma aplicação que foi criada para enviar as messagens XML aos clientes.

O problema é que alguns archivos XML que são enviados para os clientes, contem algum tipo de erro e o cliente não pode abrir esses documentos com o Internet Explorer.

Eles recebem um erro que diz:

"An invalid character was found in text content. Error processing resource"

Para a geração desses documentos, é utilizada a função /XNFE/CORE_KPRO_XML_READ

Este é o chamado para a função

CALL FUNCTION '/XNFE/CORE_KPRO_XML_READ'

EXPORTING

is_dokobject = w_sdokobject

IMPORTING

ev_content = w_xml

ev_xcontent = w_xxml

EXCEPTIONS

no_existing = 1

no_authorization = 2

no_content = 3

read_failure = 4

convert_failure = 5

OTHERS = 6.

Quando a func. retorna as informações XML em w_xml, a variante é movida para outra do mesmo tipo (STRING) para fazer o download do file.

A função faz o trabalho corretamente para quase todos os documentos, mas temos alguns que falhan.

Agradeço qualquer ajuda que vocês podam me brindar.

Saludos.

Accepted Solutions (1)

Accepted Solutions (1)

former_member182114
Active Contributor
0 Kudos

Bom dia Maikol,

Isto pode estar relacionado à conversão unicode, ou talvez ao browser que está utilizando principalmente se for IE 8, dá uma testada no Mozilla ou Firefox.

Você disse que em alguns casos funciona e em outros não funciona, o que você identificou como diferença para quando não funcionar ? Tem caracteres especiais ?

Faça uma tentativa de usar binário a partir do w_xxml e convertê-lo usando a função LXE_COMMON_XSTRING_TO_TABLE.

Atenciosamente, Fernando Da Ró

maikol_murillo
Explorer
0 Kudos

Olá Fernando

Tentei fazendo o download do arquivo pelo monitor GRC e conteido dos archivos parece ser o mesmo, o texto não tem diferenças.

Quál é a diferença quando se faz o download pelo GRC? É acaso alguma outra função chamada para a criação desse arquivo?

Obrigado pela ajuda.

maikol_murillo
Explorer
0 Kudos

Olá Fernando

Tentei fazendo o download do arquivo pelo monitor GRC e conteido dos archivos parece ser o mesmo, o texto não tem diferenças.

Quál é a diferença quando se faz o download pelo GRC? É acaso alguma outra função chamada para a criação desse arquivo?

Obrigado pela ajuda.

former_member182114
Active Contributor
0 Kudos

Bom dia Maikol,

Perguntas:

- Você consegue visualizar o XML no Internet Explorer ?

- Consegue visualizar ambos (o que fez download e o do seu aplicativo Z) ?

- Todos os seus clientes estão com problemas ?

- Peça para um cliente com problema reenviar o email que recebeu para você e faça teste na sua máquina.

- Já verificou (ou pediu para seu cliente verificar) no Firefox ?

Atenciosamente, Fernando Da Ró

maikol_murillo
Explorer
0 Kudos

Olá Fernando

O XML file gerado pelo GRC monitor pode ser visualizado no MS Internet Explorer.

O XML gerado pelo aplicativo Z não, o IE retorna erro "An invalid character was found in text content".

O mesmo arquivo que mostra erró no MS IE, não mostra erro no Firefox; mais mostra esses cuadros com o simbolo ? dentro dele.

...

...

O que é estranho é que o problema não acontece com todos os arquivos, sómente com alguns.

Agradeço qualquer ajuda.

Saludos.

maikol_murillo
Explorer
0 Kudos

Olá Fernando

O XML file gerado pelo GRC monitor pode ser visualizado no MS Internet Explorer.

O XML gerado pelo aplicativo Z não, o IE retorna erro "An invalid character was found in text content".

O mesmo arquivo que mostra erró no MS IE, não mostra erro no Firefox; mais mostra esses cuadros com o simbolo ? dentro dele.

...

...

O que é estranho é que o problema não acontece com todos os arquivos, sómente com alguns.

Agradeço qualquer ajuda.

Saludos.

henrique_pinto
Active Contributor
0 Kudos

Maikol,

provavelmente vc nao estah passando o codepage correspondente ao enconding UTF-8 na hora de chamar a funcao GUI_DOWNLOAD.

Verifique como o codigo standard faz, em especial o codepage que ele passa de parametro.

Abs,

Henrique.

former_member182114
Active Contributor
0 Kudos

Bom dia Maikol,

A dica do Henrique faz todo sentido, pois parece estar vinculada à página de código / caracteres Unicode.

Quanto à questão de funcionar às vezes, é que o erro está vinculado a erro no seu cadastro de materiais, no seu exemplo o material KOLESTON tem caracter especial (comum quando os usuários fazem ctrlc e ctrlv a partir de um word ou excel, só visível por um editor hexadecimal) e está sendo repassado ao PI.

Para corrigir isto aplique a SAP Note 1391981 no GRC que elimina quaisquer caracteres especiais no XML, o que evita também respostas 297 da Sefaz.

Atenciosamente, Fernando Da Ró

maikol_murillo
Explorer
0 Kudos

Bom dia Fernando

A aplicação da SAP Note 1391981 vai criar o programa ZNFE_XML_VALIDATION_LOAD_2 e depois é executado com o file TAB_NFEVALID_20091002.TXT da mesma nota.

Esse proceso vai alterar alguma entrada na tabela /XNFE/NFEVALID?

Esse mesmo proceso deve ser executado tanto em ambiente de teste como em ambiente de produção?

Muito Obrigado pela ajuda.

former_member182114
Active Contributor
0 Kudos

Bom dia Maikol,

Esse proceso vai alterar alguma entrada na tabela /XNFE/NFEVALID?

Sim, irá sobreescrevê-los com o novo valor standard.

Esse mesmo proceso deve ser executado tanto em ambiente de teste como em ambiente de produção?

Você pode transportar o programa e fazer a mesma carga nos outros ambientes, ou, colocar todo o conteúdo de /XNFE/NFEVALID em uma resquest e transportar entre os ambientes.

Atenciosamente, Fernando Da Rós

P.S.: Se preferir atualizar o SP 12 este upload não é necessário.

maikol_murillo
Explorer
0 Kudos

Amigos

Desafortunadamente, depois da aplicação da nota 1391981, o problema retornou.

De novo são mostrados esses caracteres especiais no XML que é enviado para o cliente.

Que outra coisa pode ser revisada no SAP se os validation rules já foram atualizados?

Muito Obrigado pela ajuda.

former_member182114
Active Contributor
0 Kudos

Bom dia Maikol,

Esta nota nunca precisou ser corrigida.

Apenas confirme de o validador estava ligado e caso esteja abra um chamado pra SLL-NFE onde poderemos investigar e solucionar o problema.

Atenciosamente, Fernando Da Ró

former_member182114
Active Contributor
0 Kudos

Bom dia Maikol,

Você está certo, esta nota nunca tinha precisado ser corrigida.

Favor implementar a SAP Note 1526552 NFE validation: Some special characters were not re para remover efetivamente os caracteres de controle.

Atenciosamente, Fernando Da Ró

Answers (1)

Answers (1)

0 Kudos

Maikol,

Pegue o arquivo que você gerou e o arquivo que o GRC disponibiliza pra você e abra em um programa que vc consiga ver o arquivo em hexadecimal.

Você vai reparar que no seu arquivo, ele esta gerando alguns caracteres no final, não tenho certeza mais acho que ele gera um codigo 00 representando espaço, você deve limpar esses caracteres.

Se você abrir o arquivo no Firefox ele vai abrir corretamente, no IE não, isso acontece pq o Firefox consegue converter os caracteres Unicode. (Conforme foi dito acima)

Outra maneira de corrigir isso, depois que vc ler o arquivo do KPRO, pegue o xml que esta na variavel Xstring e converta para string passando o formato UTF-8, também da certo.

O programa pra vc verificar os caracteres pode ser esse free-hex-editor-neo.

Att..