cancel
Showing results for 
Search instead for 
Did you mean: 

Anfavea GRC 10

Former Member
0 Kudos

Olá pessoal,

Alguém já implementou a TAG da Anfavea no GRC 10?

Tentei de várias maneiras já, com codificação na BADI ENRICH_XML_DATA como o Henrique comentou aqui http://scn.sap.com/thread/3162418.

O que aconteceu é que ele converte os "<>" para hexa.

E também utilizando a função java de conversão pra CDATA porém na interface de BATCH...todos sem sucesso.

Alguém conseguiu fazer esta implementação?

Agradeço a ajuda!

Vanessa Zocaratto

Accepted Solutions (1)

Accepted Solutions (1)

henrique_pinto
Active Contributor
0 Kudos
Oi Vanessa,  Como o NFE 10.0 trata a estrutura XML no próprio código ABAP, vc não pode tratar como string tal qual na 1.0. Vc terá que incluir as tags como elementos XML de fato, na mesma linha do que o código Standard faz. O próprio CData é um elemento XML. Dê uma olhada nele e tente replicar a lógica.
Former Member
0 Kudos

Obrigada pelo retorno Henrique,

Não sei se entendi bem a sua sugestão. Hoje o campo INFADPROD é um campo que vira um elemento no xml. O que vc sugere é que eu altere o tipo do campo INFADPROD para que ele possa ter outros elementos dentro dele? E assim criar um campo CDATA que se tornará um elemento? E implementar o codigo dentro da ENRICH_XML_DATA?

Hoje o cliente que recebe o xml espera receber o CDATA dentro do INFADPROD e não como um campo adicional ao xml.

Obrigada novamente!

henrique_pinto
Active Contributor
0 Kudos
É por aí. É como se o CData fosse uma subtag do infAdProd, em termos do código ABAP, e as outras tags seriam subtag do CData. Só que na hora de interpretar, o CData e tudo dentro dele viram string, portanto sendo compliant com o schema XML da SEFAZ.
Former Member
0 Kudos

Henrique só tem uma complicação.

Se eu alterar o tipo do infAdprod standard, ele sempre terá abaixo dele as tags de CDATA, id pedido, id item , etc....porém este campo, quando não é Anfavez está sendo utilizado para outras informações.

E ai como seria o tratamento? Acho que eu terei problemas quando nao for Anfavea certo?

Estou querendo esgotar as possibilidades, pois vou precisar pedir chave de acesso pra alteração do objeto standard.

Obrigada!

Vanessa

henrique_pinto
Active Contributor
0 Kudos
Ola Vanessa,  É possível. Não consigo te dar certeza, é necessario uma analise mais detalhada. No pior caso, vc terá que criar uma interface Z para quando for Anfavea.
Former Member
0 Kudos

Outro problema, a estrutura para incluir os campos no Infadprod que teria que ser alterada (a de changing da badi enrich_xml_data) é um proxy generated...

Será que alguem já implementou com sucesso a Anfavea no GRC 10. A solução me parece realmente travada...

henrique_pinto
Active Contributor
0 Kudos

Sim, é gerada pelo proxy... Por isso que te falei que no pior caso, vc teria q criar uma service interface Z pra Anfavea (e criar um proxy Z sobre ela, e modificar o standard para chamar esse proxy Z qdo fosse Anfavea...).

henrique_pinto
Active Contributor
0 Kudos

Outra opcao seria, para Anfavea, vc nao assinar o XML no ABAP.

Daí a mensagem iria para o PI antes de ser assinada, vc poderia popular a tag <infAdProd> com o CData e os conteúdos necessários, e depois vc teria que chamar um assinador Z (pois o 10.0 não contém mais o assinador Java separado no standard).

Esse assinador Z poderia ser o Java do 1.0 (se vc ainda tiver), só q nesse caso nao teria mais suporte... Outra possibilidade seria encapsular o core da assinatura ABAP Proxy Z, que vc poderia chamar a partir do PI.

Answers (0)